├── .editorconfig ├── .eslintignore ├── .eslintrc.js ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report_template.yml │ ├── config.yml │ └── feature_request_template.yml ├── pull_request_template.md ├── renovate.json └── workflows │ ├── add-label.yml │ ├── ci.yml │ ├── issue-close.yml │ ├── issue-reply.yml │ ├── realease-tag.yml │ ├── sync-gitee.yml │ ├── sync-h5.yml │ ├── sync-migrate.yml │ └── sync-taro.yml ├── .gitignore ├── .husky ├── .gitignore ├── commit-msg └── pre-commit ├── .npmrc ├── .prettierignore ├── .prettierrc ├── CHANGELOG.md ├── README.md ├── README_EN.md ├── README_ZH.md ├── commitlint.config.js ├── demo.html ├── index.html ├── migrate-from-v1.md ├── package.json ├── packages ├── nutui-codemod │ ├── .gitignore │ ├── .npmignore │ ├── .prettierignore │ ├── .prettierrc │ ├── README.md │ ├── bin │ │ ├── babylon.config.json │ │ ├── cli.js │ │ ├── codemod.ignore │ │ ├── config │ │ │ └── index.js │ │ └── nutui-react-codemod.js │ ├── package.json │ ├── test │ │ └── button.tsx │ └── transforms │ │ ├── __testfixtures__ │ │ └── components │ │ │ └── button │ │ │ ├── index.input.js │ │ │ └── index.output.js │ │ ├── __tests__ │ │ └── props-changed-migration.js │ │ ├── component-name-migration.js │ │ ├── icon-migration.js │ │ ├── props-changed-migration.js │ │ ├── rules │ │ ├── component-rules.js │ │ └── props-rules.js │ │ └── utils │ │ ├── find-component-imports.js │ │ └── find-pkg-imports.js ├── nutui-optimize-css │ ├── README.md │ ├── build.config.ts │ ├── package.json │ ├── src │ │ ├── index.ts │ │ └── postcss-plugins │ │ │ └── index.ts │ ├── test │ │ ├── __snapshots__ │ │ │ ├── remove-rtl.test.ts.snap │ │ │ └── replace-css-var.test.ts.snap │ │ ├── remove-rtl.test.ts │ │ ├── replace-css-var.test.ts │ │ ├── variables.css │ │ └── variables.scss │ ├── tsconfig.json │ └── vitest.config.ts ├── nutui-replace-icons │ ├── .gitignore │ ├── README.md │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── index.ts │ │ ├── replace-icons.ts │ │ └── type.ts │ ├── test │ │ ├── __snapshots__ │ │ │ ├── replace-case.test.ts.snap │ │ │ └── replace-icon-css.test.ts.snap │ │ ├── replace-case.test.ts │ │ └── replace-icon-css.test.ts │ ├── tsconfig.json │ └── vitest.config.ts ├── nutui-taro-demo │ ├── .editorconfig │ ├── .eslintrc │ ├── .gitignore │ ├── ReadMe.md │ ├── babel.config.js │ ├── config │ │ ├── dev.js │ │ ├── index.js │ │ └── prod.js │ ├── global.d.ts │ ├── package.json │ ├── project.config.json │ ├── project.private.config.json │ ├── project.tt.json │ ├── src │ │ ├── app.config.ts │ │ ├── app.scss │ │ ├── app.ts │ │ ├── index.html │ │ ├── pages │ │ │ └── index │ │ │ │ ├── index.config.ts │ │ │ │ ├── index.scss │ │ │ │ └── index.tsx │ │ ├── project.config.json │ │ └── project.private.config.json │ └── tsconfig.json └── nutui-templates │ ├── create-app-demo │ ├── README.md │ ├── craco.config.js │ ├── package.json │ ├── public │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── logo192.png │ │ ├── logo512.png │ │ ├── manifest.json │ │ └── robots.txt │ └── src │ │ ├── App.css │ │ ├── App.js │ │ ├── App.test.js │ │ ├── index.css │ │ ├── index.js │ │ ├── logo.svg │ │ ├── reportWebVitals.js │ │ └── setupTests.js │ ├── next-demo │ ├── .babelrc │ ├── .gitignore │ ├── README.md │ ├── next-env.d.ts │ ├── next.config.js │ ├── package.json │ ├── public │ │ ├── favicon.ico │ │ ├── next.svg │ │ └── vercel.svg │ ├── src │ │ ├── pages │ │ │ ├── _app.tsx │ │ │ └── index.tsx │ │ └── styles │ │ │ ├── Home.module.css │ │ │ └── globals.css │ └── tsconfig.json │ ├── vite-demo │ ├── .gitignore │ ├── README.md │ ├── index.html │ ├── package.json │ ├── public │ │ └── vite.svg │ ├── src │ │ ├── App.css │ │ ├── App.tsx │ │ ├── index.css │ │ ├── main.tsx │ │ └── vite-env.d.ts │ ├── tsconfig.json │ ├── tsconfig.node.json │ └── vite.config.ts │ └── with-rsbuild │ ├── .gitignore │ ├── README.md │ ├── package.json │ ├── pnpm-lock.yaml │ ├── rsbuild.config.ts │ ├── src │ ├── App.css │ ├── App.tsx │ ├── env.d.ts │ ├── index.css │ └── index.tsx │ └── tsconfig.json ├── pnpm-lock.yaml ├── pnpm-workspace.yaml ├── scripts ├── add-comments-to-dts.js ├── build-component-css.js ├── check-lock.js ├── copy-docs-h5-or-taro.js ├── copy-migrate-from-v1.js ├── create-component-mode.js ├── create-properties.js ├── create-theme-typings.js ├── demo.js ├── deploy-theme.js ├── doc-demo-extract-replace.js ├── export-props.js ├── extract-language.js ├── format-table-markdown.js ├── gen-hash.js ├── generate-changelog.js ├── generate-css-for-rtl-comparison.js ├── generate-loader-style.js ├── generate-local-changelog.js ├── generate-nutui.js ├── generate-rtl.js ├── generate-themes-dev.js ├── generate-themes.js ├── postpublish.js ├── prepublish.js ├── properties.json ├── replace-scss-alias.js ├── replace-types-alias.js ├── taro │ ├── generate-nutui-taro.js │ ├── generate-taro-pages.js │ ├── generate-taro-route.js │ └── replace-taro-types-alias.js ├── update-v2.js └── verifymail.js ├── src ├── config.json ├── locales │ ├── README.md │ ├── base.ts │ ├── en-US.ts │ ├── id-ID.ts │ ├── tr-TR.ts │ ├── zh-CN.ts │ ├── zh-TW.ts │ └── zh-UG.ts ├── packages │ ├── actionsheet │ │ ├── __test__ │ │ │ └── actionsheet.spec.tsx │ │ ├── actionsheet.scss │ │ ├── actionsheet.taro.tsx │ │ ├── actionsheet.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ └── demo6.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ └── demo6.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ └── index.ts │ ├── address │ │ ├── __test__ │ │ │ ├── __snapshots__ │ │ │ │ └── address.spec.tsx.snap │ │ │ └── address.spec.tsx │ │ ├── address.scss │ │ ├── address.taro.tsx │ │ ├── address.tsx │ │ ├── customRender.taro.tsx │ │ ├── customRender.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ └── demo6.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ └── demo6.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── existRender.taro.tsx │ │ ├── existRender.tsx │ │ ├── index.taro.ts │ │ ├── index.ts │ │ └── types.ts │ ├── animate │ │ ├── __tests__ │ │ │ └── animate.spec.tsx │ │ ├── animate.scss │ │ ├── animate.taro.tsx │ │ ├── animate.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ └── demo2.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ └── demo2.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ └── types.ts │ ├── animatingnumbers │ │ ├── __tests__ │ │ │ └── animatingnumbers.spec.tsx │ │ ├── animatingnumbers.scss │ │ ├── animatingnumbers.taro.tsx │ │ ├── animatingnumbers.tsx │ │ ├── countup.scss │ │ ├── countup.taro.tsx │ │ ├── countup.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ └── demo2.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ └── demo2.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ └── index.ts │ ├── audio │ │ ├── __test__ │ │ │ ├── __snapshots__ │ │ │ │ └── audio.spec.tsx.snap │ │ │ └── audio.spec.tsx │ │ ├── audio.scss │ │ ├── audio.taro.tsx │ │ ├── audio.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ └── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ └── demo4.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ └── index.ts │ ├── avatar │ │ ├── __tests__ │ │ │ └── avatar.spec.tsx │ │ ├── avatar.scss │ │ ├── avatar.taro.tsx │ │ ├── avatar.tsx │ │ ├── demo.scss │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ ├── demo8.tsx │ │ │ │ └── demo9.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ ├── demo8.tsx │ │ │ │ └── demo9.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ └── index.ts │ ├── avatarcropper │ │ ├── __tests__ │ │ │ ├── __snapshots__ │ │ │ │ └── avatarcropper.spec.tsx.snap │ │ │ └── avatarcropper.spec.tsx │ │ ├── avatarcropper.scss │ │ ├── avatarcropper.taro.tsx │ │ ├── avatarcropper.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ └── demo3.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ └── demo3.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ └── index.ts │ ├── avatargroup │ │ ├── __tests__ │ │ │ ├── __snapshots__ │ │ │ │ └── avatargroup.spec.tsx.snap │ │ │ └── avatargroup.spec.tsx │ │ ├── avatargroup.scss │ │ ├── avatargroup.taro.tsx │ │ ├── avatargroup.tsx │ │ ├── context.ts │ │ ├── index.taro.ts │ │ └── index.ts │ ├── backtop │ │ ├── __test__ │ │ │ ├── __snapshots__ │ │ │ │ └── backtop.spec.tsx.snap │ │ │ └── backtop.spec.tsx │ │ ├── backtop.scss │ │ ├── backtop.taro.tsx │ │ ├── backtop.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ └── demo5.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ └── demo4.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ └── index.ts │ ├── badge │ │ ├── __test__ │ │ │ ├── __snapshots__ │ │ │ │ └── badge.spec.tsx.snap │ │ │ └── badge.spec.tsx │ │ ├── badge.scss │ │ ├── badge.taro.tsx │ │ ├── badge.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ └── demo8.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ └── demo8.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ └── index.ts │ ├── barrage │ │ ├── __tests__ │ │ │ └── barrage.spec.tsx │ │ ├── barrage.scss │ │ ├── barrage.taro.tsx │ │ ├── barrage.tsx │ │ ├── demo.scss │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ └── demo1.tsx │ │ │ └── taro │ │ │ │ └── demo1.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ └── index.ts │ ├── button │ │ ├── __test__ │ │ │ ├── __snapshots__ │ │ │ │ └── button.spec.tsx.snap │ │ │ └── button.spec.tsx │ │ ├── button.scss │ │ ├── button.taro.tsx │ │ ├── button.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ ├── demo8.tsx │ │ │ │ └── demo9.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo10.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ ├── demo8.tsx │ │ │ │ └── demo9.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ └── index.ts │ ├── calendar │ │ ├── __tests__ │ │ │ ├── __snapshots__ │ │ │ │ └── calendar.spec.tsx.snap │ │ │ └── calendar.spec.tsx │ │ ├── calendar.scss │ │ ├── calendar.taro.tsx │ │ ├── calendar.tsx │ │ ├── calendarviewmode.scss │ │ ├── calendarviewmodeitem.taro.tsx │ │ ├── calendarviewmodeitem.tsx │ │ ├── demo.scss │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo10.tsx │ │ │ │ ├── demo101.tsx │ │ │ │ ├── demo102.tsx │ │ │ │ ├── demo103.tsx │ │ │ │ ├── demo11.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ ├── demo8.tsx │ │ │ │ └── demo9.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo10.tsx │ │ │ │ ├── demo101.tsx │ │ │ │ ├── demo102.tsx │ │ │ │ ├── demo103.tsx │ │ │ │ ├── demo11.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ ├── demo8.tsx │ │ │ │ └── demo9.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── types.ts │ │ └── utils.tsx │ ├── calendarcard │ │ ├── __tests__ │ │ │ └── calendarcard.spec.tsx │ │ ├── calendarcard.scss │ │ ├── calendarcard.taro.tsx │ │ ├── calendarcard.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo10.tsx │ │ │ │ ├── demo11.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ ├── demo8.tsx │ │ │ │ └── demo9.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo10.tsx │ │ │ │ ├── demo11.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ ├── demo8.tsx │ │ │ │ └── demo9.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── icon.taro.tsx │ │ ├── icon.tsx │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── types.ts │ │ └── utils.ts │ ├── calendaritem │ │ ├── calendaritem.scss │ │ ├── calendaritem.taro.tsx │ │ ├── calendaritem.tsx │ │ ├── index.taro.ts │ │ ├── index.ts │ │ └── utils.ts │ ├── card │ │ ├── __test__ │ │ │ ├── __snapshots__ │ │ │ │ └── card.spec.tsx.snap │ │ │ └── card.spec.tsx │ │ ├── card.scss │ │ ├── card.taro.tsx │ │ ├── card.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ └── demo6.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ └── demo6.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ └── index.ts │ ├── cascader │ │ ├── __tests__ │ │ │ ├── __snapshots__ │ │ │ │ └── cascader.spec.tsx.snap │ │ │ └── cascader.spec.tsx │ │ ├── cascader.scss │ │ ├── cascader.taro.tsx │ │ ├── cascader.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ └── demo6.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ └── demo6.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── helper.ts │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── tree.ts │ │ └── types.ts │ ├── cell │ │ ├── __test__ │ │ │ ├── __snapshots__ │ │ │ │ └── cell.spec.tsx.snap │ │ │ └── cell.spec.tsx │ │ ├── cell.scss │ │ ├── cell.taro.tsx │ │ ├── cell.tsx │ │ ├── demo.scss │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ └── demo7.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ └── demo7.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ └── index.ts │ ├── cellgroup │ │ ├── __test__ │ │ │ ├── __snapshots__ │ │ │ │ └── cellgroup.spec.tsx.snap │ │ │ └── cellgroup.spec.tsx │ │ ├── cellgroup.scss │ │ ├── cellgroup.taro.tsx │ │ ├── cellgroup.tsx │ │ ├── context.ts │ │ ├── index.taro.ts │ │ └── index.ts │ ├── checkbox │ │ ├── __test__ │ │ │ ├── __snapshots__ │ │ │ │ └── checkbox.spec.tsx.snap │ │ │ └── checkbox.spec.tsx │ │ ├── checkbox.scss │ │ ├── checkbox.taro.tsx │ │ ├── checkbox.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo10.tsx │ │ │ │ ├── demo11.tsx │ │ │ │ ├── demo12.tsx │ │ │ │ ├── demo13.tsx │ │ │ │ ├── demo14.tsx │ │ │ │ ├── demo15.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ ├── demo8.tsx │ │ │ │ └── demo9.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo10.tsx │ │ │ │ ├── demo11.tsx │ │ │ │ ├── demo12.tsx │ │ │ │ ├── demo13.tsx │ │ │ │ ├── demo14.tsx │ │ │ │ ├── demo15.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ ├── demo8.tsx │ │ │ │ └── demo9.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ └── index.ts │ ├── checkboxgroup │ │ ├── checkboxgroup.scss │ │ ├── checkboxgroup.taro.tsx │ │ ├── checkboxgroup.tsx │ │ ├── context.ts │ │ ├── index.taro.ts │ │ ├── index.ts │ │ └── types.ts │ ├── circleprogress │ │ ├── __tests__ │ │ │ └── circleprogress.spec.tsx │ │ ├── circleprogress.scss │ │ ├── circleprogress.taro.tsx │ │ ├── circleprogress.tsx │ │ ├── demo.scss │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ └── demo6.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ └── demo6.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ └── index.ts │ ├── col │ │ ├── col.scss │ │ ├── col.taro.tsx │ │ ├── col.tsx │ │ ├── index.taro.ts │ │ └── index.ts │ ├── collapse │ │ ├── __test__ │ │ │ ├── __snapshots__ │ │ │ │ └── collapse.spec.tsx.snap │ │ │ └── collapse.spec.tsx │ │ ├── collapse.scss │ │ ├── collapse.taro.tsx │ │ ├── collapse.tsx │ │ ├── context.ts │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ └── demo7.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ └── demo7.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ └── index.ts │ ├── collapseitem │ │ ├── collapseitem.scss │ │ ├── collapseitem.taro.tsx │ │ ├── collapseitem.tsx │ │ ├── index.taro.ts │ │ └── index.ts │ ├── configprovider │ │ ├── __test__ │ │ │ ├── __snapshots__ │ │ │ │ └── configprovider.spec.tsx.snap │ │ │ └── configprovider.spec.tsx │ │ ├── configprovider.scss │ │ ├── configprovider.taro.tsx │ │ ├── configprovider.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ └── demo5.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ └── demo5.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ └── types.ts │ ├── countdown │ │ ├── __test__ │ │ │ └── countdown.spec.tsx │ │ ├── countdown.scss │ │ ├── countdown.taro.tsx │ │ ├── countdown.tsx │ │ ├── demo.scss │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ ├── demo8.tsx │ │ │ │ └── demo9.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ ├── demo8.tsx │ │ │ │ └── demo9.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ └── index.ts │ ├── datepicker │ │ ├── __test__ │ │ │ └── datepicker.spec.tsx │ │ ├── datepicker.scss │ │ ├── datepicker.taro.tsx │ │ ├── datepicker.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ └── demo8.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ └── demo8.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ └── index.ts │ ├── dialog │ │ ├── __test__ │ │ │ └── dialog.spec.tsx │ │ ├── config.ts │ │ ├── confirm.tsx │ │ ├── content.taro.tsx │ │ ├── content.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ └── demo8.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ └── demo8.tsx │ │ ├── dialog.scss │ │ ├── dialog.taro.tsx │ │ ├── dialog.tsx │ │ ├── dialogwrap.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ └── index.ts │ ├── divider │ │ ├── __test__ │ │ │ ├── __snapshots__ │ │ │ │ └── divider.spec.tsx.snap │ │ │ └── divider.spec.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ └── demo6.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ └── demo6.tsx │ │ ├── divider.scss │ │ ├── divider.taro.tsx │ │ ├── divider.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ └── index.ts │ ├── drag │ │ ├── __test__ │ │ │ ├── __snapshots__ │ │ │ │ └── drag.spec.tsx.snap │ │ │ └── drag.spec.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ └── demo4.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ └── demo4.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── drag.scss │ │ ├── drag.taro.tsx │ │ ├── drag.tsx │ │ ├── index.taro.ts │ │ └── index.ts │ ├── elevator │ │ ├── __tests__ │ │ │ └── elevator.spec.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ └── demo5.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ └── demo5.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── elevator.scss │ │ ├── elevator.taro.tsx │ │ ├── elevator.tsx │ │ ├── index.taro.ts │ │ └── index.ts │ ├── ellipsis │ │ ├── __test__ │ │ │ ├── __snapshots__ │ │ │ │ └── ellipsis.spec.tsx.snap │ │ │ └── ellipsis.spec.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ └── demo5.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ └── demo6.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── ellipsis.scss │ │ ├── ellipsis.taro.tsx │ │ ├── ellipsis.tsx │ │ ├── index.taro.ts │ │ └── index.ts │ ├── empty │ │ ├── __test__ │ │ │ ├── __snapshots__ │ │ │ │ └── empty.spec.tsx.snap │ │ │ └── empty.spec.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ └── demo7.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ └── demo7.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── empty.scss │ │ ├── empty.taro.tsx │ │ ├── empty.tsx │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── types.ts │ │ └── utils.ts │ ├── fixednav │ │ ├── __tests__ │ │ │ └── fixednav.spec.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ └── demo5.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ └── demo5.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── fixednav.scss │ │ ├── fixednav.taro.tsx │ │ ├── fixednav.tsx │ │ ├── index.taro.ts │ │ ├── index.ts │ │ └── types.ts │ ├── form │ │ ├── __tests__ │ │ │ ├── form.spec.tsx │ │ │ └── merge.spec.ts │ │ ├── context.ts │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ └── demo8.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ └── demo8.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── form.scss │ │ ├── form.taro.tsx │ │ ├── form.tsx │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── types.ts │ │ ├── useform.taro.ts │ │ └── useform.ts │ ├── formitem │ │ ├── formitem.scss │ │ ├── formitem.taro.tsx │ │ ├── formitem.tsx │ │ ├── index.taro.ts │ │ ├── index.ts │ │ └── types.ts │ ├── grid │ │ ├── __test__ │ │ │ ├── __snapshots__ │ │ │ │ └── grid.spec.tsx.snap │ │ │ └── grid.spec.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo10.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ ├── demo8.tsx │ │ │ │ └── demo9.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo10.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ ├── demo8.tsx │ │ │ │ └── demo9.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── grid.context.ts │ │ ├── grid.scss │ │ ├── grid.taro.context.ts │ │ ├── grid.taro.tsx │ │ ├── grid.tsx │ │ ├── index.taro.ts │ │ └── index.ts │ ├── griditem │ │ ├── griditem.scss │ │ ├── griditem.taro.tsx │ │ ├── griditem.tsx │ │ ├── index.taro.ts │ │ └── index.ts │ ├── icon │ │ ├── __test__ │ │ │ ├── __snapshots__ │ │ │ │ └── icon.spec.tsx.snap │ │ │ └── icon.spec.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ └── demo7.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ └── demo7.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ └── doc.zh-TW.md │ ├── image │ │ ├── __test__ │ │ │ ├── __snapshots__ │ │ │ │ └── image.spec.tsx.snap │ │ │ └── image.spec.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ └── demo8.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ └── demo8.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── image.scss │ │ ├── image.taro.tsx │ │ ├── image.tsx │ │ ├── index.taro.ts │ │ └── index.ts │ ├── imagepreview │ │ ├── __test__ │ │ │ └── imagepreview.spec.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ └── demo7.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ └── demo7.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── imagepreview.scss │ │ ├── imagepreview.taro.tsx │ │ ├── imagepreview.tsx │ │ ├── index.taro.ts │ │ └── index.ts │ ├── indicator │ │ ├── __test__ │ │ │ ├── __snapshots__ │ │ │ │ └── indicator.spec.tsx.snap │ │ │ └── indicator.spec.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ └── demo4.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ └── demo4.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── indicator.scss │ │ ├── indicator.taro.tsx │ │ └── indicator.tsx │ ├── infiniteloading │ │ ├── __tests__ │ │ │ ├── __snapshots__ │ │ │ │ └── infiniteloading.spec.tsx.snap │ │ │ └── infiniteloading.spec.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ └── demo5.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ └── demo4.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── infiniteloading.scss │ │ ├── infiniteloading.taro.tsx │ │ ├── infiniteloading.tsx │ │ └── types.ts │ ├── input │ │ ├── __test__ │ │ │ └── input.spec.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo10.tsx │ │ │ │ ├── demo11.tsx │ │ │ │ ├── demo12.tsx │ │ │ │ ├── demo13.tsx │ │ │ │ ├── demo14.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ ├── demo8.tsx │ │ │ │ └── demo9.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo10.tsx │ │ │ │ ├── demo11.tsx │ │ │ │ ├── demo12.tsx │ │ │ │ ├── demo13.tsx │ │ │ │ ├── demo14.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ ├── demo8.tsx │ │ │ │ └── demo9.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── input.scss │ │ ├── input.taro.tsx │ │ ├── input.tsx │ │ └── util.ts │ ├── inputnumber │ │ ├── __tests__ │ │ │ └── inputnumber.spec.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo10.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ ├── demo8.tsx │ │ │ │ └── demo9.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo10.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ ├── demo8.tsx │ │ │ │ └── demo9.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── inputnumber.scss │ │ ├── inputnumber.taro.tsx │ │ └── inputnumber.tsx │ ├── layout │ │ ├── __tests__ │ │ │ └── layout.spec.tsx │ │ ├── demo.scss │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ └── demo3.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ └── demo3.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── layout.scss │ │ ├── layout.taro.tsx │ │ └── layout.tsx │ ├── loading │ │ ├── __test__ │ │ │ └── loading.spec.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ └── demo8.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ └── demo8.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── loading.scss │ │ ├── loading.taro.tsx │ │ └── loading.tsx │ ├── menu │ │ ├── __test__ │ │ │ ├── __snapshots__ │ │ │ │ └── menu.spec.tsx.snap │ │ │ └── menu.spec.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ └── demo8.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ └── demo8.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── menu.scss │ │ ├── menu.taro.tsx │ │ └── menu.tsx │ ├── menuitem │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── menuitem.scss │ │ ├── menuitem.taro.tsx │ │ └── menuitem.tsx │ ├── navbar │ │ ├── __test__ │ │ │ ├── __snapshots__ │ │ │ │ └── navbar.spec.tsx.snap │ │ │ └── navbar.spec.tsx │ │ ├── demo.scss │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ └── demo3.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ └── demo3.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── navbar.scss │ │ ├── navbar.taro.tsx │ │ └── navbar.tsx │ ├── noticebar │ │ ├── __test__ │ │ │ ├── __snapshots__ │ │ │ │ └── noticebar.spec.tsx.snap │ │ │ └── noticebar.spec.tsx │ │ ├── demo.scss │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo10.tsx │ │ │ │ ├── demo11.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ ├── demo8.tsx │ │ │ │ └── demo9.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo10.tsx │ │ │ │ ├── demo11.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ ├── demo8.tsx │ │ │ │ └── demo9.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── noticebar.scss │ │ ├── noticebar.taro.tsx │ │ ├── noticebar.tsx │ │ └── types.ts │ ├── notify │ │ ├── Notification.tsx │ │ ├── __test__ │ │ │ └── notify.spec.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ └── demo4.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ └── demo4.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── notify.scss │ │ ├── notify.taro.tsx │ │ └── notify.tsx │ ├── numberkeyboard │ │ ├── _test_ │ │ │ ├── __snapshots__ │ │ │ │ └── index.spec.tsx.snap │ │ │ └── index.spec.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ └── demo6.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ └── demo6.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── numberkeyboard.scss │ │ ├── numberkeyboard.taro.tsx │ │ └── numberkeyboard.tsx │ ├── overlay │ │ ├── __tests__ │ │ │ ├── __snapshots__ │ │ │ │ └── overlay.spec.tsx.snap │ │ │ └── overlay.spec.tsx │ │ ├── demo.scss │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ └── demo6.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ └── demo6.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── overlay.scss │ │ ├── overlay.taro.tsx │ │ └── overlay.tsx │ ├── pagination │ │ ├── __tests__ │ │ │ ├── __snapshots__ │ │ │ │ └── pagination.spec.tsx.snap │ │ │ └── pagination.spec.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ └── demo6.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ └── demo6.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── pagination.scss │ │ ├── pagination.taro.tsx │ │ └── pagination.tsx │ ├── picker │ │ ├── __tests__ │ │ │ └── picker.spec.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ └── demo8.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ └── demo8.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── picker.scss │ │ ├── picker.taro.tsx │ │ ├── picker.tsx │ │ ├── pickerpanel.taro.tsx │ │ ├── pickerpanel.tsx │ │ └── types.ts │ ├── popover │ │ ├── __tests__ │ │ │ └── popover.spec.tsx │ │ ├── demo.scss │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4-1.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ └── demo8.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4-1.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ └── demo6.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── popover.scss │ │ ├── popover.taro.tsx │ │ ├── popover.tsx │ │ └── types.ts │ ├── popup │ │ ├── __tests__ │ │ │ └── popup.spec.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ └── demo7.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ └── demo8.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── popup.scss │ │ ├── popup.taro.tsx │ │ └── popup.tsx │ ├── price │ │ ├── __test__ │ │ │ ├── __snapshots__ │ │ │ │ └── price.spec.tsx.snap │ │ │ └── price.spec.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ └── demo8.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ └── demo8.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── price.scss │ │ ├── price.taro.tsx │ │ └── price.tsx │ ├── progress │ │ ├── __tests__ │ │ │ ├── __snapshots__ │ │ │ │ └── progress.spec.tsx.snap │ │ │ └── progress.spec.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ └── demo8.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ └── demo8.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── progress.scss │ │ ├── progress.taro.tsx │ │ └── progress.tsx │ ├── pulltorefresh │ │ ├── __test__ │ │ │ └── pulltorefresh.spec.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ └── demo2.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ └── demo4.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── pulltorefresh.scss │ │ ├── pulltorefresh.taro.tsx │ │ ├── pulltorefresh.tsx │ │ └── types.ts │ ├── radio │ │ ├── __test__ │ │ │ └── radio.spec.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo10.tsx │ │ │ │ ├── demo11.tsx │ │ │ │ ├── demo12.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ ├── demo8.tsx │ │ │ │ └── demo9.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo10.tsx │ │ │ │ ├── demo11.tsx │ │ │ │ ├── demo12.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ ├── demo8.tsx │ │ │ │ └── demo9.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── radio.scss │ │ ├── radio.taro.tsx │ │ ├── radio.tsx │ │ └── types.ts │ ├── radiogroup │ │ ├── context.ts │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── radiogroup.scss │ │ ├── radiogroup.taro.tsx │ │ ├── radiogroup.tsx │ │ └── types.ts │ ├── range │ │ ├── __test__ │ │ │ ├── __snapshots__ │ │ │ │ └── range.spec.tsx.snap │ │ │ └── range.spec.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo10.tsx │ │ │ │ ├── demo11.tsx │ │ │ │ ├── demo12.tsx │ │ │ │ ├── demo13.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ ├── demo8.tsx │ │ │ │ └── demo9.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo10.tsx │ │ │ │ ├── demo11.tsx │ │ │ │ ├── demo12.tsx │ │ │ │ ├── demo13.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ ├── demo8.tsx │ │ │ │ └── demo9.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── range.scss │ │ ├── range.taro.tsx │ │ ├── range.tsx │ │ └── types.ts │ ├── rate │ │ ├── __test__ │ │ │ └── rate.spec.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo10.tsx │ │ │ │ ├── demo11.tsx │ │ │ │ ├── demo12.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ ├── demo8.tsx │ │ │ │ └── demo9.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo10.tsx │ │ │ │ ├── demo11.tsx │ │ │ │ ├── demo12.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ ├── demo8.tsx │ │ │ │ └── demo9.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── rate.scss │ │ ├── rate.taro.tsx │ │ └── rate.tsx │ ├── row │ │ ├── UserContext.ts │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── row.scss │ │ ├── row.taro.tsx │ │ └── row.tsx │ ├── safearea │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ └── demo1.tsx │ │ │ └── taro │ │ │ │ └── demo1.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── safearea.scss │ │ ├── safearea.taro.tsx │ │ └── safearea.tsx │ ├── searchbar │ │ ├── __tests__ │ │ │ └── searchbar.spec.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ └── demo7.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ └── demo7.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── searchbar.scss │ │ ├── searchbar.taro.tsx │ │ └── searchbar.tsx │ ├── shortpassword │ │ ├── _test_ │ │ │ └── index.spec.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ └── demo6.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ └── demo6.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── shortpassword.scss │ │ ├── shortpassword.taro.tsx │ │ ├── shortpassword.tsx │ │ └── types.ts │ ├── sidenavbar │ │ ├── __test__ │ │ │ └── sidenavbar.spec.tsx │ │ ├── context.ts │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ └── demo2.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ └── demo2.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── sidenavbar.scss │ │ ├── sidenavbar.taro.tsx │ │ ├── sidenavbar.tsx │ │ └── utils.ts │ ├── sidenavbaritem │ │ ├── __test__ │ │ │ ├── __snapshots__ │ │ │ │ └── sidenavbaritem.spec.tsx.snap │ │ │ └── sidenavbaritem.spec.tsx │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── sidenavbaritem.scss │ │ ├── sidenavbaritem.taro.tsx │ │ └── sidenavbaritem.tsx │ ├── signature │ │ ├── __test__ │ │ │ ├── __snapshots__ │ │ │ │ └── signature.spec.tsx.snap │ │ │ └── signature.spec.tsx │ │ ├── demo.scss │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ └── demo2.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ └── demo2.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── signature.scss │ │ ├── signature.taro.tsx │ │ └── signature.tsx │ ├── skeleton │ │ ├── __test__ │ │ │ ├── __snapshots__ │ │ │ │ └── skeleton.spec.tsx.snap │ │ │ └── skeleton.spec.tsx │ │ ├── demo.scss │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ └── demo5.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ └── demo5.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── skeleton.scss │ │ ├── skeleton.taro.tsx │ │ └── skeleton.tsx │ ├── space │ │ ├── __test__ │ │ │ ├── __snapshots__ │ │ │ │ └── space.spec.tsx.snap │ │ │ └── space.spec.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ └── demo6.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ └── demo6.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── space.scss │ │ ├── space.taro.tsx │ │ └── space.tsx │ ├── step │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── step.scss │ │ ├── step.taro.tsx │ │ └── step.tsx │ ├── steps │ │ ├── __tests__ │ │ │ └── steps.spec.tsx │ │ ├── context.ts │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ ├── demo8.tsx │ │ │ │ └── demo9.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ ├── demo8.tsx │ │ │ │ └── demo9.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── steps.scss │ │ ├── steps.taro.tsx │ │ └── steps.tsx │ ├── sticky │ │ ├── __test__ │ │ │ ├── __snapshots__ │ │ │ │ └── sticky.spec.tsx.snap │ │ │ └── sticky.spec.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ └── demo4.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ └── demo4.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── sticky.scss │ │ ├── sticky.taro.tsx │ │ └── sticky.tsx │ ├── subsidenavbar │ │ ├── __test__ │ │ │ ├── __snapshots__ │ │ │ │ └── subsidenavbar.spec.tsx.snap │ │ │ └── subsidenavbar.spec.tsx │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── subsidenavbar.scss │ │ ├── subsidenavbar.taro.tsx │ │ └── subsidenavbar.tsx │ ├── swipe │ │ ├── __tests__ │ │ │ └── swipe.spec.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── swipe.scss │ │ ├── swipe.taro.tsx │ │ └── swipe.tsx │ ├── swiper │ │ ├── __tests__ │ │ │ └── swiper.spec.tsx │ │ ├── context.ts │ │ ├── demo.scss │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo10.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ ├── demo8.tsx │ │ │ │ └── demo9.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ ├── demo8.tsx │ │ │ │ └── demo9.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── effects │ │ │ ├── default.tsx │ │ │ └── focus.tsx │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── swiper.scss │ │ ├── swiper.taro.tsx │ │ ├── swiper.tsx │ │ └── types.ts │ ├── swiperitem │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── swiperitem.scss │ │ ├── swiperitem.taro.tsx │ │ └── swiperitem.tsx │ ├── switch │ │ ├── __test__ │ │ │ └── switch.spec.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ └── demo6.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ └── demo6.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── switch.scss │ │ ├── switch.taro.tsx │ │ └── switch.tsx │ ├── tabbar │ │ ├── __tests__ │ │ │ ├── __snapshots__ │ │ │ │ └── tabbar.spec.tsx.snap │ │ │ └── tabbar.spec.tsx │ │ ├── context.ts │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ ├── demo8.tsx │ │ │ │ └── demo9.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ ├── demo8.tsx │ │ │ │ └── demo9.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── tabbar.scss │ │ ├── tabbar.taro.tsx │ │ └── tabbar.tsx │ ├── tabbaritem │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── tabbaritem.scss │ │ ├── tabbaritem.taro.tsx │ │ └── tabbaritem.tsx │ ├── table │ │ ├── __test__ │ │ │ └── table.spec.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo10.tsx │ │ │ │ ├── demo11.tsx │ │ │ │ ├── demo12.tsx │ │ │ │ ├── demo13.tsx │ │ │ │ ├── demo14.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ ├── demo8.tsx │ │ │ │ └── demo9.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo10.tsx │ │ │ │ ├── demo11.tsx │ │ │ │ ├── demo12.tsx │ │ │ │ ├── demo13.tsx │ │ │ │ ├── demo14.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ ├── demo8.tsx │ │ │ │ └── demo9.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── table.scss │ │ ├── table.taro.tsx │ │ ├── table.tsx │ │ ├── types.ts │ │ └── useTableSticky.ts │ ├── tabpane │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── tabpane.scss │ │ ├── tabpane.taro.tsx │ │ └── tabpane.tsx │ ├── tabs │ │ ├── __test__ │ │ │ └── tabs.spec.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo10.tsx │ │ │ │ ├── demo11.tsx │ │ │ │ ├── demo12.tsx │ │ │ │ ├── demo13.tsx │ │ │ │ ├── demo14.tsx │ │ │ │ ├── demo15.tsx │ │ │ │ ├── demo16.tsx │ │ │ │ ├── demo17.tsx │ │ │ │ ├── demo18.tsx │ │ │ │ ├── demo19.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo20.tsx │ │ │ │ ├── demo21.tsx │ │ │ │ ├── demo22.tsx │ │ │ │ ├── demo23.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ ├── demo8.tsx │ │ │ │ └── demo9.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo10.tsx │ │ │ │ ├── demo11.tsx │ │ │ │ ├── demo12.tsx │ │ │ │ ├── demo13.tsx │ │ │ │ ├── demo14.tsx │ │ │ │ ├── demo15.tsx │ │ │ │ ├── demo16.tsx │ │ │ │ ├── demo17.tsx │ │ │ │ ├── demo18.tsx │ │ │ │ ├── demo19.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo20.tsx │ │ │ │ ├── demo21.tsx │ │ │ │ ├── demo22.tsx │ │ │ │ ├── demo23.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ ├── demo8.tsx │ │ │ │ └── demo9.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── tabs.scss │ │ ├── tabs.taro.tsx │ │ └── tabs.tsx │ ├── tag │ │ ├── __test__ │ │ │ ├── __snapshots__ │ │ │ │ └── tag.spec.tsx.snap │ │ │ └── tag.spec.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ └── demo4.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ └── demo4.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── tag.scss │ │ ├── tag.taro.tsx │ │ └── tag.tsx │ ├── textarea │ │ ├── __test__ │ │ │ ├── __snapshots__ │ │ │ │ └── textarea.spec.tsx.snap │ │ │ └── textarea.spec.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ └── demo8.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ └── demo8.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── textarea.scss │ │ ├── textarea.taro.tsx │ │ └── textarea.tsx │ ├── timedetail │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── timedetail.scss │ │ ├── timedetail.taro.tsx │ │ └── timedetail.tsx │ ├── timeselect │ │ ├── __test__ │ │ │ ├── __snapshots__ │ │ │ │ └── timeselect.spec.tsx.snap │ │ │ └── timeselect.spec.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ └── demo4.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ └── demo4.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── timeselect.scss │ │ ├── timeselect.taro.tsx │ │ └── timeselect.tsx │ ├── toast │ │ ├── Notification.tsx │ │ ├── __test__ │ │ │ └── toast.spec.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ └── demo5.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ └── demo5.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── toast.scss │ │ ├── toast.taro.tsx │ │ └── toast.tsx │ ├── tour │ │ ├── __test__ │ │ │ └── tour.spec.tsx │ │ ├── demo.scss │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ └── demo5.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ └── demo5.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── tour.scss │ │ ├── tour.taro.tsx │ │ └── tour.tsx │ ├── trendarrow │ │ ├── __test__ │ │ │ └── trendarrow.spec.tsx │ │ ├── demo.scss │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ └── demo8.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ └── demo8.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── trendarrow.scss │ │ ├── trendarrow.taro.tsx │ │ └── trendarrow.tsx │ ├── uploader │ │ ├── __tests__ │ │ │ └── uploader.spec.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo10.tsx │ │ │ │ ├── demo11.tsx │ │ │ │ ├── demo12.tsx │ │ │ │ ├── demo13.tsx │ │ │ │ ├── demo14.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ ├── demo8.tsx │ │ │ │ └── demo9.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo10.tsx │ │ │ │ ├── demo11.tsx │ │ │ │ ├── demo12.tsx │ │ │ │ ├── demo13.tsx │ │ │ │ ├── demo14.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ ├── demo7.tsx │ │ │ │ ├── demo8.tsx │ │ │ │ └── demo9.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── file-item.ts │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── preview.taro.tsx │ │ ├── preview.tsx │ │ ├── upload.ts │ │ ├── uploader.scss │ │ ├── uploader.taro.tsx │ │ └── uploader.tsx │ ├── video │ │ ├── __tests__ │ │ │ ├── __snapshots__ │ │ │ │ └── video.spec.tsx.snap │ │ │ └── video.spec.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ └── demo7.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ ├── demo4.tsx │ │ │ │ ├── demo5.tsx │ │ │ │ ├── demo6.tsx │ │ │ │ └── demo7.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── video.scss │ │ ├── video.taro.tsx │ │ └── video.tsx │ ├── virtuallist │ │ ├── __test__ │ │ │ └── virtuallist.spec.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ │ ├── h5 │ │ │ │ ├── demo1.tsx │ │ │ │ ├── demo2.tsx │ │ │ │ ├── demo3.tsx │ │ │ │ └── demo4.tsx │ │ │ └── taro │ │ │ │ ├── demo1.tsx │ │ │ │ └── demo2.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── types.ts │ │ ├── utils.ts │ │ ├── virtuallist.scss │ │ ├── virtuallist.taro.tsx │ │ └── virtuallist.tsx │ └── watermark │ │ ├── __tests__ │ │ └── watermark.spec.tsx │ │ ├── demo.taro.tsx │ │ ├── demo.tsx │ │ ├── demos │ │ ├── h5 │ │ │ ├── demo1.tsx │ │ │ └── demo2.tsx │ │ └── taro │ │ │ ├── demo1.tsx │ │ │ └── demo2.tsx │ │ ├── doc.en-US.md │ │ ├── doc.md │ │ ├── doc.taro.md │ │ ├── doc.zh-TW.md │ │ ├── index.taro.ts │ │ ├── index.ts │ │ ├── watermark.scss │ │ ├── watermark.taro.tsx │ │ └── watermark.tsx ├── sites │ ├── assets │ │ ├── images │ │ │ ├── bg-article.png │ │ │ ├── cat-back.png │ │ │ ├── cat-title.png │ │ │ ├── header-bg.png │ │ │ ├── icon-color.png │ │ │ ├── icon-footer-vx.png │ │ │ ├── icon-gitee.png │ │ │ ├── icon-select-gray-down.png │ │ │ ├── icon-select-gray-up.png │ │ │ ├── icon-select-white-down.png │ │ │ ├── icon-select-white-up.png │ │ │ ├── icon-title.png │ │ │ ├── icon-user.png │ │ │ ├── img-article.jpg │ │ │ ├── img-home-features1.png │ │ │ ├── img-home-features2.png │ │ │ ├── img-home-features3.png │ │ │ ├── img-home-features4.png │ │ │ ├── img-home-features5.png │ │ │ ├── img-joy.png │ │ │ ├── img-taro-left-white.png │ │ │ ├── img-taro-left.png │ │ │ ├── img-taro-right-white.png │ │ │ ├── img-taro-right.png │ │ │ ├── input-search.png │ │ │ ├── iphone-cases.png │ │ │ ├── item-active.png │ │ │ ├── item-rotate-active.png │ │ │ ├── left-arrow.png │ │ │ ├── logo-blue.png │ │ │ ├── logo-header-red.png │ │ │ ├── logo-header-white.png │ │ │ ├── logo-react-red.png │ │ │ ├── logo-red.png │ │ │ ├── marketing-back.png │ │ │ ├── marketing-title.png │ │ │ ├── order.png │ │ │ ├── right-arrow.png │ │ │ ├── vx-code.png │ │ │ └── vx-code1.png │ │ ├── locale │ │ │ ├── index.ts │ │ │ ├── taro │ │ │ │ ├── index.ts │ │ │ │ └── uselocale.ts │ │ │ └── uselocale.ts │ │ ├── styles │ │ │ ├── highlight.scss │ │ │ ├── md-style.scss │ │ │ ├── reset.scss │ │ │ └── variables.scss │ │ └── util │ │ │ ├── index.ts │ │ │ └── touch-emulator.js │ ├── components │ │ ├── header.scss │ │ └── header.tsx │ ├── config │ │ └── env.ts │ ├── doc │ │ ├── App.scss │ │ ├── App.tsx │ │ ├── components │ │ │ ├── demo-preview │ │ │ │ ├── demo-preview.scss │ │ │ │ ├── demo-preview.tsx │ │ │ │ └── index.ts │ │ │ ├── demoblock │ │ │ │ ├── basedUtil.ts │ │ │ │ ├── codeblock.tsx │ │ │ │ ├── demoblock.scss │ │ │ │ ├── demoblock.tsx │ │ │ │ └── index.ts │ │ │ ├── header │ │ │ │ ├── header.scss │ │ │ │ ├── header.tsx │ │ │ │ └── index.ts │ │ │ ├── issue │ │ │ │ ├── index.ts │ │ │ │ ├── issue.scss │ │ │ │ └── issue.tsx │ │ │ └── nav │ │ │ │ ├── index.ts │ │ │ │ ├── nav.scss │ │ │ │ └── nav.tsx │ │ ├── context.ts │ │ ├── main.tsx │ │ └── router.ts │ ├── mobile │ │ ├── App.scss │ │ ├── App.tsx │ │ ├── Links.scss │ │ ├── Links.tsx │ │ ├── TaroDemo.scss │ │ ├── TaroDemo.tsx │ │ ├── main.tsx │ │ ├── project.config.json │ │ ├── project.private.config.json │ │ └── router.ts │ ├── service │ │ ├── ApiService.ts │ │ └── HttpClient.ts │ └── theme │ │ ├── App.scss │ │ ├── AppTheme.tsx │ │ ├── components │ │ ├── demo-preview │ │ │ ├── demo-preview.scss │ │ │ ├── demo-preview.tsx │ │ │ └── index.ts │ │ ├── header │ │ │ ├── header.scss │ │ │ ├── header.tsx │ │ │ └── index.ts │ │ ├── nav │ │ │ ├── index.ts │ │ │ ├── nav.scss │ │ │ └── nav.tsx │ │ └── theme-setting │ │ │ ├── color-picker.tsx │ │ │ ├── helpers.ts │ │ │ ├── index.ts │ │ │ ├── theme-setting.scss │ │ │ └── theme-setting.tsx │ │ ├── mainTheme.tsx │ │ └── router.ts ├── styles │ ├── animation │ │ ├── drop.scss │ │ ├── ease.scss │ │ ├── fade.scss │ │ ├── icon.scss │ │ ├── index.scss │ │ ├── rotate.scss │ │ └── zoom.scss │ ├── font-jmapp │ │ ├── config.json │ │ ├── demo.css │ │ ├── demo_index.html │ │ ├── iconfont.css │ │ ├── iconfont.eot │ │ ├── iconfont.js │ │ ├── iconfont.json │ │ ├── iconfont.svg │ │ ├── iconfont.ttf │ │ ├── iconfont.woff │ │ └── iconfont.woff2 │ ├── font │ │ ├── config.json │ │ ├── demo.css │ │ ├── demo_index.html │ │ ├── iconfont.css │ │ ├── iconfont.eot │ │ ├── iconfont.js │ │ ├── iconfont.json │ │ ├── iconfont.svg │ │ ├── iconfont.ttf │ │ ├── iconfont.woff │ │ └── iconfont.woff2 │ ├── mixins │ │ ├── index.scss │ │ ├── make-animation.scss │ │ └── text-ellipsis.scss │ ├── theme-dark.scss │ ├── theme-default.scss │ ├── theme-jmapp.scss │ ├── variables-jmapp.scss │ └── variables.scss ├── utils │ ├── bound.ts │ ├── camel-case.ts │ ├── can-use-dom.ts │ ├── date.ts │ ├── get-rect-by-taro.ts │ ├── get-scroll-parent.ts │ ├── get-system-info.ts │ ├── index.ts │ ├── interceptor.ts │ ├── is-date.ts │ ├── is-forward-ref-component.ts │ ├── lru.ts │ ├── merge-props.ts │ ├── merge.ts │ ├── pad-zero.ts │ ├── px-check.ts │ ├── raf.ts │ ├── render.ts │ ├── rubberband.ts │ ├── sleep.ts │ ├── supports-passive.ts │ ├── test │ │ └── event.ts │ ├── to-array.ts │ ├── typings.ts │ ├── use-click-away.ts │ ├── use-client-rect.ts │ ├── use-custom-event.ts │ ├── use-force-update.ts │ ├── use-isomprphic-layout-effect.ts │ ├── use-lock-scoll-taro.ts │ ├── use-lock-scroll.ts │ ├── use-memo.ts │ ├── use-props-value.ts │ ├── use-ref-state.ts │ ├── use-refs.ts │ ├── use-taro-rect.ts │ ├── use-touch.ts │ ├── use-uuid.ts │ └── use-watch.tsx └── vite-env.d.ts ├── theme.html ├── tsconfig.h5.json ├── tsconfig.json ├── tsconfig.taro.json ├── vite.config.build.css.ts ├── vite.config.build.disperse.taro.ts ├── vite.config.build.disperse.ts ├── vite.config.build.locales.ts ├── vite.config.build.site.ts ├── vite.config.build.taro.ts ├── vite.config.build.ts ├── vite.config.theme.ts └── vite.config.ts /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 2 6 | end_of_line = lf 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | insert_final_newline = false 10 | 11 | [*.md] 12 | trim_trailing_whitespace = false 13 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | contact_links: 3 | - name: 🤖 常见问题 QA 4 | url: https://github.com/jdf2e/nutui-react/discussions/1324 5 | about: 这里可能会有解决方案。 6 | -------------------------------------------------------------------------------- /.husky/.gitignore: -------------------------------------------------------------------------------- 1 | _ 2 | -------------------------------------------------------------------------------- /.husky/commit-msg: -------------------------------------------------------------------------------- 1 | npx --no-install commitlint --edit $1 -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | node ./scripts/verifymail.js 2 | node ./scripts/check-lock.js 3 | npx lint-staged 4 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | registry=https://registry.npmjs.org/ 2 | engine-strict=true 3 | strict-peer-dependencies=false 4 | 5 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | **/*.html 2 | **/*.txt 3 | **/*.svg 4 | **/*.ttf 5 | **/*.woff 6 | **/*.eot 7 | package.json 8 | node_modules 9 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "trailingComma": "es5", 3 | "tabWidth": 2, 4 | "semi": false, 5 | "singleQuote": true, 6 | "printWidth": 80, 7 | "proseWrap": "preserve", 8 | "endOfLine": "auto", 9 | "plugins": ["prettier-markdown-table"] 10 | } 11 | -------------------------------------------------------------------------------- /commitlint.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { extends: ['@commitlint/config-conventional'] } 2 | -------------------------------------------------------------------------------- /packages/nutui-codemod/.gitignore: -------------------------------------------------------------------------------- 1 | .idea/ 2 | .vscode/ 3 | node_modules/ 4 | -------------------------------------------------------------------------------- /packages/nutui-codemod/.npmignore: -------------------------------------------------------------------------------- 1 | *.diff 2 | *.log 3 | *.patch 4 | *.bak 5 | .idea 6 | .DS_Store 7 | .github 8 | .vscode 9 | node_modules 10 | .eslint* 11 | .prettier* 12 | __testfixtures__ 13 | __tests__ 14 | test 15 | -------------------------------------------------------------------------------- /packages/nutui-codemod/.prettierignore: -------------------------------------------------------------------------------- 1 | __testfixtures__ 2 | -------------------------------------------------------------------------------- /packages/nutui-codemod/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "trailingComma": "es5", 3 | "tabWidth": 2, 4 | "semi": false, 5 | "singleQuote": true, 6 | "printWidth": 80, 7 | "endOfLine": "auto" 8 | } 9 | -------------------------------------------------------------------------------- /packages/nutui-codemod/bin/codemod.ignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | *.css 3 | *.json 4 | *.less 5 | *.sass 6 | *.scss 7 | -------------------------------------------------------------------------------- /packages/nutui-codemod/bin/nutui-react-codemod.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | require('./cli').run() 4 | -------------------------------------------------------------------------------- /packages/nutui-codemod/test/button.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { Button } from '@nutui/nutui-react' 3 | 4 | const App = () => { 5 | return (<> 6 | 9 | 12 | ); 13 | } 14 | export default App 15 | -------------------------------------------------------------------------------- /packages/nutui-codemod/transforms/__testfixtures__/components/button/index.input.js: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { Button } from '@nutui/nutui-react' 3 | 4 | const App = () => { 5 | return ( 6 | 9 | ) 10 | } 11 | export default App 12 | -------------------------------------------------------------------------------- /packages/nutui-codemod/transforms/__testfixtures__/components/button/index.output.js: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { Button } from '@nutui/nutui-react' 3 | 4 | const App = () => { 5 | return (); 6 | } 7 | export default App 8 | -------------------------------------------------------------------------------- /packages/nutui-codemod/transforms/__tests__/props-changed-migration.js: -------------------------------------------------------------------------------- 1 | jest.autoMockOff() 2 | const defineTest = require('jscodeshift/dist/testUtils').defineTest 3 | 4 | describe('reverse-identifiers', () => { 5 | defineTest( 6 | __dirname, 7 | 'props-changed-migration', 8 | null, 9 | 'components/button/index', 10 | { 11 | parser: 'babylon', 12 | } 13 | ) 14 | }) 15 | -------------------------------------------------------------------------------- /packages/nutui-codemod/transforms/utils/find-pkg-imports.js: -------------------------------------------------------------------------------- 1 | // const pkgInfo = require('../../bin/config') 2 | 3 | function findNutUIImports(j, root, pkgInfo) { 4 | return root.find(j.ImportDeclaration).filter((path) => { 5 | return path.value.source.value === pkgInfo.ui 6 | }) 7 | } 8 | 9 | module.exports = findNutUIImports 10 | -------------------------------------------------------------------------------- /packages/nutui-optimize-css/src/index.ts: -------------------------------------------------------------------------------- 1 | import { optimizeCss } from './postcss-plugins' 2 | 3 | export default optimizeCss 4 | -------------------------------------------------------------------------------- /packages/nutui-optimize-css/test/__snapshots__/remove-rtl.test.ts.snap: -------------------------------------------------------------------------------- 1 | // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html 2 | 3 | exports[`@nutui/optimize-css > remove rtl 1`] = ` 4 | " 5 | " 6 | `; 7 | -------------------------------------------------------------------------------- /packages/nutui-optimize-css/test/variables.css: -------------------------------------------------------------------------------- 1 | :root { 2 | --nutui-color-primary-stop-1: red; 3 | --nutui-color-primary-text: green; 4 | } -------------------------------------------------------------------------------- /packages/nutui-optimize-css/test/variables.scss: -------------------------------------------------------------------------------- 1 | :root { 2 | --nutui-color-primary-text: blue; 3 | --nutui-color-primary-stop-1: yellow; 4 | } 5 | -------------------------------------------------------------------------------- /packages/nutui-optimize-css/vitest.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vitest/config' 2 | 3 | export default defineConfig({ 4 | test: { 5 | // ... Specify options here. 6 | }, 7 | }) 8 | -------------------------------------------------------------------------------- /packages/nutui-replace-icons/.gitignore: -------------------------------------------------------------------------------- 1 | types 2 | node_modules 3 | -------------------------------------------------------------------------------- /packages/nutui-replace-icons/src/index.ts: -------------------------------------------------------------------------------- 1 | import { replaceIcons } from './replace-icons' 2 | 3 | export default replaceIcons 4 | -------------------------------------------------------------------------------- /packages/nutui-replace-icons/src/type.ts: -------------------------------------------------------------------------------- 1 | export interface IOptions { 2 | sourceLibrary: string[] 3 | targetLibrary: string 4 | iconMappings?: { [key: string]: string } 5 | } 6 | -------------------------------------------------------------------------------- /packages/nutui-replace-icons/test/__snapshots__/replace-icon-css.test.ts.snap: -------------------------------------------------------------------------------- 1 | // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html 2 | 3 | exports[`replace Loading icons with Star 1`] = ` 4 | "import "@test/aa/dist/test.css"; 5 | import "@test/aa/dist/test.css"; 6 | import '@nutui/taro/dist/test.css';" 7 | `; 8 | -------------------------------------------------------------------------------- /packages/nutui-replace-icons/vitest.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vitest/config' 2 | 3 | export default defineConfig({ 4 | test: { 5 | // ... Specify options here. 6 | }, 7 | }) 8 | -------------------------------------------------------------------------------- /packages/nutui-taro-demo/.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | indent_style = space 6 | indent_size = 2 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | 11 | [*.md] 12 | trim_trailing_whitespace = false 13 | -------------------------------------------------------------------------------- /packages/nutui-taro-demo/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["taro/react"], 3 | "rules": { 4 | "react/jsx-uses-react": "off", 5 | "react/react-in-jsx-scope": "off" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/nutui-taro-demo/.gitignore: -------------------------------------------------------------------------------- 1 | dist/ 2 | deploy_versions/ 3 | .temp/ 4 | .rn_temp/ 5 | node_modules/ 6 | .DS_Store 7 | src/base/ 8 | src/business/ 9 | src/dentry/ 10 | src/dentry1/ 11 | src/exhibition/ 12 | src/feedback/ 13 | src/layout/ 14 | src/nav/ 15 | -------------------------------------------------------------------------------- /packages/nutui-taro-demo/project.tt.json: -------------------------------------------------------------------------------- 1 | { 2 | "miniprogramRoot": "./", 3 | "projectname": "NutUI-React-Taro", 4 | "appid": "test", 5 | "setting": { 6 | "es6": false, 7 | "minified": false 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /packages/nutui-taro-demo/src/app.ts: -------------------------------------------------------------------------------- 1 | import { Component } from 'react' 2 | import '@/sites/assets/styles/reset.scss' 3 | import NutUI from '@/packages/nutui.react.taro.scss' 4 | import '@nutui/touch-emulator' 5 | import './app.scss' 6 | 7 | console.log(NutUI) 8 | class App extends Component { 9 | render() { 10 | return this.props.children 11 | } 12 | } 13 | export default App 14 | -------------------------------------------------------------------------------- /packages/nutui-taro-demo/src/pages/index/index.config.ts: -------------------------------------------------------------------------------- 1 | export default definePageConfig({ 2 | navigationBarTitleText: '首页', 3 | }) 4 | -------------------------------------------------------------------------------- /packages/nutui-taro-demo/src/pages/index/index.scss: -------------------------------------------------------------------------------- 1 | @import '@/sites/mobile/Links.scss'; 2 | 3 | .index-header .info .h5-h1 { 4 | font-weight: 500; 5 | font-size: 48rpx; 6 | } 7 | -------------------------------------------------------------------------------- /packages/nutui-taro-demo/src/project.private.config.json: -------------------------------------------------------------------------------- 1 | { 2 | "description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html", 3 | "projectname": "src", 4 | "setting": { 5 | "compileHotReLoad": true 6 | } 7 | } -------------------------------------------------------------------------------- /packages/nutui-templates/create-app-demo/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jdf2e/nutui-react/5445108bf8e29502ed8131b25d37c00663dfacc0/packages/nutui-templates/create-app-demo/README.md -------------------------------------------------------------------------------- /packages/nutui-templates/create-app-demo/craco.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | babel: { 3 | plugins: [ 4 | [ 5 | "import", 6 | { 7 | "libraryName": "@nutui/nutui-react", 8 | "libraryDirectory": "dist/esm", 9 | "style": "css", 10 | "camel2DashComponentName": false 11 | }, 12 | "nutui-react" 13 | ] 14 | ] 15 | }, 16 | }; -------------------------------------------------------------------------------- /packages/nutui-templates/create-app-demo/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jdf2e/nutui-react/5445108bf8e29502ed8131b25d37c00663dfacc0/packages/nutui-templates/create-app-demo/public/favicon.ico -------------------------------------------------------------------------------- /packages/nutui-templates/create-app-demo/public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jdf2e/nutui-react/5445108bf8e29502ed8131b25d37c00663dfacc0/packages/nutui-templates/create-app-demo/public/logo192.png -------------------------------------------------------------------------------- /packages/nutui-templates/create-app-demo/public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jdf2e/nutui-react/5445108bf8e29502ed8131b25d37c00663dfacc0/packages/nutui-templates/create-app-demo/public/logo512.png -------------------------------------------------------------------------------- /packages/nutui-templates/create-app-demo/public/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | Disallow: 4 | -------------------------------------------------------------------------------- /packages/nutui-templates/create-app-demo/src/App.test.js: -------------------------------------------------------------------------------- 1 | import { render, screen } from '@testing-library/react'; 2 | import App from './App'; 3 | 4 | test('renders learn react link', () => { 5 | render(); 6 | const linkElement = screen.getByText(/learn react/i); 7 | expect(linkElement).toBeInTheDocument(); 8 | }); 9 | -------------------------------------------------------------------------------- /packages/nutui-templates/create-app-demo/src/setupTests.js: -------------------------------------------------------------------------------- 1 | // jest-dom adds custom jest matchers for asserting on DOM nodes. 2 | // allows you to do things like: 3 | // expect(element).toHaveTextContent(/react/i) 4 | // learn more: https://github.com/testing-library/jest-dom 5 | import '@testing-library/jest-dom'; 6 | -------------------------------------------------------------------------------- /packages/nutui-templates/next-demo/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["next/babel"], 3 | "plugins": [[ 4 | "import", 5 | { 6 | "libraryName": "@nutui/nutui-react", 7 | "libraryDirectory": "dist/esm", 8 | "style": "css", 9 | "camel2DashComponentName": false 10 | }, 11 | "nutui-react" 12 | ]] 13 | } -------------------------------------------------------------------------------- /packages/nutui-templates/next-demo/.gitignore: -------------------------------------------------------------------------------- 1 | .next 2 | node_modules -------------------------------------------------------------------------------- /packages/nutui-templates/next-demo/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | 4 | // NOTE: This file should not be edited 5 | // see https://nextjs.org/docs/basic-features/typescript for more information. 6 | -------------------------------------------------------------------------------- /packages/nutui-templates/next-demo/next.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('next').NextConfig} */ 2 | const nextConfig = { 3 | reactStrictMode: true, 4 | transpilePackages: ['@nutui/nutui-react', '@nutui/icons-react'], 5 | } 6 | 7 | module.exports = nextConfig 8 | -------------------------------------------------------------------------------- /packages/nutui-templates/next-demo/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jdf2e/nutui-react/5445108bf8e29502ed8131b25d37c00663dfacc0/packages/nutui-templates/next-demo/public/favicon.ico -------------------------------------------------------------------------------- /packages/nutui-templates/next-demo/src/pages/_app.tsx: -------------------------------------------------------------------------------- 1 | import type { AppProps } from 'next/app' 2 | import '../styles/globals.css' 3 | 4 | export default function App({ Component, pageProps }: AppProps) { 5 | return 6 | } -------------------------------------------------------------------------------- /packages/nutui-templates/vite-demo/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /packages/nutui-templates/vite-demo/src/main.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import ReactDOM from 'react-dom/client' 3 | import App from './App.tsx' 4 | import './index.css' 5 | 6 | ReactDOM.createRoot(document.getElementById('root')!).render( 7 | 8 | 9 | , 10 | ) 11 | -------------------------------------------------------------------------------- /packages/nutui-templates/vite-demo/src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /packages/nutui-templates/vite-demo/tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "composite": true, 4 | "skipLibCheck": true, 5 | "module": "ESNext", 6 | "moduleResolution": "bundler", 7 | "allowSyntheticDefaultImports": true 8 | }, 9 | "include": ["vite.config.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /packages/nutui-templates/with-rsbuild/.gitignore: -------------------------------------------------------------------------------- 1 | # Local 2 | .DS_Store 3 | *.local 4 | *.log* 5 | 6 | # Dist 7 | node_modules 8 | dist/ 9 | 10 | # IDE 11 | .vscode/* 12 | !.vscode/extensions.json 13 | .idea 14 | -------------------------------------------------------------------------------- /packages/nutui-templates/with-rsbuild/src/env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /packages/nutui-templates/with-rsbuild/src/index.tsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import ReactDOM from "react-dom/client"; 3 | import App from "./App"; 4 | import "./index.css"; 5 | 6 | const root = ReactDOM.createRoot(document.getElementById("root")!); 7 | root.render( 8 | 9 | 10 | 11 | ); 12 | -------------------------------------------------------------------------------- /packages/nutui-templates/with-rsbuild/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2020", 4 | "lib": ["DOM", "ES2020"], 5 | "module": "ESNext", 6 | "jsx": "react-jsx", 7 | "strict": true, 8 | "skipLibCheck": true, 9 | "isolatedModules": true, 10 | "resolveJsonModule": true, 11 | "moduleResolution": "bundler" 12 | }, 13 | "include": ["src"] 14 | } 15 | -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- 1 | packages: 2 | - 'packages/*' -------------------------------------------------------------------------------- /scripts/deploy-theme.js: -------------------------------------------------------------------------------- 1 | const path = require('path') 2 | const fse = require('fs-extra') 3 | 4 | const themeDir = path.join(__dirname, '../dist/theme-react') 5 | const siteDir = path.join(process.cwd(), '../nutui-site/dist') 6 | 7 | fse.copy(themeDir, path.join(siteDir, 'theme-react')) 8 | -------------------------------------------------------------------------------- /scripts/export-props.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jdf2e/nutui-react/5445108bf8e29502ed8131b25d37c00663dfacc0/scripts/export-props.js -------------------------------------------------------------------------------- /scripts/postpublish.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 用于在 prepublish 之后,恢复 package.json 3 | * */ 4 | const path = require('path') 5 | const fsExtra = require('fs-extra') 6 | 7 | fsExtra.copySync( 8 | path.join(process.cwd(), '.cache/package.json.bk'), 9 | path.join(process.cwd(), 'package.json'), 10 | { overwrite: true } 11 | ) 12 | 13 | fsExtra.removeSync(path.join(process.cwd(), '.cache/package.json.bk')) 14 | -------------------------------------------------------------------------------- /src/packages/actionsheet/index.taro.ts: -------------------------------------------------------------------------------- 1 | import { ActionSheet } from './actionsheet.taro' 2 | 3 | export type { ActionSheetOption, ActionSheetProps } from './actionsheet.taro' 4 | 5 | export default ActionSheet 6 | -------------------------------------------------------------------------------- /src/packages/actionsheet/index.ts: -------------------------------------------------------------------------------- 1 | import { ActionSheet } from './actionsheet' 2 | 3 | export type { ActionSheetOption, ActionSheetProps } from './actionsheet' 4 | 5 | export default ActionSheet 6 | -------------------------------------------------------------------------------- /src/packages/address/index.taro.ts: -------------------------------------------------------------------------------- 1 | import { Address } from './address.taro' 2 | 3 | export type { AddressProps } from './address.taro' 4 | export default Address 5 | -------------------------------------------------------------------------------- /src/packages/address/index.ts: -------------------------------------------------------------------------------- 1 | import { Address } from './address' 2 | 3 | export type { AddressProps } from './address' 4 | 5 | export default Address 6 | -------------------------------------------------------------------------------- /src/packages/animate/index.taro.ts: -------------------------------------------------------------------------------- 1 | import { Animate } from './animate.taro' 2 | 3 | export type { AnimateType, AnimateAction } from './types' 4 | export type { AnimateProps } from './animate.taro' 5 | export default Animate 6 | -------------------------------------------------------------------------------- /src/packages/animate/index.ts: -------------------------------------------------------------------------------- 1 | import { Animate } from './animate' 2 | 3 | export type { AnimateType, AnimateAction } from './types' 4 | export type { AnimateProps } from './animate' 5 | export default Animate 6 | -------------------------------------------------------------------------------- /src/packages/animate/types.ts: -------------------------------------------------------------------------------- 1 | export type AnimateType = 2 | | 'shake' 3 | | 'ripple' 4 | | 'breath' 5 | | 'float' 6 | | 'slide-right' 7 | | 'slide-left' 8 | | 'slide-top' 9 | | 'slide-bottom' 10 | | 'jump' 11 | | 'twinkle' 12 | | 'flicker' 13 | export type AnimateAction = 'initial' | 'click' 14 | -------------------------------------------------------------------------------- /src/packages/animatingnumbers/animatingnumbers.scss: -------------------------------------------------------------------------------- 1 | @import './countup.scss'; 2 | -------------------------------------------------------------------------------- /src/packages/animatingnumbers/demos/h5/demo1.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { AnimatingNumbers, Cell } from '@nutui/nutui-react' 3 | 4 | const Demo1 = () => { 5 | return } /> 6 | } 7 | export default Demo1 8 | -------------------------------------------------------------------------------- /src/packages/animatingnumbers/demos/taro/demo1.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { AnimatingNumbers, Cell } from '@nutui/nutui-react-taro' 3 | 4 | const Demo1 = () => { 5 | return } /> 6 | } 7 | export default Demo1 8 | -------------------------------------------------------------------------------- /src/packages/animatingnumbers/index.taro.ts: -------------------------------------------------------------------------------- 1 | import { AnimatingNumbers } from './animatingnumbers.taro' 2 | import { CountUp } from './countup.taro' 3 | 4 | export type { CountUpProps } from './countup.taro' 5 | AnimatingNumbers.CountUp = CountUp 6 | export default AnimatingNumbers 7 | -------------------------------------------------------------------------------- /src/packages/animatingnumbers/index.ts: -------------------------------------------------------------------------------- 1 | import { AnimatingNumbers } from './animatingnumbers' 2 | import { CountUp } from './countup' 3 | 4 | AnimatingNumbers.CountUp = CountUp 5 | export type { CountUpProps } from './countup' 6 | export default AnimatingNumbers 7 | -------------------------------------------------------------------------------- /src/packages/audio/index.taro.ts: -------------------------------------------------------------------------------- 1 | import { Audio } from './audio.taro' 2 | 3 | export type { AudioProps } from './audio.taro' 4 | export default Audio 5 | -------------------------------------------------------------------------------- /src/packages/audio/index.ts: -------------------------------------------------------------------------------- 1 | import { Audio } from './audio' 2 | 3 | export type { AudioProps } from './audio' 4 | export default Audio 5 | -------------------------------------------------------------------------------- /src/packages/avatar/demo.scss: -------------------------------------------------------------------------------- 1 | .avatar-demo { 2 | .nut-cell { 3 | align-items: flex-end; 4 | border-radius: 0; 5 | 6 | & > div { 7 | margin-inline-end: 30px; 8 | } 9 | } 10 | } 11 | .demo-avatar { 12 | color: #fff; 13 | } 14 | -------------------------------------------------------------------------------- /src/packages/avatar/demos/h5/demo2.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { Avatar } from '@nutui/nutui-react' 3 | import { User } from '@nutui/icons-react' 4 | 5 | const Demo2 = () => { 6 | return ( 7 | <> 8 | } shape="square" /> 9 | } shape="round" /> 10 | 11 | ) 12 | } 13 | export default Demo2 14 | -------------------------------------------------------------------------------- /src/packages/avatar/demos/h5/demo8.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { Avatar, Toast } from '@nutui/nutui-react' 3 | import { User } from '@nutui/icons-react' 4 | 5 | const Demo8 = () => { 6 | const activeAvatar = () => { 7 | Toast.show('触发点击头像') 8 | } 9 | return ( 10 | <> 11 | } onClick={activeAvatar} /> 12 | 13 | ) 14 | } 15 | export default Demo8 16 | -------------------------------------------------------------------------------- /src/packages/avatar/demos/taro/demo2.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { Avatar } from '@nutui/nutui-react-taro' 3 | import { User } from '@nutui/icons-react-taro' 4 | 5 | const Demo2 = () => { 6 | return ( 7 | <> 8 | } shape="square" /> 9 | } shape="round" /> 10 | 11 | ) 12 | } 13 | export default Demo2 14 | -------------------------------------------------------------------------------- /src/packages/avatar/index.taro.ts: -------------------------------------------------------------------------------- 1 | import { Avatar } from './avatar.taro' 2 | 3 | export type { AvatarProps, AvatarShape } from './avatar.taro' 4 | export default Avatar 5 | -------------------------------------------------------------------------------- /src/packages/avatar/index.ts: -------------------------------------------------------------------------------- 1 | import { Avatar } from './avatar' 2 | 3 | export type { AvatarProps, AvatarShape } from './avatar' 4 | export default Avatar 5 | -------------------------------------------------------------------------------- /src/packages/avatarcropper/index.taro.ts: -------------------------------------------------------------------------------- 1 | import { AvatarCropper } from './avatarcropper.taro' 2 | 3 | export type { 4 | AvatarCropperProps, 5 | AvatarCropperToolbarPosition, 6 | AvatarCropperSizeType, 7 | AvatarCropperSourceType, 8 | AvatarCropperShape, 9 | } from './avatarcropper.taro' 10 | export default AvatarCropper 11 | -------------------------------------------------------------------------------- /src/packages/avatarcropper/index.ts: -------------------------------------------------------------------------------- 1 | import { AvatarCropper } from './avatarcropper' 2 | 3 | export type { 4 | AvatarCropperProps, 5 | AvatarCropperToolbarPosition, 6 | AvatarCropperShape, 7 | } from './avatarcropper' 8 | export default AvatarCropper 9 | -------------------------------------------------------------------------------- /src/packages/avatargroup/__tests__/__snapshots__/avatargroup.spec.tsx.snap: -------------------------------------------------------------------------------- 1 | // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html 2 | 3 | exports[`size prop 1`] = ` 4 |
5 |
8 |
9 | `; 10 | -------------------------------------------------------------------------------- /src/packages/avatargroup/__tests__/avatargroup.spec.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { render } from '@testing-library/react' 3 | import '@testing-library/jest-dom' 4 | 5 | import { AvatarGroup } from '../avatargroup' 6 | 7 | test('size prop', () => { 8 | const { container } = render() 9 | expect(container).toMatchSnapshot() 10 | }) 11 | -------------------------------------------------------------------------------- /src/packages/avatargroup/context.ts: -------------------------------------------------------------------------------- 1 | import { createContext } from 'react' 2 | 3 | export const AvatarContext = createContext({}) 4 | -------------------------------------------------------------------------------- /src/packages/avatargroup/index.taro.ts: -------------------------------------------------------------------------------- 1 | import { AvatarGroup } from './avatargroup.taro' 2 | 3 | export default AvatarGroup 4 | -------------------------------------------------------------------------------- /src/packages/avatargroup/index.ts: -------------------------------------------------------------------------------- 1 | import { AvatarGroup } from './avatargroup' 2 | 3 | export default AvatarGroup 4 | -------------------------------------------------------------------------------- /src/packages/backtop/demos/taro/demo1.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { BackTop, Cell } from '@nutui/nutui-react-taro' 3 | 4 | const Demo1 = () => { 5 | return ( 6 | <> 7 | {new Array(24).fill(0).map((_, index) => { 8 | return 我是测试数据{index} 9 | })} 10 | 11 | 12 | ) 13 | } 14 | export default Demo1 15 | -------------------------------------------------------------------------------- /src/packages/backtop/demos/taro/demo2.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { BackTop, Cell } from '@nutui/nutui-react-taro' 3 | 4 | const Demo2 = () => { 5 | return ( 6 | <> 7 | {new Array(24).fill(0).map((_, index) => { 8 | return 我是测试数据{index} 9 | })} 10 | 11 | 12 | ) 13 | } 14 | export default Demo2 15 | -------------------------------------------------------------------------------- /src/packages/backtop/index.taro.ts: -------------------------------------------------------------------------------- 1 | import { BackTop } from './backtop.taro' 2 | 3 | export type { BackTopProps } from './backtop.taro' 4 | export default BackTop 5 | -------------------------------------------------------------------------------- /src/packages/backtop/index.ts: -------------------------------------------------------------------------------- 1 | import { BackTop } from './backtop' 2 | 3 | export type { BackTopProps } from './backtop' 4 | export default BackTop 5 | -------------------------------------------------------------------------------- /src/packages/badge/index.taro.ts: -------------------------------------------------------------------------------- 1 | import { Badge } from './badge.taro' 2 | 3 | export type { BadgeFill, BadgeProps } from './badge.taro' 4 | export default Badge 5 | -------------------------------------------------------------------------------- /src/packages/badge/index.ts: -------------------------------------------------------------------------------- 1 | import { Badge } from './badge' 2 | 3 | export type { BadgeFill, BadgeProps } from './badge' 4 | export default Badge 5 | -------------------------------------------------------------------------------- /src/packages/barrage/demo.scss: -------------------------------------------------------------------------------- 1 | .demo-barrage { 2 | min-height: 100vh; 3 | } 4 | .barrage-demo-wrap, 5 | .barrage-demo { 6 | padding: 20px 0; 7 | height: 150px; 8 | } 9 | -------------------------------------------------------------------------------- /src/packages/barrage/index.taro.ts: -------------------------------------------------------------------------------- 1 | import { Barrage } from './barrage.taro' 2 | 3 | export type { BarrageProps } from './barrage.taro' 4 | export default Barrage 5 | -------------------------------------------------------------------------------- /src/packages/barrage/index.ts: -------------------------------------------------------------------------------- 1 | import { Barrage } from './barrage' 2 | 3 | export type { BarrageProps } from './barrage' 4 | export default Barrage 5 | -------------------------------------------------------------------------------- /src/packages/button/demos/h5/demo8.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { Button } from '@nutui/nutui-react' 3 | 4 | const Demo8 = () => { 5 | return ( 6 | <> 7 | 10 | 11 | ) 12 | } 13 | export default Demo8 14 | -------------------------------------------------------------------------------- /src/packages/button/demos/taro/demo9.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { Button } from '@nutui/nutui-react-taro' 3 | 4 | const App = () => { 5 | return ( 6 | <> 7 | 10 | 11 | ) 12 | } 13 | export default App 14 | -------------------------------------------------------------------------------- /src/packages/button/index.taro.ts: -------------------------------------------------------------------------------- 1 | import { Button } from './button.taro' 2 | 3 | export type { 4 | ButtonType, 5 | ButtonProps, 6 | ButtonSize, 7 | ButtonShape, 8 | ButtonFill, 9 | } from './button.taro' 10 | export default Button 11 | -------------------------------------------------------------------------------- /src/packages/button/index.ts: -------------------------------------------------------------------------------- 1 | import { Button } from './button' 2 | 3 | export type { 4 | ButtonType, 5 | ButtonProps, 6 | ButtonSize, 7 | ButtonShape, 8 | ButtonFill, 9 | } from './button' 10 | export default Button 11 | -------------------------------------------------------------------------------- /src/packages/calendar/index.taro.ts: -------------------------------------------------------------------------------- 1 | import { Calendar } from './calendar.taro' 2 | 3 | export type { CalendarDay, CalendarMonthInfo, CalendarType } from './types' 4 | export type { CalendarProps } from './calendar.taro' 5 | export default Calendar 6 | -------------------------------------------------------------------------------- /src/packages/calendar/index.ts: -------------------------------------------------------------------------------- 1 | import { Calendar } from './calendar' 2 | 3 | export type { CalendarDay, CalendarMonthInfo, CalendarType } from './types' 4 | export type { CalendarProps } from './calendar' 5 | export default Calendar 6 | -------------------------------------------------------------------------------- /src/packages/calendarcard/demos/h5/demo3.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { CalendarCard, type CalendarCardValue } from '@nutui/nutui-react' 3 | 4 | const Demo3 = () => { 5 | const onChange = (val: CalendarCardValue) => { 6 | console.log(val) 7 | } 8 | return 9 | } 10 | export default Demo3 11 | -------------------------------------------------------------------------------- /src/packages/calendarcard/demos/h5/demo4.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { CalendarCard, type CalendarCardValue } from '@nutui/nutui-react' 3 | 4 | const Demo4 = () => { 5 | const onChange = (val: CalendarCardValue) => { 6 | console.log(val) 7 | } 8 | return 9 | } 10 | export default Demo4 11 | -------------------------------------------------------------------------------- /src/packages/calendarcard/demos/h5/demo7.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { CalendarCard, type CalendarCardValue } from '@nutui/nutui-react' 3 | 4 | const Demo7 = () => { 5 | const onChange = (val: CalendarCardValue) => { 6 | console.log(val) 7 | } 8 | return 9 | } 10 | export default Demo7 11 | -------------------------------------------------------------------------------- /src/packages/calendarcard/demos/taro/demo3.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { CalendarCard, type CalendarCardValue } from '@nutui/nutui-react-taro' 3 | 4 | const Demo3 = () => { 5 | const onChange = (val: CalendarCardValue) => { 6 | console.log(val) 7 | } 8 | return 9 | } 10 | export default Demo3 11 | -------------------------------------------------------------------------------- /src/packages/calendarcard/demos/taro/demo4.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { CalendarCard, type CalendarCardValue } from '@nutui/nutui-react-taro' 3 | 4 | const Demo4 = () => { 5 | const onChange = (val: CalendarCardValue) => { 6 | console.log(val) 7 | } 8 | return 9 | } 10 | export default Demo4 11 | -------------------------------------------------------------------------------- /src/packages/calendarcard/demos/taro/demo7.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { CalendarCard, type CalendarCardValue } from '@nutui/nutui-react-taro' 3 | 4 | const Demo7 = () => { 5 | const onChange = (val: CalendarCardValue) => { 6 | console.log(val) 7 | } 8 | return 9 | } 10 | export default Demo7 11 | -------------------------------------------------------------------------------- /src/packages/calendarcard/index.taro.ts: -------------------------------------------------------------------------------- 1 | import { CalendarCard } from './calendarcard.taro' 2 | 3 | export type { 4 | CalendarCardDay, 5 | CalendarCardMonth, 6 | CalendarCardValue, 7 | CalendarCardRef, 8 | } from './types' 9 | export default CalendarCard 10 | -------------------------------------------------------------------------------- /src/packages/calendarcard/index.ts: -------------------------------------------------------------------------------- 1 | import { CalendarCard } from './calendarcard' 2 | 3 | export type { 4 | CalendarCardDay, 5 | CalendarCardMonth, 6 | CalendarCardValue, 7 | CalendarCardRef, 8 | } from './types' 9 | export default CalendarCard 10 | -------------------------------------------------------------------------------- /src/packages/calendaritem/calendaritem.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jdf2e/nutui-react/5445108bf8e29502ed8131b25d37c00663dfacc0/src/packages/calendaritem/calendaritem.scss -------------------------------------------------------------------------------- /src/packages/calendaritem/index.taro.ts: -------------------------------------------------------------------------------- 1 | import { CalendarItem } from './calendaritem.taro' 2 | 3 | export default CalendarItem 4 | -------------------------------------------------------------------------------- /src/packages/calendaritem/index.ts: -------------------------------------------------------------------------------- 1 | import { CalendarItem } from './calendaritem' 2 | 3 | export default CalendarItem 4 | -------------------------------------------------------------------------------- /src/packages/card/index.taro.ts: -------------------------------------------------------------------------------- 1 | import { Card } from './card.taro' 2 | 3 | export type { CardProps } from './card.taro' 4 | export default Card 5 | -------------------------------------------------------------------------------- /src/packages/card/index.ts: -------------------------------------------------------------------------------- 1 | import { Card } from './card' 2 | 3 | export type { CardProps } from './card' 4 | export default Card 5 | -------------------------------------------------------------------------------- /src/packages/cascader/index.taro.ts: -------------------------------------------------------------------------------- 1 | import { Cascader } from './cascader.taro' 2 | 3 | export type { 4 | CascaderPane, 5 | CascaderFormat, 6 | CascaderOptionKey, 7 | CascaderOption, 8 | CascaderValue, 9 | CascaderConfig, 10 | } from './types' 11 | export type { CascaderProps } from './cascader.taro' 12 | export default Cascader 13 | -------------------------------------------------------------------------------- /src/packages/cascader/index.ts: -------------------------------------------------------------------------------- 1 | import { Cascader } from './cascader' 2 | 3 | export type { 4 | CascaderPane, 5 | CascaderFormat, 6 | CascaderOptionKey, 7 | CascaderOption, 8 | CascaderValue, 9 | CascaderConfig, 10 | } from './types' 11 | export type { CascaderProps } from './cascader' 12 | export default Cascader 13 | -------------------------------------------------------------------------------- /src/packages/cell/demos/h5/demo2.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { Cell } from '@nutui/nutui-react' 3 | 4 | const Demo2 = () => { 5 | return ( 6 | 7 |
自定义内容
8 |
9 | ) 10 | } 11 | export default Demo2 12 | -------------------------------------------------------------------------------- /src/packages/cell/demos/h5/demo4.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { Cell, Switch } from '@nutui/nutui-react' 3 | 4 | const App = () => { 5 | return } /> 6 | } 7 | export default App 8 | -------------------------------------------------------------------------------- /src/packages/cell/demos/h5/demo5.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { Cell } from '@nutui/nutui-react' 3 | 4 | const Demo5 = () => { 5 | return ( 6 | 12 | ) 13 | } 14 | export default Demo5 15 | -------------------------------------------------------------------------------- /src/packages/cell/demos/h5/demo7.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { Cell } from '@nutui/nutui-react' 3 | 4 | const Demo7 = () => { 5 | return ( 6 | 7 | 8 | 9 | 10 | ) 11 | } 12 | export default Demo7 13 | -------------------------------------------------------------------------------- /src/packages/cell/demos/taro/demo2.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { Cell } from '@nutui/nutui-react-taro' 3 | 4 | const Demo2 = () => { 5 | return ( 6 | 7 |
自定义内容
8 |
9 | ) 10 | } 11 | export default Demo2 12 | -------------------------------------------------------------------------------- /src/packages/cell/demos/taro/demo4.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { Cell, Switch } from '@nutui/nutui-react-taro' 3 | 4 | const App = () => { 5 | return ( 6 | 7 | } /> 8 | 9 | ) 10 | } 11 | export default App 12 | -------------------------------------------------------------------------------- /src/packages/cell/demos/taro/demo5.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { Cell } from '@nutui/nutui-react-taro' 3 | 4 | const Demo5 = () => { 5 | return ( 6 | 12 | ) 13 | } 14 | export default Demo5 15 | -------------------------------------------------------------------------------- /src/packages/cell/demos/taro/demo7.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { Cell } from '@nutui/nutui-react-taro' 3 | 4 | const Demo7 = () => { 5 | return ( 6 | 7 | 8 | 9 | 10 | ) 11 | } 12 | export default Demo7 13 | -------------------------------------------------------------------------------- /src/packages/cell/index.taro.ts: -------------------------------------------------------------------------------- 1 | import { Cell } from './cell.taro' 2 | 3 | export type { CellProps } from './cell.taro' 4 | export default Cell 5 | -------------------------------------------------------------------------------- /src/packages/cell/index.ts: -------------------------------------------------------------------------------- 1 | import { Cell } from './cell' 2 | 3 | export type { CellProps } from './cell' 4 | export default Cell 5 | -------------------------------------------------------------------------------- /src/packages/cellgroup/context.ts: -------------------------------------------------------------------------------- 1 | import { createContext } from 'react' 2 | 3 | const CellGroupContext = createContext<{ divider: boolean } | null>(null) 4 | 5 | export default CellGroupContext 6 | -------------------------------------------------------------------------------- /src/packages/cellgroup/index.taro.ts: -------------------------------------------------------------------------------- 1 | import { CellGroup } from './cellgroup.taro' 2 | 3 | export default CellGroup 4 | -------------------------------------------------------------------------------- /src/packages/cellgroup/index.ts: -------------------------------------------------------------------------------- 1 | import { CellGroup } from './cellgroup' 2 | 3 | export default CellGroup 4 | -------------------------------------------------------------------------------- /src/packages/checkbox/demos/h5/demo4.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { Checkbox, Cell } from '@nutui/nutui-react' 3 | 4 | const Demo4 = () => { 5 | return ( 6 | 7 | 8 | 9 | ) 10 | } 11 | export default Demo4 12 | -------------------------------------------------------------------------------- /src/packages/checkbox/demos/taro/demo4.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { Cell, Checkbox } from '@nutui/nutui-react-taro' 3 | 4 | const Demo4 = () => { 5 | return ( 6 | 7 | 8 | 9 | ) 10 | } 11 | export default Demo4 12 | -------------------------------------------------------------------------------- /src/packages/checkbox/index.taro.ts: -------------------------------------------------------------------------------- 1 | import { Checkbox } from './checkbox.taro' 2 | 3 | export type { CheckboxProps, CheckboxShape } from './checkbox.taro' 4 | export default Checkbox 5 | -------------------------------------------------------------------------------- /src/packages/checkbox/index.ts: -------------------------------------------------------------------------------- 1 | import { Checkbox } from './checkbox' 2 | 3 | export type { CheckboxProps, CheckboxShape } from './checkbox' 4 | export default Checkbox 5 | -------------------------------------------------------------------------------- /src/packages/checkboxgroup/index.taro.ts: -------------------------------------------------------------------------------- 1 | import { CheckboxGroup } from './checkboxgroup.taro' 2 | 3 | export type { 4 | CheckboxLimit, 5 | CheckboxGroupOptionType, 6 | CheckboxLabelPosition, 7 | CheckboxDirection, 8 | } from './types' 9 | export type { CheckboxGroupProps } from './checkboxgroup.taro' 10 | export default CheckboxGroup 11 | -------------------------------------------------------------------------------- /src/packages/checkboxgroup/index.ts: -------------------------------------------------------------------------------- 1 | import { CheckboxGroup } from './checkboxgroup' 2 | 3 | export type { 4 | CheckboxLimit, 5 | CheckboxGroupOptionType, 6 | CheckboxLabelPosition, 7 | CheckboxDirection, 8 | } from './types' 9 | export type { CheckboxGroupProps } from './checkboxgroup' 10 | export default CheckboxGroup 11 | -------------------------------------------------------------------------------- /src/packages/checkboxgroup/types.ts: -------------------------------------------------------------------------------- 1 | export interface CheckboxGroupOptionType { 2 | label: string 3 | value: string 4 | disabled?: boolean 5 | onChange?: (state: boolean, label: string) => void 6 | } 7 | export type CheckboxLimit = 'max' | 'min' 8 | export type CheckboxLabelPosition = 'left' | 'right' 9 | export type CheckboxDirection = 'horizontal' | 'vertical' 10 | -------------------------------------------------------------------------------- /src/packages/circleprogress/demo.scss: -------------------------------------------------------------------------------- 1 | .demo-circleprogress { 2 | min-height: 100vh; 3 | 4 | .demo-btn { 5 | margin-top: -16px; 6 | 7 | .nut-button { 8 | margin-right: 10px; 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/packages/circleprogress/demos/h5/demo1.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { CircleProgress } from '@nutui/nutui-react' 3 | 4 | const Demo1 = () => { 5 | return ( 6 | <> 7 | 8 | 60% 9 | 10 | ) 11 | } 12 | export default Demo1 13 | -------------------------------------------------------------------------------- /src/packages/circleprogress/demos/h5/demo2.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { CircleProgress } from '@nutui/nutui-react' 3 | 4 | const Demo2 = () => { 5 | return ( 6 | <> 7 | 8 | 9 | 10 | ) 11 | } 12 | export default Demo2 13 | -------------------------------------------------------------------------------- /src/packages/circleprogress/demos/h5/demo4.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { CircleProgress } from '@nutui/nutui-react' 3 | 4 | const Demo4 = () => { 5 | return ( 6 | <> 7 | 8 | 50% 9 | 10 | 11 | ) 12 | } 13 | export default Demo4 14 | -------------------------------------------------------------------------------- /src/packages/circleprogress/demos/taro/demo1.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { CircleProgress } from '@nutui/nutui-react-taro' 3 | 4 | const Demo1 = () => { 5 | return ( 6 | <> 7 | 8 | 60% 9 | 10 | ) 11 | } 12 | export default Demo1 13 | -------------------------------------------------------------------------------- /src/packages/circleprogress/demos/taro/demo2.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { CircleProgress } from '@nutui/nutui-react-taro' 3 | 4 | const Demo2 = () => { 5 | return ( 6 | <> 7 | 8 | 9 | 10 | ) 11 | } 12 | export default Demo2 13 | -------------------------------------------------------------------------------- /src/packages/circleprogress/demos/taro/demo4.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { CircleProgress } from '@nutui/nutui-react-taro' 3 | 4 | const Demo4 = () => { 5 | return ( 6 | <> 7 | 8 | 50% 9 | 10 | 11 | ) 12 | } 13 | export default Demo4 14 | -------------------------------------------------------------------------------- /src/packages/circleprogress/index.taro.ts: -------------------------------------------------------------------------------- 1 | import { CircleProgress } from './circleprogress.taro' 2 | 3 | export type { CircleProgressProps } from './circleprogress.taro' 4 | export default CircleProgress 5 | -------------------------------------------------------------------------------- /src/packages/circleprogress/index.ts: -------------------------------------------------------------------------------- 1 | import { CircleProgress } from './circleprogress' 2 | 3 | export type { CircleProgressProps } from './circleprogress' 4 | export default CircleProgress 5 | -------------------------------------------------------------------------------- /src/packages/col/index.taro.ts: -------------------------------------------------------------------------------- 1 | import { Col } from './col.taro' 2 | 3 | export type { ColEventType, ColProps } from './col.taro' 4 | export default Col 5 | -------------------------------------------------------------------------------- /src/packages/col/index.ts: -------------------------------------------------------------------------------- 1 | import { Col } from './col' 2 | 3 | export type { ColEventType, ColProps } from './col' 4 | export default Col 5 | -------------------------------------------------------------------------------- /src/packages/collapse/collapse.scss: -------------------------------------------------------------------------------- 1 | @import '../collapseitem/collapseitem.scss'; 2 | -------------------------------------------------------------------------------- /src/packages/collapse/context.ts: -------------------------------------------------------------------------------- 1 | import { createContext } from 'react' 2 | 3 | const collapseContext = { 4 | isOpen: (name: string) => { 5 | return true 6 | }, 7 | updateValue: (name: string) => {}, 8 | expandIcon: null as any, 9 | rotate: 180, 10 | } 11 | 12 | export default createContext(collapseContext) 13 | -------------------------------------------------------------------------------- /src/packages/collapse/index.taro.ts: -------------------------------------------------------------------------------- 1 | import { Collapse } from './collapse.taro' 2 | 3 | export type { CollapseActiveName, CollapseProps } from './collapse.taro' 4 | export default Collapse 5 | -------------------------------------------------------------------------------- /src/packages/collapse/index.ts: -------------------------------------------------------------------------------- 1 | import { Collapse } from './collapse' 2 | 3 | export type { CollapseActiveName, CollapseProps } from './collapse' 4 | export default Collapse 5 | -------------------------------------------------------------------------------- /src/packages/collapseitem/index.taro.ts: -------------------------------------------------------------------------------- 1 | import { CollapseItem } from './collapseitem.taro' 2 | 3 | export type { CollapseItemProps } from './collapseitem.taro' 4 | export default CollapseItem 5 | -------------------------------------------------------------------------------- /src/packages/collapseitem/index.ts: -------------------------------------------------------------------------------- 1 | import { CollapseItem } from './collapseitem' 2 | 3 | export type { CollapseItemProps } from './collapseitem' 4 | export default CollapseItem 5 | -------------------------------------------------------------------------------- /src/packages/configprovider/__test__/__snapshots__/configprovider.spec.tsx.snap: -------------------------------------------------------------------------------- 1 | // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html 2 | 3 | exports[`configprovider > should match snapshot 1`] = ` 4 |
5 |
9 | 测试 10 |
11 |
12 | `; 13 | -------------------------------------------------------------------------------- /src/packages/configprovider/configprovider.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jdf2e/nutui-react/5445108bf8e29502ed8131b25d37c00663dfacc0/src/packages/configprovider/configprovider.scss -------------------------------------------------------------------------------- /src/packages/configprovider/demos/h5/demo3.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { ConfigProvider, TextArea } from '@nutui/nutui-react' 3 | 4 | const Demo3 = () => { 5 | return ( 6 | <> 7 | 8 |