diff --git a/package.json b/package.json index 086847b..e92d67b 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,7 @@ "dist/" ], "dependencies": { + "@feewee/h5app-common": "^0.1.5", "@modern-js/plugin-tailwindcss": "2.48.5", "@modern-js/runtime": "2.48.5", "ahooks": "^3.7.11", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5aee30c..a0c7cdc 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,6 +5,9 @@ settings: excludeLinksFromLockfile: false dependencies: + '@feewee/h5app-common': + specifier: ^0.1.5 + version: 0.1.5(react-dom@18.2.0)(react@18.2.0)(tailwindcss@3.4.3) '@modern-js/plugin-tailwindcss': specifier: 2.48.5 version: 2.48.5(@modern-js/runtime@2.48.5)(tailwindcss@3.4.3) @@ -1826,6 +1829,22 @@ packages: - supports-color dev: true + /@feewee/h5app-common@0.1.5(react-dom@18.2.0)(react@18.2.0)(tailwindcss@3.4.3): + resolution: {integrity: sha512-x2ow9qBrPZcQfFKI83XHD1vIOsPNcn6vzqb6t2DrDNVUCsnzufpk+a1BNSLVgCndHxhfCt2QHpPfwb5gXnMteg==} + engines: {node: '>=18', npm: '>=6.9.0'} + peerDependencies: + react: '>=18' + react-dom: '>=18' + tailwindcss: ~3.3.3 + dependencies: + '@nutui/icons-react': 1.0.4 + '@nutui/nutui-react': 2.6.0(react-dom@18.2.0)(react@18.2.0) + clsx: 2.1.0 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + tailwindcss: 3.4.3 + dev: false + /@humanwhocodes/config-array@0.11.14: resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} @@ -2536,6 +2555,34 @@ packages: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 + /@nutui/icons-react@1.0.4: + resolution: {integrity: sha512-nLFYpJvMBkKzT+PpfMaYoO6vJXMTM0yxAragTkEHt9HAFNjdTdvByCSRfUazHHdLdr1AJxS9h62VB1+jmBEtWA==} + dev: false + + /@nutui/nutui-react@2.6.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-4/nfZ/br4mu7m+8qm4EsaO++Mxlxr5tpAEmEsgFghaxeZ2lZLcftJ7e7INzk8tV3IJuKMq7eA/J/BLbbrJldIA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@babel/runtime': 7.24.4 + '@nutui/icons-react': 1.0.4 + '@nutui/touch-emulator': 1.0.0 + '@react-spring/web': 9.6.1(react-dom@18.2.0)(react@18.2.0) + '@use-gesture/react': 10.2.20(react@18.2.0) + async-validator: 4.2.5 + classnames: 2.5.1 + lodash.isequal: 4.5.0 + lodash.kebabcase: 4.1.1 + react: 18.2.0 + react-transition-group: 4.4.5(react-dom@18.2.0)(react@18.2.0) + transitivePeerDependencies: + - react-dom + dev: false + + /@nutui/touch-emulator@1.0.0: + resolution: {integrity: sha512-k2hvI/9LlRA7Ph1Chni27pTuvPmKPt+/I10sWWd2sWzqiCOYRerD79eIwCMRGUF/q6WVDEKVnv00t9CEUL4sPA==} + dev: false + /@pkgjs/parseargs@0.11.0: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} @@ -2581,6 +2628,60 @@ packages: webpack: 5.91.0(esbuild@0.17.19) dev: true + /@react-spring/animated@9.6.1(react@18.2.0): + resolution: {integrity: sha512-ls/rJBrAqiAYozjLo5EPPLLOb1LM0lNVQcXODTC1SMtS6DbuBCPaKco5svFUQFMP2dso3O+qcC4k9FsKc0KxMQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@react-spring/shared': 9.6.1(react@18.2.0) + '@react-spring/types': 9.6.1 + react: 18.2.0 + dev: false + + /@react-spring/core@9.6.1(react@18.2.0): + resolution: {integrity: sha512-3HAAinAyCPessyQNNXe5W0OHzRfa8Yo5P748paPcmMowZ/4sMfaZ2ZB6e5x5khQI8NusOHj8nquoutd6FRY5WQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@react-spring/animated': 9.6.1(react@18.2.0) + '@react-spring/rafz': 9.6.1 + '@react-spring/shared': 9.6.1(react@18.2.0) + '@react-spring/types': 9.6.1 + react: 18.2.0 + dev: false + + /@react-spring/rafz@9.6.1: + resolution: {integrity: sha512-v6qbgNRpztJFFfSE3e2W1Uz+g8KnIBs6SmzCzcVVF61GdGfGOuBrbjIcp+nUz301awVmREKi4eMQb2Ab2gGgyQ==} + dev: false + + /@react-spring/shared@9.6.1(react@18.2.0): + resolution: {integrity: sha512-PBFBXabxFEuF8enNLkVqMC9h5uLRBo6GQhRMQT/nRTnemVENimgRd+0ZT4yFnAQ0AxWNiJfX3qux+bW2LbG6Bw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@react-spring/rafz': 9.6.1 + '@react-spring/types': 9.6.1 + react: 18.2.0 + dev: false + + /@react-spring/types@9.6.1: + resolution: {integrity: sha512-POu8Mk0hIU3lRXB3bGIGe4VHIwwDsQyoD1F394OK7STTiX9w4dG3cTLljjYswkQN+hDSHRrj4O36kuVa7KPU8Q==} + dev: false + + /@react-spring/web@9.6.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-X2zR6q2Z+FjsWfGAmAXlQaoUHbPmfuCaXpuM6TcwXPpLE1ZD4A1eys/wpXboFQmDkjnrlTmKvpVna1MjWpZ5Hw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@react-spring/animated': 9.6.1(react@18.2.0) + '@react-spring/core': 9.6.1(react@18.2.0) + '@react-spring/shared': 9.6.1(react@18.2.0) + '@react-spring/types': 9.6.1 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + /@redux-devtools/extension@3.3.0(redux@4.2.1): resolution: {integrity: sha512-X34S/rC8S/M1BIrkYD1mJ5f8vlH0BDqxXrs96cvxSBo4FhMdbhU+GUGsmNYov1xjSyLMHgo8NYrUG8bNX7525g==} peerDependencies: @@ -3564,6 +3665,19 @@ packages: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true + /@use-gesture/core@10.2.20: + resolution: {integrity: sha512-4lFhHc8so4yIHkBEs641DnEsBxPyhJ5GEjB4PURFDH4p/FcZriH6w99knZgI63zN/MBFfylMyb8+PDuj6RIXKQ==} + dev: false + + /@use-gesture/react@10.2.20(react@18.2.0): + resolution: {integrity: sha512-KnJq9ZSqprWA6uNhWTUHZqTCh+rfa0j8ehTzqeBhktUPrmTj7yVOBvEQ/vSFU/7d72cGgWSsJ0f5T6GQCHXnvg==} + peerDependencies: + react: '>= 16.8.0' + dependencies: + '@use-gesture/core': 10.2.20 + react: 18.2.0 + dev: false + /@web3-storage/multipart-parser@1.0.0: resolution: {integrity: sha512-BEO6al7BYqcnfX15W2cnGR+Q566ACXAT9UQykORCWW80lmkpWsnEob6zJS1ZVBKsSJC8+7vJkHwlp+lXG1UCdw==} @@ -3970,6 +4084,10 @@ packages: engines: {node: '>=8'} dev: true + /async-validator@4.2.5: + resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==} + dev: false + /asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} dev: true @@ -4378,6 +4496,10 @@ packages: safe-buffer: 5.2.1 dev: true + /classnames@2.5.1: + resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==} + dev: false + /clean-css@5.3.3: resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==} engines: {node: '>= 10.0'} @@ -5004,6 +5126,13 @@ packages: utila: 0.4.0 dev: true + /dom-helpers@5.2.1: + resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==} + dependencies: + '@babel/runtime': 7.24.4 + csstype: 3.1.3 + dev: false + /dom-serializer@1.4.1: resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} dependencies: @@ -7108,9 +7237,12 @@ packages: resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} dev: true + /lodash.isequal@4.5.0: + resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + dev: false + /lodash.kebabcase@4.1.1: resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==} - dev: true /lodash.memoize@4.1.2: resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} @@ -8649,6 +8781,20 @@ packages: react: 18.2.0 dev: false + /react-transition-group@4.4.5(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==} + peerDependencies: + react: '>=16.6.0' + react-dom: '>=16.6.0' + dependencies: + '@babel/runtime': 7.24.4 + dom-helpers: 5.2.1 + loose-envify: 1.4.0 + prop-types: 15.8.1 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + /react@18.2.0: resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} engines: {node: '>=0.10.0'} diff --git a/src/routes/demo/page.tsx b/src/routes/demo/page.tsx new file mode 100644 index 0000000..86a7288 --- /dev/null +++ b/src/routes/demo/page.tsx @@ -0,0 +1,16 @@ +import { Helmet } from '@modern-js/runtime/head'; +import { ListRow } from '@feewee/h5app-common'; + +const Index = () => ( + <> + + + +
+
demo 页面
+ console.info('点击事件')} /> +
+ +); + +export default Index; diff --git a/src/routes/page.tsx b/src/routes/page.tsx index 7e067a9..c2ca0e1 100644 --- a/src/routes/page.tsx +++ b/src/routes/page.tsx @@ -4,11 +4,7 @@ import './index.css'; const Index = () => (
- +
@@ -24,63 +20,31 @@ const Index = () => ( Get started by editing src/routes/page.tsx

- +

Guide - +

Follow the guides to use all features of Modern.js.

- +

Tutorials - +

Learn to use Modern.js to create your first application.

- +

Config - +

Find all configuration options provided by Modern.js.

- +

Github - +

View the source code of Github, feel free to contribute.