From 50bbc544a0c2e523599d6738cc2203d3a6c20821 Mon Sep 17 00:00:00 2001 From: Lxy Date: Sat, 8 Oct 2022 21:12:31 +0800 Subject: [PATCH] feat(hippy-vue-next): support vue3.x (#2357) * feat(hippy-vue-next): initialize hippy-vue-next package * feat(hippy-vue-next): rollup build config * feat(example): add vue-next demo * docs(hippy-vue-next): update vue version * feat(hippy-vue-next): update branch up to date with Tencent:master * feat(hippy-vue-next): update comment * feat(example): use @vue/runtime-core with package * docs(hippy-vue-next): update comment * fix(hippy-vue-next): fix demo debug problem * feat(hippy-vue-next): modify import type of runtime in demo * feat(hippy-vue-next): generate d.ts file * fix(hippy-vue-next): fix android horizontal problem in demo-list * feat(hippy-vue-next): modify eslint options to check demo's code * feat(hippy-vue-next): add vue-next unit test * feat(hippy-vue-next): fix & commit unit tests * feat(hippy-vue-next): ignore api-extractor warnings * docs(hippy-vue-next): update docs * docs(hippy-vue-next): update comment * docs(hippy-vue-next): update docs * docs(hippy-vue-next): update docs * chore(license): add license header * docs(hippy-vue-next): update docs * feat(hippy-vue-next): add once event demo * refactor(hippy-vue-next): rename tool package * docs(hippy-vue-next): update docs * docs(hippy-vue-next): update comment * docs(hippy-vue-next): update docs * feat(hippy-vue-next): modify regexp * docs(hippy-vue-next): update docs * feat(hippy-vue-next): modify regexp * feat(hippy-vue-next): perf regexp * feat(hippy-vue-next): perf regexp * feat(hippy-vue-next): perf regexp * feat(hippy-vue-next): perf regexp * feat(hippy-vue-next): perf regexp * feat(hippy-vue-next): perf regexp * feat(hippy-vue-next): reset old package-lock * feat(hippy-vue-next): update breakStrategy demo * feat(hippy-vue-next): add utils unit test case * feat(hippy-vue-next): add utils & element unit test case * feat(hippy-vue-next): add event & element unit test case * feat(hippy-vue-next): add native unit test case * feat(hippy-vue-next): add built-in & patch unit test case * feat(hippy-vue-next): add patch unit test case * feat(hippy-vue-next): add style unit test case * feat(hippy-vue-next): add style unit test case * feat(hippy-vue-next): add style & util unit test case * fix(hippy-vue-next): fix swiper & animation warn in debug mode * feat(hippy-vue-next): use shallowRef to up perf for component reactive * fix(hippy-vue-next): fix animation warn in debug mode * feat(hippy-vue-next): upgrade debug package * feat(hippy-vue-next): fix CR problem * feat(hippy-vue-next): fix CR problem * feat(hippy-vue-next): app start support both callback & promise * feat(hippy-vue-next): fix turbo proxy value problem * feat(hippy-vue-next): update docs * feat(hippy-vue-next): fix animation demo problem * feat(hippy-vue-next): modify register hippy method to compatible vue2 * feat(hippy-vue-next): update docs * feat(hippy-vue-next): update vue3 docs * feat(hippy-vue-next): add waterfall lose props * fix(vue-next): fix lint issues and logic robust issues * feat(hippy-vue-next): add event bus & unit test case * feat(hippy-vue-next): add webpack vendor options * feat(hippy-vue-next): add webpack vendor options * feat(hippy-vue-next): remove unused demo method * feat(hippy-vue-next): modify event bus to compatible vue2 * feat(hippy-vue-next): modify event bus to compatible vue2 * feat(hippy-vue-next): add event-bus unit test cases * feat(hippy-vue-next): add build vendor directive * feat(hippy-vue-next): remove demo redundant method & add silent option * feat(hippy-vue-next): update debug doc * feat(hippy-vue-next): add console output style * feat(hippy-vue-next): add custom nativeapis and components demo * docs(text): extend custom nativeapis and components docs * feat(hippy-vue-next): remove auto generated declaration files * feat(hippy-vue-next): update demo list & compatible vue3.2.39+ event * feat(hippy-vue-next): support scoped & attribute selector & merge update * feat(hippy-vue-next): support scoped & add unit tests * feat(hippy-vue-next): update vue-next-demo same to vue-demo * feat(hippy-vue-next): add unit tests * feat(hippy-vue-next): use named export instead universal export * feat(hippy-vue-next): update css-loader name to compatible vue-loader * feat(hippy-vue-next): fix style matched issue * refactor(vue-next): update docs & lock * fix(npm,eslint): update npm package & fix lint * feat(hippy-vue-next): add style unit tests * feat(hippy-vue-next): fix eslint issue * feat(hippy-vue-next): add android router inject logic & doc * feat(hippy-vue-next): use hippy history to solve router inject logic * feat(hippy-vue-next): update router history doc * feat(hippy-vue-next): update router history doc * feat(vue): add getElemCss scoped judgement * refactor(vue-demo): remove stop Co-authored-by: anqinli Co-authored-by: birdguo Co-authored-by: Zoom Chan Co-authored-by: birdguo --- .eslintrc.js | 13 + .github/workflows/frontend_build_tests.yml | 2 +- README.md | 21 +- docs/assets/img/hippy-vue-next-arch-cn.png | Bin 0 -> 102825 bytes .../assets/img/hippy-vue-next-arch-en.png | Bin 0 -> 93316 bytes docs/en-us/guide/debug.md | 2 +- docs/en-us/hippy-vue/vue3.md | 276 +- docs/guide/debug.md | 2 +- docs/hippy-vue/vue3.md | 263 +- examples/android-demo/res/index.android.js | 2 +- examples/android-demo/res/vendor.android.js | 10 +- examples/hippy-vue-demo/package.json | 4 +- examples/hippy-vue-next-demo/.gitignore | 21 + examples/hippy-vue-next-demo/.npmrc | 1 + examples/hippy-vue-next-demo/README.md | 10 + examples/hippy-vue-next-demo/app.d.ts | 10 + examples/hippy-vue-next-demo/package.json | 58 + .../hippy-vue-next-demo/scripts/vendor.js | 1 + .../scripts/webpack.android-vendor.js | 106 + .../scripts/webpack.android.js | 162 + .../scripts/webpack.dev.js | 164 + .../scripts/webpack.ios-vendor.js | 106 + .../scripts/webpack.ios.js | 162 + examples/hippy-vue-next-demo/src/app.vue | 248 + .../src/assets/defaultSource.jpg | Bin 0 -> 42281 bytes .../src/assets/hippyLogoWhite.png | Bin 0 -> 24639 bytes .../hippy-vue-next-demo/src/assets/logo.png | Bin 0 -> 6849 bytes .../hippy-vue-next-demo/src/back-icon.png | Bin 0 -> 2166 bytes .../src/components/demo/demo-button.vue | 130 + .../src/components/demo/demo-div.vue | 343 + .../components/demo/demo-dynamicimport.vue | 97 + .../src/components/demo/demo-iframe.vue | 122 + .../src/components/demo/demo-img.vue | 127 + .../src/components/demo/demo-input.vue | 268 + .../src/components/demo/demo-list.vue | 322 + .../src/components/demo/demo-p.vue | 370 + .../src/components/demo/demo-ripple-div.vue | 99 + .../components/demo/demo-set-native-props.vue | 126 + .../src/components/demo/demo-shadow.vue | 204 + .../src/components/demo/demo-textarea.vue | 128 + .../src/components/demo/demo-turbo.vue | 130 + .../src/components/demo/demo-websocket.vue | 201 + .../src/components/demo/demoTurbo.ts | 29 + .../dynamicImport/async-component-http.vue | 36 + .../dynamicImport/async-component-local.vue | 36 + .../src/components/demo/index.ts | 65 + .../src/components/list-items/index.ts | 5 + .../src/components/list-items/mock.ts | 43 + .../src/components/list-items/style1.vue | 38 + .../src/components/list-items/style2.vue | 38 + .../src/components/list-items/style5.vue | 36 + .../native-demo/animations/color-change.vue | 77 + .../native-demo/animations/cubic-bezier.vue | 81 + .../native-demo/animations/down-vote-face.png | Bin 0 -> 341 bytes .../native-demo/animations/loop.vue | 117 + .../native-demo/animations/up-vote-eye.png | Bin 0 -> 333 bytes .../native-demo/animations/up-vote-mouth.png | Bin 0 -> 598 bytes .../native-demo/animations/vote-down.vue | 199 + .../native-demo/animations/vote-up.vue | 196 + .../components/native-demo/demo-animation.vue | 217 + .../components/native-demo/demo-dialog.vue | 202 + .../native-demo/demo-pull-header-footer.vue | 411 + .../components/native-demo/demo-swiper.vue | 182 + .../native-demo/demo-vue-native.vue | 561 + .../components/native-demo/demo-waterfall.vue | 298 + .../src/components/native-demo/index.ts | 40 + examples/hippy-vue-next-demo/src/extend.ts | 28 + .../hippy-vue-next-demo/src/main-native.ts | 135 + .../hippy-vue-next-demo/src/pages/menu.vue | 141 + .../src/pages/remote-debug.vue | 162 + examples/hippy-vue-next-demo/src/routes.ts | 38 + examples/hippy-vue-next-demo/src/util.ts | 17 + examples/hippy-vue-next-demo/tsconfig.json | 34 + examples/ios-demo/res/index.ios.js | 4 +- examples/ios-demo/res/vendor.ios.js | 8 +- package-lock.json | 43804 ++++++++++++---- package.json | 62 +- .../hippy-react-web/src/components/image.tsx | 2 +- packages/hippy-react/src/types/index.ts | 4 +- .../hippy-vue-next-style-parser/README.md | 11 + .../api-extractor.json | 35 + .../package-lock.json | 28 + .../hippy-vue-next-style-parser/package.json | 27 + .../hippy-vue-next-style-parser/src/index.ts | 22 + .../src/style-parser/color-parser.ts | 404 + .../src/style-parser/css-parser.ts | 1076 + packages/hippy-vue-next/README.md | 44 + .../__test__/built-in-component.test.ts | 476 + .../hippy-vue-next/__test__/node-ops.test.ts | 249 + .../__test__/patch-prop.test.ts | 129 + .../__test__/runtime/component/index.test.ts | 52 + .../runtime/document/hippy-document.test.ts | 81 + .../element/hippy-comment-element.test.ts | 33 + .../runtime/element/hippy-element.test.ts | 588 + .../element/hippy-input-element.test.ts | 91 + .../element/hippy-list-element.test.ts | 38 + .../element/hippy-list-item-element.test.ts | 28 + .../__test__/runtime/event/event-bus.test.ts | 155 + .../event/hippy-event-dispatcher.test.ts | 286 + .../runtime/event/hippy-event-target.test.ts | 103 + .../runtime/event/hippy-event.test.ts | 53 + .../__test__/runtime/native/index.test.ts | 260 + .../__test__/runtime/node/hipyy-node.test.ts | 282 + .../__test__/runtime/render/index.test.ts | 194 + .../__test__/runtime/style/index.test.ts | 574 + .../__test__/runtime/style/parser.test.ts | 129 + .../__test__/runtime/text/hippy-text.test.ts | 49 + packages/hippy-vue-next/__test__/setup.ts | 80 + .../hippy-vue-next/__test__/util/i18n.test.ts | 42 + .../__test__/util/index.test.ts | 196 + .../__test__/util/node-cache.test.ts | 73 + .../hippy-vue-next/__test__/util/rem.test.ts | 52 + .../__test__/util/screen.test.ts | 53 + packages/hippy-vue-next/api-extractor.json | 38 + packages/hippy-vue-next/package-lock.json | 63 + packages/hippy-vue-next/package.json | 51 + packages/hippy-vue-next/src/android-back.ts | 117 + .../hippy-vue-next/src/built-in-component.ts | 466 + packages/hippy-vue-next/src/config/index.ts | 100 + packages/hippy-vue-next/src/index.ts | 316 + packages/hippy-vue-next/src/iphone.ts | 80 + packages/hippy-vue-next/src/modules/attrs.ts | 43 + packages/hippy-vue-next/src/modules/class.ts | 48 + packages/hippy-vue-next/src/modules/events.ts | 140 + packages/hippy-vue-next/src/modules/style.ts | 69 + .../src/native-component/animation.ts | 354 + .../src/native-component/dialog.ts | 40 + .../src/native-component/index.ts | 43 + .../src/native-component/pulls.ts | 181 + .../src/native-component/swiper.ts | 144 + .../src/native-component/ul-refresh.ts | 109 + .../src/native-component/waterfall.ts | 269 + packages/hippy-vue-next/src/node-ops.ts | 153 + packages/hippy-vue-next/src/patch-prop.ts | 62 + .../src/runtime/comment/hippy-comment.ts | 33 + .../src/runtime/component/index.ts | 98 + .../src/runtime/document/hippy-document.ts | 78 + .../runtime/element/hippy-comment-element.ts | 41 + .../src/runtime/element/hippy-element.ts | 1035 + .../runtime/element/hippy-input-element.ts | 103 + .../src/runtime/element/hippy-list-element.ts | 63 + .../element/hippy-list-item-element.ts | 48 + .../src/runtime/event/event-bus.ts | 144 + .../runtime/event/hippy-event-dispatcher.ts | 203 + .../src/runtime/event/hippy-event-target.ts | 199 + .../src/runtime/event/hippy-event.ts | 240 + .../src/runtime/native/index.ts | 784 + .../native/modules/animation-module.ts | 43 + .../native/modules/clip-board-module.ts | 24 + .../native/modules/device-event-module.ts | 24 + .../src/runtime/native/modules/http.ts | 58 + .../native/modules/image-loader-module.ts | 27 + .../src/runtime/native/modules/index.ts | 44 + .../src/runtime/native/modules/net-info.ts | 29 + .../src/runtime/native/modules/network.ts | 24 + .../src/runtime/native/modules/test-module.ts | 23 + .../native/modules/ui-manager-module.ts | 39 + .../src/runtime/native/modules/websocket.ts | 50 + .../src/runtime/native/native-node.ts | 45 + .../src/runtime/node/hippy-node.ts | 567 + .../src/runtime/render/index.ts | 189 + .../src/runtime/style/css-map.ts | 71 + .../src/runtime/style/css-selectors-match.ts | 246 + .../src/runtime/style/css-selectors.ts | 781 + .../hippy-vue-next/src/runtime/style/index.ts | 135 + .../src/runtime/style/parser.ts | 284 + .../src/runtime/text/hippy-text.ts | 41 + .../src/runtime/websocket/websocket.ts | 288 + packages/hippy-vue-next/src/util/i18n.ts | 32 + packages/hippy-vue-next/src/util/index.ts | 380 + packages/hippy-vue-next/src/util/instance.ts | 73 + .../hippy-vue-next/src/util/node-cache.ts | 125 + packages/hippy-vue-next/src/util/rem.ts | 52 + packages/hippy-vue-next/src/util/screen.ts | 42 + packages/hippy-vue-next/tsdoc.json | 6 + scripts/build-example.js | 2 +- scripts/build.js | 38 +- scripts/init-example.js | 2 +- scripts/vue-next-configs.js | 200 + .../asyncComponentFromHttp.android.js | 1 + .../asyncComponentFromHttp.ios.js | 1 + tsconfig.json | 4 +- tsdoc.json | 25 + 183 files changed, 58745 insertions(+), 8875 deletions(-) create mode 100644 docs/assets/img/hippy-vue-next-arch-cn.png create mode 100644 docs/en-us/assets/img/hippy-vue-next-arch-en.png create mode 100644 examples/hippy-vue-next-demo/.gitignore create mode 100644 examples/hippy-vue-next-demo/.npmrc create mode 100644 examples/hippy-vue-next-demo/README.md create mode 100644 examples/hippy-vue-next-demo/app.d.ts create mode 100644 examples/hippy-vue-next-demo/package.json create mode 100644 examples/hippy-vue-next-demo/scripts/vendor.js create mode 100644 examples/hippy-vue-next-demo/scripts/webpack.android-vendor.js create mode 100644 examples/hippy-vue-next-demo/scripts/webpack.android.js create mode 100644 examples/hippy-vue-next-demo/scripts/webpack.dev.js create mode 100644 examples/hippy-vue-next-demo/scripts/webpack.ios-vendor.js create mode 100644 examples/hippy-vue-next-demo/scripts/webpack.ios.js create mode 100644 examples/hippy-vue-next-demo/src/app.vue create mode 100644 examples/hippy-vue-next-demo/src/assets/defaultSource.jpg create mode 100644 examples/hippy-vue-next-demo/src/assets/hippyLogoWhite.png create mode 100644 examples/hippy-vue-next-demo/src/assets/logo.png create mode 100644 examples/hippy-vue-next-demo/src/back-icon.png create mode 100644 examples/hippy-vue-next-demo/src/components/demo/demo-button.vue create mode 100644 examples/hippy-vue-next-demo/src/components/demo/demo-div.vue create mode 100644 examples/hippy-vue-next-demo/src/components/demo/demo-dynamicimport.vue create mode 100644 examples/hippy-vue-next-demo/src/components/demo/demo-iframe.vue create mode 100644 examples/hippy-vue-next-demo/src/components/demo/demo-img.vue create mode 100644 examples/hippy-vue-next-demo/src/components/demo/demo-input.vue create mode 100644 examples/hippy-vue-next-demo/src/components/demo/demo-list.vue create mode 100644 examples/hippy-vue-next-demo/src/components/demo/demo-p.vue create mode 100644 examples/hippy-vue-next-demo/src/components/demo/demo-ripple-div.vue create mode 100644 examples/hippy-vue-next-demo/src/components/demo/demo-set-native-props.vue create mode 100644 examples/hippy-vue-next-demo/src/components/demo/demo-shadow.vue create mode 100644 examples/hippy-vue-next-demo/src/components/demo/demo-textarea.vue create mode 100644 examples/hippy-vue-next-demo/src/components/demo/demo-turbo.vue create mode 100644 examples/hippy-vue-next-demo/src/components/demo/demo-websocket.vue create mode 100644 examples/hippy-vue-next-demo/src/components/demo/demoTurbo.ts create mode 100644 examples/hippy-vue-next-demo/src/components/demo/dynamicImport/async-component-http.vue create mode 100644 examples/hippy-vue-next-demo/src/components/demo/dynamicImport/async-component-local.vue create mode 100644 examples/hippy-vue-next-demo/src/components/demo/index.ts create mode 100644 examples/hippy-vue-next-demo/src/components/list-items/index.ts create mode 100644 examples/hippy-vue-next-demo/src/components/list-items/mock.ts create mode 100644 examples/hippy-vue-next-demo/src/components/list-items/style1.vue create mode 100644 examples/hippy-vue-next-demo/src/components/list-items/style2.vue create mode 100644 examples/hippy-vue-next-demo/src/components/list-items/style5.vue create mode 100644 examples/hippy-vue-next-demo/src/components/native-demo/animations/color-change.vue create mode 100644 examples/hippy-vue-next-demo/src/components/native-demo/animations/cubic-bezier.vue create mode 100644 examples/hippy-vue-next-demo/src/components/native-demo/animations/down-vote-face.png create mode 100644 examples/hippy-vue-next-demo/src/components/native-demo/animations/loop.vue create mode 100644 examples/hippy-vue-next-demo/src/components/native-demo/animations/up-vote-eye.png create mode 100644 examples/hippy-vue-next-demo/src/components/native-demo/animations/up-vote-mouth.png create mode 100644 examples/hippy-vue-next-demo/src/components/native-demo/animations/vote-down.vue create mode 100644 examples/hippy-vue-next-demo/src/components/native-demo/animations/vote-up.vue create mode 100644 examples/hippy-vue-next-demo/src/components/native-demo/demo-animation.vue create mode 100644 examples/hippy-vue-next-demo/src/components/native-demo/demo-dialog.vue create mode 100644 examples/hippy-vue-next-demo/src/components/native-demo/demo-pull-header-footer.vue create mode 100644 examples/hippy-vue-next-demo/src/components/native-demo/demo-swiper.vue create mode 100644 examples/hippy-vue-next-demo/src/components/native-demo/demo-vue-native.vue create mode 100644 examples/hippy-vue-next-demo/src/components/native-demo/demo-waterfall.vue create mode 100644 examples/hippy-vue-next-demo/src/components/native-demo/index.ts create mode 100644 examples/hippy-vue-next-demo/src/extend.ts create mode 100644 examples/hippy-vue-next-demo/src/main-native.ts create mode 100644 examples/hippy-vue-next-demo/src/pages/menu.vue create mode 100644 examples/hippy-vue-next-demo/src/pages/remote-debug.vue create mode 100644 examples/hippy-vue-next-demo/src/routes.ts create mode 100644 examples/hippy-vue-next-demo/src/util.ts create mode 100644 examples/hippy-vue-next-demo/tsconfig.json create mode 100644 packages/hippy-vue-next-style-parser/README.md create mode 100644 packages/hippy-vue-next-style-parser/api-extractor.json create mode 100644 packages/hippy-vue-next-style-parser/package-lock.json create mode 100644 packages/hippy-vue-next-style-parser/package.json create mode 100644 packages/hippy-vue-next-style-parser/src/index.ts create mode 100644 packages/hippy-vue-next-style-parser/src/style-parser/color-parser.ts create mode 100644 packages/hippy-vue-next-style-parser/src/style-parser/css-parser.ts create mode 100644 packages/hippy-vue-next/README.md create mode 100644 packages/hippy-vue-next/__test__/built-in-component.test.ts create mode 100644 packages/hippy-vue-next/__test__/node-ops.test.ts create mode 100644 packages/hippy-vue-next/__test__/patch-prop.test.ts create mode 100644 packages/hippy-vue-next/__test__/runtime/component/index.test.ts create mode 100644 packages/hippy-vue-next/__test__/runtime/document/hippy-document.test.ts create mode 100644 packages/hippy-vue-next/__test__/runtime/element/hippy-comment-element.test.ts create mode 100644 packages/hippy-vue-next/__test__/runtime/element/hippy-element.test.ts create mode 100644 packages/hippy-vue-next/__test__/runtime/element/hippy-input-element.test.ts create mode 100644 packages/hippy-vue-next/__test__/runtime/element/hippy-list-element.test.ts create mode 100644 packages/hippy-vue-next/__test__/runtime/element/hippy-list-item-element.test.ts create mode 100644 packages/hippy-vue-next/__test__/runtime/event/event-bus.test.ts create mode 100644 packages/hippy-vue-next/__test__/runtime/event/hippy-event-dispatcher.test.ts create mode 100644 packages/hippy-vue-next/__test__/runtime/event/hippy-event-target.test.ts create mode 100644 packages/hippy-vue-next/__test__/runtime/event/hippy-event.test.ts create mode 100644 packages/hippy-vue-next/__test__/runtime/native/index.test.ts create mode 100644 packages/hippy-vue-next/__test__/runtime/node/hipyy-node.test.ts create mode 100644 packages/hippy-vue-next/__test__/runtime/render/index.test.ts create mode 100644 packages/hippy-vue-next/__test__/runtime/style/index.test.ts create mode 100644 packages/hippy-vue-next/__test__/runtime/style/parser.test.ts create mode 100644 packages/hippy-vue-next/__test__/runtime/text/hippy-text.test.ts create mode 100644 packages/hippy-vue-next/__test__/setup.ts create mode 100644 packages/hippy-vue-next/__test__/util/i18n.test.ts create mode 100644 packages/hippy-vue-next/__test__/util/index.test.ts create mode 100644 packages/hippy-vue-next/__test__/util/node-cache.test.ts create mode 100644 packages/hippy-vue-next/__test__/util/rem.test.ts create mode 100644 packages/hippy-vue-next/__test__/util/screen.test.ts create mode 100644 packages/hippy-vue-next/api-extractor.json create mode 100644 packages/hippy-vue-next/package-lock.json create mode 100644 packages/hippy-vue-next/package.json create mode 100644 packages/hippy-vue-next/src/android-back.ts create mode 100644 packages/hippy-vue-next/src/built-in-component.ts create mode 100644 packages/hippy-vue-next/src/config/index.ts create mode 100644 packages/hippy-vue-next/src/index.ts create mode 100644 packages/hippy-vue-next/src/iphone.ts create mode 100644 packages/hippy-vue-next/src/modules/attrs.ts create mode 100644 packages/hippy-vue-next/src/modules/class.ts create mode 100644 packages/hippy-vue-next/src/modules/events.ts create mode 100644 packages/hippy-vue-next/src/modules/style.ts create mode 100644 packages/hippy-vue-next/src/native-component/animation.ts create mode 100644 packages/hippy-vue-next/src/native-component/dialog.ts create mode 100644 packages/hippy-vue-next/src/native-component/index.ts create mode 100644 packages/hippy-vue-next/src/native-component/pulls.ts create mode 100644 packages/hippy-vue-next/src/native-component/swiper.ts create mode 100644 packages/hippy-vue-next/src/native-component/ul-refresh.ts create mode 100644 packages/hippy-vue-next/src/native-component/waterfall.ts create mode 100644 packages/hippy-vue-next/src/node-ops.ts create mode 100644 packages/hippy-vue-next/src/patch-prop.ts create mode 100644 packages/hippy-vue-next/src/runtime/comment/hippy-comment.ts create mode 100644 packages/hippy-vue-next/src/runtime/component/index.ts create mode 100644 packages/hippy-vue-next/src/runtime/document/hippy-document.ts create mode 100644 packages/hippy-vue-next/src/runtime/element/hippy-comment-element.ts create mode 100644 packages/hippy-vue-next/src/runtime/element/hippy-element.ts create mode 100644 packages/hippy-vue-next/src/runtime/element/hippy-input-element.ts create mode 100644 packages/hippy-vue-next/src/runtime/element/hippy-list-element.ts create mode 100644 packages/hippy-vue-next/src/runtime/element/hippy-list-item-element.ts create mode 100644 packages/hippy-vue-next/src/runtime/event/event-bus.ts create mode 100644 packages/hippy-vue-next/src/runtime/event/hippy-event-dispatcher.ts create mode 100644 packages/hippy-vue-next/src/runtime/event/hippy-event-target.ts create mode 100644 packages/hippy-vue-next/src/runtime/event/hippy-event.ts create mode 100644 packages/hippy-vue-next/src/runtime/native/index.ts create mode 100644 packages/hippy-vue-next/src/runtime/native/modules/animation-module.ts create mode 100644 packages/hippy-vue-next/src/runtime/native/modules/clip-board-module.ts create mode 100644 packages/hippy-vue-next/src/runtime/native/modules/device-event-module.ts create mode 100644 packages/hippy-vue-next/src/runtime/native/modules/http.ts create mode 100644 packages/hippy-vue-next/src/runtime/native/modules/image-loader-module.ts create mode 100644 packages/hippy-vue-next/src/runtime/native/modules/index.ts create mode 100644 packages/hippy-vue-next/src/runtime/native/modules/net-info.ts create mode 100644 packages/hippy-vue-next/src/runtime/native/modules/network.ts create mode 100644 packages/hippy-vue-next/src/runtime/native/modules/test-module.ts create mode 100644 packages/hippy-vue-next/src/runtime/native/modules/ui-manager-module.ts create mode 100644 packages/hippy-vue-next/src/runtime/native/modules/websocket.ts create mode 100644 packages/hippy-vue-next/src/runtime/native/native-node.ts create mode 100644 packages/hippy-vue-next/src/runtime/node/hippy-node.ts create mode 100644 packages/hippy-vue-next/src/runtime/render/index.ts create mode 100644 packages/hippy-vue-next/src/runtime/style/css-map.ts create mode 100644 packages/hippy-vue-next/src/runtime/style/css-selectors-match.ts create mode 100644 packages/hippy-vue-next/src/runtime/style/css-selectors.ts create mode 100644 packages/hippy-vue-next/src/runtime/style/index.ts create mode 100644 packages/hippy-vue-next/src/runtime/style/parser.ts create mode 100644 packages/hippy-vue-next/src/runtime/text/hippy-text.ts create mode 100644 packages/hippy-vue-next/src/runtime/websocket/websocket.ts create mode 100644 packages/hippy-vue-next/src/util/i18n.ts create mode 100644 packages/hippy-vue-next/src/util/index.ts create mode 100644 packages/hippy-vue-next/src/util/instance.ts create mode 100644 packages/hippy-vue-next/src/util/node-cache.ts create mode 100644 packages/hippy-vue-next/src/util/rem.ts create mode 100644 packages/hippy-vue-next/src/util/screen.ts create mode 100644 packages/hippy-vue-next/tsdoc.json create mode 100644 scripts/vue-next-configs.js create mode 100644 static/hippy-vue-next/asyncComponentFromHttp.android.js create mode 100644 static/hippy-vue-next/asyncComponentFromHttp.ios.js create mode 100644 tsdoc.json diff --git a/.eslintrc.js b/.eslintrc.js index 2ede0909ab3..eac07bd9312 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -53,6 +53,10 @@ module.exports = { 'jsx-a11y', ], overrides: [ + { + files: ['*.test.ts'], + extends: ['plugin:jest/recommended'], + }, { files: ['**/*.ts', '**/*.tsx'], extends: ['eslint-config-tencent/ts'], @@ -65,6 +69,9 @@ module.exports = { '@typescript-eslint/naming-convention': 'off', '@typescript-eslint/prefer-for-of': 'off', }, + parserOptions: { + project: ['./**/tsconfig.json'], + }, }, ], env: { @@ -95,6 +102,9 @@ module.exports = { // Allow event name not kebab-case 'vue/custom-event-name-casing': 'off', + // Allow component names not be multi-word + 'vue/multi-word-component-names': 'off', + 'import/no-unresolved': 'off', // Disable prop-types @@ -103,6 +113,8 @@ module.exports = { // Disable deprecated 'react/no-deprecated': 'off', + 'react/no-unknown-property': 'off', + 'import/namespace': [ 'error', { @@ -156,6 +168,7 @@ module.exports = { ['shared', resolveVue('shared')], ['sfc', resolveVue('sfc')], ['he', path.resolve(__dirname, './packages/hippy-vue/src/util/entity-decoder')], + ['@hippy-vue-next-style-parser', resolvePackage('hippy-vue-next-style-parser')], ], }, }, diff --git a/.github/workflows/frontend_build_tests.yml b/.github/workflows/frontend_build_tests.yml index 71f08b5fba6..dbdc077d7c6 100644 --- a/.github/workflows/frontend_build_tests.yml +++ b/.github/workflows/frontend_build_tests.yml @@ -32,7 +32,7 @@ jobs: - name: lint & build run: npm run lint & npm run build - name: test - run: npm run coverage + run: npm run test:jest && npm run coverage - name: coverage if: matrix.node == '16.x' uses: codecov/codecov-action@v2 diff --git a/README.md b/README.md index 1dabf3a06f0..dd9f9455479 100644 --- a/README.md +++ b/README.md @@ -58,10 +58,10 @@ For iOS, we recommend to use iOS simulator when first try. However, you can chan > > `npm run build`: Build each front-end sdk package. -2. Choose a demo to build with `npm run buildexample [hippy-react-demo|hippy-vue-demo]` at root directory. +2. Choose a demo to build with `npm run buildexample [hippy-react-demo|hippy-vue-demo|hippy-vue-next-demo]` at root directory. 3. Start the Xcode and build the iOS app with `open examples/ios-demo/HippyDemo.xcodeproj`. -> If `Step 2` throw error, you can `cd` to `examples` hippy-react-demo or hippy-vue-demo, and run `npm install --legacy-peer-deps` to install demo dependencies first. +> If `Step 2` throw error, you can `cd` to `examples` hippy-react-demo or hippy-vue-demo or hippy-vue-next-demo, and run `npm install --legacy-peer-deps` to install demo dependencies first. > > More details for [iOS SDK integration](https://hippyjs.org/#/ios/integration?id=ios-%e9%9b%86%e6%88%90). @@ -81,12 +81,12 @@ Before build the android app, please make sure the SDK and NDK is installed, And > > `npm run build`: Build each front-end sdk package. -2. Choose a demo to build with `npm run buildexample [hippy-react-demo|hippy-vue-demo]` at root directory. +2. Choose a demo to build with `npm run buildexample [hippy-react-demo|hippy-vue-demo|hippy-vue-next-demo]` at root directory. 3. Open `Android Project` at root directory with Android Studio. 4. Connect Android phone with USB cable and make sure USB debugging mode is enabled(Run `adb devices` on the computer terminal to check cellphone connection status). 5. Open the project with Android Studio, run and install the apk. -> If `Step 2` throw error, you can `cd` to `examples` hippy-react-demo or hippy-vue-demo, and run `npm install --legacy-peer-deps` to install demo dependencies first. +> If `Step 2` throw error, you can `cd` to `examples` hippy-react-demo or hippy-vue-demo or hippy-vue-next-demo, and run `npm install --legacy-peer-deps` to install demo dependencies first. > > If you encounter the issue of `No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android`, here is the [solution](https://github.com/google/filament/issues/15#issuecomment-415423557). > @@ -95,19 +95,19 @@ Before build the android app, please make sure the SDK and NDK is installed, And ### Debug the js demo 1. Follow [Build the iOS simulator with js demo](https://github.com/Tencent/Hippy#build-the-ios-simulator-with-js-demo) or [Build the Android app with js demo](https://github.com/Tencent/Hippy#build-the-android-app-with-js-demo) first to build the App. -2. Run `npm run init:example [hippy-react-demo|hippy-vue-demo]` at root directory. -3. Run `npm run debugexample [hippy-react-demo|hippy-vue-demo] dev` at root directory. +2. Run `npm run init:example [hippy-react-demo|hippy-vue-demo|hippy-vue-next-demo]` at root directory. +3. Run `npm run debugexample [hippy-react-demo|hippy-vue-demo|hippy-vue-next-demo] dev` at root directory. -> Or you can `cd` to `examples/hippy-react-demo` or `examples/hippy-vue-demo` directory to run `npm run hippy:dev` instead. +> Or you can `cd` to `examples/hippy-react-demo` or `examples/hippy-vue-demo` or `examples/hippy-vue-next-demo` directory to run `npm run hippy:dev` instead. > -> On example debug mode, npm packages such as @hippy/react, @hippy/vue are linked to `packages` > `[different package]` > `dist`(not node_modules), so if you have changed js package source code and want to make it take effect in target example, please call `npm run build` at root directory again. +> On example debug mode, npm packages such as @hippy/react, @hippy/vue, @hippy/vue-next are linked to `packages` > `[different package]` > `dist`(not node_modules), so if you have changed js package source code and want to make it take effect in target example, please call `npm run build` at root directory again. > > More details for debugging can be read in [Hippy Debug Document](https://hippyjs.org/#/guide/debug). ### Build the js production demo 1. Follow [Build the iOS simulator with js demo](https://github.com/Tencent/Hippy#build-the-ios-simulator-with-js-demo) or [Build the Android app with js demo](https://github.com/Tencent/Hippy#build-the-android-app-with-js-demo) first to build the App. -2. `cd` to examples `hippy-react-demo` or `hippy-vue-demo`. +2. `cd` to examples `hippy-react-demo` or `hippy-vue-demo` or `hippy-vue-next-demo`. 3. Run `npm install` to install demo js dependencies. 4. Run `npm run hippy:vendor` and `npm run hippy:build` in sequence to build the production `vendor.[android|ios].js` and `index.[android|ios].js`. @@ -136,12 +136,15 @@ Hippy ├── examples # Demo code for frontend or native developer. │   ├── hippy-react-demo # hippy-react js demo code. │   ├── hippy-vue-demo # hippy-vue js demo code. +│   ├── hippy-vue-next-demo # hippy-vue-next js demo code. │   ├── ios-demo # iOS native demo code. │   └── android-demo # Android native demo code. ├── packages # npm packages. │   ├── hippy-react # React binding for Hippy. │   ├── hippy-react-web # Web adapter for hippy-react. +│   ├── hippy-vue-next-style-parser # style parser for Hippy vue-next. │   ├── hippy-vue # Vue binding for Hippy. +│   ├── hippy-vue-next # Vue-next binding for Hippy. │   ├── hippy-vue-css-loader # Webpack loader for convert CSS text to JS AST. │   ├── hippy-vue-loader # Forked from vue-loader to do some hippy customization. │   ├── hippy-vue-native-components # Native components extensions for hippy-vue. diff --git a/docs/assets/img/hippy-vue-next-arch-cn.png b/docs/assets/img/hippy-vue-next-arch-cn.png new file mode 100644 index 0000000000000000000000000000000000000000..cae2187095ae8e74cd531e16a3be4f4b5d489d7d GIT binary patch literal 102825 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%0AfNBp{o#;lznp{V*Rn~`pKE6(la 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 literal 0 HcmV?d00001 diff --git a/docs/en-us/assets/img/hippy-vue-next-arch-en.png b/docs/en-us/assets/img/hippy-vue-next-arch-en.png new file mode 100644 index 0000000000000000000000000000000000000000..5308867a6b49dd9cd47a4c105b92261e33097c81 GIT binary patch literal 93316 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 R4J^M9MB8_HT-p|r`fp@_Q~Lk_ literal 0 HcmV?d00001 diff --git a/docs/en-us/guide/debug.md b/docs/en-us/guide/debug.md index 8b6043254b3..e701028bc26 100644 --- a/docs/en-us/guide/debug.md +++ b/docs/en-us/guide/debug.md @@ -609,6 +609,6 @@ Set Host App debugMode to true and pass in the bundleUrl generated by front-end Both hippy-react and hippy-vue will output the information of communicating with native, including the js-native node operations, events sent/received. These logs are actually very helpful for business debugging, allowing developers to understand how the front-end framework translates code into a syntax that the native can understand. When you encounter problems, please first check the framework communication logs, as they can basically locate most of the problems. -If you need to turn off the logs, you can add `silent: true` to hippy-react's `new Hippy` startup parameters, or turn on `Vue.config.silent = true;` in hippy-vue project entry file. +If you need to turn off the logs, you can add `silent: true` to hippy-react's `new Hippy` startup parameters, or turn on `Vue.config.silent = true;` in hippy-vue project entry file, or add `silent: true` to hippy-vue-next's `createApp` init options. Communication Info diff --git a/docs/en-us/hippy-vue/vue3.md b/docs/en-us/hippy-vue/vue3.md index 92688cf55c6..07bdffc720b 100644 --- a/docs/en-us/hippy-vue/vue3.md +++ b/docs/en-us/hippy-vue/vue3.md @@ -1,6 +1,278 @@ -# Vue 3.x +# Hippy-Vue-Next -Vue 3.x provides a better [createRenderer()](//github.com/vuejs/vue-next/blob/v3.0.0-alpha.0/packages/runtime-core/src/renderer.ts#L154) method to customize the render, eliminating the need for node-ops plug-ins in the future. Hippy is upgrading to support Vue 3.x, look forward to it! +
+# Introduction +@hippy/vue-next is based on the existing logic of @hippy/vue, through the [createRenderer()](//github.com/vuejs/vue-next/blob/v3.0.0-alpha.0/packages/runtime-core/src/renderer.ts#L154) API provided by Vue 3.x, there is no need to invade Vue code, and Vue can be directly referenced through external libraries, which can follow the Vue ecosystem in time. +The implementation principle is basically the same as @hippy/vue. Convert the VNode Tree generated by the Vue component into a Hippy Node Tree, and complete the rendering through the Native rendering interface injected by the Hippy Native. +@hippy/vue-next All code is written in typescript, which can have better program robustness and type hints. And the overall architecture of @hippy/vue-next has also been optimized. + +# Architecture + +hippy-vue-next structure +
+
+ +# How to use + +The capabilities supported by @hippy/vue-next are basically the same as @hippy/vue. Therefore, there is no additional introduction about Hippy-Vue components, modules, styles, etc., you can refer to the relevant content in [Hippy-Vue](https://hippyjs.org/#/hippy-vue/introduction), this document only explains the differences. + +- initialization + +```javascript +// only for Vue +// app.ts +import { defineComponent, ref } from 'vue'; +import { type HippyApp, createApp } from '@hippy/vue-next'; + +// To create a Hippy App instance, it should be noted that Vue 3.x uses Typescript, and you need to use defineComponent to wrap the component object +const app: HippyApp = createApp(defineComponent({ + setup() { + const counter = ref(0); + return { + counter, + } + } +}), { + // Hippy App Name must be set, the sample project can use Demo + appName: 'Demo', +}); + +// start Hippy App +app.$start().then(({ superProps, rootViewId }) => { + // superProps is the initialization parameter passed in by Native. If you need to do routing preprocessing and other operations, you can let Native pass in the corresponding parameters + // rootViewId is the id of the native root node mounted by the current Hippy instance of Native + // mount app, render to screen + app.mount('#mount'); +}) +``` + +If you want to use Vue-Router, you need to use additional initialization logic + +```javascript + +// Vue + Vue Router + +// app.vue + + + +// index.vue + + + +// app.ts +import { defineComponent, ref } from 'vue'; +import { type HippyApp, createApp } from '@hippy/vue-next'; +import { createHippyRouter } from '@hippy/vue-router-next-history'; +import { type Router } from 'vue-router'; +import App from 'app.vue'; + +// To create a Hippy App instance, it should be noted that Vue 3.x uses Typescript, and you need to use defineComponent to wrap the component object +const app: HippyApp = createApp(App, { + // Hippy App Name must be set, the sample project can use Demo + appName: 'Demo', +}); + +// routes list +const routes = [ + { + path: '/', + component: Index, + }, +]; + +// create router +const router: Router = createHippyRouter({ + routes, +}); + +// use router +app.use(router); + +// start Hippy App +app.$start().then(({ superProps, rootViewId }) => { + // superProps is the initialization parameter passed in by Native. If you need to do routing preprocessing and other operations, you can let Native pass in the corresponding parameters + // rootViewId is the id of the native root node mounted by the current Hippy instance of Native + + // Because the memory history of vue-router is now used, the initial position needs to be pushed manually, otherwise the router will not be ready + // In the browser, vue-router matches according to location.href, and pushes the root path '/' by default. + // If you want to jump to the specified page by default like in the browser, you can let the native pass the initialized path from superProps, + // and then perform operations such as router.push({ path: 'other path' }) through the value of path + router.push('/'); + + // mount app, render to screen + app.mount('#mount'); +}) +``` + +> Tips: @hippy/vue-router-next-history modify vue-router's history mode. Added the logic of returning the history record first when the hardware back key is triggered for Android, +> If you don't need this, you can use original vue-router to implement routing: + +use original vue-router + +```javascript +import { createRouter, createMemoryHistory, type Router } from 'vue-router'; + +// 路由列表 +const routes = [ + { + path: '/', + component: Index, + }, +]; + +const router = createRouter({ + history: createMemoryHistory(), + routes, +}); +``` + +# Examples + +The functions implemented by the @hippy/vue example project are basically the same, but the writing method is the combined API of Vue 3.x, and some @hippy/vue-next and @hippy/vue different writing methods. +For details, please see the writing method of the [example project](https://github.com/Tencent/Hippy/tree/master/examples/hippy-vue-next-demo) directly. + +# Additional Notes + +@hippy/vue-next is basically functionally aligned with @hippy/vue now, but the APIs are slightly different from @hippy/vue, and there are still some problems that have not been solved, here is the description: + +- Vue.Native + + In @hippy/vue, the capabilities provided by Native are provided by the Native attribute mounted on the global Vue. In Vue 3.x, this implementation is no longer feasible. You can access Native as follows: + + ```javascript + import { Native } from '@hippy/vue-next'; + + Native.xxx + ``` + +- v-model directive + + Because the built-in instructions in Vue 3.x are implemented by inserting code at compile time, the v-model instruction has not yet found a good way to deal with it. Here, a temporary solution can be used to implement the corresponding function: + + ```javascript + // For the specific usage, please refer to the example in demo-input.vue in demo + + + ``` + +- HMR for Keep-Alive + + In the sample code, our routing component is wrapped in the Keep-Alive component, but currently, the routing component wrapped with Keep-Alive cannot achieve hot update during development, and the entire instance needs to be refreshed to complete the refresh. + There is no such problem if it is not wrapped in Keep-Alive. At present, the [official problem](https://github.com/vuejs/core/pull/5165) has not been resolved. The problem can be solved by upgrading Vue after waiting for the official solution. +- Vue 3.x Proxy + + Because the reactivity of Vue 3.x is implemented through the "Proxy", so the object we get is actually an instance of Proxy instead of the original object, so we need to pay attention when calling the native interface, the native does not Know the Proxy object, + You need to use the "toRaw" method provided by Vue 3.x to get the original object and pass it to the native API. +- registerElement + + In @hippy/vue, method registerElement used by Vue.registerElement,But with the same reason with Vue.Native. registerElement method in @hippy/vue-next provide single. + + ```javascript + import { registerElement } from '@hippy/vue-next'; + ``` + + > You can use it like above +- Global Event + In @hippy/vue,global event used Vue.$on or Vue.$off,Now in @hippy/vue-next,we provide single EventBus API to do that. + + ```javascript + import { EventBus } from '@hippy/vue-next'; + + // Listen container size change event(Only Android) + EventBus.$on('onSizeChanged', ({ oldWidth, oldHeight, width, height }) => { + // oldWidth: old widht;oldHeight: old height;width: new width; height: new height + console.log('size', oldWidth, oldHeight, width, height); + }); + // trigger global event + EventBus.$emit('eventName', { + ...args, // event params + }); + ``` + +- Type hints of Nativeapis and Custom components + @hippy/vue-next provides type hints for the nativeapis. + If there is a business-defined nativeapi, it can also be extended in a similar way + + ```javascript + declare module '@hippy/vue-next' { + export interface NativeInterfaceMap { + // then you can have type hints in Native.callNative, Native.callNativeWithPromise + } + } + ``` + + @hippy/vue-next also provides event types with reference to the event declaration of lib.dom.d.ts. + For details, please refer to hippy-event.ts. + If you need to extend the built-in events, you can use a similar way + + ```javascript + declare module '@hippy/vue-next' { + export interface HippyEvent { + testProp: number; + } + } + ``` + + When using registerElement to register components, type narrowing is used to provide + accurate type hints in switch cases, If you also need similar type hints when registering custom + components, you can use the following methods + + ```javascript + export interface HippyGlobalEventHandlersEventMap { + // extend new event name and related event interface + onTest: CustomEvent; + // extend existing event interface + onAnotherTest: HippyEvent; + } + ``` + + For more information, please refer to extend.ts and app.ts in the demo. diff --git a/docs/guide/debug.md b/docs/guide/debug.md index c2cc9fa08b7..9abc23aafb2 100644 --- a/docs/guide/debug.md +++ b/docs/guide/debug.md @@ -614,6 +614,6 @@ webpack(webpackConfig, (err, stats) => { 无论是 hippy-react 还是 hippy-vue 都将和终端通讯的信息进行输出,包含了前终端的节点操作、事件收发。这些日志对于业务调试其实很有帮助,可以让开发了解到前端框架是如何将代码转译成终端可以理解的语法。当遇到问题时应先检查框架通信日志,基本可以定位到大部分问题。 -如果需要关闭日志,可以在 hippy-react 的 `new Hippy` 启动参数中增加 `silent: true`,或者 hippy-vue 项目的入口文件中,开启 `Vue.config.silent = true;`。 +如果需要关闭日志,可以在 hippy-react 的 `new Hippy` 启动参数中增加 `silent: true`,或者 hippy-vue 项目的入口文件中,开启 `Vue.config.silent = true;`,或者在 hippy-vue-next 项目的 `createApp` 初始化参数中增加 `silent: true`。 Communication Info diff --git a/docs/hippy-vue/vue3.md b/docs/hippy-vue/vue3.md index f0d6f85eba7..767a5ddccfe 100644 --- a/docs/hippy-vue/vue3.md +++ b/docs/hippy-vue/vue3.md @@ -1,6 +1,265 @@ -# Vue 3.x +# Hippy-Vue-Next -Vue 3.x 提供了更好的 [createRenderer()](//github.com/vuejs/vue-next/blob/v3.0.0-alpha.0/packages/runtime-core/src/renderer.ts#L154) 方法可以自定义渲染器,未来就不需要 node-ops 那种外挂的方式了,当前 Vue 3.x 的支持正在开发中,敬请期待! +
+# 介绍 +@hippy/vue-next 基于 @hippy/vue 的已有逻辑。通过 Vue 3.x 提供的[createRenderer()](//github.com/vuejs/vue-next/blob/v3.0.0-alpha.0/packages/runtime-core/src/renderer.ts#L154),无需侵入 Vue 代码,直接通过外部库的方式引用 Vue。 +可以及时跟随 Vue 生态。在实现原理上与 @hippy/vue 基本一致。将 Vue 组件生成的 VNode Tree 转换为 Hippy Node Tree,并通过 Hippy 终端注入的 Native 渲染接口完成渲染。 +@hippy/vue-next 全部代码采用 typescript 进行编写,可以拥有更好的程序健壮性和类型提示。并且 @hippy/vue-next 的整体架构也进行了一定程度的优化 +# 架构图 + +hippy-vue-next 架构图 +
+
+ +# 如何使用 + +@hippy/vue-next 支持的能力与 @hippy/vue 基本一致。因此关于 Hippy-Vue 的组件、模块、样式等就不做额外声明了,可以直接参考 [Hippy-Vue](https://hippyjs.org/#/hippy-vue/introduction) +中的相关内容,本文档仅对差异部分进行说明 + +- 初始化 + +```javascript +// 仅 Vue +// app.ts +import { defineComponent, ref } from 'vue'; +import { type HippyApp, createApp } from '@hippy/vue-next'; + +// 创建 Hippy App 实例,需要注意 Vue 3.x 使用 Typescript,因此需要使用 defineComponent 将组件对象进行包裹 +const app: HippyApp = createApp(defineComponent({ + setup() { + const counter = ref(0); + return { + counter, + } + } +}), { + // Hippy App Name 必传,示例项目可以使用 Demo + appName: 'Demo', +}); + +// 启动 Hippy App +app.$start().then(({ superProps, rootViewId }) => { + // superProps 是 Native 传入的初始化参数,如果需要做路由预处理等操作,则可以让 Native 将对应参数传入 + // rootViewId 是 Native 当前 Hippy 实例所挂载的 Native 的跟节点的 id + // mount app,完成渲染上屏 + app.mount('#mount'); +}) +``` + +如果要使用 Vue-Router,则需要使用另外的初始化逻辑 + +```javascript +// Vue + Vue Router + +// app.vue + + + +// index.vue + + + +// app.ts +import { defineComponent, ref } from 'vue'; +import { type HippyApp, createApp } from '@hippy/vue-next'; +import { createHippyRouter } from '@hippy/vue-router-next-history'; +import { type Router } from 'vue-router'; +import App from 'app.vue'; + +// 创建 Hippy App 实例,需要注意 Vue 3.x 使用 Typescript,因此需要使用 defineComponent 将组件对象进行包裹 +const app: HippyApp = createApp(App, { + // Hippy App Name,必传,示例项目可以使用 Demo + appName: 'Demo', +}); + +// 路由列表 +const routes = [ + { + path: '/', + component: Index, + }, +]; + +// 创建路由对象 +const router: Router = createHippyRouter({ + routes, +}); + +// 使用路由 +app.use(router); + +// 启动 Hippy App +app.$start().then(({ superProps, rootViewId }) => { + // superProps 是 Native 传入的初始化参数,如果需要做路由预处理等操作,则可以让 Native 将对应参数传入 + // rootViewId 是 Native 当前 Hippy 实例所挂载的 Native 的跟节点的 id + + // 因为现在使用的是vue-router的memory history,因此需要手动推送初始位置,否则router将无法ready + // 浏览器上则是由vue-router根据location.href去匹配,默认推送根路径'/',如果想要实现类似浏览器中默认跳转到指定页面,可以让终端同学将初始化的 path + // 从 superProps 中传入,然后再通过 path 的值去进行 router.push({ path: 'other path' }) 等操作 + router.push('/'); + + // mount app,完成渲染上屏 + app.mount('#mount'); +}) +``` + +>Tips: @hippy/vue-router-next-history 对 vue-router 的 history 模式做了处理。为安卓加上了触发物理返回键时优先回退历史记录的逻辑, +> 如果不需要这个逻辑,可以直接使用原生 vue-router 来实现路由: + +使用原生 vue-router 实现路由 + +```javascript +import { createRouter, createMemoryHistory, type Router } from 'vue-router'; + +// 路由列表 +const routes = [ + { + path: '/', + component: Index, + }, +]; + +const router: Router = createRouter({ + history: createMemoryHistory(), + routes, +}); +``` + +# 示例 + +[示例项目](https://github.com/Tencent/Hippy/tree/master/examples/hippy-vue-next-demo)与 @hippy/vue 示例项目实现的功能基本一致,只是写法上采用的是 Vue 3.x 的组合式 API 的写法,以及部分 @hippy/vue-next 与 @hippy/vue 不同的写法。 +具体的请直接看示例项目的写法 + +# 额外说明 + +目前 @hippy/vue-next 与 @hippy/vue 功能上基本对齐,不过在 API 方面与 @hippy/vue 有稍许不同,以及还有一些问题没有解决,这里做些说明: + +- Vue.Native + + 在 @hippy/vue 中,Native 提供的能力是通过挂载在全局 Vue 对象的 Native 属性来提供的,在 Vue 3.x 中这种实现方式不再可行,因此现在 Native 属性需通过 @hippy/vue-next 导出来使用 + + ```javascript + import { Native } from '@hippy/vue-next'; + + console.log('do somethig', Native.xxx) + ``` + +- v-model 指令: + 因为 Vue 3.x 中内置指令的实现采用的是编译时插入代码的方式,目前 v-model 指令还没有找到很好的办法去处理,这里可以先使用临时解决办法实现对应功能 + + ```javascript + // 具体的可以参考 demo 中的 demo-input.vue 中的示例 + + + ``` + +- Keep-Alive HMR问题:在示例代码中,我们的路由组件是包裹在 Keep-Alive 组件内的,但是目前使用 Keep-Alive 包裹的路由组件无法实现开发时热更新,需要刷新整个实例才能完成刷新。 + 如果是不包裹在 Keep-Alive 中则没有这个问题。目前官方[该问题](https://github.com/vuejs/core/pull/5165)也尚未解决。等待官方解决后升级 Vue 即可解决该问题 +- Vue 3.x 变量 Proxy 问题:因为3.x的响应式是通过 Proxy 代理对象来实现的,所以我们得到的对象其实是 Proxy 的实例而非原始对象,因此调用终端接口时需要注意,终端并不认识 Proxy 对象, + 需要使用 Vue 提供的 toRaw 方法来拿到原始的对象并传递给终端接口 +- registerElement问题:@hippy/vue 中 registerElement方法是挂在全局 Vue 中,与 Native 类似,@hippy/vue-next 中 registerElement 方法也是单独提供了 + + ```javascript + import { registerElement } from '@hippy/vue-next'; + ``` + +- 全局事件: + 在 @hippy/vue 中,全局事件也是挂载在 Vue 上的,在 @hippy/vue-next 中,提供了单独的事件总线来处理该问题 + + ```javascript + import { EventBus } from '@hippy/vue-next'; + + // 监听容器大小改变事件(仅 Android) + EventBus.$on('onSizeChanged', ({ oldWidth, oldHeight, width, height }) => { + // oldWidth: 旧的宽度;oldHeight: 旧的高度;width: 新的宽度; height: 新的高度 + console.log('size', oldWidth, oldHeight, width, height); + }); + // 触发全局事件 + EventBus.$emit('eventName', { + ...args, // 事件参数 + }); + ``` + +- Native 接口和自定义组件的类型提示 + @hippy/vue-next 提供了 Native 接口的 Typescript 类型提示,如果有业务自定义的Native接口,也可以采用类似的方式进行扩展 + + ```javascript + declare module '@hippy/vue-next' { + export interface NativeInterfaceMap { + // 用户自定义的Native接口,接下来你可以在Native.callNative,Native.callNativeWithPromise拥有类型提示了 + } + } + ``` + + @hippy/vue-next 也参考 dom 的事件声明提供了事件类型,具体可以参考 hippy-event.ts. + 如果需要在内置的事件上进行扩展,可以采用类似方式 + + ```javascript + declare module '@hippy/vue-next' { + export interface HippyEvent { + testProp: number; + } + } + ``` + + 在使用 registerElement 去注册组件的时候,利用了 typescript 的 type narrow,在 switch case 中提供了准确的类型提示, + 如果在业务注册自定义组件的时候也需要类型提示,可以采用如下方式 + + ```javascript + export interface HippyGlobalEventHandlersEventMap { + // extend new event name and related event interface + onTest: CustomEvent; + // extend existing event interface + onAnotherTest: HippyEvent; + } + ``` + + 更多信息可以参考 demo 里的 extend.ts 和 app.ts diff --git a/examples/android-demo/res/index.android.js b/examples/android-demo/res/index.android.js index 851f26c798e..ccd622c95c1 100644 --- a/examples/android-demo/res/index.android.js +++ b/examples/android-demo/res/index.android.js @@ -6,4 +6,4 @@ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var o="function"==typeof Symbol&&Symbol.for,r=o?Symbol.for("react.element"):60103,i=o?Symbol.for("react.portal"):60106,a=o?Symbol.for("react.fragment"):60107,l=o?Symbol.for("react.strict_mode"):60108,s=o?Symbol.for("react.profiler"):60114,c=o?Symbol.for("react.provider"):60109,h=o?Symbol.for("react.context"):60110,u=o?Symbol.for("react.async_mode"):60111,d=o?Symbol.for("react.concurrent_mode"):60111,m=o?Symbol.for("react.forward_ref"):60112,g=o?Symbol.for("react.suspense"):60113,f=o?Symbol.for("react.suspense_list"):60120,y=o?Symbol.for("react.memo"):60115,p=o?Symbol.for("react.lazy"):60116,b=o?Symbol.for("react.block"):60121,w=o?Symbol.for("react.fundamental"):60117,x=o?Symbol.for("react.responder"):60118,S=o?Symbol.for("react.scope"):60119;function E(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case u:case d:case a:case s:case l:case g:return e;default:switch(e=e&&e.$$typeof){case h:case m:case p:case y:case c:return e;default:return t}}case i:return t}}}function T(e){return E(e)===d}t.AsyncMode=u,t.ConcurrentMode=d,t.ContextConsumer=h,t.ContextProvider=c,t.Element=r,t.ForwardRef=m,t.Fragment=a,t.Lazy=p,t.Memo=y,t.Portal=i,t.Profiler=s,t.StrictMode=l,t.Suspense=g,t.isAsyncMode=function(e){return T(e)||E(e)===u},t.isConcurrentMode=T,t.isContextConsumer=function(e){return E(e)===h},t.isContextProvider=function(e){return E(e)===c},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===r},t.isForwardRef=function(e){return E(e)===m},t.isFragment=function(e){return E(e)===a},t.isLazy=function(e){return E(e)===p},t.isMemo=function(e){return E(e)===y},t.isPortal=function(e){return E(e)===i},t.isProfiler=function(e){return E(e)===s},t.isStrictMode=function(e){return E(e)===l},t.isSuspense=function(e){return E(e)===g},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===a||e===d||e===s||e===l||e===g||e===f||"object"==typeof e&&null!==e&&(e.$$typeof===p||e.$$typeof===y||e.$$typeof===c||e.$$typeof===h||e.$$typeof===m||e.$$typeof===w||e.$$typeof===x||e.$$typeof===S||e.$$typeof===b)},t.typeOf=E},"./node_modules/react-is/index.js":function(e,t,n){"use strict";e.exports=n("./node_modules/react-is/cjs/react-is.production.min.js")},"./node_modules/react/index.js":function(e,t,n){e.exports=n("dll-reference hippyReactBase")("./node_modules/react/index.js")},"./node_modules/regenerator-runtime/runtime.js":function(e,t,n){var o=function(e){"use strict";var t=Object.prototype,n=t.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},r=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",a=o.toStringTag||"@@toStringTag";function l(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(e){l=function(e,t,n){return e[t]=n}}function s(e,t,n,o){var r=t&&t.prototype instanceof u?t:u,i=Object.create(r.prototype),a=new T(o||[]);return i._invoke=function(e,t,n){var o="suspendedStart";return function(r,i){if("executing"===o)throw new Error("Generator is already running");if("completed"===o){if("throw"===r)throw i;return C()}for(n.method=r,n.arg=i;;){var a=n.delegate;if(a){var l=x(a,n);if(l){if(l===h)continue;return l}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===o)throw o="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o="executing";var s=c(e,t,n);if("normal"===s.type){if(o=n.done?"completed":"suspendedYield",s.arg===h)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(o="completed",n.method="throw",n.arg=s.arg)}}}(e,n,a),i}function c(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}e.wrap=s;var h={};function u(){}function d(){}function m(){}var g={};l(g,r,(function(){return this}));var f=Object.getPrototypeOf,y=f&&f(f(A([])));y&&y!==t&&n.call(y,r)&&(g=y);var p=m.prototype=u.prototype=Object.create(g);function b(e){["next","throw","return"].forEach((function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function w(e,t){var o;this._invoke=function(r,i){function a(){return new t((function(o,a){!function o(r,i,a,l){var s=c(e[r],e,i);if("throw"!==s.type){var h=s.arg,u=h.value;return u&&"object"==typeof u&&n.call(u,"__await")?t.resolve(u.__await).then((function(e){o("next",e,a,l)}),(function(e){o("throw",e,a,l)})):t.resolve(u).then((function(e){h.value=e,a(h)}),(function(e){return o("throw",e,a,l)}))}l(s.arg)}(r,i,o,a)}))}return o=o?o.then(a,a):a()}}function x(e,t){var n=e.iterator[t.method];if(void 0===n){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,x(e,t),"throw"===t.method))return h;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return h}var o=c(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,h;var r=o.arg;return r?r.done?(t[e.resultName]=r.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,h):r:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,h)}function S(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function E(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function T(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(S,this),this.reset(!0)}function A(e){if(e){var t=e[r];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function t(){for(;++o=0;--r){var i=this.tryEntries[r],a=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var l=n.call(i,"catchLoc"),s=n.call(i,"finallyLoc");if(l&&s){if(this.prev=0;--o){var r=this.tryEntries[o];if(r.tryLoc<=this.prev&&n.call(r,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),E(n),h}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var o=n.completion;if("throw"===o.type){var r=o.arg;E(n)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:A(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),h}},e}(e.exports);try{regeneratorRuntime=o}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=o:Function("r","regeneratorRuntime = r")(o)}},"./node_modules/webpack/buildin/global.js":function(e,t,n){e.exports=n("dll-reference hippyReactBase")("./node_modules/webpack/buildin/global.js")},"./src/app.jsx":function(e,t,n){"use strict";n.d(t,"a",(function(){return xn}));var o={};n.r(o),n.d(o,"Focusable",(function(){return H})),n.d(o,"Image",(function(){return q})),n.d(o,"ListView",(function(){return $})),n.d(o,"Modal",(function(){return re})),n.d(o,"RefreshWrapper",(function(){return ve})),n.d(o,"PullHeaderFooter",(function(){return Re})),n.d(o,"ScrollView",(function(){return De})),n.d(o,"Text",(function(){return Le})),n.d(o,"TextInput",(function(){return Be})),n.d(o,"View",(function(){return _e})),n.d(o,"ViewPager",(function(){return Xe})),n.d(o,"WebView",(function(){return Ze})),n.d(o,"BoxShadow",(function(){return tt})),n.d(o,"WaterfallView",(function(){return rt})),n.d(o,"RippleViewAndroid",(function(){return ut}));var r={};n.r(r),n.d(r,"Animation",(function(){return ft})),n.d(r,"AsyncStorage",(function(){return pt})),n.d(r,"Clipboard",(function(){return wt})),n.d(r,"NativeEvent",(function(){return St})),n.d(r,"NetInfo",(function(){return Tt})),n.d(r,"TestModule",(function(){return Ct})),n.d(r,"WebSocket",(function(){return It})),n.d(r,"UIManagerModule",(function(){return Lt}));var i={};n.r(i),n.d(i,"Slider",(function(){return Wt})),n.d(i,"TabHost",(function(){return Nt})),n.d(i,"SetNativeProps",(function(){return Gt})),n.d(i,"DynamicImport",(function(){return Qt})),n.d(i,"Localization",(function(){return Xt})),n.d(i,"Turbo",(function(){return $t}));var a=n("./node_modules/react/index.js"),l=n.n(a),s=n("../../packages/hippy-react/dist/index.js"),c=n("./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js");function h(){return(h=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0;h--){var m=r[h];"."===m?d(r,h):".."===m?(d(r,h),c++):c&&(d(r,h),c--)}if(!l)for(;c--;c)r.unshift("..");!l||""===r[0]||r[0]&&u(r[0])||r.unshift("");var g=r.join("/");return n&&"/"!==g.substr(-1)&&(g+="/"),g};var g="Invariant failed";function f(e,t){if(!e)throw new Error(g)}function y(e){var t=e.pathname,n=e.search,o=e.hash,r=t||"/";return n&&"?"!==n&&(r+="?"===n.charAt(0)?n:"?"+n),o&&"#"!==o&&(r+="#"===o.charAt(0)?o:"#"+o),r}function p(e,t,n,o){var r;"string"==typeof e?(r=function(e){var t=e||"/",n="",o="",r=t.indexOf("#");-1!==r&&(o=t.substr(r),t=t.substr(0,r));var i=t.indexOf("?");return-1!==i&&(n=t.substr(i),t=t.substr(0,i)),{pathname:t,search:"?"===n?"":n,hash:"#"===o?"":o}}(e)).state=t:(void 0===(r=h({},e)).pathname&&(r.pathname=""),r.search?"?"!==r.search.charAt(0)&&(r.search="?"+r.search):r.search="",r.hash?"#"!==r.hash.charAt(0)&&(r.hash="#"+r.hash):r.hash="",void 0!==t&&void 0===r.state&&(r.state=t));try{r.pathname=decodeURI(r.pathname)}catch(e){throw e instanceof URIError?new URIError('Pathname "'+r.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):e}return n&&(r.key=n),o?r.pathname?"/"!==r.pathname.charAt(0)&&(r.pathname=m(r.pathname,o.pathname)):r.pathname=o.pathname:r.pathname||(r.pathname="/"),r}function b(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,o,r){if(null!=e){var i="function"==typeof e?e(t,n):e;"string"==typeof i?"function"==typeof o?o(i,r):r(!0):r(!1!==i)}else r(!0)},appendListener:function(e){var n=!0;function o(){n&&e.apply(void 0,arguments)}return t.push(o),function(){n=!1,t=t.filter((function(e){return e!==o}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),o=0;ot?n.splice(t,n.length-t,o):n.push(o),u({action:"PUSH",location:o,index:t,entries:n})}}))},replace:function(e,t){var o=p(e,t,d(),S.location);c.confirmTransitionTo(o,"REPLACE",n,(function(e){e&&(S.entries[S.index]=o,u({action:"REPLACE",location:o}))}))},go:x,goBack:function(){x(-1)},goForward:function(){x(1)},canGo:function(e){var t=S.index+e;return t>=0&&t=0||(r[n]=e[n]);return r}var C=n("./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js"),V=n.n(C),v=function(e){var t=Object(S.a)();return t.displayName=e,t}("Router"),k=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen((function(e){n._isMounted?n.setState({location:e}):n._pendingLocation=e}))),n}Object(c.a)(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){this._isMounted=!0,this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&this.unlisten()},n.render=function(){return l.a.createElement(v.Provider,{children:this.props.children||null,value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}})},t}(l.a.Component);var R=function(e){function t(){for(var t,n=arguments.length,o=new Array(n),r=0;rthis.onClick(e),requestFocus:0===e,focusStyle:{backgroundColor:"red"},noFocusStyle:{backgroundColor:"blue"}},l.a.createElement(s.Text,{style:{color:"white"}},t===e?"我被点击了"+e:"没有被点击"+e)))}render(){return l.a.createElement(s.ScrollView,null,this.getRenderRow(0),this.getRenderRow(1),this.getRenderRow(2),this.getRenderRow(3),this.getRenderRow(4),this.getRenderRow(5),this.getRenderRow(6),this.getRenderRow(7),this.getRenderRow(8),this.getRenderRow(9),this.getRenderRow(10),this.getRenderRow(11),this.getRenderRow(12),this.getRenderRow(13),this.getRenderRow(14),this.getRenderRow(15),this.getRenderRow(16),this.getRenderRow(17),this.getRenderRow(18))}}var N=n.p+"assets/defaultSource.jpg",K=n.p+"assets/hippyLogoWhite.png";const U="https://user-images.githubusercontent.com/12878546/148736102-7cd9525b-aceb-41c6-a905-d3156219ef16.png",G=s.StyleSheet.create({container_style:{alignItems:"center"},image_style:{width:300,height:180,margin:16,borderColor:"#4c9afa",borderWidth:1,borderStyle:"solid",borderRadius:4},info_style:{marginTop:15,marginLeft:16,fontSize:16,color:"#4c9afa"}});function q(){return l.a.createElement(s.ScrollView,{style:G.container_style},l.a.createElement(s.Text,{style:G.info_style},"Contain:"),l.a.createElement(s.Image,{style:[G.image_style],resizeMode:s.Image.resizeMode.contain,defaultSource:N,source:{uri:U},onProgress:e=>{console.log("onProgress",e)},onLoadStart:()=>{console.log("image onloadStart")},onLoad:()=>{console.log("image onLoad")},onError:e=>{console.log("image onError",e)},onLoadEnd:()=>{console.log("image onLoadEnd")}}),l.a.createElement(s.Text,{style:G.info_style},"Cover:"),l.a.createElement(s.Image,{style:[G.image_style],defaultSource:N,source:{uri:U},resizeMode:s.Image.resizeMode.cover}),l.a.createElement(s.Text,{style:G.info_style},"Center:"),l.a.createElement(s.Image,{style:[G.image_style],defaultSource:N,source:{uri:U},resizeMode:s.Image.resizeMode.center}),l.a.createElement(s.Text,{style:G.info_style},"CapInsets:"),l.a.createElement(s.Image,{style:[G.image_style],defaultSource:N,source:{uri:U},capInsets:{top:50,left:50,bottom:50,right:50},resizeMode:s.Image.resizeMode.cover}),l.a.createElement(s.Text,{style:G.info_style},"TintColor:"),l.a.createElement(s.Image,{style:[G.image_style,{tintColor:"#4c9afa99"}],defaultSource:N,source:{uri:K},resizeMode:s.Image.resizeMode.center}),l.a.createElement(s.Text,{style:G.info_style},"Cover GIF:"),l.a.createElement(s.Image,{style:[G.image_style],resizeMode:s.Image.resizeMode.cover,defaultSource:N,source:{uri:"https://user-images.githubusercontent.com/12878546/148736255-7193f89e-9caf-49c0-86b0-548209506bd6.gif"},onLoadEnd:()=>{console.log("gif onLoadEnd")}}))}const Q=[{style:1},{style:2},{style:5},{style:1},{style:2},{style:5},{style:1},{style:2},{style:5},{style:1},{style:2},{style:5},{style:1},{style:2},{style:5},{style:1},{style:2},{style:5},{style:1},{style:2},{style:5},{style:1},{style:2},{style:5},{style:1},{style:2},{style:5},{style:1},{style:2},{style:5}],Y=s.StyleSheet.create({container:{backgroundColor:"#fff",collapsable:!1},itemContainer:{padding:12},separatorLine:{marginLeft:12,marginRight:12,height:1,backgroundColor:"#e5e5e5"},loading:{fontSize:11,color:"#aaaaaa",alignSelf:"center"}});function X({index:e}){return l.a.createElement(s.View,{style:Y.container,onClickCapture:e=>{console.log("onClickCapture style1",e.target.nodeId,e.currentTarget.nodeId)},onTouchDown:e=>(e.stopPropagation(),console.log("onTouchDown style1",e.target.nodeId,e.currentTarget.nodeId),!1),onClick:e=>(console.log("click style1",e.target.nodeId,e.currentTarget.nodeId),!1)},l.a.createElement(s.Text,{numberOfLines:1},e+": Style 1 UI"))}function J({index:e}){return l.a.createElement(s.View,{style:Y.container},l.a.createElement(s.Text,{numberOfLines:1},e+": Style 2 UI"))}function Z({index:e}){return l.a.createElement(s.View,{style:Y.container},l.a.createElement(s.Text,{numberOfLines:1},e+": Style 5 UI"))}class $ extends l.a.Component{constructor(e){super(e),this.state={dataSource:Q,fetchingDataFlag:!1,horizontal:void 0},this.delText="Delete",this.mockFetchData=this.mockFetchData.bind(this),this.getRenderRow=this.getRenderRow.bind(this),this.onEndReached=this.onEndReached.bind(this),this.getRowType=this.getRowType.bind(this),this.getRowKey=this.getRowKey.bind(this),this.getRowStyle=this.getRowStyle.bind(this),this.onDelete=this.onDelete.bind(this),this.onAppear=this.onAppear.bind(this),this.onDisappear=this.onDisappear.bind(this),this.onWillAppear=this.onWillAppear.bind(this),this.onWillDisappear=this.onWillDisappear.bind(this),this.rowShouldSticky=this.rowShouldSticky.bind(this)}onDelete({index:e}){const{dataSource:t}=this.state,n=t.filter((t,n)=>e!==n);this.setState({dataSource:n})}async onEndReached(){const{dataSource:e,fetchingDataFlag:t}=this.state;if(t)return;this.setState({fetchingDataFlag:!0,dataSource:e.concat([{style:100}])});const n=await this.mockFetchData(),o=e.concat(n);this.setState({dataSource:o,fetchingDataFlag:!1})}onAppear(e){console.log("onAppear",e)}onDisappear(e){console.log("onDisappear",e)}onWillAppear(e){console.log("onWillAppear",e)}onWillDisappear(e){console.log("onWillDisappear",e)}rowShouldSticky(e){return 2===e}getRowType(e){return this.state.dataSource[e].style}getRowStyle(){const{horizontal:e}=this.state;return e?{width:100,height:50}:{}}getRowKey(e){return"row-"+e}getRenderRow(e){const{dataSource:t}=this.state;let n=null;const o=t[e],r=t.length===e+1;switch(o.style){case 1:n=l.a.createElement(X,{index:e});break;case 2:n=l.a.createElement(J,{index:e});break;case 5:n=l.a.createElement(Z,{index:e});break;case 100:n=l.a.createElement(s.Text,{style:Y.loading},"Loading now...")}return l.a.createElement(s.View,{style:Y.container,onClickCapture:e=>{console.log("onClickCapture style outer",e.target.nodeId,e.currentTarget.nodeId)},onTouchDown:e=>(console.log("onTouchDown style outer",e.target.nodeId,e.currentTarget.nodeId),!1),onClick:e=>(console.log("click style outer",e.target.nodeId,e.currentTarget.nodeId),!1)},l.a.createElement(s.View,{style:Y.itemContainer},n),r?null:l.a.createElement(s.View,{style:Y.separatorLine}))}mockFetchData(){return new Promise(e=>{setTimeout(()=>e(Q),600)})}changeDirection(){this.setState({horizontal:void 0===this.state.horizontal||void 0})}render(){const{dataSource:e,horizontal:t}=this.state;return l.a.createElement(s.View,{style:{flex:1,collapsable:!1}},l.a.createElement(s.ListView,{onTouchDown:e=>{console.log("onTouchDown ListView",e.target.nodeId,e.currentTarget.nodeId)},onClickCapture:e=>{console.log("onClickCapture listview",e.target.nodeId,e.currentTarget.nodeId)},onClick:e=>(console.log("click listview",e.target.nodeId,e.currentTarget.nodeId),!0),bounces:!0,horizontal:t,style:[{backgroundColor:"#ffffff"},t?{height:50}:{flex:1}],numberOfRows:e.length,renderRow:this.getRenderRow,onEndReached:this.onEndReached,getRowType:this.getRowType,onDelete:this.onDelete,delText:this.delText,editable:!0,getRowStyle:this.getRowStyle,getRowKey:this.getRowKey,initialListSize:15,rowShouldSticky:this.rowShouldSticky,onAppear:this.onAppear,onDisappear:this.onDisappear,onWillAppear:this.onWillAppear,onWillDisappear:this.onWillDisappear}),"android"===s.Platform.OS?l.a.createElement(s.View,{onClick:()=>this.changeDirection(),style:{position:"absolute",right:20,bottom:20,width:67,height:67,borderRadius:30,boxShadowOpacity:.6,boxShadowRadius:5,boxShadowOffsetX:3,boxShadowOffsetY:3,boxShadowColor:"#4c9afa"}},l.a.createElement(s.View,{style:{width:60,height:60,borderRadius:30,backgroundColor:"#4c9afa",display:"flex",justifyContent:"center",alignItems:"center"}},l.a.createElement(s.Text,{style:{color:"white"}},"切换方向"))):null)}}const ee="#4c9afa",te="#4c9afa",ne="white",oe=s.StyleSheet.create({container:{flex:1,flexDirection:"row",justifyContent:"center"},buttonView:{borderColor:ee,borderWidth:2,borderStyle:"solid",borderRadius:8,justifyContent:"center",alignItems:"center",width:250,height:50,marginTop:30},buttonText:{fontSize:20,color:ee,textAlign:"center",textAlignVertical:"center"}});class re extends l.a.Component{constructor(e){super(e),this.state={visible:!1,press:!1},this.show=this.show.bind(this),this.hide=this.hide.bind(this)}feedback(e){this.setState({press:"in"===e})}show(){this.setState({visible:!0})}hide(){this.setState({visible:!1})}render(){const{press:e,visible:t}=this.state;return l.a.createElement(s.ScrollView,null,l.a.createElement(s.View,{style:oe.container},l.a.createElement(s.View,{onPressIn:()=>this.feedback("in"),onPressOut:()=>this.feedback("out"),onClick:this.show,style:[oe.buttonView,{borderColor:ee,opacity:e?.5:1}]},l.a.createElement(s.Text,{style:[oe.buttonText,{color:ee}]},"点击弹出浮层"))),l.a.createElement(s.Modal,{transparent:!0,animationType:"slide_fade",visible:t,onRequestClose:()=>{},supportedOrientations:["portrait"],immersionStatusBar:!0},l.a.createElement(s.View,{style:{flex:1,flexDirection:"row",justifyContent:"center",backgroundColor:"#4c9afa88"}},l.a.createElement(s.View,{onClick:this.hide,style:{width:200,height:200,backgroundColor:te,marginTop:300,flexDirection:"row",justifyContent:"center"}},l.a.createElement(s.Text,{style:{color:ne,fontSize:22,marginTop:80}},"点击关闭浮层")))))}}const ie="https://user-images.githubusercontent.com/12878546/148736841-59ce5d1c-8010-46dc-8632-01c380159237.jpg",ae={style:1,itemBean:{title:"非洲总统出行真大牌,美制武装直升机和中国潜艇为其保驾",picList:[ie,ie,ie],subInfo:["三图评论","11评"]}},le={style:2,itemBean:{title:"彼得·泰尔:认知未来是投资人的谋生之道",picUrl:"https://user-images.githubusercontent.com/12878546/148736850-4fc13304-25d4-4b6a-ada3-cbf0745666f5.jpg",subInfo:["左文右图"]}},se={style:5,itemBean:{title:"愤怒!美官员扬言:“不让中国拿走南海的岛屿,南海岛礁不属于中国”?",picUrl:"https://user-images.githubusercontent.com/12878546/148736859-29e3a5b2-612a-4fdd-ad21-dc5d29fa538f.jpg",subInfo:["六眼神魔 5234播放"]}};var ce=[se,ae,le,ae,le,ae,le,se,ae],he=n("./node_modules/@babel/runtime/helpers/extends.js"),ue=n.n(he);var de={getScreenWidth(){const e=s.Dimensions.get("screen").width,t=s.Dimensions.get("screen").height,n=e>t?t:e;return Math.floor(n)},uniqueArray(e){const t=[];for(let n=0;n=812&&s.PixelRatio.get()>=2&&(e=!0),e}};const me=(de.getScreenWidth()-24-12)/3,ge=Math.floor(me/1.35),fe=s.StyleSheet.create({imageContainer:{flexDirection:"row",justifyContent:"center",height:ge,marginTop:8},normalText:{fontSize:11,color:"#aaaaaa",alignSelf:"center"},image:{width:me,height:ge},title:{fontSize:"android"===s.Platform.OS?17:18,lineHeight:24,color:"#242424"},tagLine:{marginTop:8,height:20,flexDirection:"row",justifyContent:"flex-start"}});function ye(e){const{itemBean:{title:t,picList:n}}=e;let{itemBean:{subInfo:o}}=e,r=null;if(o&&o.length){o=de.uniqueArray(o);const e=o.join(" ");r=l.a.createElement(s.Text,{style:fe.normalText,numberOfLines:1},e)}return l.a.createElement(s.View,ue()({},e,{style:{collapsable:!1}}),l.a.createElement(s.Text,{style:[fe.title],numberOfLines:2,enableScale:!0},t),l.a.createElement(s.View,{style:fe.imageContainer},l.a.createElement(s.Image,{style:fe.image,source:{uri:n[0]},resizeMode:s.Image.resizeMode.cover}),l.a.createElement(s.Image,{style:[fe.image,{marginLeft:6,marginRight:6}],source:{uri:n[1]},resizeMode:s.Image.resizeMode.cover}),l.a.createElement(s.Image,{style:fe.image,source:{uri:n[2]},resizeMode:s.Image.resizeMode.cover})),r?l.a.createElement(s.View,{style:fe.tagLine},r):null)}const pe=de.getScreenWidth()-24,be=Math.floor(pe-12)/3,we=Math.floor(be/1.35),xe=s.StyleSheet.create({container:{flexDirection:"row",justifyContent:"space-between",height:we},leftContainer:{flex:1,flexDirection:"column",justifyContent:"center",marginRight:8},imageContainer:{width:be,height:we},image:{width:be,height:we},title:{fontSize:"android"===s.Platform.OS?17:18,lineHeight:24},tagLine:{marginTop:8,height:20,flexDirection:"row",justifyContent:"flex-start"},normalText:{fontSize:11,color:"#aaaaaa",alignSelf:"center"}});function Se(e){if("undefined"===e)return null;const{itemBean:t}=e;if(!t)return null;let n=null;const{title:o,picUrl:r}=t;let{subInfo:i}=t;if(i&&i.length){i=de.uniqueArray(i);const e=i.join(" ");n=l.a.createElement(s.Text,{style:xe.normalText,numberOfLines:1},e)}return l.a.createElement(s.View,ue()({},e,{style:xe.container}),l.a.createElement(s.View,{style:xe.leftContainer},l.a.createElement(s.Text,{style:xe.title,numberOfLines:2,enableScale:!0},o),n?l.a.createElement(s.View,{style:xe.tagLine},n):null),l.a.createElement(s.View,{style:xe.imageContainer},l.a.createElement(s.Image,{resizeMode:s.Image.resizeMode.cover,style:xe.image,source:{uri:r}})))}const Ee=de.getScreenWidth()-24,Te=Math.floor(188*Ee/336),Ae=s.StyleSheet.create({text:{fontSize:"android"===s.Platform.OS?17:18,lineHeight:24,color:"#242424"},playerView:{marginTop:8,alignItems:"center",width:Ee,height:Te,alignSelf:"center"},image:{width:Ee,height:Te},normalText:{fontSize:11,color:"#aaaaaa",alignSelf:"center"},tagLine:{marginTop:8,flexDirection:"row",justifyContent:"space-between",alignItems:"center"}});function Ce(e){if("undefined"===e)return null;const{itemBean:t}=e;if(!t)return null;const{title:n,picUrl:o}=t;let{subInfo:r}=t,i=null;if(r&&r.length){r=de.uniqueArray(r);const e=r.join(" ");i=l.a.createElement(s.Text,{style:Ae.normalText,numberOfLines:1},e)}return l.a.createElement(s.View,e,l.a.createElement(s.Text,{style:Ae.text,numberOfLines:2,enableScale:!0},n),l.a.createElement(s.View,{style:Ae.playerView},l.a.createElement(s.Image,{style:Ae.image,source:{uri:o},resizeMode:s.Image.resizeMode.cover})),i?l.a.createElement(s.View,{style:Ae.tagLine},i):null)}const Ve=s.StyleSheet.create({container:{backgroundColor:"#ffffff"},itemContainer:{padding:12},spliter:{marginLeft:12,marginRight:12,height:.5,backgroundColor:"#e5e5e5"},loading:{fontSize:11,color:"#aaaaaa",alignSelf:"center"}});class ve extends l.a.Component{constructor(e){super(e),this.state={dataSource:[],loadingState:"正在加载..."},this.fetchTimes=0,this.mockFetchData=this.mockFetchData.bind(this),this.onRefresh=this.onRefresh.bind(this),this.getRefresh=this.getRefresh.bind(this),this.getRenderRow=this.getRenderRow.bind(this),this.onEndReached=this.onEndReached.bind(this),this.getRowType=this.getRowType.bind(this),this.getRowKey=this.getRowKey.bind(this)}async componentDidMount(){const e=await this.mockFetchData();this.setState({dataSource:e})}async onEndReached(){const{dataSource:e,fetchingDataFlag:t}=this.state;if(t)return;this.setState({fetchingDataFlag:!0,dataSource:e.concat([{style:100}])});const n=await this.mockFetchData(),o=e[e.length-1];o&&100===o.style&&e.pop();const r=e.concat(n);this.setState({dataSource:r})}onRefresh(){setTimeout(async()=>{const e=await this.mockFetchData();this.setState({dataSource:e}),this.refresh.refreshComplected()},1e3)}onClickItem(e){console.log(`item: ${e} is clicked..`)}getRenderRow(e){const{dataSource:t,loadingState:n}=this.state;let o=null;const r=t[e],i=t.length===e+1;switch(r.style){case 1:o=l.a.createElement(ye,{itemBean:r.itemBean,onClick:()=>this.onClickItem(e)});break;case 2:o=l.a.createElement(Se,{itemBean:r.itemBean,onClick:()=>this.onClickItem(e)});break;case 5:o=l.a.createElement(Ce,{itemBean:r.itemBean,onClick:()=>this.onClickItem(e)});break;case 100:o=l.a.createElement(s.Text,{style:Ve.loading},n)}return l.a.createElement(s.View,{style:Ve.container},l.a.createElement(s.View,{style:Ve.itemContainer},o),i?null:l.a.createElement(s.View,{style:Ve.spliter}))}getRowType(e){return this.state.dataSource[e].style}getRowKey(e){return"row-"+e}getRefresh(){return l.a.createElement(s.View,{style:{flex:1,height:30}},l.a.createElement(s.Text,{style:{flex:1,textAlign:"center"}},"下拉刷新中..."))}mockFetchData(){return new Promise(e=>{setTimeout(()=>(this.setState({fetchingDataFlag:!1}),this.fetchTimes+=1,this.fetchTimes>=50?e([]):e(ce)),600)})}render(){const{dataSource:e}=this.state;return l.a.createElement(s.RefreshWrapper,{ref:e=>{this.refresh=e},style:{flex:1},onRefresh:this.onRefresh,bounceTime:100,getRefresh:this.getRefresh},l.a.createElement(s.ListView,{style:{flex:1,backgroundColor:"#ffffff"},numberOfRows:e.length,renderRow:this.getRenderRow,onEndReached:this.onEndReached,getRowType:this.getRowType,getRowKey:this.getRowKey}))}}const ke=s.StyleSheet.create({container:{backgroundColor:"#ffffff"},itemContainer:{padding:12},splitter:{marginLeft:12,marginRight:12,height:.5,backgroundColor:"#e5e5e5"},loading:{fontSize:11,color:"#aaaaaa",alignSelf:"center"},pullContainer:{flex:1,height:50,backgroundColor:"#4c9afa"},pullContent:{lineHeight:50,color:"white",height:50,textAlign:"center"},pullFooter:{height:40,flex:1,backgroundColor:"#4c9afa",justifyContent:"center",alignItems:"center"}});class Re extends l.a.Component{constructor(e){super(e),this.state={dataSource:[],headerRefreshText:"继续下拉触发刷新",footerRefreshText:"正在加载...",horizontal:void 0},this.loadMoreDataFlag=!1,this.fetchingDataFlag=!1,this.mockFetchData=this.mockFetchData.bind(this),this.renderRow=this.renderRow.bind(this),this.getRowType=this.getRowType.bind(this),this.getRowKey=this.getRowKey.bind(this),this.getHeaderStyle=this.getHeaderStyle.bind(this),this.getFooterStyle=this.getFooterStyle.bind(this),this.getRowStyle=this.getRowStyle.bind(this),this.renderPullHeader=this.renderPullHeader.bind(this),this.renderPullFooter=this.renderPullFooter.bind(this),this.onEndReached=this.onEndReached.bind(this),this.onHeaderReleased=this.onHeaderReleased.bind(this),this.onHeaderPulling=this.onHeaderPulling.bind(this),this.onFooterPulling=this.onFooterPulling.bind(this)}async componentDidMount(){const e=await this.mockFetchData();this.setState({dataSource:e}),this.listView.collapsePullHeader()}mockFetchData(){return new Promise(e=>{setTimeout(()=>e(ce),800)})}async onEndReached(){const{dataSource:e}=this.state;if(this.loadMoreDataFlag)return;this.loadMoreDataFlag=!0,this.setState({footerRefreshText:"加载更多..."});let t=[];try{t=await this.mockFetchData()}catch(e){}0===t.length&&this.setState({footerRefreshText:"没有更多数据"});const n=[...e,...t];this.setState({dataSource:n}),this.loadMoreDataFlag=!1,this.listView.collapsePullFooter()}async onHeaderReleased(){if(this.fetchingDataFlag)return;this.fetchingDataFlag=!0,console.log("onHeaderReleased"),this.setState({headerRefreshText:"刷新数据中,请稍等"});let e=[];try{e=await this.mockFetchData(),e=e.reverse()}catch(e){}this.fetchingDataFlag=!1,this.setState({dataSource:e,headerRefreshText:"2秒后收起"},()=>{this.listView.collapsePullHeader({time:2e3})})}onHeaderPulling(e){this.fetchingDataFlag||(console.log("onHeaderPulling",e.contentOffset),e.contentOffset>ke.pullContent.height?this.setState({headerRefreshText:"松手,即可触发刷新"}):this.setState({headerRefreshText:"继续下拉,触发刷新"}))}onFooterPulling(e){console.log("onFooterPulling",e)}onClickItem(e,t){console.log(`item: ${e} is clicked..`,t.target.nodeId,t.currentTarget.nodeId)}getRowType(e){return this.state.dataSource[e].style}getRowKey(e){return"row-"+e}getHeaderStyle(){const{horizontal:e}=this.state;return e?{width:50}:{}}renderPullHeader(){const{headerRefreshText:e,horizontal:t}=this.state;return t?l.a.createElement(s.View,{style:{width:40,height:300,backgroundColor:"#4c9afa",justifyContent:"center",alignItems:"center"}},l.a.createElement(s.Text,{style:{lineHeight:25,color:"white",width:40,paddingHorizontal:15}},e)):l.a.createElement(s.View,{style:ke.pullContainer},l.a.createElement(s.Text,{style:ke.pullContent},e))}getFooterStyle(){const{horizontal:e}=this.state;return e?{width:40}:{}}renderPullFooter(){const{horizontal:e}=this.state;return e?l.a.createElement(s.View,{style:{width:40,height:300,backgroundColor:"#4c9afa",justifyContent:"center",alignItems:"center"}},l.a.createElement(s.Text,{style:{color:"white",lineHeight:25,width:40,paddingHorizontal:15}},this.state.footerRefreshText)):l.a.createElement(s.View,{style:ke.pullFooter},l.a.createElement(s.Text,{style:{color:"white"}},this.state.footerRefreshText))}renderRow(e){const{dataSource:t}=this.state;let n=null;const o=t[e],r=t.length===e+1;switch(o.style){case 1:n=l.a.createElement(ye,{itemBean:o.itemBean,onClick:t=>this.onClickItem(e,t)});break;case 2:n=l.a.createElement(Se,{itemBean:o.itemBean,onClick:t=>this.onClickItem(e,t)});break;case 5:n=l.a.createElement(Ce,{itemBean:o.itemBean,onClick:t=>this.onClickItem(e,t)})}return l.a.createElement(s.View,{style:ke.container},l.a.createElement(s.View,{style:ke.itemContainer},n),r?null:l.a.createElement(s.View,{style:ke.splitter}))}getRowStyle(){const{horizontal:e}=this.state;return e?{height:300,justifyContent:"center",alignItems:"center"}:{}}changeDirection(){this.setState({horizontal:void 0===this.state.horizontal||void 0})}render(){const{dataSource:e,horizontal:t}=this.state;return l.a.createElement(s.View,{style:{flex:1,collapsable:!1}},l.a.createElement(s.ListView,{horizontal:t,onClick:e=>console.log("ListView",e.target.nodeId,e.currentTarget.nodeId),ref:e=>{this.listView=e},style:[{backgroundColor:"#ffffff"},t?{height:300}:{flex:1}],numberOfRows:e.length,getRowType:this.getRowType,getRowKey:this.getRowKey,getHeaderStyle:this.getHeaderStyle,getFooterStyle:this.getFooterStyle,getRowStyle:this.getRowStyle,renderRow:this.renderRow,renderPullHeader:this.renderPullHeader,renderPullFooter:this.renderPullFooter,onHeaderReleased:this.onHeaderReleased,onHeaderPulling:this.onHeaderPulling,onFooterReleased:this.onEndReached,onFooterPulling:this.onFooterPulling}),"android"===s.Platform.OS?l.a.createElement(s.View,{onClick:()=>this.changeDirection(),style:{position:"absolute",right:20,bottom:20,width:67,height:67,borderRadius:30,boxShadowOpacity:.6,boxShadowRadius:5,boxShadowOffsetX:3,boxShadowOffsetY:3,boxShadowColor:"#4c9afa"}},l.a.createElement(s.View,{style:{width:60,height:60,borderRadius:30,backgroundColor:"#4c9afa",display:"flex",justifyContent:"center",alignItems:"center"}},l.a.createElement(s.Text,{style:{color:"white"}},"切换方向"))):null)}}const Ie=s.StyleSheet.create({itemStyle:{width:100,height:100,lineHeight:100,borderWidth:1,borderStyle:"solid",borderColor:"#4c9afa",fontSize:80,margin:20,color:"#4c9afa",textAlign:"center"},verticalScrollView:{height:300,width:140,margin:20,borderColor:"#eee",borderWidth:1,borderStyle:"solid"},itemTitle:{alignItems:"flex-start",justifyContent:"center",height:40,borderWidth:1,borderStyle:"solid",borderColor:"#e0e0e0",borderRadius:2,backgroundColor:"#fafafa",padding:10,marginTop:10}});function De(){return l.a.createElement(s.ScrollView,null,l.a.createElement(s.View,{style:Ie.itemTitle},l.a.createElement(s.Text,null,"Horizontal ScrollView")),l.a.createElement(s.View,null,l.a.createElement(s.ScrollView,{horizontal:!0,bounces:!0,showsHorizontalScrollIndicator:!1,showScrollIndicator:!1},l.a.createElement(s.Text,{style:Ie.itemStyle},"A"),l.a.createElement(s.Text,{style:Ie.itemStyle},"B"),l.a.createElement(s.Text,{style:Ie.itemStyle},"C"),l.a.createElement(s.Text,{style:Ie.itemStyle},"D"),l.a.createElement(s.Text,{style:Ie.itemStyle},"E"),l.a.createElement(s.Text,{style:Ie.itemStyle},"F"),l.a.createElement(s.Text,{style:Ie.itemStyle},"A"))),l.a.createElement(s.View,{style:Ie.itemTitle},l.a.createElement(s.Text,null,"Vertical ScrollView")),l.a.createElement(s.ScrollView,{bounces:!0,horizontal:!1,style:Ie.verticalScrollView,showScrollIndicator:!1,showsVerticalScrollIndicator:!1},l.a.createElement(s.Text,{style:Ie.itemStyle},"A"),l.a.createElement(s.Text,{style:Ie.itemStyle},"B"),l.a.createElement(s.Text,{style:Ie.itemStyle},"C"),l.a.createElement(s.Text,{style:Ie.itemStyle},"D"),l.a.createElement(s.Text,{style:Ie.itemStyle},"E"),l.a.createElement(s.Text,{style:Ie.itemStyle},"F"),l.a.createElement(s.Text,{style:Ie.itemStyle},"A")))}const Oe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAANlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC3dmhyAAAAEXRSTlMA9QlZEMPc2Mmmj2VkLEJ4Rsx+pEgAAAChSURBVCjPjVLtEsMgCDOAdbbaNu//sttVPes+zvGD8wgQCLp/TORbUGMAQtQ3UBeSAMlF7/GV9Cmb5eTJ9R7H1t4bOqLE3rN2UCvvwpLfarhILfDjJL6WRKaXfzxc84nxAgLzCGSGiwKwsZUB8hPorZwUV1s1cnGKw+yAOrnI+7hatNIybl9Q3OkBfzopCw6SmDVJJiJ+yD451OS0/TNM7QnuAAbvCG0TSAAAAABJRU5ErkJggg==",Pe=s.StyleSheet.create({itemTitle:{alignItems:"flex-start",justifyContent:"center",height:40,borderWidth:1,borderStyle:"solid",borderColor:"#e0e0e0",borderRadius:2,backgroundColor:"#fafafa",padding:10,marginTop:10},itemContent:{alignItems:"flex-start",justifyContent:"center",borderWidth:1,borderStyle:"solid",borderRadius:2,borderColor:"#e0e0e0",backgroundColor:"#ffffff",padding:10},normalText:{fontSize:14,lineHeight:18,color:"black"},buttonBar:{flexDirection:"row",marginTop:10,flexGrow:1},button:{height:24,borderColor:"#4c9afa",borderWidth:1,borderStyle:"solid",flexGrow:1,flexShrink:1},buttonText:{lineHeight:24,textAlign:"center",paddingHorizontal:20},customFont:{color:"#0052d9",fontSize:32,fontFamily:"TTTGB"}});let je=0;class Le extends l.a.Component{constructor(e){super(e),this.state={fontSize:16,textShadowColor:"grey",textShadowOffset:{x:1,y:1},numberOfLines:2,ellipsizeMode:void 0},this.incrementFontSize=this.incrementFontSize.bind(this),this.decrementFontSize=this.decrementFontSize.bind(this),this.incrementLine=this.incrementLine.bind(this),this.decrementLine=this.decrementLine.bind(this),this.changeMode=this.changeMode.bind(this)}incrementFontSize(){const{fontSize:e}=this.state;24!==e&&this.setState({fontSize:e+1})}decrementFontSize(){const{fontSize:e}=this.state;6!==e&&this.setState({fontSize:e-1})}incrementLine(){const{numberOfLines:e}=this.state;e<6&&this.setState({numberOfLines:e+1})}decrementLine(){const{numberOfLines:e}=this.state;e>1&&this.setState({numberOfLines:e-1})}changeMode(e){this.setState({ellipsizeMode:e})}changeBreakStrategy(e){this.setState({breakStrategy:e})}render(){const{fontSize:e,textShadowColor:t,textShadowOffset:n,numberOfLines:o,ellipsizeMode:r,breakStrategy:i}=this.state,a=e=>l.a.createElement(s.View,{style:Pe.itemTitle},l.a.createElement(s.Text,{style:!0},e));return l.a.createElement(s.ScrollView,{style:{paddingHorizontal:10}},a("shadow"),l.a.createElement(s.View,{style:[Pe.itemContent,{height:60}],onClick:()=>{let e="red",t={x:10,y:1};je%2==1&&(e="grey",t={x:1,y:1}),je+=1,this.setState({textShadowColor:e,textShadowOffset:t})}},l.a.createElement(s.Text,{style:[Pe.normalText,{color:"#242424",textShadowOffset:n,textShadowRadius:3,textShadowColor:t}]},"Text shadow is grey with radius 3 and offset 1")),a("color"),l.a.createElement(s.View,{style:[Pe.itemContent,{height:80}]},l.a.createElement(s.Text,{style:[Pe.normalText,{color:"#242424"}]},"Text color is black"),l.a.createElement(s.Text,{style:[Pe.normalText,{color:"blue"}]},"Text color is blue"),l.a.createElement(s.Text,{style:[Pe.normalText,{color:"rgb(228,61,36)"}]},"This is red")),a("fontSize"),l.a.createElement(s.View,{style:[Pe.itemContent,{height:100}]},l.a.createElement(s.Text,{style:[Pe.normalText,{fontSize:e}]},"Text fontSize is "+e),l.a.createElement(s.View,{style:Pe.button,onClick:this.incrementFontSize},l.a.createElement(s.Text,{style:Pe.buttonText},"放大字体")),l.a.createElement(s.View,{style:Pe.button,onClick:this.decrementFontSize},l.a.createElement(s.Text,{style:Pe.buttonText},"缩小字体"))),a("fontStyle"),l.a.createElement(s.View,{style:[Pe.itemContent,{height:100}]},l.a.createElement(s.Text,{style:[Pe.normalText,{fontStyle:"normal"}]},"Text fontStyle is normal"),l.a.createElement(s.Text,{style:[Pe.normalText,{fontStyle:"italic"}]},"Text fontStyle is italic")),a("numberOfLines and ellipsizeMode"),l.a.createElement(s.View,{style:[Pe.itemContent]},l.a.createElement(s.Text,{style:[Pe.normalText,{marginBottom:10}]},`numberOfLines=${o} | ellipsizeMode=${r}`),l.a.createElement(s.Text,{numberOfLines:o,ellipsizeMode:r,style:[Pe.normalText,{lineHeight:void 0,backgroundColor:"#4c9afa",marginBottom:10,paddingHorizontal:10,paddingVertical:5}]},l.a.createElement(s.Text,{style:{fontSize:19,color:"white"}},"先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。"),l.a.createElement(s.Text,null,"然侍卫之臣不懈于内,忠志之士忘身于外者,盖追先帝之殊遇,欲报之于陛下也。")),l.a.createElement(s.Text,{numberOfLines:o,ellipsizeMode:r,style:[Pe.normalText,{backgroundColor:"#4c9afa",marginBottom:10,color:"white",paddingHorizontal:10,paddingVertical:5}]},"line 1\n\nline 3\n\nline 5"),l.a.createElement(s.Text,{numberOfLines:o,ellipsizeMode:r,style:[Pe.normalText,{lineHeight:void 0,backgroundColor:"#4c9afa",marginBottom:10,paddingHorizontal:10,paddingVertical:5}]},l.a.createElement(s.Image,{style:{width:24,height:24},source:{uri:Oe}}),l.a.createElement(s.Image,{style:{width:24,height:24},source:{uri:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAANlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC3dmhyAAAAEnRSTlMA/QpX7WQU2m27pi3Ej9KEQXaD5HhjAAAAqklEQVQoz41SWxLDIAh0RcFXTHL/yzZSO01LMpP9WJEVUNA9gfdXTioCSKE/kQQTQmf/ArRYva+xAcuPP37seFII2L7FN4BmXdHzlEPIpDHiZ0A7eIViPcw2QwqipkvMSdNEFBUE1bmMNOyE7FyFaIkAP4jHhhG80lvgkzBODTKpwhRMcexuR7fXzcp08UDq6GRbootp4oRtO3NNpd4NKtnR9hB6oaefweIFQU0EfnGDRoQAAAAASUVORK5CYII="}}),l.a.createElement(s.Text,null,"Text + Attachment")),l.a.createElement(s.View,{style:Pe.buttonBar},l.a.createElement(s.View,{style:Pe.button,onClick:this.incrementLine},l.a.createElement(s.Text,{style:Pe.buttonText},"加一行")),l.a.createElement(s.View,{style:Pe.button,onClick:this.decrementLine},l.a.createElement(s.Text,{style:Pe.buttonText},"减一行"))),l.a.createElement(s.View,{style:Pe.buttonBar},l.a.createElement(s.View,{style:Pe.button,onClick:()=>this.changeMode("clip")},l.a.createElement(s.Text,{style:Pe.buttonText},"clip")),l.a.createElement(s.View,{style:Pe.button,onClick:()=>this.changeMode("head")},l.a.createElement(s.Text,{style:Pe.buttonText},"head")),l.a.createElement(s.View,{style:Pe.button,onClick:()=>this.changeMode("middle")},l.a.createElement(s.Text,{style:Pe.buttonText},"middle")),l.a.createElement(s.View,{style:Pe.button,onClick:()=>this.changeMode("tail")},l.a.createElement(s.Text,{style:Pe.buttonText},"tail")))),a("textDecoration"),l.a.createElement(s.View,{style:[Pe.itemContent,{height:100}]},l.a.createElement(s.Text,{numberOfLines:1,style:[Pe.normalText,{textDecorationLine:"underline",textDecorationStyle:"dotted"}]},"underline"),l.a.createElement(s.Text,{numberOfLines:1,style:[Pe.normalText,{textDecorationLine:"line-through",textDecorationColor:"red"}]},"line-through")),a("LetterSpacing"),l.a.createElement(s.View,{style:[Pe.itemContent,{height:100}]},l.a.createElement(s.Text,{numberOfLines:1,style:[Pe.normalText,{letterSpacing:-1}]},"Text width letter-spacing -1"),l.a.createElement(s.Text,{numberOfLines:1,style:[Pe.normalText,{letterSpacing:5}]},"Text width letter-spacing 5")),a("Nest Text"),l.a.createElement(s.View,{style:[Pe.itemContent,{height:100}]},l.a.createElement(s.Text,{numberOfLines:3},l.a.createElement(s.Text,{numberOfLines:3,style:[Pe.normalText,{color:"#4c9afa"}]},"#SpiderMan#"),l.a.createElement(s.Text,{numberOfLines:3,style:Pe.normalText},"Hello world, I am a spider man and I have five friends in other universe."))),a("Custom font"),l.a.createElement(s.View,{style:[Pe.itemContent,{height:100}]},l.a.createElement(s.Text,{numberOfLines:1,style:Pe.customFont},"Hippy 跨端框架")),a("Text Nested"),l.a.createElement(s.View,{style:[Pe.itemContent,{height:150}]},l.a.createElement(s.Text,{style:{height:100,lineHeight:50}},l.a.createElement(s.Text,{numberOfLines:1,style:Pe.normalText},"后面有张图片"),l.a.createElement(s.Image,{style:{width:70,height:35},source:{uri:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAAAtCAMAAABmgJ64AAAAOVBMVEX/Rx8AAAD/QiL/Tif/QyH/RR//QiH/QiP/RCD/QSL/Qxz/QyH/QiL/QiD/QyL/QiL/QiH/QyH/QiLwirLUAAAAEnRSTlMZAF4OTC7DrWzjI4iietrRk0EEv/0YAAAB0UlEQVRYw72Y0Y6sIAxAKwUFlFH7/x97izNXF2lN1pU5D800jD2hJAJCdwYZuAUyVbmToKh903IhQHgErAVH+ccV0KI+G2oBPMxJgPA4WAigAT8F0IRDgNAE3ARyfeMFDGSc3YHVFkTBAHKDAgkEyHjacae/GTjxFqAo8NbakXrL9DRy9B+BCQwRcXR9OBKmEuAmAFFgcy0agBnIc1xZsMPOI5loAoUsQFmQjDEL9YbpaeGYBMGRKKAuqFEFL/JXApCw/zFEZk9qgbLGBx0gXLISxT25IUBREEgh1II1fph/IViGnZnCcDDVAgfgVg6gCy6ZaClySbDQpAl04vCGaB4+xGcFRK8CLvW0IBb5bQGqAlNwU4C6oEIVTLTcmoEr0AWcpKsZ/H0NAtkLQffnFjkOqiC/TTWBL9AFCwXQBHgI7rXImMgjCZwFa50s6DRBXyALmIECuMASiWNPFgRTgSJwM+XW8PDCmbwndzdaNL8FMYXPNjASDVChnIvWlBI/MKadPV952HszbmXtRERhhQ0vGFA52SVSSVt7MjHvxfRK8cdTpqovn02dUcltMrwiKf+wQ1FxXKCk9en6e/eDNnP44h2thQEb35O/etNv/q3iHza+KuhqqhZAAAAAAElFTkSuQmCC"}}),l.a.createElement(s.Text,{numberOfLines:1,style:Pe.customFont},"前面有张图片")),l.a.createElement(s.View,{style:{flexDirection:"row",alignItems:"center",justifyContent:"center",paddingHorizontal:10,paddingVertical:5,backgroundColor:"#4c9afa"}},l.a.createElement(s.Image,{style:{width:24,height:24,alignSelf:"center"},source:{uri:Oe}}),l.a.createElement(s.Text,{style:{fontSize:15,alignItems:"center",justifyContent:"center"}},"Image+Text"))),"android"===s.Platform.OS&&a("breakStrategy"),"android"===s.Platform.OS&&l.a.createElement(s.View,{style:Pe.itemContent},l.a.createElement(s.Text,{style:[Pe.normalText,{borderWidth:1,borderColor:"gray"}],breakStrategy:i},"The 58-letter name Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch is the name of a town on Anglesey, an island of Wales."),l.a.createElement(s.Text,{style:Pe.normalText},"breakStrategy: "+i),l.a.createElement(s.View,{style:Pe.buttonBar},l.a.createElement(s.View,{style:Pe.button,onClick:()=>this.changeBreakStrategy("simple")},l.a.createElement(s.Text,{style:Pe.buttonText},"simple")),l.a.createElement(s.View,{style:Pe.button,onClick:()=>this.changeBreakStrategy("high_quality")},l.a.createElement(s.Text,{style:Pe.buttonText},"high_quality")),l.a.createElement(s.View,{style:Pe.button,onClick:()=>this.changeBreakStrategy("balanced")},l.a.createElement(s.Text,{style:Pe.buttonText},"balanced")))))}}const Me=s.StyleSheet.create({container_style:{padding:10},input_style:{width:300,marginVertical:10,fontSize:16,color:"#242424",height:30,lineHeight:30},input_style_block:{height:100,lineHeight:20,fontSize:15,borderWidth:1,borderColor:"gray",underlineColorAndroid:"transparent"},itemTitle:{alignItems:"flex-start",justifyContent:"center",height:40,borderWidth:1,borderStyle:"solid",borderColor:"#e0e0e0",borderRadius:2,backgroundColor:"#fafafa",padding:10,marginTop:10},itemContent:{marginTop:10},buttonBar:{flexDirection:"row",marginTop:10,flexGrow:1},button:{width:200,height:24,borderColor:"#4c9afa",borderWidth:1,borderStyle:"solid",marginTop:5,marginBottom:5,flexGrow:1,flexShrink:1}});class Be extends a.Component{constructor(e){super(e),this.state={textContent:""},this.changeInputContent=this.changeInputContent.bind(this),this.focus=this.focus.bind(this),this.blur=this.blur.bind(this)}changeInputContent(){this.setState({textContent:"当前时间毫秒:"+Date.now()})}focus(){this.input.focus()}blur(){this.input.blur()}async onFocus(){const e=await this.input.isFocused();this.setState({event:"onFocus",isFocused:e})}async onBlur(){const e=await this.input.isFocused();this.setState({event:"onBlur",isFocused:e})}changeBreakStrategy(e){this.setState({breakStrategy:e})}render(){const{textContent:e,event:t,isFocused:n,breakStrategy:o}=this.state,r=e=>l.a.createElement(s.View,{style:Me.itemTitle},l.a.createElement(s.Text,null,e));return l.a.createElement(s.ScrollView,{style:Me.container_style},r("text"),l.a.createElement(s.TextInput,{ref:e=>{this.input=e},style:Me.input_style,caretColor:"yellow",underlineColorAndroid:"grey",placeholderTextColor:"#4c9afa",placeholder:"text",defaultValue:e,onBlur:()=>this.onBlur(),onFocus:()=>this.onFocus()}),l.a.createElement(s.Text,{style:Me.itemContent},`事件: ${t} | isFocused: ${n}`),l.a.createElement(s.View,{style:Me.button,onClick:this.changeInputContent},l.a.createElement(s.Text,null,"点击改变输入框内容")),l.a.createElement(s.View,{style:Me.button,onClick:this.focus},l.a.createElement(s.Text,null,"Focus")),l.a.createElement(s.View,{style:Me.button,onClick:this.blur},l.a.createElement(s.Text,null,"Blur")),r("numeric"),l.a.createElement(s.TextInput,{style:Me.input_style,keyboardType:"numeric",placeholder:"numeric"}),r("phone-pad"),l.a.createElement(s.TextInput,{style:Me.input_style,keyboardType:"phone-pad",placeholder:"phone-pad"}),r("password"),l.a.createElement(s.TextInput,{style:Me.input_style,keyboardType:"password",placeholder:"Password",multiline:!1}),r("maxLength"),l.a.createElement(s.TextInput,{caretColor:"yellow",style:Me.input_style,placeholder:"maxLength=5",maxLength:5}),"android"===s.Platform.OS&&r("breakStrategy"),"android"===s.Platform.OS&&l.a.createElement(l.a.Fragment,null,l.a.createElement(s.TextInput,{style:Me.input_style_block,breakStrategy:o,defaultValue:"The 58-letter name Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch is the name of a town on Anglesey, an island of Wales."}),l.a.createElement(s.Text,{style:{}},"breakStrategy: "+o),l.a.createElement(s.View,{style:Me.buttonBar},l.a.createElement(s.View,{style:Me.button,onClick:()=>this.changeBreakStrategy("simple")},l.a.createElement(s.Text,{style:Me.buttonText},"simple")),l.a.createElement(s.View,{style:Me.button,onClick:()=>this.changeBreakStrategy("high_quality")},l.a.createElement(s.Text,{style:Me.buttonText},"high_quality")),l.a.createElement(s.View,{style:Me.button,onClick:()=>this.changeBreakStrategy("balanced")},l.a.createElement(s.Text,{style:Me.buttonText},"balanced")))))}}var ze=n.p+"assets/defaultSource.jpg";const Fe=s.StyleSheet.create({itemTitle:{alignItems:"flex-start",justifyContent:"center",height:40,borderWidth:1,borderStyle:"solid",borderColor:"#e0e0e0",borderRadius:2,backgroundColor:"#fafafa",padding:10,marginTop:10},rectangle:{width:160,height:80,marginVertical:10},bigRectangle:{width:200,height:100,borderColor:"#eee",borderWidth:1,borderStyle:"solid",padding:10,marginVertical:10},smallRectangle:{width:40,height:40,borderRadius:10}});function _e(){const e=e=>l.a.createElement(s.View,{style:Fe.itemTitle},l.a.createElement(s.Text,null,e));return l.a.createElement(s.ScrollView,{style:{paddingHorizontal:10}},e("backgroundColor"),l.a.createElement(s.View,{style:[Fe.rectangle,{backgroundColor:"#4c9afa"}]}),e("backgroundImage"),l.a.createElement(s.View,{style:[Fe.rectangle,{alignItems:"center",justifyContent:"center",marginTop:20,backgroundImage:ze}],accessible:!0,accessibilityLabel:"背景图",accessibilityRole:"image",accessibilityState:{disabled:!1,selected:!0,checked:!1,expanded:!1,busy:!0},accessibilityValue:{min:1,max:10,now:5,text:"middle"}},l.a.createElement(s.Text,{style:{color:"white"}},"背景图")),e("backgroundImage linear-gradient"),l.a.createElement(s.View,{style:[Fe.rectangle,{alignItems:"center",justifyContent:"center",marginTop:20,borderWidth:2,borderStyle:"solid",borderColor:"black",borderRadius:2,backgroundImage:"linear-gradient(30deg, blue 10%, yellow 40%, red 50%);"}]},l.a.createElement(s.Text,{style:{color:"white"}},"渐变色")),e("border props"),l.a.createElement(s.View,{style:[Fe.rectangle,{borderColor:"#242424",borderRadius:4,borderWidth:1,borderStyle:"solid"}]}),e("flex props"),l.a.createElement(s.View,{style:[Fe.bigRectangle,{flexDirection:"row",alignItems:"center",justifyContent:"space-between"}]},l.a.createElement(s.View,{style:[Fe.smallRectangle,{backgroundColor:"yellow"}]}),l.a.createElement(s.View,{style:[Fe.smallRectangle,{backgroundColor:"blue"}]}),l.a.createElement(s.View,{style:[Fe.smallRectangle,{backgroundColor:"green"}]})))}const We=s.StyleSheet.create({pageContainer:{alignItems:"center",justifyContent:"center",flex:1,paddingTop:20},mainRec:{backgroundColor:"#4c9afaAA",width:256,height:48,marginBottom:10,marginTop:156},title:{verticalAlign:"middle",lineHeight:48,height:48,fontSize:16,color:"white",alignSelf:"center"},shapeBase:{width:128,height:128,backgroundColor:"#4c9afa"},square:{},circle:{borderRadius:64},triangle:{borderStyle:"solid",borderTopWidth:0,borderRightWidth:70,borderBottomWidth:128,borderLeftWidth:70,borderTopColor:"transparent",borderRightColor:"transparent",borderLeftColor:"transparent",borderBottomColor:"#4c9afa",backgroundColor:"transparent",width:140}}),He="SquarePagerView",Ne="TrianglePagerView",Ke="CirclePagerView";function Ue(e,t){const n=t=>l.a.createElement(s.View,{style:We.pageContainer,key:t},l.a.createElement(s.View,{style:[We.shapeBase,e],key:"shape"}),l.a.createElement(s.View,{style:We.mainRec,key:"title"},t?l.a.createElement(s.Text,{style:We.title},t):null));return n.displayName=t,n}const Ge=Ue(We.square,He),qe=Ue(We.triangle,Ne),Qe=Ue(We.circle,Ke),Ye=s.StyleSheet.create({dotContainer:{position:"absolute",bottom:10,left:0,right:0,flexDirection:"row",alignItems:"center",justifyContent:"center"},dot:{width:6,height:6,borderRadius:3,margin:3,backgroundColor:"#BBBBBB"},selectDot:{backgroundColor:"#000000"},container:{height:500},buttonContainer:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",padding:12},button:{width:120,height:36,backgroundColor:"#4c9afa",borderRadius:18,alignItems:"center",justifyContent:"center"},buttonText:{fontSize:16,color:"#fff"}});class Xe extends l.a.Component{constructor(e){super(e),W()(this,"state",{selectedIndex:0}),this.onPageSelected=this.onPageSelected.bind(this)}onPageSelected(e){console.log("onPageSelected",e.position),this.setState({selectedIndex:e.position})}onPageScrollStateChanged(e){console.log("onPageScrollStateChanged",e)}onPageScroll({offset:e,position:t}){console.log("onPageScroll",e,t)}render(){const{selectedIndex:e}=this.state;return l.a.createElement(s.View,{style:{flex:1,backgroundColor:"#ffffff"}},l.a.createElement(s.View,{style:Ye.buttonContainer},l.a.createElement(s.View,{style:Ye.button,onClick:()=>{this.viewpager.setPage(2)}},l.a.createElement(s.Text,{style:Ye.buttonText},"动效滑到第3页")),l.a.createElement(s.View,{style:Ye.button,onClick:()=>this.viewpager.setPageWithoutAnimation(0)},l.a.createElement(s.Text,{style:Ye.buttonText},"直接滑到第1页"))),l.a.createElement(s.ViewPager,{ref:e=>{this.viewpager=e},style:Ye.container,initialPage:0,keyboardDismissMode:"none",scrollEnabled:!0,onPageSelected:this.onPageSelected,onPageScroll:this.onPageScroll},[Ge("squarePager"),qe("TrianglePager"),Qe("CirclePager")]),l.a.createElement(s.View,{style:Ye.dotContainer},new Array(3).fill(0).map((t,n)=>{const o=n===e;return l.a.createElement(s.View,{style:[Ye.dot,o?Ye.selectDot:null],key:"dot_"+n})})))}}const Je=s.StyleSheet.create({itemTitle:{alignItems:"flex-start",justifyContent:"center",height:40,borderWidth:1,borderStyle:"solid",borderColor:"#e0e0e0",borderRadius:2,backgroundColor:"#fafafa",padding:10,marginTop:10},webViewStyle:{padding:10,flex:1,flexGrow:1,borderRadius:10}});function Ze(){return l.a.createElement(s.View,{style:{paddingHorizontal:10,flex:1}},l.a.createElement(s.View,{style:Je.itemTitle},l.a.createElement(s.Text,null,"WebView 示例")),l.a.createElement(s.WebView,{source:{uri:"https://hippyjs.org"},method:"get",userAgent:"Mozilla/5.0 (Linux; U; Android 5.1.1; zh-cn; vivo X7 Build/LMY47V) AppleWebKit/537.36 (KHTML, like Gecko)Version/4.0 Chrome/37.0.0.0 MQQBrowser/8.2 Mobile Safari/537.36",style:Je.webViewStyle,onLoad:({url:e})=>console.log("webview onload",e),onLoadStart:({url:e})=>console.log("webview onLoadStart",e),onLoadEnd:({url:e})=>console.log("webview onLoadEnd",e)}))}const $e=s.StyleSheet.create({shadowDemo:{flex:1,overflowY:"scroll"},shadowDemoCubeAndroid:{position:"absolute",left:50,top:50,width:170,height:170,boxShadowOpacity:.6,boxShadowRadius:5,boxShadowColor:"#4c9afa",borderRadius:5},shadowDemoContentAndroid:{position:"absolute",left:5,top:5,width:160,height:160,backgroundColor:"grey",borderRadius:5,display:"flex",justifyContent:"center",alignItems:"center"},shadowDemoCubeIos:{position:"absolute",left:50,top:50,width:160,height:160,boxShadowOpacity:.6,boxShadowRadius:5,boxShadowSpread:1,boxShadowColor:"#4c9afa",borderRadius:5},shadowDemoContentIos:{width:160,height:160,backgroundColor:"grey",borderRadius:5,display:"flex",justifyContent:"center",alignItems:"center"},text:{color:"white"}}),et=s.StyleSheet.create({shadowDemoCubeAndroid:{position:"absolute",left:50,top:300,width:175,height:175,boxShadowOpacity:.6,boxShadowRadius:5,boxShadowOffsetX:15,boxShadowOffsetY:15,boxShadowColor:"#4c9afa"},shadowDemoContentAndroid:{width:160,height:160,backgroundColor:"grey",display:"flex",justifyContent:"center",alignItems:"center"},shadowDemoCubeIos:{position:"absolute",left:50,top:300,width:160,height:160,boxShadowOpacity:.6,boxShadowRadius:5,boxShadowOffsetX:10,boxShadowOffsetY:10,boxShadowSpread:1,boxShadowColor:"#4c9afa"},shadowDemoContentIos:{width:160,height:160,backgroundColor:"grey",display:"flex",justifyContent:"center",alignItems:"center"},text:{color:"white"}});function tt(){return l.a.createElement(s.View,{style:$e.shadowDemo},"android"===s.Platform.OS?l.a.createElement(s.View,{style:$e.shadowDemoCubeAndroid},l.a.createElement(s.View,{style:$e.shadowDemoContentAndroid},l.a.createElement(s.Text,{style:$e.text},"没有偏移阴影样式"))):l.a.createElement(s.View,{style:$e.shadowDemoCubeIos},l.a.createElement(s.View,{style:$e.shadowDemoContentIos},l.a.createElement(s.Text,{style:$e.text},"没有偏移阴影样式"))),"android"===s.Platform.OS?l.a.createElement(s.View,{style:et.shadowDemoCubeAndroid},l.a.createElement(s.View,{style:et.shadowDemoContentAndroid},l.a.createElement(s.Text,{style:et.text},"偏移阴影样式"))):l.a.createElement(s.View,{style:et.shadowDemoCubeIos},l.a.createElement(s.View,{style:et.shadowDemoContentIos},l.a.createElement(s.Text,{style:et.text},"偏移阴影样式"))))}const nt=ce.filter(e=>2!==e.style),ot=s.StyleSheet.create({container:{backgroundColor:"#ffffff"},itemContainer:{padding:12},splitter:{marginLeft:12,marginRight:12,height:.5,backgroundColor:"#e5e5e5"},loading:{fontSize:11,color:"#aaaaaa",alignSelf:"center"},pullContainer:{height:50,backgroundColor:"#4c9afa"},pullContent:{lineHeight:50,color:"white",height:50,textAlign:"center"},pullFooter:{flex:1,height:40,backgroundColor:"#4c9afa",justifyContent:"center",alignItems:"center"}});class rt extends l.a.Component{constructor(e){super(e),this.state={dataSource:[],pullingText:"继续下拉触发刷新",loadingState:"正在加载..."},this.numberOfColumns=2,this.columnSpacing=6,this.interItemSpacing=6,this.mockFetchData=this.mockFetchData.bind(this),this.renderItem=this.renderItem.bind(this),this.getItemType=this.getItemType.bind(this),this.getItemKey=this.getItemKey.bind(this),this.onEndReached=this.onEndReached.bind(this),this.onRefresh=this.onRefresh.bind(this),this.getRefresh=this.getRefresh.bind(this),this.renderPullFooter=this.renderPullFooter.bind(this),this.renderBanner=this.renderBanner.bind(this),this.getItemStyle=this.getItemStyle.bind(this)}async componentDidMount(){const e=await this.mockFetchData();this.setState({dataSource:e})}async onEndReached(){const{dataSource:e}=this.state;if(this.loadMoreDataFlag)return;this.loadMoreDataFlag=!0,this.setState({loadingState:"加载更多..."});let t=[];try{t=await this.mockFetchData()}catch(e){}0===t.length&&this.setState({loadingState:"没有更多数据"});const n=[...e,...t];this.setState({dataSource:n}),this.loadMoreDataFlag=!1}renderPullFooter(){return 0===this.state.dataSource.length?null:l.a.createElement(s.View,{style:ot.pullFooter},l.a.createElement(s.Text,{style:{color:"white"}},this.state.loadingState))}async onRefresh(){setTimeout(async()=>{const e=await this.mockFetchData();this.setState({dataSource:e}),this.refresh.refreshComplected()},1e3)}getRefresh(){return l.a.createElement(s.View,{style:{flex:1,height:40,justifyContent:"center",alignItems:"center",backgroundColor:"#4c9afa"}},l.a.createElement(s.Text,{style:{height:40,lineHeight:40,textAlign:"center",color:"white"}},"下拉刷新中..."))}onClickItem(e){console.log(`item: ${e} is clicked..`)}getItemType(e){return this.state.dataSource[e].style}getItemKey(e){return"row-"+e}onItemClick(e){console.log("onItemClick",e),this.listView.scrollToIndex({index:e,animation:!0})}renderBanner(){return"android"===s.Platform.OS||0===this.state.dataSource.length?null:l.a.createElement(s.View,{style:{backgroundColor:"grey",height:100,justifyContent:"center",alignItems:"center"}},l.a.createElement(s.Text,{style:{fontSize:20,color:"white",lineHeight:100,height:100}},"Banner View"))}renderItem(e){const{dataSource:t}=this.state;let n=null;const o=t[e];switch(o.style){case 1:n=l.a.createElement(ye,{itemBean:o.itemBean});break;case 2:n=l.a.createElement(Se,{itemBean:o.itemBean});break;case 5:n=l.a.createElement(Ce,{itemBean:o.itemBean})}return l.a.createElement(s.View,{onClick:()=>this.onItemClick(e),style:ot.container},l.a.createElement(s.View,{style:ot.itemContainer},n),l.a.createElement(s.View,{style:ot.splitter}))}mockFetchData(){return new Promise(e=>{setTimeout(()=>{const t=[...nt,...nt];return e(t)},600)})}getWaterfallContentInset(){return{top:0,left:5,bottom:0,right:5}}getItemStyle(){const{numberOfColumns:e,columnSpacing:t}=this,n=s.Dimensions.get("screen").width,o=this.getWaterfallContentInset();return{width:(n-o.left-o.right-(e-1)*t)/e}}render(){const{dataSource:e}=this.state,{numberOfColumns:t,columnSpacing:n,interItemSpacing:o}=this,r=this.getWaterfallContentInset();return l.a.createElement(s.RefreshWrapper,{ref:e=>{this.refresh=e},style:{flex:1},onRefresh:this.onRefresh,bounceTime:100,getRefresh:this.getRefresh},l.a.createElement(s.WaterfallView,{ref:e=>{this.listView=e},renderBanner:this.renderBanner,numberOfColumns:t,columnSpacing:n,interItemSpacing:o,numberOfItems:e.length,style:{flex:1},renderItem:this.renderItem,onEndReached:this.onEndReached,getItemType:this.getItemType,getItemKey:this.getItemKey,contentInset:r,getItemStyle:this.getItemStyle,containPullFooter:!0,renderPullFooter:this.renderPullFooter}))}}var it=n.p+"assets/defaultSource.jpg";function at(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function lt(e){for(var t=1;t{i.current.setPressed(!1)},{nativeBackgroundAndroid:h,style:u}=e;return l.a.createElement(s.View,{onLayout:()=>{s.UIManagerModule.measureInAppWindow(i.current,e=>{n(e.x),r(e.y)})},style:u,onTouchDown:e=>{i.current.setHotspot(e.page_x-t,e.page_y-o),i.current.setPressed(!0)},onTouchEnd:c,onTouchCancel:c,ref:i,nativeBackgroundAndroid:lt(lt({},st),h)},e.children)}const ht=s.StyleSheet.create({imgRectangle:{width:260,height:56,alignItems:"center",justifyContent:"center"},circleRipple:{marginTop:30,width:150,height:56,alignItems:"center",justifyContent:"center",borderWidth:3,borderStyle:"solid",borderColor:"#4c9afa"},squareRipple:{alignItems:"center",justifyContent:"center",width:150,height:150,backgroundColor:"#4c9afa",marginTop:30,borderRadius:12,overflow:"hidden"},squareRippleWrapper:{alignItems:"flex-start",justifyContent:"center",height:150,marginTop:30},squareRipple1:{alignItems:"center",justifyContent:"center",width:150,height:150,borderWidth:5,borderStyle:"solid",backgroundSize:"cover",borderColor:"#4c9afa",backgroundImage:it,paddingHorizontal:10},squareRipple2:{alignItems:"center",justifyContent:"center",width:150,height:150,paddingHorizontal:10,backgroundSize:"cover",backgroundImage:"https://user-images.githubusercontent.com/12878546/148736102-7cd9525b-aceb-41c6-a905-d3156219ef16.png"}});function ut(){return"ios"===s.Platform.OS?l.a.createElement(s.Text,null,"iOS暂未支持水波纹效果"):l.a.createElement(s.ScrollView,{style:{margin:10,flex:1}},l.a.createElement(s.View,{style:[ht.imgRectangle,{marginTop:20,backgroundImage:it,backgroundSize:"cover"}]},l.a.createElement(ct,{style:[ht.imgRectangle],nativeBackgroundAndroid:{borderless:!0,color:"#666666"}},l.a.createElement(s.Text,{style:{color:"white",maxWidth:200}},"外层背景图,内层无边框水波纹,受外层影响始终有边框"))),l.a.createElement(ct,{style:[ht.circleRipple],nativeBackgroundAndroid:{borderless:!0,color:"#666666",rippleRadius:100}},l.a.createElement(s.Text,{style:{color:"black",textAlign:"center"}},"无边框圆形水波纹")),l.a.createElement(ct,{style:[ht.squareRipple],nativeBackgroundAndroid:{borderless:!1,color:"#666666"}},l.a.createElement(s.Text,{style:{color:"#fff"}},"带背景色水波纹")),l.a.createElement(s.View,{style:[ht.squareRippleWrapper]},l.a.createElement(ct,{style:[ht.squareRipple1],nativeBackgroundAndroid:{borderless:!1,color:"#666666"}},l.a.createElement(s.Text,{style:{color:"white"}},"有边框水波纹,带本地底图效果"))),l.a.createElement(s.View,{style:[ht.squareRippleWrapper]},l.a.createElement(ct,{style:[ht.squareRipple2],nativeBackgroundAndroid:{borderless:!1,color:"#666666"}},l.a.createElement(s.Text,{style:{color:"black"}},"有边框水波纹,带网络底图效果"))))}const dt="#4c9afa",mt="#f44837",gt=s.StyleSheet.create({container:{paddingHorizontal:10},square:{width:80,height:80,backgroundColor:mt},showArea:{height:150,marginVertical:10},button:{borderColor:dt,borderWidth:2,borderStyle:"solid",justifyContent:"center",alignItems:"center",width:70,borderRadius:8,height:50,marginTop:20,marginRight:8},buttonText:{fontSize:20,color:dt,textAlign:"center",textAlignVertical:"center"},colorText:{fontSize:14,color:"white",textAlign:"center",textAlignVertical:"center"},buttonContainer:{flexDirection:"row",alignItems:"center"},title:{fontSize:24,marginTop:8}});class ft extends l.a.Component{constructor(e){super(e),this.state={}}componentWillMount(){this.horizonAnimation=new s.Animation({startValue:150,toValue:20,duration:1e3,delay:500,mode:"timing",timingFunction:"linear",repeatCount:"loop"}),this.verticalAnimation=new s.Animation({startValue:80,toValue:40,duration:1e3,delay:0,mode:"timing",timingFunction:"linear",repeatCount:"loop"}),this.scaleAnimationSet=new s.AnimationSet({children:[{animation:new s.Animation({startValue:1,toValue:1.2,duration:1e3,delay:0,mode:"timing",timingFunction:"linear"}),follow:!1},{animation:new s.Animation({startValue:1.2,toValue:.2,duration:1e3,delay:0,mode:"timing",timingFunction:"linear"}),follow:!0}],repeatCount:"loop"}),this.rotateAnimationSet=new s.AnimationSet({children:[{animation:new s.Animation({startValue:0,toValue:180,duration:2e3,delay:0,valueType:"deg",mode:"timing",timingFunction:"linear"}),follow:!1},{animation:new s.Animation({startValue:180,toValue:360,duration:2e3,delay:0,valueType:"deg",mode:"timing",timingFunction:"linear"}),follow:!0}],repeatCount:"loop"}),this.skewXAnimationSet=new s.AnimationSet({children:[{animation:new s.Animation({startValue:0,toValue:20,duration:2e3,delay:0,mode:"timing",timingFunction:"linear"}),follow:!1},{animation:new s.Animation({startValue:20,toValue:0,duration:2e3,delay:0,mode:"timing",timingFunction:"linear"}),follow:!0}],repeatCount:"loop"}),this.skewYAnimationSet=new s.AnimationSet({children:[{animation:new s.Animation({startValue:0,toValue:20,duration:2e3,delay:0,mode:"timing",timingFunction:"linear"}),follow:!1},{animation:new s.Animation({startValue:20,toValue:0,duration:2e3,delay:0,mode:"timing",timingFunction:"linear"}),follow:!0}],repeatCount:"loop"}),this.bgColorAnimationSet=new s.AnimationSet({children:[{animation:new s.Animation({startValue:"red",toValue:"yellow",valueType:"color",duration:1e3,delay:0,mode:"timing",timingFunction:"linear"}),follow:!1},{animation:new s.Animation({startValue:"yellow",toValue:"blue",duration:1e3,valueType:"color",delay:0,mode:"timing",timingFunction:"linear"}),follow:!0}],repeatCount:"loop"}),this.txtColorAnimationSet=new s.AnimationSet({children:[{animation:new s.Animation({startValue:"white",toValue:"yellow",valueType:"color",duration:1e3,delay:0,mode:"timing",timingFunction:"linear"}),follow:!1},{animation:new s.Animation({startValue:"yellow",toValue:"white",duration:1e3,valueType:"color",delay:0,mode:"timing",timingFunction:"linear"}),follow:!0}],repeatCount:"loop"}),this.cubicBezierScaleAnimationSet=new s.AnimationSet({children:[{animation:new s.Animation({startValue:0,toValue:1,duration:1e3,delay:0,mode:"timing",timingFunction:"cubic-bezier(.45,2.84,.38,.5)"}),follow:!1},{animation:new s.Animation({startValue:1,toValue:0,duration:1e3,mode:"timing",timingFunction:"cubic-bezier(.17,1.45,.78,.14)"}),follow:!0}],repeatCount:"loop"})}componentDidMount(){"web"===s.Platform.OS&&(this.verticalAnimation.setRef(this.verticalRef),this.horizonAnimation.setRef(this.horizonRef),this.scaleAnimationSet.setRef(this.scaleRef),this.bgColorAnimationSet.setRef(this.bgColorRef),this.txtColorAnimationSet.setRef(this.textColorRef),this.txtColorAnimationSet.setRef(this.textColorRef),this.cubicBezierScaleAnimationSet.setRef(this.cubicBezierScaleRef),this.rotateAnimationSet.setRef(this.rotateRef),this.skewXAnimationSet.setRef(this.skewRef),this.skewYAnimationSet.setRef(this.skewRef)),this.horizonAnimation.onAnimationStart(()=>{console.log("on animation start!!!")}),this.horizonAnimation.onAnimationEnd(()=>{console.log("on animation end!!!")}),this.horizonAnimation.onAnimationCancel(()=>{console.log("on animation cancel!!!")}),this.horizonAnimation.onAnimationRepeat(()=>{console.log("on animation repeat!!!")})}componentWillUnmount(){this.horizonAnimation&&this.horizonAnimation.destroy(),this.verticalAnimation&&this.verticalAnimation.destroy(),this.scaleAnimationSet&&this.scaleAnimationSet.destroy(),this.bgColorAnimationSet&&this.bgColorAnimationSet.destroy(),this.txtColorAnimationSet&&this.txtColorAnimationSet.destroy(),this.cubicBezierScaleAnimationSet&&this.cubicBezierScaleAnimationSet.destroy(),this.rotateAnimationSet&&this.rotateAnimationSet.destroy(),this.skewXAnimationSet&&this.skewXAnimationSet.destroy(),this.skewYAnimationSet&&this.skewYAnimationSet.destroy()}render(){return l.a.createElement(s.ScrollView,{style:gt.container},l.a.createElement(s.Text,{style:gt.title},"水平位移动画"),l.a.createElement(s.View,{style:gt.buttonContainer},l.a.createElement(s.View,{style:gt.button,onClick:()=>{this.horizonAnimation.start()}},l.a.createElement(s.Text,{style:gt.buttonText},"开始")),l.a.createElement(s.View,{style:[gt.button],onClick:()=>{this.horizonAnimation.pause()}},l.a.createElement(s.Text,{style:gt.buttonText},"暂停")),l.a.createElement(s.View,{style:gt.button,onClick:()=>{this.horizonAnimation.resume()}},l.a.createElement(s.Text,{style:gt.buttonText},"继续")),l.a.createElement(s.View,{style:gt.button,onClick:()=>{this.horizonAnimation.updateAnimation({startValue:50,toValue:100})}},l.a.createElement(s.Text,{style:gt.buttonText},"更新"))),l.a.createElement(s.View,{style:gt.showArea},l.a.createElement(s.View,{ref:e=>{this.horizonRef=e},style:[gt.square,{transform:[{translateX:this.horizonAnimation}]}]})),l.a.createElement(s.Text,{style:gt.title},"高度形变动画"),l.a.createElement(s.View,{style:gt.buttonContainer},l.a.createElement(s.View,{style:gt.button,onClick:()=>{this.verticalAnimation.start()}},l.a.createElement(s.Text,{style:gt.buttonText},"开始")),l.a.createElement(s.View,{style:[gt.button],onClick:()=>{this.verticalAnimation.pause()}},l.a.createElement(s.Text,{style:gt.buttonText},"暂停")),l.a.createElement(s.View,{style:gt.button,onClick:()=>{this.verticalAnimation.resume()}},l.a.createElement(s.Text,{style:gt.buttonText},"继续"))),l.a.createElement(s.View,{style:gt.showArea},l.a.createElement(s.View,{ref:e=>{this.verticalRef=e},style:[gt.square,{height:this.verticalAnimation}]})),l.a.createElement(s.Text,{style:gt.title},"旋转动画"),l.a.createElement(s.View,{style:gt.buttonContainer},l.a.createElement(s.View,{style:gt.button,onClick:()=>{this.rotateAnimationSet.start()}},l.a.createElement(s.Text,{style:gt.buttonText},"开始")),l.a.createElement(s.View,{style:[gt.button],onClick:()=>{this.rotateAnimationSet.pause()}},l.a.createElement(s.Text,{style:gt.buttonText},"暂停")),l.a.createElement(s.View,{style:gt.button,onClick:()=>{this.rotateAnimationSet.resume()}},l.a.createElement(s.Text,{style:gt.buttonText},"继续"))),l.a.createElement(s.View,{style:gt.showArea},l.a.createElement(s.View,{ref:e=>{this.rotateRef=e},style:[gt.square,{transform:[{rotate:this.rotateAnimationSet}]}]})),l.a.createElement(s.Text,{style:gt.title},"倾斜动画"),l.a.createElement(s.View,{style:gt.buttonContainer},l.a.createElement(s.View,{style:gt.button,onClick:()=>{this.skewXAnimationSet.start(),this.skewYAnimationSet.start()}},l.a.createElement(s.Text,{style:gt.buttonText},"开始")),l.a.createElement(s.View,{style:[gt.button],onClick:()=>{this.skewXAnimationSet.pause(),this.skewYAnimationSet.pause()}},l.a.createElement(s.Text,{style:gt.buttonText},"暂停")),l.a.createElement(s.View,{style:gt.button,onClick:()=>{this.skewXAnimationSet.resume(),this.skewYAnimationSet.resume()}},l.a.createElement(s.Text,{style:gt.buttonText},"继续"))),l.a.createElement(s.View,{style:gt.showArea},l.a.createElement(s.View,{ref:e=>{this.skewRef=e},style:[gt.square,{transform:[{skewX:this.skewXAnimationSet},{skewY:this.skewYAnimationSet}]}]})),l.a.createElement(s.Text,{style:gt.title},"缩放动画"),l.a.createElement(s.View,{style:gt.buttonContainer},l.a.createElement(s.View,{style:gt.button,onClick:()=>{this.scaleAnimationSet.start()}},l.a.createElement(s.Text,{style:gt.buttonText},"开始")),l.a.createElement(s.View,{style:[gt.button],onClick:()=>{this.scaleAnimationSet.pause()}},l.a.createElement(s.Text,{style:gt.buttonText},"暂停")),l.a.createElement(s.View,{style:gt.button,onClick:()=>{this.scaleAnimationSet.resume()}},l.a.createElement(s.Text,{style:gt.buttonText},"继续"))),l.a.createElement(s.View,{style:[gt.showArea,{marginVertical:20}]},l.a.createElement(s.View,{ref:e=>{this.scaleRef=e},style:[gt.square,{transform:[{scale:this.scaleAnimationSet}]}]})),l.a.createElement(s.Text,{style:gt.title},"颜色渐变动画(文字渐变仅Android支持)"),l.a.createElement(s.View,{style:gt.buttonContainer},l.a.createElement(s.View,{style:gt.button,onClick:()=>{this.bgColorAnimationSet.start(),this.txtColorAnimationSet.start()}},l.a.createElement(s.Text,{style:gt.buttonText},"开始")),l.a.createElement(s.View,{style:[gt.button],onClick:()=>{this.bgColorAnimationSet.pause(),this.txtColorAnimationSet.pause()}},l.a.createElement(s.Text,{style:gt.buttonText},"暂停")),l.a.createElement(s.View,{style:gt.button,onClick:()=>{this.bgColorAnimationSet.resume(),this.txtColorAnimationSet.resume()}},l.a.createElement(s.Text,{style:gt.buttonText},"继续"))),l.a.createElement(s.View,{style:[gt.showArea,{marginVertical:20}]},l.a.createElement(s.View,{ref:e=>{this.bgColorRef=e},style:[gt.square,{justifyContent:"center",alignItems:"center"},{backgroundColor:this.bgColorAnimationSet}]},l.a.createElement(s.Text,{ref:e=>{this.textColorRef=e},style:[gt.colorText,{color:"android"===s.Platform.OS?this.txtColorAnimationSet:"white"}]},"颜色渐变背景和文字"))),l.a.createElement(s.Text,{style:gt.title},"贝塞尔曲线动画"),l.a.createElement(s.View,{style:gt.buttonContainer},l.a.createElement(s.View,{style:gt.button,onClick:()=>{this.cubicBezierScaleAnimationSet.start()}},l.a.createElement(s.Text,{style:gt.buttonText},"开始")),l.a.createElement(s.View,{style:[gt.button],onClick:()=>{this.cubicBezierScaleAnimationSet.pause()}},l.a.createElement(s.Text,{style:gt.buttonText},"暂停")),l.a.createElement(s.View,{style:gt.button,onClick:()=>{this.cubicBezierScaleAnimationSet.resume()}},l.a.createElement(s.Text,{style:gt.buttonText},"继续"))),l.a.createElement(s.View,{style:[gt.showArea,{marginVertical:20}]},l.a.createElement(s.View,{ref:e=>{this.cubicBezierScaleRef=e},style:[gt.square,{transform:[{scale:this.cubicBezierScaleAnimationSet}]}]})))}}const yt=s.StyleSheet.create({containerStyle:{margin:20,alignItems:"center",flexDirection:"column"},itemGroupStyle:{flexDirection:"row",marginTop:10,borderColor:"#4c9afa",borderWidth:1,borderStyle:"solid",width:100,height:40,justifyContent:"center",alignItems:"center"},viewGroupStyle:{flexDirection:"row",marginTop:10},infoStyle:{width:60,height:40,fontSize:16,color:"#4c9afa",textAlign:"center"},inputStyle:{width:200,height:40,placeholderTextColor:"#aaaaaa",underlineColorAndroid:"#4c9afa",fontSize:16,color:"#242424",textAlign:"left"},buttonStyle:{textAlign:"center",fontSize:16,color:"#4c9afa",backgroundColor:"#4c9afa11",marginLeft:10,marginRight:10}});class pt extends l.a.Component{constructor(e){super(e),this.state={result:""},this.onTextChangeKey=this.onTextChangeKey.bind(this),this.onTextChangeValue=this.onTextChangeValue.bind(this),this.onClickSet=this.onClickSet.bind(this),this.onTextChangeKey=this.onTextChangeKey.bind(this),this.onClickGet=this.onClickGet.bind(this)}onClickSet(){const{key:e,value:t}=this.state;e&&s.AsyncStorage.setItem(e,t)}onClickGet(){const{key:e}=this.state;e&&s.AsyncStorage.getItem(e).then(e=>{this.setState({result:e})})}onTextChangeKey(e){this.setState({key:e})}onTextChangeValue(e){this.setState({value:e})}render(){const{result:e}=this.state;return l.a.createElement(s.ScrollView,{style:yt.containerStyle},l.a.createElement(s.View,{style:yt.viewGroupStyle},l.a.createElement(s.Text,{style:yt.infoStyle},"Key:"),l.a.createElement(s.TextInput,{style:yt.inputStyle,onChangeText:this.onTextChangeKey})),l.a.createElement(s.View,{style:yt.viewGroupStyle},l.a.createElement(s.Text,{style:yt.infoStyle},"Value:"),l.a.createElement(s.TextInput,{style:yt.inputStyle,onChangeText:this.onTextChangeValue})),l.a.createElement(s.View,{style:yt.itemGroupStyle,onClick:this.onClickSet},l.a.createElement(s.Text,{style:yt.buttonStyle},"Set")),l.a.createElement(s.View,{style:[yt.viewGroupStyle,{marginTop:60}]},l.a.createElement(s.Text,{style:yt.infoStyle},"Key:"),l.a.createElement(s.TextInput,{style:yt.inputStyle,onChangeText:this.onTextChangeKey})),l.a.createElement(s.View,{style:[yt.viewGroupStyle,{display:"none"}]},l.a.createElement(s.Text,{style:yt.infoStyle},"Value:"),l.a.createElement(s.Text,{style:[yt.infoStyle,{width:200}]},e)),l.a.createElement(s.View,{style:yt.itemGroupStyle,onClick:this.onClickGet},l.a.createElement(s.Text,{style:yt.buttonStyle},"Get")))}}const bt=s.StyleSheet.create({itemTitle:{alignItems:"flex-start",justifyContent:"center",height:40,borderWidth:1,borderStyle:"solid",borderColor:"#e0e0e0",borderRadius:2,backgroundColor:"#fafafa",padding:10,marginTop:10},defaultText:{marginVertical:4,fontSize:18,lineHeight:24,color:"#242424"},copiedText:{color:"#aaa"},button:{backgroundColor:"#4c9afa",borderRadius:4,height:30,marginVertical:4,paddingHorizontal:6,alignItems:"center",justifyContent:"center"},buttonText:{fontSize:16,color:"white"}});class wt extends l.a.Component{constructor(e){super(e),this.state={hasCopied:!1,text:"Winter is coming",clipboardText:"点击上面的按钮"}}render(){const e=e=>l.a.createElement(s.View,{style:bt.itemTitle},l.a.createElement(s.Text,null,e)),{hasCopied:t,text:n,clipboardText:o}=this.state,r=t?" (已复制) ":"";return l.a.createElement(s.ScrollView,{style:{paddingHorizontal:10}},e("文本复制到剪贴板"),l.a.createElement(s.Text,{style:bt.defaultText},n),l.a.createElement(s.View,{style:bt.button,onClick:()=>{s.Clipboard.setString(n),this.setState({hasCopied:!0})}},l.a.createElement(s.Text,{style:bt.buttonText},"点击复制以上文案"+r)),e("获取剪贴板内容"),l.a.createElement(s.View,{style:bt.button,onClick:async()=>{try{const e=await s.Clipboard.getString();this.setState({clipboardText:e})}catch(e){console.error(e)}}},l.a.createElement(s.Text,{style:bt.buttonText},"点击获取剪贴板内容")),l.a.createElement(s.Text,{style:[bt.defaultText,bt.copiedText]},o))}}const xt=s.StyleSheet.create({text:{fontSize:14,color:"#242424",alignSelf:"center"},container:{flex:1},itemTitle:{alignItems:"flex-start",justifyContent:"center",height:80,borderWidth:1,borderStyle:"solid",borderColor:"#e0e0e0",borderRadius:2,backgroundColor:"#fafafa",padding:10,marginTop:10},itemContent:{alignItems:"flex-start",justifyContent:"center",height:100,borderBottomWidth:1,borderLeftWidth:1,borderRightWidth:1,borderStyle:"solid",borderRadius:2,borderColor:"#e0e0e0",backgroundColor:"#ffffff",padding:10},normalText:{fontSize:14,lineHeight:18,color:"black"}});class St extends l.a.Component{constructor(e){super(e),this.state={infoText:"",infoText2:""}}render(){const{infoText:e,infoText2:t}=this.state;return l.a.createElement(s.ScrollView,{style:xt.container},l.a.createElement(s.View,{style:xt.itemTitle,onPress:()=>{const e=new s.HippyEventEmitter;this.call=e.addListener("NORMAL_EVENT",e=>{this.setState({infoText:JSON.stringify(e)})}),Object(s.callNative)("MyEvent","btnClicked")}},l.a.createElement(s.Text,null,"客户端向前端单向通信"),l.a.createElement(s.Text,null,"点此终端会发送NORMAL_EVENT事件"),l.a.createElement(s.Text,null,"事件接收结果:"+e)),l.a.createElement(s.View,{style:xt.itemTitle,onPress:()=>{const e=new s.HippyEventEmitter;this.call=e.addListener("COUNT_DOWN",e=>{this.setState({infoText2:JSON.stringify(e)})}),Object(s.callNative)("MyEvent","addListener","COUNT_DOWN")}},l.a.createElement(s.Text,null,"客户端向前端单向通信的进阶用法"),l.a.createElement(s.Text,null,"点此终端会发送COUNT_DOWN事件"),l.a.createElement(s.Text,null,"事件接收结果:"+t)))}}const Et=s.StyleSheet.create({itemTitle:{alignItems:"flex-start",justifyContent:"center",height:40,borderWidth:1,borderStyle:"solid",borderColor:"#e0e0e0",borderRadius:2,backgroundColor:"#fafafa",padding:10,marginTop:10},wrapper:{borderColor:"#eee",borderWidth:1,borderStyle:"solid",paddingHorizontal:10,paddingVertical:5,marginVertical:10,flexDirection:"column",justifyContent:"flex-start",alignItems:"flex-start"},infoContainer:{display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"flex-start",marginTop:5,marginBottom:5,flexWrap:"wrap"},infoText:{collapsable:!1,marginVertical:5}});class Tt extends l.a.Component{constructor(e){super(e),this.state={netInfoStatusTxt:"",netInfoChangeTxt:"",fetchInfoTxt:"",cookies:""},this.listener=null}async fetchNetInfoStatus(){this.setState({netInfoStatusTxt:await s.NetInfo.fetch()})}fetchUrl(){fetch("https://hippyjs.org",{mode:"no-cors"}).then(e=>(this.setState({fetchInfoTxt:"成功状态: "+e.status}),e)).catch(e=>{this.setState({fetchInfoTxt:"收到错误: "+e})})}setCookies(){s.NetworkModule.setCookie("https://hippyjs.org","name=hippy;network=mobile")}getCookies(){s.NetworkModule.getCookies("https://hippyjs.org").then(e=>{this.setState({cookies:e})})}async componentWillMount(){const e=this;this.listener=s.NetInfo.addEventListener("change",t=>{e.setState({netInfoChangeTxt:""+t.network_info})})}componentWillUnmount(){this.listener&&s.NetInfo.removeEventListener("change",this.listener)}componentDidMount(){this.fetchUrl(),this.fetchNetInfoStatus()}render(){const{netInfoStatusTxt:e,fetchInfoTxt:t,netInfoChangeTxt:n,cookies:o}=this.state,r=e=>l.a.createElement(s.View,{style:Et.itemTitle},l.a.createElement(s.Text,null,e));return l.a.createElement(s.ScrollView,{style:{paddingHorizontal:10}},r("Fetch"),l.a.createElement(s.View,{style:[Et.wrapper]},l.a.createElement(s.View,{style:[Et.infoContainer]},l.a.createElement(s.View,{style:{backgroundColor:"grey",padding:10,borderRadius:10,marginRight:10},onClick:()=>this.fetchUrl()},l.a.createElement(s.Text,{style:{color:"white"}},"请求 hippy 网址:")),l.a.createElement(s.Text,{style:Et.infoText},t))),r("NetInfo"),l.a.createElement(s.View,{style:[Et.wrapper]},l.a.createElement(s.View,{style:[Et.infoContainer]},l.a.createElement(s.View,{style:{backgroundColor:"grey",padding:10,borderRadius:10,marginRight:10},onClick:()=>this.fetchNetInfoStatus()},l.a.createElement(s.Text,{style:{color:"white"}},"获取网络状态:")),l.a.createElement(s.Text,{style:Et.infoText},e)),l.a.createElement(s.View,{style:[Et.infoContainer]},l.a.createElement(s.View,{style:{backgroundColor:"grey",padding:10,borderRadius:10,marginRight:10}},l.a.createElement(s.Text,{style:{color:"white"}},"监听网络变化:")),l.a.createElement(s.Text,{style:Et.infoText},n))),r("NetworkModule"),l.a.createElement(s.View,{style:[Et.wrapper]},l.a.createElement(s.View,{style:[Et.infoContainer]},l.a.createElement(s.View,{style:{backgroundColor:"grey",padding:10,borderRadius:10,marginRight:10},onClick:()=>this.setCookies()},l.a.createElement(s.Text,{style:{color:"white"}},"设置Cookies:")),l.a.createElement(s.Text,{style:Et.infoText},"name=hippy;network=mobile")),l.a.createElement(s.View,{style:[Et.infoContainer]},l.a.createElement(s.View,{style:{backgroundColor:"grey",padding:10,borderRadius:10,marginRight:10},onClick:()=>this.getCookies()},l.a.createElement(s.Text,{style:{color:"white"}},"获取Cookies:")),l.a.createElement(s.Text,{style:Et.infoText},o))))}}var At={log(e){Object(s.callNative)("TestModule","log",e)},helloNative(e){Object(s.callNative)("TestModule","helloNative",e)},helloNativeWithPromise:e=>Object(s.callNativeWithPromise)("TestModule","helloNativeWithPromise",e)};class Ct extends l.a.Component{constructor(e){super(e),this.state={hello:"TestModule log"}}componentDidMount(){At.log("hello i am from js"),At.helloNative({hello:"i am form js"}),At.helloNativeWithPromise({hello:"i am form js"}).then(e=>{this.setState({hello:JSON.stringify(e)})})}render(){const{hello:e}=this.state;return l.a.createElement(s.Text,{style:{color:"red"}},e)}}const Vt=s.StyleSheet.create({fullScreen:{flex:1},row:{flexDirection:"row"},title:{color:"#ccc"},button:{height:56,backgroundColor:"#4c9afa",borderColor:"#5dabfb",borderStyle:"solid",borderWidth:1,paddingHorizontal:20,fontSize:16,textAlign:"center",lineHeight:56,color:"#fff",margin:10},input:{color:"black",flex:1,height:36,lineHeight:36,fontSize:14,borderBottomColor:"#4c9afa",borderBottomStyle:"solid",borderBottomWidth:1,padding:0},output:{color:"black"}}),vt="wss://echo.websocket.org",kt="Rock it with Hippy WebSocket";let Rt;var It=function(){const e=Object(a.useRef)(null),t=Object(a.useRef)(null),[n,o]=Object(a.useState)([]),r=e=>{o(t=>[e,...t])};return l.a.createElement(s.View,{style:Vt.fullScreen},l.a.createElement(s.View,null,l.a.createElement(s.Text,{style:Vt.title},"Url:"),l.a.createElement(s.TextInput,{ref:e,value:vt,style:Vt.input}),l.a.createElement(s.View,{style:Vt.row},l.a.createElement(s.Text,{onClick:()=>{e.current.getValue().then(e=>{Rt&&1===Rt.readyState&&Rt.close(),Rt=new WebSocket(e),Rt.onopen=()=>r("[Opened] "+Rt.url),Rt.onclose=()=>r("[Closed] "+Rt.url),Rt.onerror=e=>r("[Error] "+e.reason),Rt.onmessage=e=>r("[Received] "+e.data)})},style:Vt.button},"Connect"),l.a.createElement(s.Text,{onClick:()=>Rt.close(),style:Vt.button},"Disconnect"))),l.a.createElement(s.View,null,l.a.createElement(s.Text,{style:Vt.title},"Message:"),l.a.createElement(s.TextInput,{ref:t,value:kt,style:Vt.input}),l.a.createElement(s.Text,{onClick:()=>t.current.getValue().then(e=>{r("[Sent] "+e),Rt.send(e)}),style:Vt.button},"Send")),l.a.createElement(s.View,null,l.a.createElement(s.Text,{style:Vt.title},"Log:"),l.a.createElement(s.ScrollView,{style:Vt.fullScreen},n.map((e,t)=>l.a.createElement(s.Text,{key:t,style:Vt.output},e)))))};function Dt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function Ot(e){for(var t=1;t{const e=s.Dimensions.get("screen");({width:t,height:n}=e)});const[o,r]=Object(a.useState)({width:100,height:100,top:10,left:10}),[i,c]=Object(a.useState)({width:0,height:0,x:0,y:0}),h=Ot(Ot({},Pt.box),o);return l.a.createElement(s.View,{style:Pt.full},l.a.createElement(s.View,{style:Pt.demoContent},l.a.createElement(s.View,{ref:e,style:h},l.a.createElement(s.Text,{style:Pt.text,numberOfLines:2},"I am the box"))),l.a.createElement(s.View,{style:Pt.buttonContainer},l.a.createElement(s.View,{onClick:()=>{const e=jt(0,t-100),o=jt(0,n-450),i=jt(80,120);r({left:e,top:o,width:i,height:i})},style:Pt.button},l.a.createElement(s.Text,{style:Pt.buttonText},"Move the random position")),l.a.createElement(s.View,{onClick:async()=>{try{const t=await s.UIManagerModule.measureInWindow(e.current);c(t)}catch(e){}},style:Pt.button},l.a.createElement(s.Text,{style:Pt.buttonText},"Measure box in window"))),l.a.createElement(s.View,{style:Pt.row},l.a.createElement(s.View,null,l.a.createElement(s.Text,null,"Box style:"),l.a.createElement(s.Text,{style:Pt.black},"Width: "+h.width),l.a.createElement(s.Text,{style:Pt.black},"Height: "+h.height),l.a.createElement(s.Text,{style:Pt.black},"Left: "+h.left),l.a.createElement(s.Text,{style:Pt.black},"Top: "+h.top)),l.a.createElement(s.View,null,l.a.createElement(s.Text,null,"measureInWindow output:"),l.a.createElement(s.Text,{style:Pt.black},"Width: "+i.width),l.a.createElement(s.Text,{style:Pt.black},"Height: "+i.height),l.a.createElement(s.Text,{style:Pt.black},"X: "+i.x),l.a.createElement(s.Text,{style:Pt.black},"Y: "+i.y))))};const Mt=s.StyleSheet.create({style_indicator_item:{width:4,height:4,marginLeft:2.5,marginRight:2.5,borderRadius:2},style_indicator:{position:"absolute",bottom:6,left:0,right:0,marginLeft:0,marginRight:0,alignItems:"center",justifyContent:"center",flexDirection:"row"}});class Bt extends l.a.Component{constructor(e){super(e),this.state={current:e.current||0}}update(e){const{current:t}=this.state;t!==e&&this.setState({current:e})}render(){const{count:e}=this.props,{current:t}=this.state,n=[];for(let o=0;o=r||(this.indicator&&this.indicator.update(o),this.currentIndex=o)}onScrollBeginDrag(){this.touchStartOffset=this.scrollOffset,this.doClearTimer()}onScrollEndDrag(){this.doCreateTimer()}onLayout(e){this.width=e.layout.width}doSwitchPage(e){this.scrollView.scrollTo({x:this.imgWidth*e,y:0,animated:!0})}doCreateTimer(){this.doClearTimer(),this.duration<=0||(this.interval=setInterval(()=>{this.doSwitchPage((this.currentIndex+1)%this.itemCount)},this.duration))}doClearTimer(){this.interval&&clearInterval(this.interval),this.interval=null}render(){const{images:e}=this.props,t=[];for(let n=0;n{this.scrollView=e}},t),l.a.createElement(Bt,{ref:e=>{this.indicator=e},count:this.itemCount}))}}W()(zt,"defaultProps",{duration:0,currentPage:0,images:[]});const Ft=["https://user-images.githubusercontent.com/12878546/148736627-bca54707-6939-45b3-84f7-74e6c2c09c88.jpg","https://user-images.githubusercontent.com/12878546/148736679-0521fdff-09f5-40e3-a36a-55c8f714be16.jpg","https://user-images.githubusercontent.com/12878546/148736685-a4c226ad-f64a-4fe0-b3df-ce0d8fcd7a01.jpg"],_t=s.StyleSheet.create({sliderStyle:{width:400,height:180},infoStyle:{height:40,fontSize:16,color:"#4c9afa",marginTop:15}});function Wt(){return l.a.createElement(s.ScrollView,null,l.a.createElement(s.Text,{style:_t.infoStyle},"Auto:"),l.a.createElement(zt,{style:_t.sliderStyle,images:Ft,duration:1e3}),l.a.createElement(s.Text,{style:_t.infoStyle},"Manual:"),l.a.createElement(zt,{style:_t.sliderStyle,images:Ft,duration:0}))}const Ht=s.StyleSheet.create({container:{height:45,paddingLeft:4,flexDirection:"row",backgroundColor:"#ffffff",borderBottomColor:"#E5E5E5",borderBottomWidth:1,borderStyle:"solid"},scroll:{flex:1,height:44},navItem:{width:60,height:44,paddingTop:13},navItemText:{fontSize:16,lineHeight:17,textAlign:"center",backgroundColor:"#ffffff"},navItemTextNormal:{color:"#666666"},navItemTextBlue:{color:"#2D73FF"}});class Nt extends l.a.Component{constructor(e){super(e),this.state={curIndex:0,navList:["头条","推荐","圈子","NBA","中超","英超","西甲","CBA","澳网","电影","本地","娱乐","小说","生活","直播","游戏"]},this.navScrollView=null,this.viewPager=null,this.onViewPagerChange=this.onViewPagerChange.bind(this),this.pressNavItem=this.pressNavItem.bind(this),this.scrollSV=this.scrollSV.bind(this)}static getPage(e,t){switch(t%3){case 0:return Ge(e);case 1:return Qe(e);case 2:return qe(e);default:return null}}componentDidUpdate(){this.scrollSV()}onViewPagerChange({position:e}){this.setState({curIndex:e})}scrollSV(){if(this.navScrollView){const{curIndex:e,navList:t}=this.state,n=t.length,o=de.getScreenWidth(),r=o/2/60,i=60*nn-r?60*n-o:60*e-60*r+30,this.navScrollView.scrollTo({x:a,y:0,animated:!0})}}pressNavItem(e){this.setState({curIndex:e}),this.viewPager&&this.viewPager.setPage(e)}renderNav(){const{navList:e,curIndex:t}=this.state;return l.a.createElement(s.View,{style:Ht.container},l.a.createElement(s.ScrollView,{style:Ht.scroll,horizontal:!0,showsHorizontalScrollIndicator:!1,ref:e=>{this.navScrollView=e}},e.map((e,n)=>l.a.createElement(s.View,{style:Ht.navItem,key:"nav_"+e,activeOpacity:.5,onClick:()=>this.pressNavItem(n)},l.a.createElement(s.Text,{style:[Ht.navItemText,t===n?Ht.navItemTextBlue:Ht.navItemTextNormal],numberOfLines:1},e)))))}render(){const{navList:e}=this.state;return l.a.createElement(s.View,{style:{flex:1,backgroundColor:"#ffffff"}},this.renderNav(),l.a.createElement(s.ViewPager,{ref:e=>{this.viewPager=e},style:{flex:1},initialPage:0,onPageSelected:this.onViewPagerChange},e.map((e,t)=>Nt.getPage(e,t))))}}const{width:Kt}=s.Dimensions.get("window"),Ut=s.StyleSheet.create({setNativePropsDemo:{display:"flex",alignItems:"center",position:"relative"},nativeDemo1Drag:{height:80,width:Kt,backgroundColor:"#4c9afa",position:"relative",marginTop:10},nativeDemo1Point:{height:80,width:80,color:"#4cccfa",backgroundColor:"#4cccfa",position:"absolute",left:0},nativeDemo2Drag:{height:80,width:Kt,backgroundColor:"#4c9afa",position:"relative",marginTop:10},nativeDemo2Point:{height:80,width:80,color:"#4cccfa",backgroundColor:"#4cccfa",position:"absolute",left:0},splitter:{marginTop:50}});class Gt extends l.a.Component{constructor(e){super(e),this.demon1Point=l.a.createRef(),this.demo1PointDom=null,this.state={demo2Left:0},this.isDemon1Layouted=!1,this.idDemon2Layouted=!1,this.onTouchDown1=this.onTouchDown1.bind(this),this.onDemon1Layout=this.onDemon1Layout.bind(this),this.onTouchMove1=this.onTouchMove1.bind(this),this.onTouchDown2=this.onTouchDown2.bind(this),this.onTouchMove2=this.onTouchMove2.bind(this)}componentDidMount(){}onDemon1Layout(){this.isDemon1Layouted||(this.isDemon1Layouted=!0,this.demo1PointDom=s.UIManagerModule.getElementFromFiberRef(this.demon1Point.current))}onTouchDown1(e){const{page_x:t}=e,n=t-40;console.log("touchdown x",t,n,Kt),this.demo1PointDom&&this.demo1PointDom.setNativeProps({style:{left:n}})}onTouchMove1(e){const{page_x:t}=e,n=t-40;console.log("touchmove x",t,n,Kt),this.demo1PointDom&&this.demo1PointDom.setNativeProps({style:{left:n}})}onTouchDown2(e){const{page_x:t}=e,n=t-40;console.log("touchdown x",t,n,Kt),this.setState({demo2Left:n})}onTouchMove2(e){const{page_x:t}=e,n=t-40;console.log("touchmove x",t,n,Kt),this.setState({demo2Left:n})}render(){const{demo2Left:e}=this.state;return l.a.createElement(s.View,{style:Ut.setNativePropsDemo},l.a.createElement(s.Text,null,"setNativeProps实现拖动效果"),l.a.createElement(s.View,{style:Ut.nativeDemo1Drag,onTouchDown:this.onTouchDown1,onTouchMove:this.onTouchMove1},l.a.createElement(s.View,{onLayout:this.onDemon1Layout,style:Ut.nativeDemo1Point,ref:this.demon1Point})),l.a.createElement(s.View,{style:Ut.splitter}),l.a.createElement(s.Text,null,"普通渲染实现拖动效果"),l.a.createElement(s.View,{style:Ut.nativeDemo2Drag,onTouchDown:this.onTouchDown2,onTouchMove:this.onTouchMove2},l.a.createElement(s.View,{style:[Ut.nativeDemo2Point,{left:e}]})))}}const qt=s.StyleSheet.create({dynamicImportDemo:{marginTop:20,display:"flex",flex:1,alignItems:"center",position:"relative",flexDirection:"column"}});class Qt extends l.a.Component{constructor(e){super(e),this.state={AsyncComponentFromLocal:null,AsyncComponentFromHttp:null},this.onAsyncComponentLoad=this.onAsyncComponentLoad.bind(this)}onAsyncComponentLoad(){console.log("load async component"),n.e(1).then(n.bind(null,"./src/externals/DyanmicImport/AsyncComponentLocal.jsx")).then(e=>{this.setState({AsyncComponentFromLocal:e.default||e})}).catch(e=>console.error("import async local component error",e)),n.e(0).then(n.bind(null,"./src/externals/DyanmicImport/AsyncComponentHttp.jsx")).then(e=>{this.setState({AsyncComponentFromHttp:e.default||e})}).catch(e=>console.error("import async remote component error",e))}render(){const{AsyncComponentFromLocal:e,AsyncComponentFromHttp:t}=this.state;return l.a.createElement(s.View,{style:qt.dynamicImportDemo},l.a.createElement(s.View,{style:{width:130,height:40,textAlign:"center",backgroundColor:"#4c9afa",borderRadius:5},onTouchDown:this.onAsyncComponentLoad},l.a.createElement(s.Text,{style:{height:40,lineHeight:40,textAlign:"center"}},"点我异步加载")),l.a.createElement(s.View,{style:{marginTop:20}},e?l.a.createElement(e,null):null,t?l.a.createElement(t,null):null))}}const Yt=s.StyleSheet.create({LocalizationDemo:{marginTop:20,display:"flex",flex:1,alignItems:"center",position:"relative",flexDirection:"column"}});class Xt extends l.a.Component{render(){const{country:e,language:t,direction:n}=s.Platform.Localization||{};return l.a.createElement(s.View,{style:Yt.LocalizationDemo},l.a.createElement(s.View,{style:{height:40,textAlign:"center",backgroundColor:"#4c9afa",borderRadius:5},onTouchDown:this.onAsyncComponentLoad},l.a.createElement(s.Text,{style:{color:"white",marginHorizontal:30,height:40,lineHeight:40,textAlign:"center"}},`国际化相关信息:国家 ${e} | 语言 ${t} | 方向 ${1===n?"RTL":"LTR"}`)))}}const Jt=()=>getTurboModule("demoTurbo").getTurboConfig(),Zt=s.StyleSheet.create({container:{flex:1},cellContentView:{flexDirection:"row",justifyContent:"space-between",backgroundColor:"#ccc",marginBottom:1},funcInfo:{justifyContent:"center",paddingLeft:15,paddingRight:15},actionButton:{backgroundColor:"#4c9afa",color:"#fff",height:44,lineHeight:44,textAlign:"center",width:80,borderRadius:6},resultView:{backgroundColor:"darkseagreen",minHeight:150,padding:15}});class $t extends l.a.Component{constructor(e){super(e),this.state={config:null,result:"",funList:["getString","getNum","getBoolean","getMap","getObject","getArray","nativeWithPromise","getTurboConfig","printTurboConfig","getInfo","setInfo"]},this.onTurboFunc=this.onTurboFunc.bind(this),this.getRenderRow=this.getRenderRow.bind(this),this.getRowKey=this.getRowKey.bind(this)}async onTurboFunc(e){let t;if("nativeWithPromise"===e)t=await(async e=>turboPromise(getTurboModule("demoTurbo").nativeWithPromise)(e))("aaa");else if("getTurboConfig"===e)this.config=Jt(),t="获取到config对象";else if("printTurboConfig"===e)n=this.config||Jt(),t=getTurboModule("demoTurbo").printTurboConfig(n);else if("getInfo"===e)t=(this.config||Jt()).getInfo();else if("setInfo"===e)(this.config||Jt()).setInfo("Hello World"),t="设置config信息成功";else{t={getString:()=>{return e="123",getTurboModule("demoTurbo").getString(e);var e},getNum:()=>{return e=1024,getTurboModule("demoTurbo").getNum(e);var e},getBoolean:()=>{return e=!0,getTurboModule("demoTurbo").getBoolean(e);var e},getMap:()=>{return e=new Map([["a","1"],["b",2]]),getTurboModule("demoTurbo").getMap(e);var e},getObject:()=>{return e={c:"3",d:"4"},getTurboModule("demoTurbo").getObject(e);var e},getArray:()=>{return e=["a","b","c"],getTurboModule("demoTurbo").getArray(e);var e}}[e]()}var n;this.setState({result:t})}renderResultView(){return l.a.createElement(s.View,{style:Zt.resultView},l.a.createElement(s.Text,{style:{backgroundColor:"darkseagreen"}},""+this.state.result))}getRenderRow(e){const{funList:t}=this.state;return l.a.createElement(s.View,{style:Zt.cellContentView},l.a.createElement(s.View,{style:Zt.funcInfo},l.a.createElement(s.Text,{numberofLines:0},"函数名:",t[e])),l.a.createElement(s.Text,{style:Zt.actionButton,onClick:()=>this.onTurboFunc(t[e])},"执行"))}getRowKey(e){const{funList:t}=this.state;return t[e]}render(){const{funList:e}=this.state;return l.a.createElement(s.View,{style:Zt.container},this.renderResultView(),l.a.createElement(s.ListView,{numberOfRows:e.length,renderRow:this.getRenderRow,getRowKey:this.getRowKey,style:{flex:1}}))}}function en(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function tn(e){for(var t=1;t0===e.index?l.a.createElement(s.View,{style:[ln.container]},l.a.createElement(s.View,{style:{backgroundColor:ln.title.backgroundColor,marginLeft:12}},l.a.createElement(s.Text,{numberOfLines:1,style:[ln.title,{fontWeight:"bold"}]},t.name)),l.a.createElement(s.View,{style:ln.headerButton},l.a.createElement(s.Text,{numberOfLines:1,style:ln.title},"ver: ","unspecified"!==s.default.version?""+s.default.version:"master"))):l.a.createElement(s.View,{style:[ln.container]},l.a.createElement(s.View,{onClick:()=>e.goBack(),style:[ln.headerButton,"ios"===s.Platform.OS?null:{marginLeft:20}]},l.a.createElement(s.Image,{style:ln.backIcon,source:{uri:"data:image/png;base64,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"}})),l.a.createElement(s.View,{style:ln.headerButton},l.a.createElement(s.Text,{numberOfLines:1,style:ln.title},t.name))));const cn="#4c9afa",hn="#f44837",un=s.StyleSheet.create({rowContainer:{alignItems:"center"},buttonView:{borderColor:cn,borderWidth:2,borderRadius:8,justifyContent:"center",alignItems:"center",width:250,height:50,marginTop:30,borderStyle:"solid"},buttonText:{fontSize:20,color:cn,textAlign:"center",textAlignVertical:"center"}});class dn extends a.Component{constructor(e){super(e),this.state={pressItem:"",dataSource:[...on]},this.renderRow=this.renderRow.bind(this),this.getRowType=this.getRowType.bind(this),this.getRowKey=this.getRowKey.bind(this),this.clickTo=this.clickTo.bind(this)}componentDidMount(){const{history:e}=this.props;"android"===s.Platform.OS&&s.BackAndroid.addListener(()=>(console.log("BackAndroid"),0!==e.index&&(e.goBack(),!0)))}getRowType(e){const{dataSource:t}=this.state;return t[e].meta.style}getRowKey(e){const{dataSource:t}=this.state;return t[e].path||""+e}feedback(e){const t=e||"";this.setState({pressItem:t})}clickTo(e){const{history:t}=this.props;t.push(e)}renderRow(e){const{dataSource:t,pressItem:n}=this.state,o=t[e],{style:r}=o.meta;return l.a.createElement(s.View,{style:un.rowContainer},l.a.createElement(s.View,{onPressIn:()=>this.feedback(o.path),onPressOut:()=>this.feedback(),onClick:()=>this.clickTo(o.path),style:[un.buttonView,{borderColor:1===r?cn:hn,opacity:n===o.path?.5:1}]},l.a.createElement(s.Text,{style:[un.buttonText,{color:1===r?cn:hn}]},o.name)))}render(){const{dataSource:e}=this.state;return l.a.createElement(s.ListView,{style:{flex:1,backgroundColor:"#ffffff"},numberOfRows:e.length,renderRow:this.renderRow,getRowType:this.getRowType,getRowKey:this.getRowKey})}}const mn=[{path:"/Gallery",name:"Hippy React",component:F(dn),meta:{style:1}},...on];var gn=()=>l.a.createElement(s.View,{style:{flex:1,backgroundColor:"#fff"}},l.a.createElement(R,{initialEntries:["/Gallery"]},mn.map(e=>{const t=e.component;return l.a.createElement(P,{key:e.path,exact:!0,path:""+e.path},l.a.createElement(s.View,{style:{flex:1,backgroundColor:"#fff"}},l.a.createElement(sn,{route:e}),l.a.createElement(t,{meta:e.meta||{}})))})));const fn=s.StyleSheet.create({stepText:{color:"#242424",marginBottom:12},container:{flex:1,backgroundColor:"#fff",justifyContent:"center",flexDirection:"column",padding:20},button:{width:140,height:40,borderRadius:8,backgroundColor:"#4c9afa",alignItems:"center",justifyContent:"center"},buttonText:{fontSize:16,textAlign:"center",lineHeight:40,color:"#fff"},buttonContainer:{alignItems:"center",marginTop:12,justifyContent:"center"},inputStyle:{width:350,marginTop:30,marginBottom:10,placeholderTextColor:"#aaaaaa",fontSize:16,color:"#242424",height:80,lineHeight:30,borderColor:"#eee",borderWidth:1,borderStyle:"solid"}});function yn({instanceId:e}){const t=Object(a.useRef)(null),n=()=>{t.current.blur()};return l.a.createElement(s.ScrollView,{style:fn.container,onClick:n},["安装远程调试依赖: npm i -D @hippy/debug-server-next@latest","修改 webpack 配置,添加远程调试地址","运行 npm run hippy:dev 开始编译,编译结束后打印出 bundleUrl 及调试首页地址","粘贴 bundleUrl 并点击开始按钮","访问调试首页开始远程调试,远程调试支持热更新(HMR)"].map((e,t)=>l.a.createElement(s.Text,{style:fn.stepText,key:"steps-"+t},t+1,". ",e)),l.a.createElement(s.TextInput,{ref:t,style:fn.inputStyle,placeholder:"please input bundleUrl",multiline:!0,numberOfLines:4,defaultValue:"http://127.0.0.1:38989/index.bundle?debugUrl=ws%3A%2F%2F127.0.0.1%3A38989%2Fdebugger-proxy"}),l.a.createElement(s.View,{style:fn.buttonContainer},l.a.createElement(s.View,{style:fn.button,onClick:()=>{n(),t.current.getValue().then(t=>{t&&Object(s.callNative)("TestModule","remoteDebug",e,t)})}},l.a.createElement(s.Text,{style:fn.buttonText,numberOfLines:1},"开始"))))}const pn=s.StyleSheet.create({container:{flex:1}});class bn extends a.Component{constructor(e){super(e);const{width:t,height:n}=s.Dimensions.get("screen");this.state={isVertical:t{switch(e){case 0:return l.a.createElement(gn,null);case 1:return l.a.createElement(yn,{instanceId:t});default:return l.a.createElement(s.View,{style:wn.blankPage})}})(),l.a.createElement(s.View,{style:wn.buttonContainer},(()=>["API","调试"].map((t,n)=>l.a.createElement(s.View,{key:"button_"+n,style:wn.button,onClick:()=>this.setState({pageIndex:n})},l.a.createElement(s.Text,{style:[wn.buttonText,n===e?{color:"#4c9afa"}:null],numberOfLines:1},t))))()))}}},"./src/main.js":function(e,t,n){"use strict";n.r(t),function(e){var t=n("../../packages/hippy-react/dist/index.js"),o=n("./src/app.jsx");e.Hippy.on("uncaughtException",e=>{console.error("uncaughtException error",e.stack,e.message)}),e.Hippy.on("unhandledRejection",e=>{console.error("unhandledRejection reason",e)}),new t.Hippy({appName:"Demo",entryPage:o.a,bubbles:!1,silent:!1}).start()}.call(this,n("./node_modules/webpack/buildin/global.js"))},0:function(e,t,n){n("./node_modules/regenerator-runtime/runtime.js"),e.exports=n("./src/main.js")},"dll-reference hippyReactBase":function(e,t){e.exports=hippyReactBase}}); \ No newline at end of file + */var o="function"==typeof Symbol&&Symbol.for,r=o?Symbol.for("react.element"):60103,i=o?Symbol.for("react.portal"):60106,a=o?Symbol.for("react.fragment"):60107,l=o?Symbol.for("react.strict_mode"):60108,s=o?Symbol.for("react.profiler"):60114,c=o?Symbol.for("react.provider"):60109,h=o?Symbol.for("react.context"):60110,u=o?Symbol.for("react.async_mode"):60111,d=o?Symbol.for("react.concurrent_mode"):60111,m=o?Symbol.for("react.forward_ref"):60112,g=o?Symbol.for("react.suspense"):60113,f=o?Symbol.for("react.suspense_list"):60120,y=o?Symbol.for("react.memo"):60115,p=o?Symbol.for("react.lazy"):60116,b=o?Symbol.for("react.block"):60121,w=o?Symbol.for("react.fundamental"):60117,S=o?Symbol.for("react.responder"):60118,x=o?Symbol.for("react.scope"):60119;function E(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case u:case d:case a:case s:case l:case g:return e;default:switch(e=e&&e.$$typeof){case h:case m:case p:case y:case c:return e;default:return t}}case i:return t}}}function A(e){return E(e)===d}t.AsyncMode=u,t.ConcurrentMode=d,t.ContextConsumer=h,t.ContextProvider=c,t.Element=r,t.ForwardRef=m,t.Fragment=a,t.Lazy=p,t.Memo=y,t.Portal=i,t.Profiler=s,t.StrictMode=l,t.Suspense=g,t.isAsyncMode=function(e){return A(e)||E(e)===u},t.isConcurrentMode=A,t.isContextConsumer=function(e){return E(e)===h},t.isContextProvider=function(e){return E(e)===c},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===r},t.isForwardRef=function(e){return E(e)===m},t.isFragment=function(e){return E(e)===a},t.isLazy=function(e){return E(e)===p},t.isMemo=function(e){return E(e)===y},t.isPortal=function(e){return E(e)===i},t.isProfiler=function(e){return E(e)===s},t.isStrictMode=function(e){return E(e)===l},t.isSuspense=function(e){return E(e)===g},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===a||e===d||e===s||e===l||e===g||e===f||"object"==typeof e&&null!==e&&(e.$$typeof===p||e.$$typeof===y||e.$$typeof===c||e.$$typeof===h||e.$$typeof===m||e.$$typeof===w||e.$$typeof===S||e.$$typeof===x||e.$$typeof===b)},t.typeOf=E},"./node_modules/react-is/index.js":function(e,t,n){"use strict";e.exports=n("./node_modules/react-is/cjs/react-is.production.min.js")},"./node_modules/react/index.js":function(e,t,n){e.exports=n("dll-reference hippyReactBase")("./node_modules/react/index.js")},"./node_modules/regenerator-runtime/runtime.js":function(e,t,n){var o=function(e){"use strict";var t=Object.prototype,n=t.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},r=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",a=o.toStringTag||"@@toStringTag";function l(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(e){l=function(e,t,n){return e[t]=n}}function s(e,t,n,o){var r=t&&t.prototype instanceof u?t:u,i=Object.create(r.prototype),a=new A(o||[]);return i._invoke=function(e,t,n){var o="suspendedStart";return function(r,i){if("executing"===o)throw new Error("Generator is already running");if("completed"===o){if("throw"===r)throw i;return T()}for(n.method=r,n.arg=i;;){var a=n.delegate;if(a){var l=S(a,n);if(l){if(l===h)continue;return l}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===o)throw o="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o="executing";var s=c(e,t,n);if("normal"===s.type){if(o=n.done?"completed":"suspendedYield",s.arg===h)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(o="completed",n.method="throw",n.arg=s.arg)}}}(e,n,a),i}function c(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}e.wrap=s;var h={};function u(){}function d(){}function m(){}var g={};l(g,r,(function(){return this}));var f=Object.getPrototypeOf,y=f&&f(f(C([])));y&&y!==t&&n.call(y,r)&&(g=y);var p=m.prototype=u.prototype=Object.create(g);function b(e){["next","throw","return"].forEach((function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function w(e,t){var o;this._invoke=function(r,i){function a(){return new t((function(o,a){!function o(r,i,a,l){var s=c(e[r],e,i);if("throw"!==s.type){var h=s.arg,u=h.value;return u&&"object"==typeof u&&n.call(u,"__await")?t.resolve(u.__await).then((function(e){o("next",e,a,l)}),(function(e){o("throw",e,a,l)})):t.resolve(u).then((function(e){h.value=e,a(h)}),(function(e){return o("throw",e,a,l)}))}l(s.arg)}(r,i,o,a)}))}return o=o?o.then(a,a):a()}}function S(e,t){var n=e.iterator[t.method];if(void 0===n){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,S(e,t),"throw"===t.method))return h;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return h}var o=c(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,h;var r=o.arg;return r?r.done?(t[e.resultName]=r.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,h):r:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,h)}function x(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function E(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function A(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function C(e){if(e){var t=e[r];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function t(){for(;++o=0;--r){var i=this.tryEntries[r],a=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var l=n.call(i,"catchLoc"),s=n.call(i,"finallyLoc");if(l&&s){if(this.prev=0;--o){var r=this.tryEntries[o];if(r.tryLoc<=this.prev&&n.call(r,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),E(n),h}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var o=n.completion;if("throw"===o.type){var r=o.arg;E(n)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:C(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),h}},e}(e.exports);try{regeneratorRuntime=o}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=o:Function("r","regeneratorRuntime = r")(o)}},"./node_modules/webpack/buildin/global.js":function(e,t,n){e.exports=n("dll-reference hippyReactBase")("./node_modules/webpack/buildin/global.js")},"./src/app.jsx":function(e,t,n){"use strict";n.d(t,"a",(function(){return yn}));var o={};n.r(o),n.d(o,"Focusable",(function(){return W})),n.d(o,"Image",(function(){return q})),n.d(o,"ListView",(function(){return $})),n.d(o,"Modal",(function(){return re})),n.d(o,"RefreshWrapper",(function(){return ve})),n.d(o,"PullHeaderFooter",(function(){return Re})),n.d(o,"ScrollView",(function(){return De})),n.d(o,"Text",(function(){return Le})),n.d(o,"TextInput",(function(){return Me})),n.d(o,"View",(function(){return _e})),n.d(o,"ViewPager",(function(){return Xe})),n.d(o,"WebView",(function(){return Ze})),n.d(o,"BoxShadow",(function(){return tt})),n.d(o,"WaterfallView",(function(){return rt})),n.d(o,"RippleViewAndroid",(function(){return ut}));var r={};n.r(r),n.d(r,"Animation",(function(){return ft})),n.d(r,"AsyncStorage",(function(){return pt})),n.d(r,"Clipboard",(function(){return wt})),n.d(r,"NetInfo",(function(){return xt})),n.d(r,"WebSocket",(function(){return Vt})),n.d(r,"UIManagerModule",(function(){return Dt}));var i={};n.r(i),n.d(i,"Slider",(function(){return Mt})),n.d(i,"TabHost",(function(){return Ft})),n.d(i,"SetNativeProps",(function(){return Wt})),n.d(i,"DynamicImport",(function(){return Kt})),n.d(i,"Localization",(function(){return Gt})),n.d(i,"Turbo",(function(){return Yt}));var a=n("./node_modules/react/index.js"),l=n.n(a),s=n("../../packages/hippy-react/dist/index.js"),c=n("./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js");function h(){return(h=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0;h--){var m=r[h];"."===m?d(r,h):".."===m?(d(r,h),c++):c&&(d(r,h),c--)}if(!l)for(;c--;c)r.unshift("..");!l||""===r[0]||r[0]&&u(r[0])||r.unshift("");var g=r.join("/");return n&&"/"!==g.substr(-1)&&(g+="/"),g};var g="Invariant failed";function f(e,t){if(!e)throw new Error(g)}function y(e){var t=e.pathname,n=e.search,o=e.hash,r=t||"/";return n&&"?"!==n&&(r+="?"===n.charAt(0)?n:"?"+n),o&&"#"!==o&&(r+="#"===o.charAt(0)?o:"#"+o),r}function p(e,t,n,o){var r;"string"==typeof e?(r=function(e){var t=e||"/",n="",o="",r=t.indexOf("#");-1!==r&&(o=t.substr(r),t=t.substr(0,r));var i=t.indexOf("?");return-1!==i&&(n=t.substr(i),t=t.substr(0,i)),{pathname:t,search:"?"===n?"":n,hash:"#"===o?"":o}}(e)).state=t:(void 0===(r=h({},e)).pathname&&(r.pathname=""),r.search?"?"!==r.search.charAt(0)&&(r.search="?"+r.search):r.search="",r.hash?"#"!==r.hash.charAt(0)&&(r.hash="#"+r.hash):r.hash="",void 0!==t&&void 0===r.state&&(r.state=t));try{r.pathname=decodeURI(r.pathname)}catch(e){throw e instanceof URIError?new URIError('Pathname "'+r.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):e}return n&&(r.key=n),o?r.pathname?"/"!==r.pathname.charAt(0)&&(r.pathname=m(r.pathname,o.pathname)):r.pathname=o.pathname:r.pathname||(r.pathname="/"),r}function b(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,o,r){if(null!=e){var i="function"==typeof e?e(t,n):e;"string"==typeof i?"function"==typeof o?o(i,r):r(!0):r(!1!==i)}else r(!0)},appendListener:function(e){var n=!0;function o(){n&&e.apply(void 0,arguments)}return t.push(o),function(){n=!1,t=t.filter((function(e){return e!==o}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),o=0;ot?n.splice(t,n.length-t,o):n.push(o),u({action:"PUSH",location:o,index:t,entries:n})}}))},replace:function(e,t){var o=p(e,t,d(),x.location);c.confirmTransitionTo(o,"REPLACE",n,(function(e){e&&(x.entries[x.index]=o,u({action:"REPLACE",location:o}))}))},go:S,goBack:function(){S(-1)},goForward:function(){S(1)},canGo:function(e){var t=x.index+e;return t>=0&&t=0||(r[n]=e[n]);return r}var T=n("./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js"),V=n.n(T),v=function(e){var t=Object(x.a)();return t.displayName=e,t}("Router"),k=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen((function(e){n._isMounted?n.setState({location:e}):n._pendingLocation=e}))),n}Object(c.a)(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){this._isMounted=!0,this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&this.unlisten()},n.render=function(){return l.a.createElement(v.Provider,{children:this.props.children||null,value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}})},t}(l.a.Component);var R=function(e){function t(){for(var t,n=arguments.length,o=new Array(n),r=0;rthis.onClick(e),requestFocus:0===e,focusStyle:{backgroundColor:"red"},noFocusStyle:{backgroundColor:"blue"}},l.a.createElement(s.Text,{style:{color:"white"}},t===e?"我被点击了"+e:"没有被点击"+e)))}render(){return l.a.createElement(s.ScrollView,null,this.getRenderRow(0),this.getRenderRow(1),this.getRenderRow(2),this.getRenderRow(3),this.getRenderRow(4),this.getRenderRow(5),this.getRenderRow(6),this.getRenderRow(7),this.getRenderRow(8),this.getRenderRow(9),this.getRenderRow(10),this.getRenderRow(11),this.getRenderRow(12),this.getRenderRow(13),this.getRenderRow(14),this.getRenderRow(15),this.getRenderRow(16),this.getRenderRow(17),this.getRenderRow(18))}}var N=n.p+"assets/defaultSource.jpg",K=n.p+"assets/hippyLogoWhite.png";const U="https://user-images.githubusercontent.com/12878546/148736102-7cd9525b-aceb-41c6-a905-d3156219ef16.png",G=s.StyleSheet.create({container_style:{alignItems:"center"},image_style:{width:300,height:180,margin:16,borderColor:"#4c9afa",borderWidth:1,borderStyle:"solid",borderRadius:4},info_style:{marginTop:15,marginLeft:16,fontSize:16,color:"#4c9afa"}});function q(){return l.a.createElement(s.ScrollView,{style:G.container_style},l.a.createElement(s.Text,{style:G.info_style},"Contain:"),l.a.createElement(s.Image,{style:[G.image_style],resizeMode:s.Image.resizeMode.contain,defaultSource:N,source:{uri:U},onProgress:e=>{console.log("onProgress",e)},onLoadStart:()=>{console.log("image onloadStart")},onLoad:()=>{console.log("image onLoad")},onError:e=>{console.log("image onError",e)},onLoadEnd:()=>{console.log("image onLoadEnd")}}),l.a.createElement(s.Text,{style:G.info_style},"Cover:"),l.a.createElement(s.Image,{style:[G.image_style],defaultSource:N,source:{uri:U},resizeMode:s.Image.resizeMode.cover}),l.a.createElement(s.Text,{style:G.info_style},"Center:"),l.a.createElement(s.Image,{style:[G.image_style],defaultSource:N,source:{uri:U},resizeMode:s.Image.resizeMode.center}),l.a.createElement(s.Text,{style:G.info_style},"CapInsets:"),l.a.createElement(s.Image,{style:[G.image_style],defaultSource:N,source:{uri:U},capInsets:{top:50,left:50,bottom:50,right:50},resizeMode:s.Image.resizeMode.cover}),l.a.createElement(s.Text,{style:G.info_style},"TintColor:"),l.a.createElement(s.Image,{style:[G.image_style,{tintColor:"#4c9afa99"}],defaultSource:N,source:{uri:K},resizeMode:s.Image.resizeMode.center}),l.a.createElement(s.Text,{style:G.info_style},"Cover GIF:"),l.a.createElement(s.Image,{style:[G.image_style],resizeMode:s.Image.resizeMode.cover,defaultSource:N,source:{uri:"https://user-images.githubusercontent.com/12878546/148736255-7193f89e-9caf-49c0-86b0-548209506bd6.gif"},onLoadEnd:()=>{console.log("gif onLoadEnd")}}))}const Q=[{style:1},{style:2},{style:5},{style:1},{style:2},{style:5},{style:1},{style:2},{style:5},{style:1},{style:2},{style:5},{style:1},{style:2},{style:5},{style:1},{style:2},{style:5},{style:1},{style:2},{style:5},{style:1},{style:2},{style:5},{style:1},{style:2},{style:5},{style:1},{style:2},{style:5}],Y=s.StyleSheet.create({container:{backgroundColor:"#fff",collapsable:!1},itemContainer:{padding:12},separatorLine:{marginLeft:12,marginRight:12,height:1,backgroundColor:"#e5e5e5"},loading:{fontSize:11,color:"#aaaaaa",alignSelf:"center"}});function X({index:e}){return l.a.createElement(s.View,{style:Y.container,onClickCapture:e=>{console.log("onClickCapture style1",e.target.nodeId,e.currentTarget.nodeId)},onTouchDown:e=>(e.stopPropagation(),console.log("onTouchDown style1",e.target.nodeId,e.currentTarget.nodeId),!1),onClick:e=>(console.log("click style1",e.target.nodeId,e.currentTarget.nodeId),!1)},l.a.createElement(s.Text,{numberOfLines:1},e+": Style 1 UI"))}function J({index:e}){return l.a.createElement(s.View,{style:Y.container},l.a.createElement(s.Text,{numberOfLines:1},e+": Style 2 UI"))}function Z({index:e}){return l.a.createElement(s.View,{style:Y.container},l.a.createElement(s.Text,{numberOfLines:1},e+": Style 5 UI"))}class $ extends l.a.Component{constructor(e){super(e),this.state={dataSource:Q,fetchingDataFlag:!1,horizontal:void 0},this.delText="Delete",this.mockFetchData=this.mockFetchData.bind(this),this.getRenderRow=this.getRenderRow.bind(this),this.onEndReached=this.onEndReached.bind(this),this.getRowType=this.getRowType.bind(this),this.getRowKey=this.getRowKey.bind(this),this.getRowStyle=this.getRowStyle.bind(this),this.onDelete=this.onDelete.bind(this),this.onAppear=this.onAppear.bind(this),this.onDisappear=this.onDisappear.bind(this),this.onWillAppear=this.onWillAppear.bind(this),this.onWillDisappear=this.onWillDisappear.bind(this),this.rowShouldSticky=this.rowShouldSticky.bind(this),this.onScroll=this.onScroll.bind(this)}onDelete({index:e}){const{dataSource:t}=this.state,n=t.filter((t,n)=>e!==n);this.setState({dataSource:n})}async onEndReached(){const{dataSource:e,fetchingDataFlag:t}=this.state;if(t)return;this.setState({fetchingDataFlag:!0,dataSource:e.concat([{style:100}])});const n=await this.mockFetchData(),o=e.concat(n);this.setState({dataSource:o,fetchingDataFlag:!1})}onAppear(e){console.log("onAppear",e)}onScroll(e){console.log("onScroll",e.contentOffset.y),e.contentOffset.y<=0?this.topReached||(this.topReached=!0,console.log("onTopReached")):this.topReached=!1}onDisappear(e){console.log("onDisappear",e)}onWillAppear(e){console.log("onWillAppear",e)}onWillDisappear(e){console.log("onWillDisappear",e)}rowShouldSticky(e){return 2===e}getRowType(e){return this.state.dataSource[e].style}getRowStyle(){const{horizontal:e}=this.state;return e?{width:100,height:50}:{}}getRowKey(e){return"row-"+e}getRenderRow(e){const{dataSource:t}=this.state;let n=null;const o=t[e],r=t.length===e+1;switch(o.style){case 1:n=l.a.createElement(X,{index:e});break;case 2:n=l.a.createElement(J,{index:e});break;case 5:n=l.a.createElement(Z,{index:e});break;case 100:n=l.a.createElement(s.Text,{style:Y.loading},"Loading now...")}return l.a.createElement(s.View,{style:Y.container,onClickCapture:e=>{console.log("onClickCapture style outer",e.target.nodeId,e.currentTarget.nodeId)},onTouchDown:e=>(console.log("onTouchDown style outer",e.target.nodeId,e.currentTarget.nodeId),!1),onClick:e=>(console.log("click style outer",e.target.nodeId,e.currentTarget.nodeId),!1)},l.a.createElement(s.View,{style:Y.itemContainer},n),r?null:l.a.createElement(s.View,{style:Y.separatorLine}))}mockFetchData(){return new Promise(e=>{setTimeout(()=>e(Q),600)})}changeDirection(){this.setState({horizontal:void 0===this.state.horizontal||void 0})}render(){const{dataSource:e,horizontal:t}=this.state;return l.a.createElement(s.View,{style:{flex:1,collapsable:!1}},l.a.createElement(s.ListView,{onTouchDown:e=>{console.log("onTouchDown ListView",e.target.nodeId,e.currentTarget.nodeId)},onClickCapture:e=>{console.log("onClickCapture listview",e.target.nodeId,e.currentTarget.nodeId)},onClick:e=>(console.log("click listview",e.target.nodeId,e.currentTarget.nodeId),!0),bounces:!0,horizontal:t,style:[{backgroundColor:"#ffffff"},t?{height:50}:{flex:1}],numberOfRows:e.length,renderRow:this.getRenderRow,onEndReached:this.onEndReached,getRowType:this.getRowType,onDelete:this.onDelete,onMomentumScrollBegin:e=>console.log("onMomentumScrollBegin",e),onMomentumScrollEnd:e=>console.log("onMomentumScrollEnd",e),onScrollBeginDrag:e=>console.log("onScrollBeginDrag",e),onScrollEndDrag:e=>console.log("onScrollEndDrag",e),delText:this.delText,editable:!0,getRowStyle:this.getRowStyle,getRowKey:this.getRowKey,initialListSize:15,rowShouldSticky:this.rowShouldSticky,onAppear:this.onAppear,onDisappear:this.onDisappear,onWillAppear:this.onWillAppear,onWillDisappear:this.onWillDisappear,onScroll:this.onScroll,scrollEventThrottle:1e3}),"android"===s.Platform.OS?l.a.createElement(s.View,{onClick:()=>this.changeDirection(),style:{position:"absolute",right:20,bottom:20,width:67,height:67,borderRadius:30,boxShadowOpacity:.6,boxShadowRadius:5,boxShadowOffsetX:3,boxShadowOffsetY:3,boxShadowColor:"#4c9afa"}},l.a.createElement(s.View,{style:{width:60,height:60,borderRadius:30,backgroundColor:"#4c9afa",display:"flex",justifyContent:"center",alignItems:"center"}},l.a.createElement(s.Text,{style:{color:"white"}},"切换方向"))):null)}}const ee="#4c9afa",te="#4c9afa",ne="white",oe=s.StyleSheet.create({container:{flex:1,flexDirection:"row",justifyContent:"center"},buttonView:{borderColor:ee,borderWidth:2,borderStyle:"solid",borderRadius:8,justifyContent:"center",alignItems:"center",width:250,height:50,marginTop:30},buttonText:{fontSize:20,color:ee,textAlign:"center",textAlignVertical:"center"}});class re extends l.a.Component{constructor(e){super(e),this.state={visible:!1,press:!1},this.show=this.show.bind(this),this.hide=this.hide.bind(this)}feedback(e){this.setState({press:"in"===e})}show(){this.setState({visible:!0})}hide(){this.setState({visible:!1})}render(){const{press:e,visible:t}=this.state;return l.a.createElement(s.ScrollView,null,l.a.createElement(s.View,{style:oe.container},l.a.createElement(s.View,{onPressIn:()=>this.feedback("in"),onPressOut:()=>this.feedback("out"),onClick:this.show,style:[oe.buttonView,{borderColor:ee,opacity:e?.5:1}]},l.a.createElement(s.Text,{style:[oe.buttonText,{color:ee}]},"点击弹出浮层"))),l.a.createElement(s.Modal,{transparent:!0,animationType:"slide_fade",visible:t,onRequestClose:()=>{},supportedOrientations:["portrait"],immersionStatusBar:!0},l.a.createElement(s.View,{style:{flex:1,flexDirection:"row",justifyContent:"center",backgroundColor:"#4c9afa88"}},l.a.createElement(s.View,{onClick:this.hide,style:{width:200,height:200,backgroundColor:te,marginTop:300,flexDirection:"row",justifyContent:"center"}},l.a.createElement(s.Text,{style:{color:ne,fontSize:22,marginTop:80}},"点击关闭浮层")))))}}const ie="https://user-images.githubusercontent.com/12878546/148736841-59ce5d1c-8010-46dc-8632-01c380159237.jpg",ae={style:1,itemBean:{title:"非洲总统出行真大牌,美制武装直升机和中国潜艇为其保驾",picList:[ie,ie,ie],subInfo:["三图评论","11评"]}},le={style:2,itemBean:{title:"彼得·泰尔:认知未来是投资人的谋生之道",picUrl:"https://user-images.githubusercontent.com/12878546/148736850-4fc13304-25d4-4b6a-ada3-cbf0745666f5.jpg",subInfo:["左文右图"]}},se={style:5,itemBean:{title:"愤怒!美官员扬言:“不让中国拿走南海的岛屿,南海岛礁不属于中国”?",picUrl:"https://user-images.githubusercontent.com/12878546/148736859-29e3a5b2-612a-4fdd-ad21-dc5d29fa538f.jpg",subInfo:["六眼神魔 5234播放"]}};var ce=[se,ae,le,ae,le,ae,le,se,ae],he=n("./node_modules/@babel/runtime/helpers/extends.js"),ue=n.n(he);var de={getScreenWidth(){const e=s.Dimensions.get("screen").width,t=s.Dimensions.get("screen").height,n=e>t?t:e;return Math.floor(n)},uniqueArray(e){const t=[];for(let n=0;n=812&&s.PixelRatio.get()>=2&&(e=!0),e}};const me=(de.getScreenWidth()-24-12)/3,ge=Math.floor(me/1.35),fe=s.StyleSheet.create({imageContainer:{flexDirection:"row",justifyContent:"center",height:ge,marginTop:8},normalText:{fontSize:11,color:"#aaaaaa",alignSelf:"center"},image:{width:me,height:ge},title:{fontSize:"android"===s.Platform.OS?17:18,lineHeight:24,color:"#242424"},tagLine:{marginTop:8,height:20,flexDirection:"row",justifyContent:"flex-start"}});function ye(e){const{itemBean:{title:t,picList:n}}=e;let{itemBean:{subInfo:o}}=e,r=null;if(o&&o.length){o=de.uniqueArray(o);const e=o.join(" ");r=l.a.createElement(s.Text,{style:fe.normalText,numberOfLines:1},e)}return l.a.createElement(s.View,ue()({},e,{style:{collapsable:!1}}),l.a.createElement(s.Text,{style:[fe.title],numberOfLines:2,enableScale:!0},t),l.a.createElement(s.View,{style:fe.imageContainer},l.a.createElement(s.Image,{style:fe.image,source:{uri:n[0]},resizeMode:s.Image.resizeMode.cover}),l.a.createElement(s.Image,{style:[fe.image,{marginLeft:6,marginRight:6}],source:{uri:n[1]},resizeMode:s.Image.resizeMode.cover}),l.a.createElement(s.Image,{style:fe.image,source:{uri:n[2]},resizeMode:s.Image.resizeMode.cover})),r?l.a.createElement(s.View,{style:fe.tagLine},r):null)}const pe=de.getScreenWidth()-24,be=Math.floor(pe-12)/3,we=Math.floor(be/1.35),Se=s.StyleSheet.create({container:{flexDirection:"row",justifyContent:"space-between",height:we},leftContainer:{flex:1,flexDirection:"column",justifyContent:"center",marginRight:8},imageContainer:{width:be,height:we},image:{width:be,height:we},title:{fontSize:"android"===s.Platform.OS?17:18,lineHeight:24},tagLine:{marginTop:8,height:20,flexDirection:"row",justifyContent:"flex-start"},normalText:{fontSize:11,color:"#aaaaaa",alignSelf:"center"}});function xe(e){if("undefined"===e)return null;const{itemBean:t}=e;if(!t)return null;let n=null;const{title:o,picUrl:r}=t;let{subInfo:i}=t;if(i&&i.length){i=de.uniqueArray(i);const e=i.join(" ");n=l.a.createElement(s.Text,{style:Se.normalText,numberOfLines:1},e)}return l.a.createElement(s.View,ue()({},e,{style:Se.container}),l.a.createElement(s.View,{style:Se.leftContainer},l.a.createElement(s.Text,{style:Se.title,numberOfLines:2,enableScale:!0},o),n?l.a.createElement(s.View,{style:Se.tagLine},n):null),l.a.createElement(s.View,{style:Se.imageContainer},l.a.createElement(s.Image,{resizeMode:s.Image.resizeMode.cover,style:Se.image,source:{uri:r}})))}const Ee=de.getScreenWidth()-24,Ae=Math.floor(188*Ee/336),Ce=s.StyleSheet.create({text:{fontSize:"android"===s.Platform.OS?17:18,lineHeight:24,color:"#242424"},playerView:{marginTop:8,alignItems:"center",width:Ee,height:Ae,alignSelf:"center"},image:{width:Ee,height:Ae},normalText:{fontSize:11,color:"#aaaaaa",alignSelf:"center"},tagLine:{marginTop:8,flexDirection:"row",justifyContent:"space-between",alignItems:"center"}});function Te(e){if("undefined"===e)return null;const{itemBean:t}=e;if(!t)return null;const{title:n,picUrl:o}=t;let{subInfo:r}=t,i=null;if(r&&r.length){r=de.uniqueArray(r);const e=r.join(" ");i=l.a.createElement(s.Text,{style:Ce.normalText,numberOfLines:1},e)}return l.a.createElement(s.View,e,l.a.createElement(s.Text,{style:Ce.text,numberOfLines:2,enableScale:!0},n),l.a.createElement(s.View,{style:Ce.playerView},l.a.createElement(s.Image,{style:Ce.image,source:{uri:o},resizeMode:s.Image.resizeMode.cover})),i?l.a.createElement(s.View,{style:Ce.tagLine},i):null)}const Ve=s.StyleSheet.create({container:{backgroundColor:"#ffffff"},itemContainer:{padding:12},spliter:{marginLeft:12,marginRight:12,height:.5,backgroundColor:"#e5e5e5"},loading:{fontSize:11,color:"#aaaaaa",alignSelf:"center"}});class ve extends l.a.Component{constructor(e){super(e),this.state={dataSource:[],loadingState:"正在加载..."},this.fetchTimes=0,this.mockFetchData=this.mockFetchData.bind(this),this.onRefresh=this.onRefresh.bind(this),this.getRefresh=this.getRefresh.bind(this),this.getRenderRow=this.getRenderRow.bind(this),this.onEndReached=this.onEndReached.bind(this),this.getRowType=this.getRowType.bind(this),this.getRowKey=this.getRowKey.bind(this)}async componentDidMount(){const e=await this.mockFetchData();this.setState({dataSource:e})}async onEndReached(){const{dataSource:e,fetchingDataFlag:t}=this.state;if(t)return;this.setState({fetchingDataFlag:!0,dataSource:e.concat([{style:100}])});const n=await this.mockFetchData(),o=e[e.length-1];o&&100===o.style&&e.pop();const r=e.concat(n);this.setState({dataSource:r})}onRefresh(){setTimeout(async()=>{const e=await this.mockFetchData();this.setState({dataSource:e}),this.refresh.refreshComplected()},1e3)}onClickItem(e){console.log(`item: ${e} is clicked..`)}getRenderRow(e){const{dataSource:t,loadingState:n}=this.state;let o=null;const r=t[e],i=t.length===e+1;switch(r.style){case 1:o=l.a.createElement(ye,{itemBean:r.itemBean,onClick:()=>this.onClickItem(e)});break;case 2:o=l.a.createElement(xe,{itemBean:r.itemBean,onClick:()=>this.onClickItem(e)});break;case 5:o=l.a.createElement(Te,{itemBean:r.itemBean,onClick:()=>this.onClickItem(e)});break;case 100:o=l.a.createElement(s.Text,{style:Ve.loading},n)}return l.a.createElement(s.View,{style:Ve.container},l.a.createElement(s.View,{style:Ve.itemContainer},o),i?null:l.a.createElement(s.View,{style:Ve.spliter}))}getRowType(e){return this.state.dataSource[e].style}getRowKey(e){return"row-"+e}getRefresh(){return l.a.createElement(s.View,{style:{flex:1,height:30}},l.a.createElement(s.Text,{style:{flex:1,textAlign:"center"}},"下拉刷新中..."))}mockFetchData(){return new Promise(e=>{setTimeout(()=>(this.setState({fetchingDataFlag:!1}),this.fetchTimes+=1,this.fetchTimes>=50?e([]):e(ce)),600)})}render(){const{dataSource:e}=this.state;return l.a.createElement(s.RefreshWrapper,{ref:e=>{this.refresh=e},style:{flex:1},onRefresh:this.onRefresh,bounceTime:100,getRefresh:this.getRefresh},l.a.createElement(s.ListView,{style:{flex:1,backgroundColor:"#ffffff"},numberOfRows:e.length,renderRow:this.getRenderRow,onEndReached:this.onEndReached,getRowType:this.getRowType,getRowKey:this.getRowKey}))}}const ke=s.StyleSheet.create({container:{backgroundColor:"#ffffff"},itemContainer:{padding:12},splitter:{marginLeft:12,marginRight:12,height:.5,backgroundColor:"#e5e5e5"},loading:{fontSize:11,color:"#aaaaaa",alignSelf:"center"},pullContainer:{flex:1,height:50,backgroundColor:"#4c9afa"},pullContent:{lineHeight:50,color:"white",height:50,textAlign:"center"},pullFooter:{height:40,flex:1,backgroundColor:"#4c9afa",justifyContent:"center",alignItems:"center"}});class Re extends l.a.Component{constructor(e){super(e),this.state={dataSource:[],headerRefreshText:"继续下拉触发刷新",footerRefreshText:"正在加载...",horizontal:void 0},this.loadMoreDataFlag=!1,this.fetchingDataFlag=!1,this.mockFetchData=this.mockFetchData.bind(this),this.renderRow=this.renderRow.bind(this),this.getRowType=this.getRowType.bind(this),this.getRowKey=this.getRowKey.bind(this),this.getHeaderStyle=this.getHeaderStyle.bind(this),this.getFooterStyle=this.getFooterStyle.bind(this),this.getRowStyle=this.getRowStyle.bind(this),this.renderPullHeader=this.renderPullHeader.bind(this),this.renderPullFooter=this.renderPullFooter.bind(this),this.onEndReached=this.onEndReached.bind(this),this.onHeaderReleased=this.onHeaderReleased.bind(this),this.onHeaderPulling=this.onHeaderPulling.bind(this),this.onFooterPulling=this.onFooterPulling.bind(this)}async componentDidMount(){const e=await this.mockFetchData();this.setState({dataSource:e}),this.listView.collapsePullHeader()}mockFetchData(){return new Promise(e=>{setTimeout(()=>e(ce),800)})}async onEndReached(){const{dataSource:e}=this.state;if(this.loadMoreDataFlag)return;this.loadMoreDataFlag=!0,this.setState({footerRefreshText:"加载更多..."});let t=[];try{t=await this.mockFetchData()}catch(e){}0===t.length&&this.setState({footerRefreshText:"没有更多数据"});const n=[...e,...t];this.setState({dataSource:n}),this.loadMoreDataFlag=!1,this.listView.collapsePullFooter()}async onHeaderReleased(){if(this.fetchingDataFlag)return;this.fetchingDataFlag=!0,console.log("onHeaderReleased"),this.setState({headerRefreshText:"刷新数据中,请稍等"});let e=[];try{e=await this.mockFetchData(),e=e.reverse()}catch(e){}this.fetchingDataFlag=!1,this.setState({dataSource:e,headerRefreshText:"2秒后收起"},()=>{this.listView.collapsePullHeader({time:2e3})})}onHeaderPulling(e){this.fetchingDataFlag||(console.log("onHeaderPulling",e.contentOffset),e.contentOffset>ke.pullContent.height?this.setState({headerRefreshText:"松手,即可触发刷新"}):this.setState({headerRefreshText:"继续下拉,触发刷新"}))}onFooterPulling(e){console.log("onFooterPulling",e)}onClickItem(e,t){console.log(`item: ${e} is clicked..`,t.target.nodeId,t.currentTarget.nodeId)}getRowType(e){return this.state.dataSource[e].style}getRowKey(e){return"row-"+e}getHeaderStyle(){const{horizontal:e}=this.state;return e?{width:50}:{}}renderPullHeader(){const{headerRefreshText:e,horizontal:t}=this.state;return t?l.a.createElement(s.View,{style:{width:40,height:300,backgroundColor:"#4c9afa",justifyContent:"center",alignItems:"center"}},l.a.createElement(s.Text,{style:{lineHeight:25,color:"white",width:40,paddingHorizontal:15}},e)):l.a.createElement(s.View,{style:ke.pullContainer},l.a.createElement(s.Text,{style:ke.pullContent},e))}getFooterStyle(){const{horizontal:e}=this.state;return e?{width:40}:{}}renderPullFooter(){const{horizontal:e}=this.state;return e?l.a.createElement(s.View,{style:{width:40,height:300,backgroundColor:"#4c9afa",justifyContent:"center",alignItems:"center"}},l.a.createElement(s.Text,{style:{color:"white",lineHeight:25,width:40,paddingHorizontal:15}},this.state.footerRefreshText)):l.a.createElement(s.View,{style:ke.pullFooter},l.a.createElement(s.Text,{style:{color:"white"}},this.state.footerRefreshText))}renderRow(e){const{dataSource:t}=this.state;let n=null;const o=t[e],r=t.length===e+1;switch(o.style){case 1:n=l.a.createElement(ye,{itemBean:o.itemBean,onClick:t=>this.onClickItem(e,t)});break;case 2:n=l.a.createElement(xe,{itemBean:o.itemBean,onClick:t=>this.onClickItem(e,t)});break;case 5:n=l.a.createElement(Te,{itemBean:o.itemBean,onClick:t=>this.onClickItem(e,t)})}return l.a.createElement(s.View,{style:ke.container},l.a.createElement(s.View,{style:ke.itemContainer},n),r?null:l.a.createElement(s.View,{style:ke.splitter}))}getRowStyle(){const{horizontal:e}=this.state;return e?{height:300,justifyContent:"center",alignItems:"center"}:{}}changeDirection(){this.setState({horizontal:void 0===this.state.horizontal||void 0})}render(){const{dataSource:e,horizontal:t}=this.state;return l.a.createElement(s.View,{style:{flex:1,collapsable:!1}},l.a.createElement(s.ListView,{horizontal:t,onClick:e=>console.log("ListView",e.target.nodeId,e.currentTarget.nodeId),ref:e=>{this.listView=e},style:[{backgroundColor:"#ffffff"},t?{height:300}:{flex:1}],numberOfRows:e.length,getRowType:this.getRowType,getRowKey:this.getRowKey,getHeaderStyle:this.getHeaderStyle,getFooterStyle:this.getFooterStyle,getRowStyle:this.getRowStyle,renderRow:this.renderRow,renderPullHeader:this.renderPullHeader,renderPullFooter:this.renderPullFooter,onHeaderReleased:this.onHeaderReleased,onHeaderPulling:this.onHeaderPulling,onFooterReleased:this.onEndReached,onFooterPulling:this.onFooterPulling}),"android"===s.Platform.OS?l.a.createElement(s.View,{onClick:()=>this.changeDirection(),style:{position:"absolute",right:20,bottom:20,width:67,height:67,borderRadius:30,boxShadowOpacity:.6,boxShadowRadius:5,boxShadowOffsetX:3,boxShadowOffsetY:3,boxShadowColor:"#4c9afa"}},l.a.createElement(s.View,{style:{width:60,height:60,borderRadius:30,backgroundColor:"#4c9afa",display:"flex",justifyContent:"center",alignItems:"center"}},l.a.createElement(s.Text,{style:{color:"white"}},"切换方向"))):null)}}const Ie=s.StyleSheet.create({itemStyle:{width:100,height:100,lineHeight:100,borderWidth:1,borderStyle:"solid",borderColor:"#4c9afa",fontSize:80,margin:20,color:"#4c9afa",textAlign:"center"},verticalScrollView:{height:300,width:140,margin:20,borderColor:"#eee",borderWidth:1,borderStyle:"solid"},itemTitle:{alignItems:"flex-start",justifyContent:"center",height:40,borderWidth:1,borderStyle:"solid",borderColor:"#e0e0e0",borderRadius:2,backgroundColor:"#fafafa",padding:10,marginTop:10}});function De(){return l.a.createElement(s.ScrollView,null,l.a.createElement(s.View,{style:Ie.itemTitle},l.a.createElement(s.Text,null,"Horizontal ScrollView")),l.a.createElement(s.View,null,l.a.createElement(s.ScrollView,{horizontal:!0,bounces:!0,showsHorizontalScrollIndicator:!1,showScrollIndicator:!1,onScroll:e=>console.log("onScroll",e),onMomentumScrollBegin:e=>console.log("onMomentumScrollBegin",e),onMomentumScrollEnd:e=>console.log("onMomentumScrollEnd",e),onScrollBeginDrag:e=>console.log("onScrollBeginDrag",e),onScrollEndDrag:e=>console.log("onScrollEndDrag",e)},l.a.createElement(s.Text,{style:Ie.itemStyle},"A"),l.a.createElement(s.Text,{style:Ie.itemStyle},"B"),l.a.createElement(s.Text,{style:Ie.itemStyle},"C"),l.a.createElement(s.Text,{style:Ie.itemStyle},"D"),l.a.createElement(s.Text,{style:Ie.itemStyle},"E"),l.a.createElement(s.Text,{style:Ie.itemStyle},"F"),l.a.createElement(s.Text,{style:Ie.itemStyle},"A"))),l.a.createElement(s.View,{style:Ie.itemTitle},l.a.createElement(s.Text,null,"Vertical ScrollView")),l.a.createElement(s.ScrollView,{bounces:!0,horizontal:!1,style:Ie.verticalScrollView,showScrollIndicator:!1,showsVerticalScrollIndicator:!1},l.a.createElement(s.Text,{style:Ie.itemStyle},"A"),l.a.createElement(s.Text,{style:Ie.itemStyle},"B"),l.a.createElement(s.Text,{style:Ie.itemStyle},"C"),l.a.createElement(s.Text,{style:Ie.itemStyle},"D"),l.a.createElement(s.Text,{style:Ie.itemStyle},"E"),l.a.createElement(s.Text,{style:Ie.itemStyle},"F"),l.a.createElement(s.Text,{style:Ie.itemStyle},"A")))}const Oe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAANlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC3dmhyAAAAEXRSTlMA9QlZEMPc2Mmmj2VkLEJ4Rsx+pEgAAAChSURBVCjPjVLtEsMgCDOAdbbaNu//sttVPes+zvGD8wgQCLp/TORbUGMAQtQ3UBeSAMlF7/GV9Cmb5eTJ9R7H1t4bOqLE3rN2UCvvwpLfarhILfDjJL6WRKaXfzxc84nxAgLzCGSGiwKwsZUB8hPorZwUV1s1cnGKw+yAOrnI+7hatNIybl9Q3OkBfzopCw6SmDVJJiJ+yD451OS0/TNM7QnuAAbvCG0TSAAAAABJRU5ErkJggg==",Pe=s.StyleSheet.create({itemTitle:{alignItems:"flex-start",justifyContent:"center",height:40,borderWidth:1,borderStyle:"solid",borderColor:"#e0e0e0",borderRadius:2,backgroundColor:"#fafafa",padding:10,marginTop:10},itemContent:{alignItems:"flex-start",justifyContent:"center",borderWidth:1,borderStyle:"solid",borderRadius:2,borderColor:"#e0e0e0",backgroundColor:"#ffffff",padding:10},normalText:{fontSize:14,lineHeight:18,color:"black"},buttonBar:{flexDirection:"row",marginTop:10,flexGrow:1},button:{height:24,borderColor:"#4c9afa",borderWidth:1,borderStyle:"solid",flexGrow:1,flexShrink:1},buttonText:{lineHeight:24,textAlign:"center",paddingHorizontal:20},customFont:{color:"#0052d9",fontSize:32,fontFamily:"TTTGB"}});let je=0;class Le extends l.a.Component{constructor(e){super(e),this.state={fontSize:16,textShadowColor:"grey",textShadowOffset:{x:1,y:1},numberOfLines:2,ellipsizeMode:void 0},this.incrementFontSize=this.incrementFontSize.bind(this),this.decrementFontSize=this.decrementFontSize.bind(this),this.incrementLine=this.incrementLine.bind(this),this.decrementLine=this.decrementLine.bind(this),this.changeMode=this.changeMode.bind(this)}incrementFontSize(){const{fontSize:e}=this.state;24!==e&&this.setState({fontSize:e+1})}decrementFontSize(){const{fontSize:e}=this.state;6!==e&&this.setState({fontSize:e-1})}incrementLine(){const{numberOfLines:e}=this.state;e<6&&this.setState({numberOfLines:e+1})}decrementLine(){const{numberOfLines:e}=this.state;e>1&&this.setState({numberOfLines:e-1})}changeMode(e){this.setState({ellipsizeMode:e})}changeBreakStrategy(e){this.setState({breakStrategy:e})}render(){const{fontSize:e,textShadowColor:t,textShadowOffset:n,numberOfLines:o,ellipsizeMode:r,breakStrategy:i}=this.state,a=e=>l.a.createElement(s.View,{style:Pe.itemTitle},l.a.createElement(s.Text,{style:!0},e));return l.a.createElement(s.ScrollView,{style:{paddingHorizontal:10}},a("shadow"),l.a.createElement(s.View,{style:[Pe.itemContent,{height:60}],onClick:()=>{let e="red",t={x:10,y:1};je%2==1&&(e="grey",t={x:1,y:1}),je+=1,this.setState({textShadowColor:e,textShadowOffset:t})}},l.a.createElement(s.Text,{style:[Pe.normalText,{color:"#242424",textShadowOffset:n,textShadowRadius:3,textShadowColor:t}]},"Text shadow is grey with radius 3 and offset 1")),a("color"),l.a.createElement(s.View,{style:[Pe.itemContent,{height:80}]},l.a.createElement(s.Text,{style:[Pe.normalText,{color:"#242424"}]},"Text color is black"),l.a.createElement(s.Text,{style:[Pe.normalText,{color:"blue"}]},"Text color is blue"),l.a.createElement(s.Text,{style:[Pe.normalText,{color:"rgb(228,61,36)"}]},"This is red")),a("fontSize"),l.a.createElement(s.View,{style:[Pe.itemContent,{height:100}]},l.a.createElement(s.Text,{style:[Pe.normalText,{fontSize:e}]},"Text fontSize is "+e),l.a.createElement(s.View,{style:Pe.button,onClick:this.incrementFontSize},l.a.createElement(s.Text,{style:Pe.buttonText},"放大字体")),l.a.createElement(s.View,{style:Pe.button,onClick:this.decrementFontSize},l.a.createElement(s.Text,{style:Pe.buttonText},"缩小字体"))),a("fontStyle"),l.a.createElement(s.View,{style:[Pe.itemContent,{height:100}]},l.a.createElement(s.Text,{style:[Pe.normalText,{fontStyle:"normal"}]},"Text fontStyle is normal"),l.a.createElement(s.Text,{style:[Pe.normalText,{fontStyle:"italic"}]},"Text fontStyle is italic")),a("numberOfLines and ellipsizeMode"),l.a.createElement(s.View,{style:[Pe.itemContent]},l.a.createElement(s.Text,{style:[Pe.normalText,{marginBottom:10}]},`numberOfLines=${o} | ellipsizeMode=${r}`),l.a.createElement(s.Text,{numberOfLines:o,ellipsizeMode:r,style:[Pe.normalText,{lineHeight:void 0,backgroundColor:"#4c9afa",marginBottom:10,paddingHorizontal:10,paddingVertical:5}]},l.a.createElement(s.Text,{style:{fontSize:19,color:"white"}},"先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。"),l.a.createElement(s.Text,null,"然侍卫之臣不懈于内,忠志之士忘身于外者,盖追先帝之殊遇,欲报之于陛下也。")),l.a.createElement(s.Text,{numberOfLines:o,ellipsizeMode:r,style:[Pe.normalText,{backgroundColor:"#4c9afa",marginBottom:10,color:"white",paddingHorizontal:10,paddingVertical:5}]},"line 1\n\nline 3\n\nline 5"),l.a.createElement(s.Text,{numberOfLines:o,ellipsizeMode:r,style:[Pe.normalText,{lineHeight:void 0,backgroundColor:"#4c9afa",marginBottom:10,paddingHorizontal:10,paddingVertical:5}]},l.a.createElement(s.Image,{style:{width:24,height:24},source:{uri:Oe}}),l.a.createElement(s.Image,{style:{width:24,height:24},source:{uri:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAANlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC3dmhyAAAAEnRSTlMA/QpX7WQU2m27pi3Ej9KEQXaD5HhjAAAAqklEQVQoz41SWxLDIAh0RcFXTHL/yzZSO01LMpP9WJEVUNA9gfdXTioCSKE/kQQTQmf/ArRYva+xAcuPP37seFII2L7FN4BmXdHzlEPIpDHiZ0A7eIViPcw2QwqipkvMSdNEFBUE1bmMNOyE7FyFaIkAP4jHhhG80lvgkzBODTKpwhRMcexuR7fXzcp08UDq6GRbootp4oRtO3NNpd4NKtnR9hB6oaefweIFQU0EfnGDRoQAAAAASUVORK5CYII="}}),l.a.createElement(s.Text,null,"Text + Attachment")),l.a.createElement(s.View,{style:Pe.buttonBar},l.a.createElement(s.View,{style:Pe.button,onClick:this.incrementLine},l.a.createElement(s.Text,{style:Pe.buttonText},"加一行")),l.a.createElement(s.View,{style:Pe.button,onClick:this.decrementLine},l.a.createElement(s.Text,{style:Pe.buttonText},"减一行"))),l.a.createElement(s.View,{style:Pe.buttonBar},l.a.createElement(s.View,{style:Pe.button,onClick:()=>this.changeMode("clip")},l.a.createElement(s.Text,{style:Pe.buttonText},"clip")),l.a.createElement(s.View,{style:Pe.button,onClick:()=>this.changeMode("head")},l.a.createElement(s.Text,{style:Pe.buttonText},"head")),l.a.createElement(s.View,{style:Pe.button,onClick:()=>this.changeMode("middle")},l.a.createElement(s.Text,{style:Pe.buttonText},"middle")),l.a.createElement(s.View,{style:Pe.button,onClick:()=>this.changeMode("tail")},l.a.createElement(s.Text,{style:Pe.buttonText},"tail")))),a("textDecoration"),l.a.createElement(s.View,{style:[Pe.itemContent,{height:100}]},l.a.createElement(s.Text,{numberOfLines:1,style:[Pe.normalText,{textDecorationLine:"underline",textDecorationStyle:"dotted"}]},"underline"),l.a.createElement(s.Text,{numberOfLines:1,style:[Pe.normalText,{textDecorationLine:"line-through",textDecorationColor:"red"}]},"line-through")),a("LetterSpacing"),l.a.createElement(s.View,{style:[Pe.itemContent,{height:100}]},l.a.createElement(s.Text,{numberOfLines:1,style:[Pe.normalText,{letterSpacing:-1}]},"Text width letter-spacing -1"),l.a.createElement(s.Text,{numberOfLines:1,style:[Pe.normalText,{letterSpacing:5}]},"Text width letter-spacing 5")),a("Nest Text"),l.a.createElement(s.View,{style:[Pe.itemContent,{height:100}]},l.a.createElement(s.Text,{numberOfLines:3},l.a.createElement(s.Text,{numberOfLines:3,style:[Pe.normalText,{color:"#4c9afa"}]},"#SpiderMan#"),l.a.createElement(s.Text,{numberOfLines:3,style:Pe.normalText},"Hello world, I am a spider man and I have five friends in other universe."))),a("Custom font"),l.a.createElement(s.View,{style:[Pe.itemContent,{height:100}]},l.a.createElement(s.Text,{numberOfLines:1,style:Pe.customFont},"Hippy 跨端框架")),a("Text Nested"),l.a.createElement(s.View,{style:[Pe.itemContent,{height:150}]},l.a.createElement(s.Text,{style:{height:100,lineHeight:50}},l.a.createElement(s.Text,{numberOfLines:1,style:Pe.normalText},"后面有张图片"),l.a.createElement(s.Image,{style:{width:70,height:35},source:{uri:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAAAtCAMAAABmgJ64AAAAOVBMVEX/Rx8AAAD/QiL/Tif/QyH/RR//QiH/QiP/RCD/QSL/Qxz/QyH/QiL/QiD/QyL/QiL/QiH/QyH/QiLwirLUAAAAEnRSTlMZAF4OTC7DrWzjI4iietrRk0EEv/0YAAAB0UlEQVRYw72Y0Y6sIAxAKwUFlFH7/x97izNXF2lN1pU5D800jD2hJAJCdwYZuAUyVbmToKh903IhQHgErAVH+ccV0KI+G2oBPMxJgPA4WAigAT8F0IRDgNAE3ARyfeMFDGSc3YHVFkTBAHKDAgkEyHjacae/GTjxFqAo8NbakXrL9DRy9B+BCQwRcXR9OBKmEuAmAFFgcy0agBnIc1xZsMPOI5loAoUsQFmQjDEL9YbpaeGYBMGRKKAuqFEFL/JXApCw/zFEZk9qgbLGBx0gXLISxT25IUBREEgh1II1fph/IViGnZnCcDDVAgfgVg6gCy6ZaClySbDQpAl04vCGaB4+xGcFRK8CLvW0IBb5bQGqAlNwU4C6oEIVTLTcmoEr0AWcpKsZ/H0NAtkLQffnFjkOqiC/TTWBL9AFCwXQBHgI7rXImMgjCZwFa50s6DRBXyALmIECuMASiWNPFgRTgSJwM+XW8PDCmbwndzdaNL8FMYXPNjASDVChnIvWlBI/MKadPV952HszbmXtRERhhQ0vGFA52SVSSVt7MjHvxfRK8cdTpqovn02dUcltMrwiKf+wQ1FxXKCk9en6e/eDNnP44h2thQEb35O/etNv/q3iHza+KuhqqhZAAAAAAElFTkSuQmCC"}}),l.a.createElement(s.Text,{numberOfLines:1,style:Pe.customFont},"前面有张图片")),l.a.createElement(s.View,{style:{flexDirection:"row",alignItems:"center",justifyContent:"center",paddingHorizontal:10,paddingVertical:5,backgroundColor:"#4c9afa"}},l.a.createElement(s.Image,{style:{width:24,height:24,alignSelf:"center"},source:{uri:Oe}}),l.a.createElement(s.Text,{style:{fontSize:15,alignItems:"center",justifyContent:"center"}},"Image+Text"))),"android"===s.Platform.OS&&a("breakStrategy"),"android"===s.Platform.OS&&l.a.createElement(s.View,{style:Pe.itemContent},l.a.createElement(s.Text,{style:[Pe.normalText,{borderWidth:1,borderColor:"gray"}],breakStrategy:i},"The 58-letter name Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch is the name of a town on Anglesey, an island of Wales."),l.a.createElement(s.Text,{style:Pe.normalText},"breakStrategy: "+i),l.a.createElement(s.View,{style:Pe.buttonBar},l.a.createElement(s.View,{style:Pe.button,onClick:()=>this.changeBreakStrategy("simple")},l.a.createElement(s.Text,{style:Pe.buttonText},"simple")),l.a.createElement(s.View,{style:Pe.button,onClick:()=>this.changeBreakStrategy("high_quality")},l.a.createElement(s.Text,{style:Pe.buttonText},"high_quality")),l.a.createElement(s.View,{style:Pe.button,onClick:()=>this.changeBreakStrategy("balanced")},l.a.createElement(s.Text,{style:Pe.buttonText},"balanced")))))}}const Be=s.StyleSheet.create({container_style:{padding:10},input_style:{width:300,marginVertical:10,fontSize:16,color:"#242424",height:30,lineHeight:30},input_style_block:{height:100,lineHeight:20,fontSize:15,borderWidth:1,borderColor:"gray",underlineColorAndroid:"transparent"},itemTitle:{alignItems:"flex-start",justifyContent:"center",height:40,borderWidth:1,borderStyle:"solid",borderColor:"#e0e0e0",borderRadius:2,backgroundColor:"#fafafa",padding:10,marginTop:10},itemContent:{marginTop:10},buttonBar:{flexDirection:"row",marginTop:10,flexGrow:1},button:{width:200,height:24,borderColor:"#4c9afa",borderWidth:1,borderStyle:"solid",marginTop:5,marginBottom:5,flexGrow:1,flexShrink:1}});class Me extends a.Component{constructor(e){super(e),this.state={textContent:""},this.changeInputContent=this.changeInputContent.bind(this),this.focus=this.focus.bind(this),this.blur=this.blur.bind(this)}changeInputContent(){this.setState({textContent:"当前时间毫秒:"+Date.now()})}focus(){this.input.focus()}blur(){this.input.blur()}async onFocus(){const e=await this.input.isFocused();this.setState({event:"onFocus",isFocused:e})}async onBlur(){const e=await this.input.isFocused();this.setState({event:"onBlur",isFocused:e})}changeBreakStrategy(e){this.setState({breakStrategy:e})}render(){const{textContent:e,event:t,isFocused:n,breakStrategy:o}=this.state,r=e=>l.a.createElement(s.View,{style:Be.itemTitle},l.a.createElement(s.Text,null,e));return l.a.createElement(s.ScrollView,{style:Be.container_style},r("text"),l.a.createElement(s.TextInput,{ref:e=>{this.input=e},style:Be.input_style,caretColor:"yellow",underlineColorAndroid:"grey",placeholderTextColor:"#4c9afa",placeholder:"text",defaultValue:e,onBlur:()=>this.onBlur(),onFocus:()=>this.onFocus()}),l.a.createElement(s.Text,{style:Be.itemContent},`事件: ${t} | isFocused: ${n}`),l.a.createElement(s.View,{style:Be.button,onClick:this.changeInputContent},l.a.createElement(s.Text,null,"点击改变输入框内容")),l.a.createElement(s.View,{style:Be.button,onClick:this.focus},l.a.createElement(s.Text,null,"Focus")),l.a.createElement(s.View,{style:Be.button,onClick:this.blur},l.a.createElement(s.Text,null,"Blur")),r("numeric"),l.a.createElement(s.TextInput,{style:Be.input_style,keyboardType:"numeric",placeholder:"numeric"}),r("phone-pad"),l.a.createElement(s.TextInput,{style:Be.input_style,keyboardType:"phone-pad",placeholder:"phone-pad"}),r("password"),l.a.createElement(s.TextInput,{style:Be.input_style,keyboardType:"password",placeholder:"Password",multiline:!1}),r("maxLength"),l.a.createElement(s.TextInput,{caretColor:"yellow",style:Be.input_style,placeholder:"maxLength=5",maxLength:5}),"android"===s.Platform.OS&&r("breakStrategy"),"android"===s.Platform.OS&&l.a.createElement(l.a.Fragment,null,l.a.createElement(s.TextInput,{style:Be.input_style_block,breakStrategy:o,defaultValue:"The 58-letter name Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch is the name of a town on Anglesey, an island of Wales."}),l.a.createElement(s.Text,{style:{}},"breakStrategy: "+o),l.a.createElement(s.View,{style:Be.buttonBar},l.a.createElement(s.View,{style:Be.button,onClick:()=>this.changeBreakStrategy("simple")},l.a.createElement(s.Text,{style:Be.buttonText},"simple")),l.a.createElement(s.View,{style:Be.button,onClick:()=>this.changeBreakStrategy("high_quality")},l.a.createElement(s.Text,{style:Be.buttonText},"high_quality")),l.a.createElement(s.View,{style:Be.button,onClick:()=>this.changeBreakStrategy("balanced")},l.a.createElement(s.Text,{style:Be.buttonText},"balanced")))))}}var ze=n.p+"assets/defaultSource.jpg";const Fe=s.StyleSheet.create({itemTitle:{alignItems:"flex-start",justifyContent:"center",height:40,borderWidth:1,borderStyle:"solid",borderColor:"#e0e0e0",borderRadius:2,backgroundColor:"#fafafa",padding:10,marginTop:10},rectangle:{width:160,height:80,marginVertical:10},bigRectangle:{width:200,height:100,borderColor:"#eee",borderWidth:1,borderStyle:"solid",padding:10,marginVertical:10},smallRectangle:{width:40,height:40,borderRadius:10}});function _e(){const e=e=>l.a.createElement(s.View,{style:Fe.itemTitle},l.a.createElement(s.Text,null,e));return l.a.createElement(s.ScrollView,{style:{paddingHorizontal:10}},e("backgroundColor"),l.a.createElement(s.View,{style:[Fe.rectangle,{backgroundColor:"#4c9afa"}]}),e("backgroundImage"),l.a.createElement(s.View,{style:[Fe.rectangle,{alignItems:"center",justifyContent:"center",marginTop:20,backgroundImage:ze}],accessible:!0,accessibilityLabel:"背景图",accessibilityRole:"image",accessibilityState:{disabled:!1,selected:!0,checked:!1,expanded:!1,busy:!0},accessibilityValue:{min:1,max:10,now:5,text:"middle"}},l.a.createElement(s.Text,{style:{color:"white"}},"背景图")),e("backgroundImage linear-gradient"),l.a.createElement(s.View,{style:[Fe.rectangle,{alignItems:"center",justifyContent:"center",marginTop:20,borderWidth:2,borderStyle:"solid",borderColor:"black",borderRadius:2,backgroundImage:"linear-gradient(30deg, blue 10%, yellow 40%, red 50%);"}]},l.a.createElement(s.Text,{style:{color:"white"}},"渐变色")),e("border props"),l.a.createElement(s.View,{style:[Fe.rectangle,{borderColor:"#242424",borderRadius:4,borderWidth:1,borderStyle:"solid"}]}),e("flex props"),l.a.createElement(s.View,{style:[Fe.bigRectangle,{flexDirection:"row",alignItems:"center",justifyContent:"space-between"}]},l.a.createElement(s.View,{style:[Fe.smallRectangle,{backgroundColor:"yellow"}]}),l.a.createElement(s.View,{style:[Fe.smallRectangle,{backgroundColor:"blue"}]}),l.a.createElement(s.View,{style:[Fe.smallRectangle,{backgroundColor:"green"}]})))}const He=s.StyleSheet.create({pageContainer:{alignItems:"center",justifyContent:"center",flex:1,paddingTop:20},mainRec:{backgroundColor:"#4c9afaAA",width:256,height:48,marginBottom:10,marginTop:156},title:{verticalAlign:"middle",lineHeight:48,height:48,fontSize:16,color:"white",alignSelf:"center"},shapeBase:{width:128,height:128,backgroundColor:"#4c9afa"},square:{},circle:{borderRadius:64},triangle:{borderStyle:"solid",borderTopWidth:0,borderRightWidth:70,borderBottomWidth:128,borderLeftWidth:70,borderTopColor:"transparent",borderRightColor:"transparent",borderLeftColor:"transparent",borderBottomColor:"#4c9afa",backgroundColor:"transparent",width:140}}),We="SquarePagerView",Ne="TrianglePagerView",Ke="CirclePagerView";function Ue(e,t){const n=t=>l.a.createElement(s.View,{style:He.pageContainer,key:t},l.a.createElement(s.View,{style:[He.shapeBase,e],key:"shape"}),l.a.createElement(s.View,{style:He.mainRec,key:"title"},t?l.a.createElement(s.Text,{style:He.title},t):null));return n.displayName=t,n}const Ge=Ue(He.square,We),qe=Ue(He.triangle,Ne),Qe=Ue(He.circle,Ke),Ye=s.StyleSheet.create({dotContainer:{position:"absolute",bottom:10,left:0,right:0,flexDirection:"row",alignItems:"center",justifyContent:"center"},dot:{width:6,height:6,borderRadius:3,margin:3,backgroundColor:"#BBBBBB"},selectDot:{backgroundColor:"#000000"},container:{height:500},buttonContainer:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",padding:12},button:{width:120,height:36,backgroundColor:"#4c9afa",borderRadius:18,alignItems:"center",justifyContent:"center"},buttonText:{fontSize:16,color:"#fff"}});class Xe extends l.a.Component{constructor(e){super(e),H()(this,"state",{selectedIndex:0}),this.onPageSelected=this.onPageSelected.bind(this),this.onPageScrollStateChanged=this.onPageScrollStateChanged.bind(this)}onPageSelected(e){console.log("onPageSelected",e.position),this.setState({selectedIndex:e.position})}onPageScrollStateChanged(e){console.log("onPageScrollStateChanged",e)}onPageScroll({offset:e,position:t}){console.log("onPageScroll",e,t)}render(){const{selectedIndex:e}=this.state;return l.a.createElement(s.View,{style:{flex:1,backgroundColor:"#ffffff"}},l.a.createElement(s.View,{style:Ye.buttonContainer},l.a.createElement(s.View,{style:Ye.button,onClick:()=>{this.viewpager.setPage(2)}},l.a.createElement(s.Text,{style:Ye.buttonText},"动效滑到第3页")),l.a.createElement(s.View,{style:Ye.button,onClick:()=>this.viewpager.setPageWithoutAnimation(0)},l.a.createElement(s.Text,{style:Ye.buttonText},"直接滑到第1页"))),l.a.createElement(s.ViewPager,{ref:e=>{this.viewpager=e},style:Ye.container,initialPage:0,keyboardDismissMode:"none",scrollEnabled:!0,onPageSelected:this.onPageSelected,onPageScrollStateChanged:this.onPageScrollStateChanged,onPageScroll:this.onPageScroll},[Ge("squarePager"),qe("TrianglePager"),Qe("CirclePager")]),l.a.createElement(s.View,{style:Ye.dotContainer},new Array(3).fill(0).map((t,n)=>{const o=n===e;return l.a.createElement(s.View,{style:[Ye.dot,o?Ye.selectDot:null],key:"dot_"+n})})))}}const Je=s.StyleSheet.create({itemTitle:{alignItems:"flex-start",justifyContent:"center",height:40,borderWidth:1,borderStyle:"solid",borderColor:"#e0e0e0",borderRadius:2,backgroundColor:"#fafafa",padding:10,marginTop:10},webViewStyle:{padding:10,flex:1,flexGrow:1,borderRadius:10}});function Ze(){return l.a.createElement(s.View,{style:{paddingHorizontal:10,flex:1}},l.a.createElement(s.View,{style:Je.itemTitle},l.a.createElement(s.Text,null,"WebView 示例")),l.a.createElement(s.WebView,{source:{uri:"https://hippyjs.org"},method:"get",userAgent:"Mozilla/5.0 (Linux; U; Android 5.1.1; zh-cn; vivo X7 Build/LMY47V) AppleWebKit/537.36 (KHTML, like Gecko)Version/4.0 Chrome/37.0.0.0 MQQBrowser/8.2 Mobile Safari/537.36",style:Je.webViewStyle,onLoad:({url:e})=>console.log("webview onload",e),onLoadStart:({url:e})=>console.log("webview onLoadStart",e),onLoadEnd:({url:e})=>console.log("webview onLoadEnd",e)}))}const $e=s.StyleSheet.create({shadowDemo:{flex:1,overflowY:"scroll"},shadowDemoCubeAndroid:{position:"absolute",left:50,top:50,width:170,height:170,boxShadowOpacity:.6,boxShadowRadius:5,boxShadowColor:"#4c9afa",borderRadius:5},shadowDemoContentAndroid:{position:"absolute",left:5,top:5,width:160,height:160,backgroundColor:"grey",borderRadius:5,display:"flex",justifyContent:"center",alignItems:"center"},shadowDemoCubeIos:{position:"absolute",left:50,top:50,width:160,height:160,boxShadowOpacity:.6,boxShadowRadius:5,boxShadowSpread:1,boxShadowColor:"#4c9afa",borderRadius:5},shadowDemoContentIos:{width:160,height:160,backgroundColor:"grey",borderRadius:5,display:"flex",justifyContent:"center",alignItems:"center"},text:{color:"white"}}),et=s.StyleSheet.create({shadowDemoCubeAndroid:{position:"absolute",left:50,top:300,width:175,height:175,boxShadowOpacity:.6,boxShadowRadius:5,boxShadowOffsetX:15,boxShadowOffsetY:15,boxShadowColor:"#4c9afa"},shadowDemoContentAndroid:{width:160,height:160,backgroundColor:"grey",display:"flex",justifyContent:"center",alignItems:"center"},shadowDemoCubeIos:{position:"absolute",left:50,top:300,width:160,height:160,boxShadowOpacity:.6,boxShadowRadius:5,boxShadowOffsetX:10,boxShadowOffsetY:10,boxShadowSpread:1,boxShadowColor:"#4c9afa"},shadowDemoContentIos:{width:160,height:160,backgroundColor:"grey",display:"flex",justifyContent:"center",alignItems:"center"},text:{color:"white"}});function tt(){return l.a.createElement(s.View,{style:$e.shadowDemo},"android"===s.Platform.OS?l.a.createElement(s.View,{style:$e.shadowDemoCubeAndroid},l.a.createElement(s.View,{style:$e.shadowDemoContentAndroid},l.a.createElement(s.Text,{style:$e.text},"没有偏移阴影样式"))):l.a.createElement(s.View,{style:$e.shadowDemoCubeIos},l.a.createElement(s.View,{style:$e.shadowDemoContentIos},l.a.createElement(s.Text,{style:$e.text},"没有偏移阴影样式"))),"android"===s.Platform.OS?l.a.createElement(s.View,{style:et.shadowDemoCubeAndroid},l.a.createElement(s.View,{style:et.shadowDemoContentAndroid},l.a.createElement(s.Text,{style:et.text},"偏移阴影样式"))):l.a.createElement(s.View,{style:et.shadowDemoCubeIos},l.a.createElement(s.View,{style:et.shadowDemoContentIos},l.a.createElement(s.Text,{style:et.text},"偏移阴影样式"))))}const nt=ce.filter(e=>2!==e.style),ot=s.StyleSheet.create({container:{backgroundColor:"#ffffff"},itemContainer:{padding:12},splitter:{marginLeft:12,marginRight:12,height:.5,backgroundColor:"#e5e5e5"},loading:{fontSize:11,color:"#aaaaaa",alignSelf:"center"},pullContainer:{height:50,backgroundColor:"#4c9afa"},pullContent:{lineHeight:50,color:"white",height:50,textAlign:"center"},pullFooter:{flex:1,height:40,backgroundColor:"#4c9afa",justifyContent:"center",alignItems:"center"}});class rt extends l.a.Component{constructor(e){super(e),this.state={dataSource:[],pullingText:"继续下拉触发刷新",loadingState:"正在加载..."},this.numberOfColumns=2,this.columnSpacing=6,this.interItemSpacing=6,this.mockFetchData=this.mockFetchData.bind(this),this.renderItem=this.renderItem.bind(this),this.getItemType=this.getItemType.bind(this),this.getItemKey=this.getItemKey.bind(this),this.onEndReached=this.onEndReached.bind(this),this.onRefresh=this.onRefresh.bind(this),this.getRefresh=this.getRefresh.bind(this),this.renderPullFooter=this.renderPullFooter.bind(this),this.renderBanner=this.renderBanner.bind(this),this.getItemStyle=this.getItemStyle.bind(this)}async componentDidMount(){const e=await this.mockFetchData();this.setState({dataSource:e})}async onEndReached(){const{dataSource:e}=this.state;if(this.loadMoreDataFlag)return;this.loadMoreDataFlag=!0,this.setState({loadingState:"加载更多..."});let t=[];try{t=await this.mockFetchData()}catch(e){}0===t.length&&this.setState({loadingState:"没有更多数据"});const n=[...e,...t];this.setState({dataSource:n}),this.loadMoreDataFlag=!1}renderPullFooter(){return 0===this.state.dataSource.length?null:l.a.createElement(s.View,{style:ot.pullFooter},l.a.createElement(s.Text,{style:{color:"white"}},this.state.loadingState))}async onRefresh(){setTimeout(async()=>{const e=await this.mockFetchData();this.setState({dataSource:e}),this.refresh.refreshComplected()},1e3)}getRefresh(){return l.a.createElement(s.View,{style:{flex:1,height:40,justifyContent:"center",alignItems:"center",backgroundColor:"#4c9afa"}},l.a.createElement(s.Text,{style:{height:40,lineHeight:40,textAlign:"center",color:"white"}},"下拉刷新中..."))}onClickItem(e){console.log(`item: ${e} is clicked..`)}getItemType(e){return this.state.dataSource[e].style}getItemKey(e){return"row-"+e}onItemClick(e){console.log("onItemClick",e),this.listView.scrollToIndex({index:e,animation:!0})}renderBanner(){return"android"===s.Platform.OS||0===this.state.dataSource.length?null:l.a.createElement(s.View,{style:{backgroundColor:"grey",height:100,justifyContent:"center",alignItems:"center"}},l.a.createElement(s.Text,{style:{fontSize:20,color:"white",lineHeight:100,height:100}},"Banner View"))}renderItem(e){const{dataSource:t}=this.state;let n=null;const o=t[e];switch(o.style){case 1:n=l.a.createElement(ye,{itemBean:o.itemBean});break;case 2:n=l.a.createElement(xe,{itemBean:o.itemBean});break;case 5:n=l.a.createElement(Te,{itemBean:o.itemBean})}return l.a.createElement(s.View,{onClick:()=>this.onItemClick(e),style:ot.container},l.a.createElement(s.View,{style:ot.itemContainer},n),l.a.createElement(s.View,{style:ot.splitter}))}mockFetchData(){return new Promise(e=>{setTimeout(()=>{const t=[...nt,...nt];return e(t)},600)})}getWaterfallContentInset(){return{top:0,left:5,bottom:0,right:5}}getItemStyle(){const{numberOfColumns:e,columnSpacing:t}=this,n=s.Dimensions.get("screen").width,o=this.getWaterfallContentInset();return{width:(n-o.left-o.right-(e-1)*t)/e}}render(){const{dataSource:e}=this.state,{numberOfColumns:t,columnSpacing:n,interItemSpacing:o}=this,r=this.getWaterfallContentInset();return l.a.createElement(s.RefreshWrapper,{ref:e=>{this.refresh=e},style:{flex:1},onRefresh:this.onRefresh,bounceTime:100,getRefresh:this.getRefresh},l.a.createElement(s.WaterfallView,{ref:e=>{this.listView=e},renderBanner:this.renderBanner,numberOfColumns:t,columnSpacing:n,interItemSpacing:o,numberOfItems:e.length,style:{flex:1},renderItem:this.renderItem,onEndReached:this.onEndReached,getItemType:this.getItemType,getItemKey:this.getItemKey,contentInset:r,getItemStyle:this.getItemStyle,containPullFooter:!0,renderPullFooter:this.renderPullFooter}))}}var it=n.p+"assets/defaultSource.jpg";function at(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function lt(e){for(var t=1;t{i.current.setPressed(!1)},{nativeBackgroundAndroid:h,style:u}=e;return l.a.createElement(s.View,{onLayout:()=>{s.UIManagerModule.measureInAppWindow(i.current,e=>{n(e.x),r(e.y)})},style:u,onTouchDown:e=>{i.current.setHotspot(e.page_x-t,e.page_y-o),i.current.setPressed(!0)},onTouchEnd:c,onTouchCancel:c,ref:i,nativeBackgroundAndroid:lt(lt({},st),h)},e.children)}const ht=s.StyleSheet.create({imgRectangle:{width:260,height:56,alignItems:"center",justifyContent:"center"},circleRipple:{marginTop:30,width:150,height:56,alignItems:"center",justifyContent:"center",borderWidth:3,borderStyle:"solid",borderColor:"#4c9afa"},squareRipple:{alignItems:"center",justifyContent:"center",width:150,height:150,backgroundColor:"#4c9afa",marginTop:30,borderRadius:12,overflow:"hidden"},squareRippleWrapper:{alignItems:"flex-start",justifyContent:"center",height:150,marginTop:30},squareRipple1:{alignItems:"center",justifyContent:"center",width:150,height:150,borderWidth:5,borderStyle:"solid",backgroundSize:"cover",borderColor:"#4c9afa",backgroundImage:it,paddingHorizontal:10},squareRipple2:{alignItems:"center",justifyContent:"center",width:150,height:150,paddingHorizontal:10,backgroundSize:"cover",backgroundImage:"https://user-images.githubusercontent.com/12878546/148736102-7cd9525b-aceb-41c6-a905-d3156219ef16.png"}});function ut(){return"ios"===s.Platform.OS?l.a.createElement(s.Text,null,"iOS暂未支持水波纹效果"):l.a.createElement(s.ScrollView,{style:{margin:10,flex:1}},l.a.createElement(s.View,{style:[ht.imgRectangle,{marginTop:20,backgroundImage:it,backgroundSize:"cover"}]},l.a.createElement(ct,{style:[ht.imgRectangle],nativeBackgroundAndroid:{borderless:!0,color:"#666666"}},l.a.createElement(s.Text,{style:{color:"white",maxWidth:200}},"外层背景图,内层无边框水波纹,受外层影响始终有边框"))),l.a.createElement(ct,{style:[ht.circleRipple],nativeBackgroundAndroid:{borderless:!0,color:"#666666",rippleRadius:100}},l.a.createElement(s.Text,{style:{color:"black",textAlign:"center"}},"无边框圆形水波纹")),l.a.createElement(ct,{style:[ht.squareRipple],nativeBackgroundAndroid:{borderless:!1,color:"#666666"}},l.a.createElement(s.Text,{style:{color:"#fff"}},"带背景色水波纹")),l.a.createElement(s.View,{style:[ht.squareRippleWrapper]},l.a.createElement(ct,{style:[ht.squareRipple1],nativeBackgroundAndroid:{borderless:!1,color:"#666666"}},l.a.createElement(s.Text,{style:{color:"white"}},"有边框水波纹,带本地底图效果"))),l.a.createElement(s.View,{style:[ht.squareRippleWrapper]},l.a.createElement(ct,{style:[ht.squareRipple2],nativeBackgroundAndroid:{borderless:!1,color:"#666666"}},l.a.createElement(s.Text,{style:{color:"black"}},"有边框水波纹,带网络底图效果"))))}const dt="#4c9afa",mt="#f44837",gt=s.StyleSheet.create({container:{paddingHorizontal:10},square:{width:80,height:80,backgroundColor:mt},showArea:{height:150,marginVertical:10},button:{borderColor:dt,borderWidth:2,borderStyle:"solid",justifyContent:"center",alignItems:"center",width:70,borderRadius:8,height:50,marginTop:20,marginRight:8},buttonText:{fontSize:20,color:dt,textAlign:"center",textAlignVertical:"center"},colorText:{fontSize:14,color:"white",textAlign:"center",textAlignVertical:"center"},buttonContainer:{flexDirection:"row",alignItems:"center"},title:{fontSize:24,marginTop:8}});class ft extends l.a.Component{constructor(e){super(e),this.state={}}componentWillMount(){this.horizonAnimation=new s.Animation({startValue:150,toValue:20,duration:1e3,delay:500,mode:"timing",timingFunction:"linear",repeatCount:"loop"}),this.verticalAnimation=new s.Animation({startValue:80,toValue:40,duration:1e3,delay:0,mode:"timing",timingFunction:"linear",repeatCount:"loop"}),this.scaleAnimationSet=new s.AnimationSet({children:[{animation:new s.Animation({startValue:1,toValue:1.2,duration:1e3,delay:0,mode:"timing",timingFunction:"linear"}),follow:!1},{animation:new s.Animation({startValue:1.2,toValue:.2,duration:1e3,delay:0,mode:"timing",timingFunction:"linear"}),follow:!0}],repeatCount:"loop"}),this.rotateAnimationSet=new s.AnimationSet({children:[{animation:new s.Animation({startValue:0,toValue:180,duration:2e3,delay:0,valueType:"deg",mode:"timing",timingFunction:"linear"}),follow:!1},{animation:new s.Animation({startValue:180,toValue:360,duration:2e3,delay:0,valueType:"deg",mode:"timing",timingFunction:"linear"}),follow:!0}],repeatCount:"loop"}),this.skewXAnimationSet=new s.AnimationSet({children:[{animation:new s.Animation({startValue:0,toValue:20,duration:2e3,delay:0,mode:"timing",timingFunction:"linear"}),follow:!1},{animation:new s.Animation({startValue:20,toValue:0,duration:2e3,delay:0,mode:"timing",timingFunction:"linear"}),follow:!0}],repeatCount:"loop"}),this.skewYAnimationSet=new s.AnimationSet({children:[{animation:new s.Animation({startValue:0,toValue:20,duration:2e3,delay:0,mode:"timing",timingFunction:"linear"}),follow:!1},{animation:new s.Animation({startValue:20,toValue:0,duration:2e3,delay:0,mode:"timing",timingFunction:"linear"}),follow:!0}],repeatCount:"loop"}),this.bgColorAnimationSet=new s.AnimationSet({children:[{animation:new s.Animation({startValue:"red",toValue:"yellow",valueType:"color",duration:1e3,delay:0,mode:"timing",timingFunction:"linear"}),follow:!1},{animation:new s.Animation({startValue:"yellow",toValue:"blue",duration:1e3,valueType:"color",delay:0,mode:"timing",timingFunction:"linear"}),follow:!0}],repeatCount:"loop"}),this.txtColorAnimationSet=new s.AnimationSet({children:[{animation:new s.Animation({startValue:"white",toValue:"yellow",valueType:"color",duration:1e3,delay:0,mode:"timing",timingFunction:"linear"}),follow:!1},{animation:new s.Animation({startValue:"yellow",toValue:"white",duration:1e3,valueType:"color",delay:0,mode:"timing",timingFunction:"linear"}),follow:!0}],repeatCount:"loop"}),this.cubicBezierScaleAnimationSet=new s.AnimationSet({children:[{animation:new s.Animation({startValue:0,toValue:1,duration:1e3,delay:0,mode:"timing",timingFunction:"cubic-bezier(.45,2.84,.38,.5)"}),follow:!1},{animation:new s.Animation({startValue:1,toValue:0,duration:1e3,mode:"timing",timingFunction:"cubic-bezier(.17,1.45,.78,.14)"}),follow:!0}],repeatCount:"loop"})}componentDidMount(){"web"===s.Platform.OS&&(this.verticalAnimation.setRef(this.verticalRef),this.horizonAnimation.setRef(this.horizonRef),this.scaleAnimationSet.setRef(this.scaleRef),this.bgColorAnimationSet.setRef(this.bgColorRef),this.txtColorAnimationSet.setRef(this.textColorRef),this.txtColorAnimationSet.setRef(this.textColorRef),this.cubicBezierScaleAnimationSet.setRef(this.cubicBezierScaleRef),this.rotateAnimationSet.setRef(this.rotateRef),this.skewXAnimationSet.setRef(this.skewRef),this.skewYAnimationSet.setRef(this.skewRef)),this.horizonAnimation.onAnimationStart(()=>{console.log("on animation start!!!")}),this.horizonAnimation.onAnimationEnd(()=>{console.log("on animation end!!!")}),this.horizonAnimation.onAnimationCancel(()=>{console.log("on animation cancel!!!")}),this.horizonAnimation.onAnimationRepeat(()=>{console.log("on animation repeat!!!")})}componentWillUnmount(){this.horizonAnimation&&this.horizonAnimation.destroy(),this.verticalAnimation&&this.verticalAnimation.destroy(),this.scaleAnimationSet&&this.scaleAnimationSet.destroy(),this.bgColorAnimationSet&&this.bgColorAnimationSet.destroy(),this.txtColorAnimationSet&&this.txtColorAnimationSet.destroy(),this.cubicBezierScaleAnimationSet&&this.cubicBezierScaleAnimationSet.destroy(),this.rotateAnimationSet&&this.rotateAnimationSet.destroy(),this.skewXAnimationSet&&this.skewXAnimationSet.destroy(),this.skewYAnimationSet&&this.skewYAnimationSet.destroy()}render(){return l.a.createElement(s.ScrollView,{style:gt.container},l.a.createElement(s.Text,{style:gt.title},"水平位移动画"),l.a.createElement(s.View,{style:gt.buttonContainer},l.a.createElement(s.View,{style:gt.button,onClick:()=>{this.horizonAnimation.start()}},l.a.createElement(s.Text,{style:gt.buttonText},"开始")),l.a.createElement(s.View,{style:[gt.button],onClick:()=>{this.horizonAnimation.pause()}},l.a.createElement(s.Text,{style:gt.buttonText},"暂停")),l.a.createElement(s.View,{style:gt.button,onClick:()=>{this.horizonAnimation.resume()}},l.a.createElement(s.Text,{style:gt.buttonText},"继续")),l.a.createElement(s.View,{style:gt.button,onClick:()=>{this.horizonAnimation.updateAnimation({startValue:50,toValue:100})}},l.a.createElement(s.Text,{style:gt.buttonText},"更新"))),l.a.createElement(s.View,{style:gt.showArea},l.a.createElement(s.View,{ref:e=>{this.horizonRef=e},style:[gt.square,{transform:[{translateX:this.horizonAnimation}]}]})),l.a.createElement(s.Text,{style:gt.title},"高度形变动画"),l.a.createElement(s.View,{style:gt.buttonContainer},l.a.createElement(s.View,{style:gt.button,onClick:()=>{this.verticalAnimation.start()}},l.a.createElement(s.Text,{style:gt.buttonText},"开始")),l.a.createElement(s.View,{style:[gt.button],onClick:()=>{this.verticalAnimation.pause()}},l.a.createElement(s.Text,{style:gt.buttonText},"暂停")),l.a.createElement(s.View,{style:gt.button,onClick:()=>{this.verticalAnimation.resume()}},l.a.createElement(s.Text,{style:gt.buttonText},"继续"))),l.a.createElement(s.View,{style:gt.showArea},l.a.createElement(s.View,{ref:e=>{this.verticalRef=e},style:[gt.square,{height:this.verticalAnimation}]})),l.a.createElement(s.Text,{style:gt.title},"旋转动画"),l.a.createElement(s.View,{style:gt.buttonContainer},l.a.createElement(s.View,{style:gt.button,onClick:()=>{this.rotateAnimationSet.start()}},l.a.createElement(s.Text,{style:gt.buttonText},"开始")),l.a.createElement(s.View,{style:[gt.button],onClick:()=>{this.rotateAnimationSet.pause()}},l.a.createElement(s.Text,{style:gt.buttonText},"暂停")),l.a.createElement(s.View,{style:gt.button,onClick:()=>{this.rotateAnimationSet.resume()}},l.a.createElement(s.Text,{style:gt.buttonText},"继续"))),l.a.createElement(s.View,{style:gt.showArea},l.a.createElement(s.View,{ref:e=>{this.rotateRef=e},style:[gt.square,{transform:[{rotate:this.rotateAnimationSet}]}]})),l.a.createElement(s.Text,{style:gt.title},"倾斜动画"),l.a.createElement(s.View,{style:gt.buttonContainer},l.a.createElement(s.View,{style:gt.button,onClick:()=>{this.skewXAnimationSet.start(),this.skewYAnimationSet.start()}},l.a.createElement(s.Text,{style:gt.buttonText},"开始")),l.a.createElement(s.View,{style:[gt.button],onClick:()=>{this.skewXAnimationSet.pause(),this.skewYAnimationSet.pause()}},l.a.createElement(s.Text,{style:gt.buttonText},"暂停")),l.a.createElement(s.View,{style:gt.button,onClick:()=>{this.skewXAnimationSet.resume(),this.skewYAnimationSet.resume()}},l.a.createElement(s.Text,{style:gt.buttonText},"继续"))),l.a.createElement(s.View,{style:gt.showArea},l.a.createElement(s.View,{ref:e=>{this.skewRef=e},style:[gt.square,{transform:[{skewX:this.skewXAnimationSet},{skewY:this.skewYAnimationSet}]}]})),l.a.createElement(s.Text,{style:gt.title},"缩放动画"),l.a.createElement(s.View,{style:gt.buttonContainer},l.a.createElement(s.View,{style:gt.button,onClick:()=>{this.scaleAnimationSet.start()}},l.a.createElement(s.Text,{style:gt.buttonText},"开始")),l.a.createElement(s.View,{style:[gt.button],onClick:()=>{this.scaleAnimationSet.pause()}},l.a.createElement(s.Text,{style:gt.buttonText},"暂停")),l.a.createElement(s.View,{style:gt.button,onClick:()=>{this.scaleAnimationSet.resume()}},l.a.createElement(s.Text,{style:gt.buttonText},"继续"))),l.a.createElement(s.View,{style:[gt.showArea,{marginVertical:20}]},l.a.createElement(s.View,{ref:e=>{this.scaleRef=e},style:[gt.square,{transform:[{scale:this.scaleAnimationSet}]}]})),l.a.createElement(s.Text,{style:gt.title},"颜色渐变动画(文字渐变仅Android支持)"),l.a.createElement(s.View,{style:gt.buttonContainer},l.a.createElement(s.View,{style:gt.button,onClick:()=>{this.bgColorAnimationSet.start(),this.txtColorAnimationSet.start()}},l.a.createElement(s.Text,{style:gt.buttonText},"开始")),l.a.createElement(s.View,{style:[gt.button],onClick:()=>{this.bgColorAnimationSet.pause(),this.txtColorAnimationSet.pause()}},l.a.createElement(s.Text,{style:gt.buttonText},"暂停")),l.a.createElement(s.View,{style:gt.button,onClick:()=>{this.bgColorAnimationSet.resume(),this.txtColorAnimationSet.resume()}},l.a.createElement(s.Text,{style:gt.buttonText},"继续"))),l.a.createElement(s.View,{style:[gt.showArea,{marginVertical:20}]},l.a.createElement(s.View,{ref:e=>{this.bgColorRef=e},style:[gt.square,{justifyContent:"center",alignItems:"center"},{backgroundColor:this.bgColorAnimationSet}]},l.a.createElement(s.Text,{ref:e=>{this.textColorRef=e},style:[gt.colorText,{color:"android"===s.Platform.OS?this.txtColorAnimationSet:"white"}]},"颜色渐变背景和文字"))),l.a.createElement(s.Text,{style:gt.title},"贝塞尔曲线动画"),l.a.createElement(s.View,{style:gt.buttonContainer},l.a.createElement(s.View,{style:gt.button,onClick:()=>{this.cubicBezierScaleAnimationSet.start()}},l.a.createElement(s.Text,{style:gt.buttonText},"开始")),l.a.createElement(s.View,{style:[gt.button],onClick:()=>{this.cubicBezierScaleAnimationSet.pause()}},l.a.createElement(s.Text,{style:gt.buttonText},"暂停")),l.a.createElement(s.View,{style:gt.button,onClick:()=>{this.cubicBezierScaleAnimationSet.resume()}},l.a.createElement(s.Text,{style:gt.buttonText},"继续"))),l.a.createElement(s.View,{style:[gt.showArea,{marginVertical:20}]},l.a.createElement(s.View,{ref:e=>{this.cubicBezierScaleRef=e},style:[gt.square,{transform:[{scale:this.cubicBezierScaleAnimationSet}]}]})))}}const yt=s.StyleSheet.create({containerStyle:{margin:20,alignItems:"center",flexDirection:"column"},itemGroupStyle:{flexDirection:"row",marginTop:10,borderColor:"#4c9afa",borderWidth:1,borderStyle:"solid",width:100,height:40,justifyContent:"center",alignItems:"center"},viewGroupStyle:{flexDirection:"row",marginTop:10},infoStyle:{width:60,height:40,fontSize:16,color:"#4c9afa",textAlign:"center"},inputStyle:{width:200,height:40,placeholderTextColor:"#aaaaaa",underlineColorAndroid:"#4c9afa",fontSize:16,color:"#242424",textAlign:"left"},buttonStyle:{textAlign:"center",fontSize:16,color:"#4c9afa",backgroundColor:"#4c9afa11",marginLeft:10,marginRight:10}});class pt extends l.a.Component{constructor(e){super(e),this.state={result:""},this.onTextChangeKey=this.onTextChangeKey.bind(this),this.onTextChangeValue=this.onTextChangeValue.bind(this),this.onClickSet=this.onClickSet.bind(this),this.onTextChangeKey=this.onTextChangeKey.bind(this),this.onClickGet=this.onClickGet.bind(this)}onClickSet(){const{key:e,value:t}=this.state;e&&s.AsyncStorage.setItem(e,t)}onClickGet(){const{key:e}=this.state;e&&s.AsyncStorage.getItem(e).then(e=>{this.setState({result:e})})}onTextChangeKey(e){this.setState({key:e})}onTextChangeValue(e){this.setState({value:e})}render(){const{result:e}=this.state;return l.a.createElement(s.ScrollView,{style:yt.containerStyle},l.a.createElement(s.View,{style:yt.viewGroupStyle},l.a.createElement(s.Text,{style:yt.infoStyle},"Key:"),l.a.createElement(s.TextInput,{style:yt.inputStyle,onChangeText:this.onTextChangeKey})),l.a.createElement(s.View,{style:yt.viewGroupStyle},l.a.createElement(s.Text,{style:yt.infoStyle},"Value:"),l.a.createElement(s.TextInput,{style:yt.inputStyle,onChangeText:this.onTextChangeValue})),l.a.createElement(s.View,{style:yt.itemGroupStyle,onClick:this.onClickSet},l.a.createElement(s.Text,{style:yt.buttonStyle},"Set")),l.a.createElement(s.View,{style:[yt.viewGroupStyle,{marginTop:60}]},l.a.createElement(s.Text,{style:yt.infoStyle},"Key:"),l.a.createElement(s.TextInput,{style:yt.inputStyle,onChangeText:this.onTextChangeKey})),l.a.createElement(s.View,{style:[yt.viewGroupStyle,{display:"none"}]},l.a.createElement(s.Text,{style:yt.infoStyle},"Value:"),l.a.createElement(s.Text,{style:[yt.infoStyle,{width:200}]},e)),l.a.createElement(s.View,{style:yt.itemGroupStyle,onClick:this.onClickGet},l.a.createElement(s.Text,{style:yt.buttonStyle},"Get")))}}const bt=s.StyleSheet.create({itemTitle:{alignItems:"flex-start",justifyContent:"center",height:40,borderWidth:1,borderStyle:"solid",borderColor:"#e0e0e0",borderRadius:2,backgroundColor:"#fafafa",padding:10,marginTop:10},defaultText:{marginVertical:4,fontSize:18,lineHeight:24,color:"#242424"},copiedText:{color:"#aaa"},button:{backgroundColor:"#4c9afa",borderRadius:4,height:30,marginVertical:4,paddingHorizontal:6,alignItems:"center",justifyContent:"center"},buttonText:{fontSize:16,color:"white"}});class wt extends l.a.Component{constructor(e){super(e),this.state={hasCopied:!1,text:"Winter is coming",clipboardText:"点击上面的按钮"}}render(){const e=e=>l.a.createElement(s.View,{style:bt.itemTitle},l.a.createElement(s.Text,null,e)),{hasCopied:t,text:n,clipboardText:o}=this.state,r=t?" (已复制) ":"";return l.a.createElement(s.ScrollView,{style:{paddingHorizontal:10}},e("文本复制到剪贴板"),l.a.createElement(s.Text,{style:bt.defaultText},n),l.a.createElement(s.View,{style:bt.button,onClick:()=>{s.Clipboard.setString(n),this.setState({hasCopied:!0})}},l.a.createElement(s.Text,{style:bt.buttonText},"点击复制以上文案"+r)),e("获取剪贴板内容"),l.a.createElement(s.View,{style:bt.button,onClick:async()=>{try{const e=await s.Clipboard.getString();this.setState({clipboardText:e})}catch(e){console.error(e)}}},l.a.createElement(s.Text,{style:bt.buttonText},"点击获取剪贴板内容")),l.a.createElement(s.Text,{style:[bt.defaultText,bt.copiedText]},o))}}const St=s.StyleSheet.create({itemTitle:{alignItems:"flex-start",justifyContent:"center",height:40,borderWidth:1,borderStyle:"solid",borderColor:"#e0e0e0",borderRadius:2,backgroundColor:"#fafafa",padding:10,marginTop:10},wrapper:{borderColor:"#eee",borderWidth:1,borderStyle:"solid",paddingHorizontal:10,paddingVertical:5,marginVertical:10,flexDirection:"column",justifyContent:"flex-start",alignItems:"flex-start"},infoContainer:{display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"flex-start",marginTop:5,marginBottom:5,flexWrap:"wrap"},infoText:{collapsable:!1,marginVertical:5}});class xt extends l.a.Component{constructor(e){super(e),this.state={netInfoStatusTxt:"",netInfoChangeTxt:"",fetchInfoTxt:"",cookies:""},this.listener=null}async fetchNetInfoStatus(){this.setState({netInfoStatusTxt:await s.NetInfo.fetch()})}fetchUrl(){fetch("https://hippyjs.org",{mode:"no-cors"}).then(e=>(this.setState({fetchInfoTxt:"成功状态: "+e.status}),e)).catch(e=>{this.setState({fetchInfoTxt:"收到错误: "+e})})}setCookies(){s.NetworkModule.setCookie("https://hippyjs.org","name=hippy;network=mobile")}getCookies(){s.NetworkModule.getCookies("https://hippyjs.org").then(e=>{this.setState({cookies:e})})}async componentWillMount(){const e=this;this.listener=s.NetInfo.addEventListener("change",t=>{e.setState({netInfoChangeTxt:""+t.network_info})})}componentWillUnmount(){this.listener&&s.NetInfo.removeEventListener("change",this.listener)}componentDidMount(){this.fetchUrl(),this.fetchNetInfoStatus()}render(){const{netInfoStatusTxt:e,fetchInfoTxt:t,netInfoChangeTxt:n,cookies:o}=this.state,r=e=>l.a.createElement(s.View,{style:St.itemTitle},l.a.createElement(s.Text,null,e));return l.a.createElement(s.ScrollView,{style:{paddingHorizontal:10}},r("Fetch"),l.a.createElement(s.View,{style:[St.wrapper]},l.a.createElement(s.View,{style:[St.infoContainer]},l.a.createElement(s.View,{style:{backgroundColor:"grey",padding:10,borderRadius:10,marginRight:10},onClick:()=>this.fetchUrl()},l.a.createElement(s.Text,{style:{color:"white"}},"请求 hippy 网址:")),l.a.createElement(s.Text,{style:St.infoText},t))),r("NetInfo"),l.a.createElement(s.View,{style:[St.wrapper]},l.a.createElement(s.View,{style:[St.infoContainer]},l.a.createElement(s.View,{style:{backgroundColor:"grey",padding:10,borderRadius:10,marginRight:10},onClick:()=>this.fetchNetInfoStatus()},l.a.createElement(s.Text,{style:{color:"white"}},"获取网络状态:")),l.a.createElement(s.Text,{style:St.infoText},e)),l.a.createElement(s.View,{style:[St.infoContainer]},l.a.createElement(s.View,{style:{backgroundColor:"grey",padding:10,borderRadius:10,marginRight:10}},l.a.createElement(s.Text,{style:{color:"white"}},"监听网络变化:")),l.a.createElement(s.Text,{style:St.infoText},n))),r("NetworkModule"),l.a.createElement(s.View,{style:[St.wrapper]},l.a.createElement(s.View,{style:[St.infoContainer]},l.a.createElement(s.View,{style:{backgroundColor:"grey",padding:10,borderRadius:10,marginRight:10},onClick:()=>this.setCookies()},l.a.createElement(s.Text,{style:{color:"white"}},"设置Cookies:")),l.a.createElement(s.Text,{style:St.infoText},"name=hippy;network=mobile")),l.a.createElement(s.View,{style:[St.infoContainer]},l.a.createElement(s.View,{style:{backgroundColor:"grey",padding:10,borderRadius:10,marginRight:10},onClick:()=>this.getCookies()},l.a.createElement(s.Text,{style:{color:"white"}},"获取Cookies:")),l.a.createElement(s.Text,{style:St.infoText},o))))}}const Et=s.StyleSheet.create({fullScreen:{flex:1},row:{flexDirection:"row"},title:{color:"#ccc"},button:{height:56,backgroundColor:"#4c9afa",borderColor:"#5dabfb",borderStyle:"solid",borderWidth:1,paddingHorizontal:20,fontSize:16,textAlign:"center",lineHeight:56,color:"#fff",margin:10},input:{color:"black",flex:1,height:36,lineHeight:36,fontSize:14,borderBottomColor:"#4c9afa",borderBottomStyle:"solid",borderBottomWidth:1,padding:0},output:{color:"black"}}),At="wss://echo.websocket.org",Ct="Rock it with Hippy WebSocket";let Tt;var Vt=function(){const e=Object(a.useRef)(null),t=Object(a.useRef)(null),[n,o]=Object(a.useState)([]),r=e=>{o(t=>[e,...t])};return l.a.createElement(s.View,{style:Et.fullScreen},l.a.createElement(s.View,null,l.a.createElement(s.Text,{style:Et.title},"Url:"),l.a.createElement(s.TextInput,{ref:e,value:At,style:Et.input}),l.a.createElement(s.View,{style:Et.row},l.a.createElement(s.Text,{onClick:()=>{e.current.getValue().then(e=>{Tt&&1===Tt.readyState&&Tt.close(),Tt=new WebSocket(e),Tt.onopen=()=>r("[Opened] "+Tt.url),Tt.onclose=()=>r("[Closed] "+Tt.url),Tt.onerror=e=>r("[Error] "+e.reason),Tt.onmessage=e=>r("[Received] "+e.data)})},style:Et.button},"Connect"),l.a.createElement(s.Text,{onClick:()=>Tt.close(),style:Et.button},"Disconnect"))),l.a.createElement(s.View,null,l.a.createElement(s.Text,{style:Et.title},"Message:"),l.a.createElement(s.TextInput,{ref:t,value:Ct,style:Et.input}),l.a.createElement(s.Text,{onClick:()=>t.current.getValue().then(e=>{r("[Sent] "+e),Tt.send(e)}),style:Et.button},"Send")),l.a.createElement(s.View,null,l.a.createElement(s.Text,{style:Et.title},"Log:"),l.a.createElement(s.ScrollView,{style:Et.fullScreen},n.map((e,t)=>l.a.createElement(s.Text,{key:t,style:Et.output},e)))))};function vt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function kt(e){for(var t=1;t{const e=s.Dimensions.get("screen");({width:t,height:n}=e)});const[o,r]=Object(a.useState)({width:100,height:100,top:10,left:10}),[i,c]=Object(a.useState)({width:0,height:0,x:0,y:0}),h=kt(kt({},Rt.box),o);return l.a.createElement(s.View,{style:Rt.full},l.a.createElement(s.View,{style:Rt.demoContent},l.a.createElement(s.View,{ref:e,style:h},l.a.createElement(s.Text,{style:Rt.text,numberOfLines:2},"I am the box"))),l.a.createElement(s.View,{style:Rt.buttonContainer},l.a.createElement(s.View,{onClick:()=>{const e=It(0,t-100),o=It(0,n-450),i=It(80,120);r({left:e,top:o,width:i,height:i})},style:Rt.button},l.a.createElement(s.Text,{style:Rt.buttonText},"Move the random position")),l.a.createElement(s.View,{onClick:async()=>{try{const t=await s.UIManagerModule.measureInWindow(e.current);c(t)}catch(e){}},style:Rt.button},l.a.createElement(s.Text,{style:Rt.buttonText},"Measure box in window"))),l.a.createElement(s.View,{style:Rt.row},l.a.createElement(s.View,null,l.a.createElement(s.Text,null,"Box style:"),l.a.createElement(s.Text,{style:Rt.black},"Width: "+h.width),l.a.createElement(s.Text,{style:Rt.black},"Height: "+h.height),l.a.createElement(s.Text,{style:Rt.black},"Left: "+h.left),l.a.createElement(s.Text,{style:Rt.black},"Top: "+h.top)),l.a.createElement(s.View,null,l.a.createElement(s.Text,null,"measureInWindow output:"),l.a.createElement(s.Text,{style:Rt.black},"Width: "+i.width),l.a.createElement(s.Text,{style:Rt.black},"Height: "+i.height),l.a.createElement(s.Text,{style:Rt.black},"X: "+i.x),l.a.createElement(s.Text,{style:Rt.black},"Y: "+i.y))))};const Ot=s.StyleSheet.create({style_indicator_item:{width:4,height:4,marginLeft:2.5,marginRight:2.5,borderRadius:2},style_indicator:{position:"absolute",bottom:6,left:0,right:0,marginLeft:0,marginRight:0,alignItems:"center",justifyContent:"center",flexDirection:"row"}});class Pt extends l.a.Component{constructor(e){super(e),this.state={current:e.current||0}}update(e){const{current:t}=this.state;t!==e&&this.setState({current:e})}render(){const{count:e}=this.props,{current:t}=this.state,n=[];for(let o=0;o=r||(this.indicator&&this.indicator.update(o),this.currentIndex=o)}onScrollBeginDrag(){this.touchStartOffset=this.scrollOffset,this.doClearTimer()}onScrollEndDrag(){this.doCreateTimer()}onLayout(e){this.width=e.layout.width}doSwitchPage(e){this.scrollView.scrollTo({x:this.imgWidth*e,y:0,animated:!0})}doCreateTimer(){this.doClearTimer(),this.duration<=0||(this.interval=setInterval(()=>{this.doSwitchPage((this.currentIndex+1)%this.itemCount)},this.duration))}doClearTimer(){this.interval&&clearInterval(this.interval),this.interval=null}render(){const{images:e}=this.props,t=[];for(let n=0;n{this.scrollView=e}},t),l.a.createElement(Pt,{ref:e=>{this.indicator=e},count:this.itemCount}))}}H()(jt,"defaultProps",{duration:0,currentPage:0,images:[]});const Lt=["https://user-images.githubusercontent.com/12878546/148736627-bca54707-6939-45b3-84f7-74e6c2c09c88.jpg","https://user-images.githubusercontent.com/12878546/148736679-0521fdff-09f5-40e3-a36a-55c8f714be16.jpg","https://user-images.githubusercontent.com/12878546/148736685-a4c226ad-f64a-4fe0-b3df-ce0d8fcd7a01.jpg"],Bt=s.StyleSheet.create({sliderStyle:{width:400,height:180},infoStyle:{height:40,fontSize:16,color:"#4c9afa",marginTop:15}});function Mt(){return l.a.createElement(s.ScrollView,null,l.a.createElement(s.Text,{style:Bt.infoStyle},"Auto:"),l.a.createElement(jt,{style:Bt.sliderStyle,images:Lt,duration:1e3}),l.a.createElement(s.Text,{style:Bt.infoStyle},"Manual:"),l.a.createElement(jt,{style:Bt.sliderStyle,images:Lt,duration:0}))}const zt=s.StyleSheet.create({container:{height:45,paddingLeft:4,flexDirection:"row",backgroundColor:"#ffffff",borderBottomColor:"#E5E5E5",borderBottomWidth:1,borderStyle:"solid"},scroll:{flex:1,height:44},navItem:{width:60,height:44,paddingTop:13},navItemText:{fontSize:16,lineHeight:17,textAlign:"center",backgroundColor:"#ffffff"},navItemTextNormal:{color:"#666666"},navItemTextBlue:{color:"#2D73FF"}});class Ft extends l.a.Component{constructor(e){super(e),this.state={curIndex:0,navList:["头条","推荐","圈子","NBA","中超","英超","西甲","CBA","澳网","电影","本地","娱乐","小说","生活","直播","游戏"]},this.navScrollView=null,this.viewPager=null,this.onViewPagerChange=this.onViewPagerChange.bind(this),this.pressNavItem=this.pressNavItem.bind(this),this.scrollSV=this.scrollSV.bind(this)}static getPage(e,t){switch(t%3){case 0:return Ge(e);case 1:return Qe(e);case 2:return qe(e);default:return null}}componentDidUpdate(){this.scrollSV()}onViewPagerChange({position:e}){this.setState({curIndex:e})}scrollSV(){if(this.navScrollView){const{curIndex:e,navList:t}=this.state,n=t.length,o=de.getScreenWidth(),r=o/2/60,i=60*nn-r?60*n-o:60*e-60*r+30,this.navScrollView.scrollTo({x:a,y:0,animated:!0})}}pressNavItem(e){this.setState({curIndex:e}),this.viewPager&&this.viewPager.setPage(e)}renderNav(){const{navList:e,curIndex:t}=this.state;return l.a.createElement(s.View,{style:zt.container},l.a.createElement(s.ScrollView,{style:zt.scroll,horizontal:!0,showsHorizontalScrollIndicator:!1,ref:e=>{this.navScrollView=e}},e.map((e,n)=>l.a.createElement(s.View,{style:zt.navItem,key:"nav_"+e,activeOpacity:.5,onClick:()=>this.pressNavItem(n)},l.a.createElement(s.Text,{style:[zt.navItemText,t===n?zt.navItemTextBlue:zt.navItemTextNormal],numberOfLines:1},e)))))}render(){const{navList:e}=this.state;return l.a.createElement(s.View,{style:{flex:1,backgroundColor:"#ffffff"}},this.renderNav(),l.a.createElement(s.ViewPager,{ref:e=>{this.viewPager=e},style:{flex:1},initialPage:0,onPageSelected:this.onViewPagerChange},e.map((e,t)=>Ft.getPage(e,t))))}}const{width:_t}=s.Dimensions.get("window"),Ht=s.StyleSheet.create({setNativePropsDemo:{display:"flex",alignItems:"center",position:"relative"},nativeDemo1Drag:{height:80,width:_t,backgroundColor:"#4c9afa",position:"relative",marginTop:10},nativeDemo1Point:{height:80,width:80,color:"#4cccfa",backgroundColor:"#4cccfa",position:"absolute",left:0},nativeDemo2Drag:{height:80,width:_t,backgroundColor:"#4c9afa",position:"relative",marginTop:10},nativeDemo2Point:{height:80,width:80,color:"#4cccfa",backgroundColor:"#4cccfa",position:"absolute",left:0},splitter:{marginTop:50}});class Wt extends l.a.Component{constructor(e){super(e),this.demon1Point=l.a.createRef(),this.demo1PointDom=null,this.state={demo2Left:0},this.isDemon1Layouted=!1,this.idDemon2Layouted=!1,this.onTouchDown1=this.onTouchDown1.bind(this),this.onDemon1Layout=this.onDemon1Layout.bind(this),this.onTouchMove1=this.onTouchMove1.bind(this),this.onTouchDown2=this.onTouchDown2.bind(this),this.onTouchMove2=this.onTouchMove2.bind(this)}componentDidMount(){}onDemon1Layout(){this.isDemon1Layouted||(this.isDemon1Layouted=!0,this.demo1PointDom=s.UIManagerModule.getElementFromFiberRef(this.demon1Point.current))}onTouchDown1(e){const{page_x:t}=e,n=t-40;console.log("touchdown x",t,n,_t),this.demo1PointDom&&this.demo1PointDom.setNativeProps({style:{left:n}})}onTouchMove1(e){const{page_x:t}=e,n=t-40;console.log("touchmove x",t,n,_t),this.demo1PointDom&&this.demo1PointDom.setNativeProps({style:{left:n}})}onTouchDown2(e){const{page_x:t}=e,n=t-40;console.log("touchdown x",t,n,_t),this.setState({demo2Left:n})}onTouchMove2(e){const{page_x:t}=e,n=t-40;console.log("touchmove x",t,n,_t),this.setState({demo2Left:n})}render(){const{demo2Left:e}=this.state;return l.a.createElement(s.View,{style:Ht.setNativePropsDemo},l.a.createElement(s.Text,null,"setNativeProps实现拖动效果"),l.a.createElement(s.View,{style:Ht.nativeDemo1Drag,onTouchDown:this.onTouchDown1,onTouchMove:this.onTouchMove1},l.a.createElement(s.View,{onLayout:this.onDemon1Layout,style:Ht.nativeDemo1Point,ref:this.demon1Point})),l.a.createElement(s.View,{style:Ht.splitter}),l.a.createElement(s.Text,null,"普通渲染实现拖动效果"),l.a.createElement(s.View,{style:Ht.nativeDemo2Drag,onTouchDown:this.onTouchDown2,onTouchMove:this.onTouchMove2},l.a.createElement(s.View,{style:[Ht.nativeDemo2Point,{left:e}]})))}}const Nt=s.StyleSheet.create({dynamicImportDemo:{marginTop:20,display:"flex",flex:1,alignItems:"center",position:"relative",flexDirection:"column"}});class Kt extends l.a.Component{constructor(e){super(e),this.state={AsyncComponentFromLocal:null,AsyncComponentFromHttp:null},this.onAsyncComponentLoad=this.onAsyncComponentLoad.bind(this)}onAsyncComponentLoad(){console.log("load async component"),n.e(1).then(n.bind(null,"./src/externals/DyanmicImport/AsyncComponentLocal.jsx")).then(e=>{this.setState({AsyncComponentFromLocal:e.default||e})}).catch(e=>console.error("import async local component error",e)),n.e(0).then(n.bind(null,"./src/externals/DyanmicImport/AsyncComponentHttp.jsx")).then(e=>{this.setState({AsyncComponentFromHttp:e.default||e})}).catch(e=>console.error("import async remote component error",e))}render(){const{AsyncComponentFromLocal:e,AsyncComponentFromHttp:t}=this.state;return l.a.createElement(s.View,{style:Nt.dynamicImportDemo},l.a.createElement(s.View,{style:{width:130,height:40,textAlign:"center",backgroundColor:"#4c9afa",borderRadius:5},onTouchDown:this.onAsyncComponentLoad},l.a.createElement(s.Text,{style:{height:40,lineHeight:40,textAlign:"center"}},"点我异步加载")),l.a.createElement(s.View,{style:{marginTop:20}},e?l.a.createElement(e,null):null,t?l.a.createElement(t,null):null))}}const Ut=s.StyleSheet.create({LocalizationDemo:{marginTop:20,display:"flex",flex:1,alignItems:"center",position:"relative",flexDirection:"column"}});class Gt extends l.a.Component{render(){const{country:e,language:t,direction:n}=s.Platform.Localization||{};return l.a.createElement(s.View,{style:Ut.LocalizationDemo},l.a.createElement(s.View,{style:{height:40,textAlign:"center",backgroundColor:"#4c9afa",borderRadius:5},onTouchDown:this.onAsyncComponentLoad},l.a.createElement(s.Text,{style:{color:"white",marginHorizontal:30,height:40,lineHeight:40,textAlign:"center"}},`国际化相关信息:国家 ${e} | 语言 ${t} | 方向 ${1===n?"RTL":"LTR"}`)))}}const qt=()=>getTurboModule("demoTurbo").getTurboConfig(),Qt=s.StyleSheet.create({container:{flex:1},cellContentView:{flexDirection:"row",justifyContent:"space-between",backgroundColor:"#ccc",marginBottom:1},funcInfo:{justifyContent:"center",paddingLeft:15,paddingRight:15},actionButton:{backgroundColor:"#4c9afa",color:"#fff",height:44,lineHeight:44,textAlign:"center",width:80,borderRadius:6},resultView:{backgroundColor:"darkseagreen",minHeight:150,padding:15}});class Yt extends l.a.Component{constructor(e){super(e),this.state={config:null,result:"",funList:["getString","getNum","getBoolean","getMap","getObject","getArray","nativeWithPromise","getTurboConfig","printTurboConfig","getInfo","setInfo"]},this.onTurboFunc=this.onTurboFunc.bind(this),this.getRenderRow=this.getRenderRow.bind(this),this.getRowKey=this.getRowKey.bind(this)}async onTurboFunc(e){let t;if("nativeWithPromise"===e)t=await(async e=>turboPromise(getTurboModule("demoTurbo").nativeWithPromise)(e))("aaa");else if("getTurboConfig"===e)this.config=qt(),t="获取到config对象";else if("printTurboConfig"===e)n=this.config||qt(),t=getTurboModule("demoTurbo").printTurboConfig(n);else if("getInfo"===e)t=(this.config||qt()).getInfo();else if("setInfo"===e)(this.config||qt()).setInfo("Hello World"),t="设置config信息成功";else{t={getString:()=>{return e="123",getTurboModule("demoTurbo").getString(e);var e},getNum:()=>{return e=1024,getTurboModule("demoTurbo").getNum(e);var e},getBoolean:()=>{return e=!0,getTurboModule("demoTurbo").getBoolean(e);var e},getMap:()=>{return e=new Map([["a","1"],["b",2]]),getTurboModule("demoTurbo").getMap(e);var e},getObject:()=>{return e={c:"3",d:"4"},getTurboModule("demoTurbo").getObject(e);var e},getArray:()=>{return e=["a","b","c"],getTurboModule("demoTurbo").getArray(e);var e}}[e]()}var n;this.setState({result:t})}renderResultView(){return l.a.createElement(s.View,{style:Qt.resultView},l.a.createElement(s.Text,{style:{backgroundColor:"darkseagreen"}},""+this.state.result))}getRenderRow(e){const{funList:t}=this.state;return l.a.createElement(s.View,{style:Qt.cellContentView},l.a.createElement(s.View,{style:Qt.funcInfo},l.a.createElement(s.Text,{numberofLines:0},"函数名:",t[e])),l.a.createElement(s.Text,{style:Qt.actionButton,onClick:()=>this.onTurboFunc(t[e])},"执行"))}getRowKey(e){const{funList:t}=this.state;return t[e]}render(){const{funList:e}=this.state;return l.a.createElement(s.View,{style:Qt.container},this.renderResultView(),l.a.createElement(s.ListView,{numberOfRows:e.length,renderRow:this.getRenderRow,getRowKey:this.getRowKey,style:{flex:1}}))}}function Xt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function Jt(e){for(var t=1;t0===e.index?l.a.createElement(s.View,{style:[nn.container]},l.a.createElement(s.View,{style:{backgroundColor:nn.title.backgroundColor,marginLeft:12}},l.a.createElement(s.Text,{numberOfLines:1,style:[nn.title,{fontWeight:"bold"}]},t.name)),l.a.createElement(s.View,{style:nn.headerButton},l.a.createElement(s.Text,{numberOfLines:1,style:nn.title},"ver: ","unspecified"!==s.default.version?""+s.default.version:"master"))):l.a.createElement(s.View,{style:[nn.container]},l.a.createElement(s.View,{onClick:()=>e.goBack(),style:[nn.headerButton,"ios"===s.Platform.OS?null:{marginLeft:20}]},l.a.createElement(s.Image,{style:nn.backIcon,source:{uri:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAIPUlEQVR4Xu2dT8xeQxTGn1O0GiWEaEJCWJCwQLBo/WnRSqhEJUQT0W60G+1Ku1SS2mlXaqM2KqJSSUlajVb9TViwYEHCQmlCQghRgqKPTHLK7Zfvfd97Zt5535l7z91+58zce57fnfe7d+Y+I/Cj1xWQXl+9XzwcgJ5D4AA4AD2vQM8v30cAB6DnFZjA5ZO8VUTenEBX5i58BDCXzJZA8ikA6wFsFpEttuz80Q5AxhqTfAbA2kYXW0VkU8YuzU07AOaStUsg+RyA1bNEFwWBA9BOz9ZRJOcAeAHAqiFJ20VkQ+tGMwY6AGMsLslTAOwGcE+LZneIyLoWcVlDHIAxlVfFfxXACkOTO0VkjSF+7KEOwJhKSnIfgDuNzf0M4BoR+cqYN7ZwByCxlCTnAtgLYLmxqR8ALBGRz4x5Yw13ABLKSfJ0APsBLDU28x2Am0XkC2Pe2MMdgMiSkjwDwAEAi41NBPEXichhY16WcAcgoqwkzwRwCMD1xvRvANxUivjh3B0Ao4IkzwbwFoCrjalf67B/xJiXNdwBMJSX5LkA3gFwpSEthH6pd/63xrzs4Q5AyxKTPB/AuwAub5lyIuxzvfO/N+ZNJNwBaFFmkhcAeA/ApS3CmyGf6qPej8a8iYU7ACNKTfIivfMvNqryMYBbRCS87Cn2cACGSKPivw/gQqOCQfzwnH/UmDfxcAdgQMlJXqLDvlX8DwHcVoP4/hg4WPzLdNhfaLwlw2hxu4j8ZsybWriPADNKT/IKfdQ7z6jK2wDuEJE/jHlTDXcAGuUneZW+5DnHqMpBAHeJyDFj3tTDHQCVgOR1+nr3LKMqYRp4pYj8bcwrItwBAEBykU7sLDCqsgfAfSLyjzGvmPDeA0ByiU7pzjeqEsS/V0SOG/OKCu81ACSX6WKOeUZVdgF4oHbxe/0YSDIs33oFwGlG8ae+js94vkPDezkCkFypq3dPNRaziJW8xnN2AJoVIHm/rtsPS7gtRzFr+S0nPSq2VyOAiv9ixEKYor7mGSWq5e+9AYDkgwDC51rWa94iIpstRa0p1lqMmq7tv3Ml+RCA8KGm9Xo3isi2Ki+65UlbC9Ky2XLCSD4MYHvEGXVe/M4/BpJ8BMDWCPHXi8jTEXnVpXR2BCD5OIDHjIoQwDoRedaYV214JwEg+SSAjUZVgvhrROR5Y17V4Z0DoGHJYhEmTOaEV7svWZK6ENspAGaxZGmjUZjGDTN64bVw747OADDEkmWYqEH8u0Xktd4prxdcPQAtLVlm0/cvXcjRW/GrfwxU8V9uacnShOBPXcL1Rl/v/BPXXe0IYPTjaer8uy7eDN/49f6oEgCSYRo3/NNm8eMJYv+qy7Y/6L3ytf4PkGDJ8ot+sPGRi/9/BaoaARIsWX7S7/Q+cfFPrkA1ACRYsgTxb5y2GVOp4FUBQIIlSxFOXKWKX8VjYIIlSzFOXA5AZAUSLFmKM2OKLEH2tGJ/AhIsWYo0Y8quZGQHRQKQYMlSrBlTpD7Z04oDIMGSpWgzpuxKRnZQFACJ4t8gIsWaMUXqkz2tGAASLFmKd+LKrmJCB0UAQDLWkqUKJ64EfbKnTh2ABEuWqsyYsisZ2cFUAUiwZKnOjClSn+xpUwMgwZKlSjOm7EpGdlAjAOHuDz58VblxReqTPW1qAIQr85+A7PqO7GCqACgEsb58/k/gSHlHB0wdAIXAHwNHa5UloggAFIJYb15/EZSARjEAKASx1uw+DxAJQVEAKASxmzP4TGAEBMUBoBCE7VnC0m3rDh1hLcBiESlub54IbSaSUiQADQhi9ujxBSEGdIoFQCGI3aXLl4S1hKBoABSC2H36fFFoCwiKB0AhiN2p05eFj4CgCgAUgti9ev2roCEQVAOAQhC7W3f4LjDs4uWfhs2AoSoAFIK5avG+vMVPXDPEPw6dpWDVAaAQ+OfhRvoHhVcJgEIQ3L53R7iDuEFEg4ZqAVAI5qj1+yrjDeEWMVqwqgE4ITrJYAFvhcBNoiLcs4032uTCE2zieusRGNTpxAjQGAmCJfxaI3bBJTTs/uVGkcbCFRnuVrE2WTo1AjRGAjeLbslBJwHQJ4RgFR8s4y2H28VbqlV6rG8YMVqhzo4AjZ8D3zJmCAedB0B/DnzTqAEQ9AIAhSB227gnROTR0YNpnRG9AUAhCLuG+saRXZkLiLnnfOvYk6vWqxGg8Y+hbx7dpcmgyJHAt4/v2lyAFQSSy3R10Txj7i7dZey4Ma+48F7+BDRVILkEwH4A843q7NFJpKoh6D0A+nSwCMABAAsiIAjTyWFGscrDAVDZEjyL9unuY2ELuuoOB6AhWYJlzUHdhexYbQQ4ADMUS/AtrNK9zAGY5ZZNcC6tzr/QARgwZqt3cfAoWGgc1qsyr3IAhqibYGAdPIzDp2hHjfBMPNwBGFHyBAv7KoysHYAW91zCDibFO5g5AC0A0JdFwbcoxrKmaAczB6AlAApBrGVNsQ5mDoABAIUg1rKmSPMqB8AIgEIQa1kTzKuCjd2RiG6zpDgAkWVN2Mu4KAczByASAB0JYi1rinEwcwASAFAIgmXN6wCWGpsqwsHMATCqNiic5F4AK4zNBQeza0XksDFvbOEOwJhKSTLGt2iniKwZ0ylENeMARJVt9iSSFt+iHSKybozdRzXlAESVbXASyTa+RdtFZMOYu45qzgGIKtvopCGWNVtFZNPoFiYT4QBkrDPJmZY1W0Rkc8YuzU07AOaS2RIaljUbRWSbLTt/tAOQv8Zhf8Sw0eWhCXRl7sIBMJesWwkOQLf0NF+NA2AuWbcSHIBu6Wm+GgfAXLJuJTgA3dLTfDX/AlSTmJ/JwwOoAAAAAElFTkSuQmCC"}})),l.a.createElement(s.View,{style:nn.headerButton},l.a.createElement(s.Text,{numberOfLines:1,style:nn.title},t.name))));const rn="#4c9afa",an="#f44837",ln=s.StyleSheet.create({rowContainer:{alignItems:"center"},buttonView:{borderColor:rn,borderWidth:2,borderRadius:8,justifyContent:"center",alignItems:"center",width:250,height:50,marginTop:30,borderStyle:"solid"},buttonText:{fontSize:20,color:rn,textAlign:"center",textAlignVertical:"center"}});class sn extends a.Component{constructor(e){super(e),this.state={pressItem:"",dataSource:[...$t]},this.renderRow=this.renderRow.bind(this),this.getRowType=this.getRowType.bind(this),this.getRowKey=this.getRowKey.bind(this),this.clickTo=this.clickTo.bind(this)}componentDidMount(){const{history:e}=this.props;"android"===s.Platform.OS&&s.BackAndroid.addListener(()=>(console.log("BackAndroid"),0!==e.index&&(e.goBack(),!0)))}getRowType(e){const{dataSource:t}=this.state;return t[e].meta.style}getRowKey(e){const{dataSource:t}=this.state;return t[e].path||""+e}feedback(e){const t=e||"";this.setState({pressItem:t})}clickTo(e){const{history:t}=this.props;t.push(e)}renderRow(e){const{dataSource:t,pressItem:n}=this.state,o=t[e],{style:r}=o.meta;return l.a.createElement(s.View,{style:ln.rowContainer},l.a.createElement(s.View,{onPressIn:()=>this.feedback(o.path),onPressOut:()=>this.feedback(),onClick:()=>this.clickTo(o.path),style:[ln.buttonView,{borderColor:1===r?rn:an,opacity:n===o.path?.5:1}]},l.a.createElement(s.Text,{style:[ln.buttonText,{color:1===r?rn:an}]},o.name)))}render(){const{dataSource:e}=this.state;return l.a.createElement(s.ListView,{style:{flex:1,backgroundColor:"#ffffff"},numberOfRows:e.length,renderRow:this.renderRow,getRowType:this.getRowType,getRowKey:this.getRowKey})}}const cn=[{path:"/Gallery",name:"Hippy React",component:F(sn),meta:{style:1}},...$t];var hn=()=>l.a.createElement(s.View,{style:{flex:1,backgroundColor:"#fff"}},l.a.createElement(R,{initialEntries:["/Gallery"]},cn.map(e=>{const t=e.component;return l.a.createElement(P,{key:e.path,exact:!0,path:""+e.path},l.a.createElement(s.View,{style:{flex:1,backgroundColor:"#fff"}},l.a.createElement(on,{route:e}),l.a.createElement(t,{meta:e.meta||{}})))})));const un=s.StyleSheet.create({stepText:{color:"#242424",marginBottom:12},container:{flex:1,backgroundColor:"#fff",justifyContent:"center",flexDirection:"column",padding:20},button:{width:140,height:40,borderRadius:8,backgroundColor:"#4c9afa",alignItems:"center",justifyContent:"center"},buttonText:{fontSize:16,textAlign:"center",lineHeight:40,color:"#fff"},buttonContainer:{alignItems:"center",marginTop:12,justifyContent:"center"},inputStyle:{width:350,marginTop:30,marginBottom:10,placeholderTextColor:"#aaaaaa",fontSize:16,color:"#242424",height:80,lineHeight:30,borderColor:"#eee",borderWidth:1,borderStyle:"solid"}});function dn({instanceId:e}){const t=Object(a.useRef)(null),n=()=>{t.current.blur()};return l.a.createElement(s.ScrollView,{style:un.container,onClick:n},["安装远程调试依赖: npm i -D @hippy/debug-server-next@latest","修改 webpack 配置,添加远程调试地址","运行 npm run hippy:dev 开始编译,编译结束后打印出 bundleUrl 及调试首页地址","粘贴 bundleUrl 并点击开始按钮","访问调试首页开始远程调试,远程调试支持热更新(HMR)"].map((e,t)=>l.a.createElement(s.Text,{style:un.stepText,key:"steps-"+t},t+1,". ",e)),l.a.createElement(s.TextInput,{ref:t,style:un.inputStyle,placeholder:"please input bundleUrl",multiline:!0,numberOfLines:4,defaultValue:"http://127.0.0.1:38989/index.bundle?debugUrl=ws%3A%2F%2F127.0.0.1%3A38989%2Fdebugger-proxy"}),l.a.createElement(s.View,{style:un.buttonContainer},l.a.createElement(s.View,{style:un.button,onClick:()=>{n(),t.current.getValue().then(t=>{t&&Object(s.callNative)("TestModule","remoteDebug",e,t)})}},l.a.createElement(s.Text,{style:un.buttonText,numberOfLines:1},"开始"))))}const mn=s.StyleSheet.create({container:{flex:1}});class gn extends a.Component{constructor(e){super(e);const{width:t,height:n}=s.Dimensions.get("screen");this.state={isVertical:t{switch(e){case 0:return l.a.createElement(hn,null);case 1:return l.a.createElement(dn,{instanceId:t});default:return l.a.createElement(s.View,{style:fn.blankPage})}})(),l.a.createElement(s.View,{style:fn.buttonContainer},(()=>["API","调试"].map((t,n)=>l.a.createElement(s.View,{key:"button_"+n,style:fn.button,onClick:()=>this.setState({pageIndex:n})},l.a.createElement(s.Text,{style:[fn.buttonText,n===e?{color:"#4c9afa"}:null],numberOfLines:1},t))))()))}}},"./src/main.js":function(e,t,n){"use strict";n.r(t),function(e){var t=n("../../packages/hippy-react/dist/index.js"),o=n("./src/app.jsx");e.Hippy.on("uncaughtException",e=>{console.error("uncaughtException error",e.stack,e.message)}),e.Hippy.on("unhandledRejection",e=>{console.error("unhandledRejection reason",e)}),new t.Hippy({appName:"Demo",entryPage:o.a,bubbles:!1,silent:!1}).start()}.call(this,n("./node_modules/webpack/buildin/global.js"))},0:function(e,t,n){n("./node_modules/regenerator-runtime/runtime.js"),e.exports=n("./src/main.js")},"dll-reference hippyReactBase":function(e,t){e.exports=hippyReactBase}}); \ No newline at end of file diff --git a/examples/android-demo/res/vendor.android.js b/examples/android-demo/res/vendor.android.js index c49bd18eecd..a759acb193d 100644 --- a/examples/android-demo/res/vendor.android.js +++ b/examples/android-demo/res/vendor.android.js @@ -1,7 +1,7 @@ -var hippyReactBase=function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}({"../../packages/hippy-react/dist/index.js":function(e,t,n){"use strict";n.r(t),function(e){n.d(t,"Animated",(function(){return en})),n.d(t,"Animation",(function(){return Ce})),n.d(t,"AnimationSet",(function(){return Ie})),n.d(t,"AppRegistry",(function(){return Kt})),n.d(t,"AsyncStorage",(function(){return An})),n.d(t,"BackAndroid",(function(){return Rn})),n.d(t,"Clipboard",(function(){return Tn})),n.d(t,"ConsoleModule",(function(){return Qn})),n.d(t,"Dimensions",(function(){return tr})),n.d(t,"Easing",(function(){return tn})),n.d(t,"Focusable",(function(){return Cn})),n.d(t,"Hippy",(function(){return Gn})),n.d(t,"HippyEventEmitter",(function(){return fe})),n.d(t,"HippyEventListener",(function(){return ue})),n.d(t,"HippyRegister",(function(){return jn})),n.d(t,"Image",(function(){return Zt})),n.d(t,"ImageBackground",(function(){return Xn})),n.d(t,"ImageLoaderModule",(function(){return Hn})),n.d(t,"ListView",(function(){return sn})),n.d(t,"ListViewItem",(function(){return nn})),n.d(t,"Modal",(function(){return xn})),n.d(t,"Navigator",(function(){return fn})),n.d(t,"NetInfo",(function(){return Mn})),n.d(t,"NetworkModule",(function(){return On})),n.d(t,"PixelRatio",(function(){return nr})),n.d(t,"Platform",(function(){return Kn})),n.d(t,"PullFooter",(function(){return on})),n.d(t,"PullHeader",(function(){return rn})),n.d(t,"RNfqb",(function(){return Yn})),n.d(t,"RNfqbEventEmitter",(function(){return Zn})),n.d(t,"RNfqbEventListener",(function(){return er})),n.d(t,"RNfqbRegister",(function(){return Jn})),n.d(t,"RefreshWrapper",(function(){return un})),n.d(t,"ScrollView",(function(){return kn})),n.d(t,"StyleSheet",(function(){return wn})),n.d(t,"Text",(function(){return Xt})),n.d(t,"TextInput",(function(){return yn})),n.d(t,"TimerModule",(function(){return qn})),n.d(t,"UIManagerModule",(function(){return Dn})),n.d(t,"View",(function(){return Gt})),n.d(t,"ViewPager",(function(){return pn})),n.d(t,"WaterfallView",(function(){return Ln})),n.d(t,"WebSocket",(function(){return Pn})),n.d(t,"WebView",(function(){return Nn})),n.d(t,"callNative",(function(){return Wn})),n.d(t,"callNativeWithCallbackId",(function(){return Vn})),n.d(t,"callNativeWithPromise",(function(){return Bn})),n.d(t,"colorParse",(function(){return Dt})),n.d(t,"default",(function(){return Qt})),n.d(t,"flushSync",(function(){return Un})),n.d(t,"removeNativeCallback",(function(){return $n}));var r=n("./node_modules/@hippy/react-reconciler/index.js"),i=n.n(r),o=n("./node_modules/react/index.js"),a=n.n(o);const l=["children"],s=["collapsable","style"],u=["style"],c=["children","style","imageStyle","imageRef","source","sources","src","srcs","tintColor","tintColors"],f=["children"],d=["children"],p=["children","style","renderRow","renderPullHeader","renderPullFooter","getRowType","getRowStyle","getHeaderStyle","getFooterStyle","getRowKey","dataSource","initialListSize","rowShouldSticky","onRowLayout","onHeaderPulling","onHeaderReleased","onFooterPulling","onFooterReleased","onAppear","onDisappear","onWillAppear","onWillDisappear"],h=["children"],m=["initialRoute"],y=["component"],g=["children","onPageScrollStateChanged"],b=["style","renderBanner","numberOfColumns","columnSpacing","interItemSpacing","numberOfItems","preloadItemNumber","renderItem","renderPullHeader","renderPullFooter","getItemType","getItemKey","getItemStyle","contentInset","onItemLayout","onHeaderPulling","onHeaderReleased","onFooterPulling","onFooterReleased","containPullHeader","containPullFooter","containBannerView"];function v(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function w(e){for(var t=1;t=0||(i[n]=e[n]);return i} +var hippyReactBase=function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}({"../../packages/hippy-react/dist/index.js":function(e,t,n){"use strict";n.r(t),function(e){n.d(t,"Animated",(function(){return sn})),n.d(t,"Animation",(function(){return Re})),n.d(t,"AnimationSet",(function(){return Te})),n.d(t,"AppRegistry",(function(){return tn})),n.d(t,"AsyncStorage",(function(){return Hn})),n.d(t,"BackAndroid",(function(){return Mn})),n.d(t,"Clipboard",(function(){return Un})),n.d(t,"ConsoleModule",(function(){return er})),n.d(t,"Dimensions",(function(){return sr})),n.d(t,"Easing",(function(){return un})),n.d(t,"Focusable",(function(){return Rn})),n.d(t,"Hippy",(function(){return nr})),n.d(t,"HippyEvent",(function(){return be})),n.d(t,"HippyEventEmitter",(function(){return he})),n.d(t,"HippyEventListener",(function(){return de})),n.d(t,"HippyRegister",(function(){return Vn})),n.d(t,"Image",(function(){return ln})),n.d(t,"ImageBackground",(function(){return ir})),n.d(t,"ImageLoaderModule",(function(){return $n})),n.d(t,"ListView",(function(){return mn})),n.d(t,"ListViewItem",(function(){return cn})),n.d(t,"Modal",(function(){return An})),n.d(t,"Navigator",(function(){return bn})),n.d(t,"NetInfo",(function(){return qn})),n.d(t,"NetworkModule",(function(){return Wn})),n.d(t,"PixelRatio",(function(){return ur})),n.d(t,"Platform",(function(){return tr})),n.d(t,"PullFooter",(function(){return dn})),n.d(t,"PullHeader",(function(){return fn})),n.d(t,"RNfqb",(function(){return rr})),n.d(t,"RNfqbEventEmitter",(function(){return ar})),n.d(t,"RNfqbEventListener",(function(){return lr})),n.d(t,"RNfqbRegister",(function(){return or})),n.d(t,"RefreshWrapper",(function(){return yn})),n.d(t,"ScrollView",(function(){return _n})),n.d(t,"StyleSheet",(function(){return In})),n.d(t,"Text",(function(){return on})),n.d(t,"TextInput",(function(){return En})),n.d(t,"TimerModule",(function(){return Zn})),n.d(t,"UIManagerModule",(function(){return Qn})),n.d(t,"View",(function(){return nn})),n.d(t,"ViewPager",(function(){return wn})),n.d(t,"WaterfallView",(function(){return Fn})),n.d(t,"WebSocket",(function(){return On})),n.d(t,"WebView",(function(){return zn})),n.d(t,"callNative",(function(){return Gn})),n.d(t,"callNativeWithCallbackId",(function(){return Xn})),n.d(t,"callNativeWithPromise",(function(){return Yn})),n.d(t,"colorParse",(function(){return Qt})),n.d(t,"default",(function(){return en})),n.d(t,"flushSync",(function(){return Kn})),n.d(t,"removeNativeCallback",(function(){return Jn}));var r=n("./node_modules/@hippy/react-reconciler/index.js"),i=n.n(r),o=n("./node_modules/react/index.js"),a=n.n(o);const l=["children"],s=["collapsable","style"],u=["style"],c=["children","style","imageStyle","imageRef","source","sources","src","srcs","tintColor","tintColors"],f=["children"],d=["children"],p=["children","style","renderRow","renderPullHeader","renderPullFooter","getRowType","getRowStyle","getHeaderStyle","getFooterStyle","getRowKey","dataSource","initialListSize","rowShouldSticky","onRowLayout","onHeaderPulling","onHeaderReleased","onFooterPulling","onFooterReleased","onAppear","onDisappear","onWillAppear","onWillDisappear"],h=["children"],m=["initialRoute"],y=["component"],g=["children","onPageScrollStateChanged"],b=["style","renderBanner","numberOfColumns","columnSpacing","interItemSpacing","numberOfItems","preloadItemNumber","renderItem","renderPullHeader","renderPullFooter","getItemType","getItemKey","getItemStyle","contentInset","onItemLayout","onHeaderPulling","onHeaderReleased","onFooterPulling","onFooterReleased","containPullHeader","containPullFooter","containBannerView"];function v(){v=function(e,t){return new n(e,void 0,t)};var e=RegExp.prototype,t=new WeakMap;function n(e,r,i){var o=new RegExp(e,r);return t.set(o,i||t.get(e)),S(o,n.prototype)}function r(e,n){var r=t.get(n);return Object.keys(r).reduce((function(t,n){return t[n]=e[r[n]],t}),Object.create(null))}return w(n,RegExp),n.prototype.exec=function(t){var n=e.exec.call(this,t);return n&&(n.groups=r(n,this)),n},n.prototype[Symbol.replace]=function(n,i){if("string"==typeof i){var o=t.get(this);return e[Symbol.replace].call(this,n,i.replace(/\$<([^>]+)>/g,(function(e,t){return"$"+o[t]})))}if("function"==typeof i){var a=this;return e[Symbol.replace].call(this,n,(function(){var e=arguments;return"object"!=typeof e[e.length-1]&&(e=[].slice.call(e)).push(r(e,a)),i.apply(this,e)}))}return e[Symbol.replace].call(this,n,i)},v.apply(this,arguments)}function w(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&S(e,t)}function S(e,t){return(S=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function k(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function E(e){for(var t=1;t=0||(i[n]=e[n]);return i} /*! * @hippy/react vunspecified - * Build at: Thu Aug 11 2022 13:22:29 GMT+0800 (China Standard Time) + * Build at: Thu Sep 01 2022 12:42:17 GMT+0800 (China Standard Time) * * Tencent is pleased to support the open source community by making * Hippy available. @@ -20,7 +20,7 @@ var hippyReactBase=function(e){var t={};function n(r){if(t[r])return t[r].export * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}e.__GLOBAL__||(e.__GLOBAL__={}),e.__GLOBAL__.nodeId=0,e.__GLOBAL__.animationId=0;const{asyncStorage:E,bridge:x,device:C,document:N,register:I,on:P,off:_,emit:L}=e.Hippy;var A=Object.freeze({__proto__:null,addEventListener:P,removeEventListener:_,dispatchEvent:L,AsyncStorage:E,Bridge:x,Device:C,HippyRegister:I,UIManager:N});let R,z;const T=new Map;function O(e,t){z=e,R=t}function F(){if(!z)throw new Error("getRootViewId must execute after setRootContainer");return z}function j(e){if(!R)return null;const{current:t}=R,n=[t];for(;n.length;){const t=n.shift();if(!t)break;if(e(t))return t;t.child&&n.push(t.child),t.sibling&&n.push(t.sibling)}return null}function H(e,t){T.set(t,e)}function M(e){T.delete(e)}function D(e){return(null==e?void 0:e.stateNode)||null}function U(e){return T.get(e)||null}function W(t){!function(t,n){if(!e.requestIdleCallback)return setTimeout(()=>{t({didTimeout:!1,timeRemaining:()=>1/0})},1);e.requestIdleCallback(t,n)}(e=>{(e.timeRemaining()>0||e.didTimeout)&&function e(t){"number"==typeof t?M(t):t&&(M(t.nodeId),Array.isArray(t.childNodes)&&t.childNodes.forEach(t=>e(t)))}(t)},{timeout:50})}const B={onTouchStart:["onTouchStart","onTouchDown"],onPress:["onPress","onClick"]},V=new RegExp(/^\d+$/);let $=!1,q=!1;function Q(e){return e.replace(/\\u[\dA-F]{4}|\\x[\dA-F]{2}/gi,e=>String.fromCharCode(parseInt(e.replace(/\\u|\\x/g,""),16)))}const K=new RegExp("^on.+Capture$");const G=new RegExp("^(?=.+)[+-]?\\d*\\.?\\d*([Ee][+-]?\\d+)?$");function Y(e){return"[object Function]"===Object.prototype.toString.call(e)}function X(e){$=e}function J(){return q}function Z(e){if(e&&!/^(http|https):\/\//.test(e)&&e.indexOf("assets")>-1){0;return`${"hpfile://"}./${e}`}return e}function ee(e){return 5===e}class te{constructor(e){this.handlerContainer={},this.nextIdForHandler=0,this.eventName=e}getEventListeners(){return Object.keys(this.handlerContainer).filter(e=>this.handlerContainer[e]).map(e=>this.handlerContainer[e])}getHandlerSize(){return Object.keys(this.handlerContainer).length}addEventHandler(e,t){if(!e)throw new TypeError("Invalid arguments for addEventHandler");const n=this.nextIdForHandler;this.nextIdForHandler+=1;const r={id:n,eventHandler:e,context:t},i="eventHandler_"+n;return this.handlerContainer[i]=r,n}notifyEvent(e){Object.keys(this.handlerContainer).forEach(t=>{const n=this.handlerContainer[t];n&&n.eventHandler&&(n.context?n.eventHandler.call(n.context,e):n.eventHandler(e))})}removeEventHandler(e){if("number"!=typeof e)throw new TypeError("Invalid arguments for removeEventHandler");const t="eventHandler_"+e;this.handlerContainer[t]&&delete this.handlerContainer[t]}}class ne{constructor(e,t,n){this.type=e,this.bubbles=!0,this.timeStamp=Date.now(),this.currentTarget=t,this.target=n}stopPropagation(){this.bubbles=!1}preventDefault(){}}const re=new Map;function ie(e,t){let n=e;if(t.memoizedProps&&!t.memoizedProps[e]){const r=Object.keys(B);for(let i=0;i0){let e,i=!1;const o=D(n);for(;!i&&void 0!==(e=r.shift());)try{const{eventName:n,currentTarget:r,listener:a,isCapture:l}=e,s=new ne(n,r,o);Object.assign(s,t),l?(a(s),s.bubbles||(i=!0)):(i=a(s),"boolean"!=typeof i&&(i=!J()),s.bubbles||(i=!0))}catch(e){console.reportUncaughtException(e)}}}(i,e,a):function(e,t,n){let r=!1,i=n,o=e;const a=D(n);do{if(o=ie(o,i),oe(o,i))try{const e=D(i),n=new ne(o,e,a);Object.assign(n,t),r=i.memoizedProps[o](n),"boolean"!=typeof r&&(r=!J()),n.bubbles||(r=!0)}catch(e){console.reportUncaughtException(e)}if(!1===r)for(i=i.return;i&&!ee(i.tag);)i=i.return}while(!r&&i)}(i,e,a)},receiveUIComponentEvent:function(e){if(!e||!Array.isArray(e)||e.length<2)return;const[t,n,r]=e;if("number"!=typeof t||"string"!=typeof n)return;const i=U(t);i&&oe(n,i)&&i.memoizedProps[n](r)}};e.__GLOBAL__&&(e.__GLOBAL__.jsModuleList.EventDispatcher=le);class se{constructor(e,t){this.callback=e,this.bindListener=t}remove(){"number"==typeof this.callback&&this.bindListener&&(this.bindListener.removeCallback(this.callback),this.bindListener=void 0)}}class ue{constructor(e){this.eventName=e,this.listenerIdList=[]}unregister(){const e=le.getHippyEventHub(this.eventName);if(!e)throw new ReferenceError("No listeners for "+this.eventName);const t=this.listenerIdList.length;for(let n=0;n{t(e)});return ge.set(t,r),new ve(n,t)},removeEventListener:we,fetch:function(){return x.callNativeWithPromise("NetInfo","getCurrentConnectivity").then(e=>e.network_info)}});function ke(e){return"loop"===e?-1:e}const Ee=new fe;function xe(e,t){return"color"===e&&["number","string"].indexOf(typeof t)>=0?Dt(t):t}class Ce{constructor(e){var t;let n=0;if((null===(t=e.startValue)||void 0===t?void 0:t.constructor)&&"Animation"===e.startValue.constructor.name)n={animationId:e.startValue.animationId};else{const{startValue:t}=e;n=xe(e.valueType,t)}const r=xe(e.valueType,e.toValue);this.mode=e.mode||"timing",this.delay=e.delay||0,this.startValue=n||0,this.toValue=r||0,this.valueType=e.valueType||void 0,this.duration=e.duration||0,this.direction=e.direction||"center",this.timingFunction=e.timingFunction||"linear",this.repeatCount=ke(e.repeatCount||0),this.inputRange=e.inputRange||[],this.outputRange=e.outputRange||[],this.animationId=Nt.callNativeWithCallbackId("AnimationModule","createAnimation",!0,this.mode,Object.assign({delay:this.delay,startValue:this.startValue,toValue:this.toValue,duration:this.duration,direction:this.direction,timingFunction:this.timingFunction,repeatCount:this.repeatCount,inputRange:this.inputRange,outputRange:this.outputRange},this.valueType?{valueType:this.valueType}:{})),this.destroy=this.destroy.bind(this),this.onRNfqbAnimationStart=this.onAnimationStart.bind(this),this.onRNfqbAnimationEnd=this.onAnimationEnd.bind(this),this.onRNfqbAnimationCancel=this.onAnimationCancel.bind(this),this.onRNfqbAnimationRepeat=this.onAnimationRepeat.bind(this),this.onHippyAnimationStart=this.onAnimationStart.bind(this),this.onHippyAnimationEnd=this.onAnimationEnd.bind(this),this.onHippyAnimationCancel=this.onAnimationCancel.bind(this),this.onHippyAnimationRepeat=this.onAnimationRepeat.bind(this)}removeEventListener(){this.animationStartListener&&this.animationStartListener.remove(),this.animationEndListener&&this.animationEndListener.remove(),this.animationCancelListener&&this.animationCancelListener.remove(),this.animationRepeatListener&&this.animationRepeatListener.remove()}start(){this.removeEventListener();let e="onAnimation";e="onHippyAnimation","function"==typeof this.onAnimationStartCallback&&(this.animationStartListener=Ee.addListener(e+"Start",e=>{e===this.animationId&&(this.animationStartListener.remove(),"function"==typeof this.onAnimationStartCallback&&this.onAnimationStartCallback())})),"function"==typeof this.onAnimationEndCallback&&(this.animationEndListener=Ee.addListener(e+"End",e=>{e===this.animationId&&(this.animationEndListener.remove(),"function"==typeof this.onAnimationEndCallback&&this.onAnimationEndCallback())})),"function"==typeof this.onAnimationCancelCallback&&(this.animationCancelListener=Ee.addListener(e+"Cancel",e=>{e===this.animationId&&(this.animationCancelListener.remove(),"function"==typeof this.onAnimationCancelCallback&&this.onAnimationCancelCallback())})),"function"==typeof this.onAnimationRepeatCallback&&(this.animationRepeatListener=Ee.addListener(e+"Repeat",e=>{e===this.animationId&&"function"==typeof this.onAnimationRepeatCallback&&this.onAnimationRepeatCallback()})),Nt.callNative("AnimationModule","startAnimation",this.animationId)}destory(){this.destroy()}destroy(){this.removeEventListener(),Nt.callNative("AnimationModule","destroyAnimation",this.animationId)}pause(){Nt.callNative("AnimationModule","pauseAnimation",this.animationId)}resume(){Nt.callNative("AnimationModule","resumeAnimation",this.animationId)}updateAnimation(e){if("object"!=typeof e)throw new TypeError("Invalid arguments");if("string"==typeof e.mode&&e.mode!==this.mode)throw new TypeError("Update animation mode not supported");Object.keys(e).forEach(t=>{const n=e[t];if("startValue"===t){let t=0;if(e.startValue instanceof Ce)t={animationId:e.startValue.animationId};else{const{startValue:n}=e;t=xe(this.valueType,n)}this.startValue=t||0}else"repeatCount"===t?this.repeatCount=ke(e.repeatCount||0):Object.defineProperty(this,t,{value:n})}),Nt.callNative("AnimationModule","updateAnimation",this.animationId,Object.assign({delay:this.delay,startValue:this.startValue,toValue:xe(this.valueType,this.toValue),duration:this.duration,direction:this.direction,timingFunction:this.timingFunction,repeatCount:this.repeatCount,inputRange:this.inputRange,outputRange:this.outputRange},this.valueType?{valueType:this.valueType}:{}))}onAnimationStart(e){this.onAnimationStartCallback=e}onAnimationEnd(e){this.onAnimationEndCallback=e}onAnimationCancel(e){this.onAnimationCancelCallback=e}onAnimationRepeat(e){this.onAnimationRepeatCallback=e}}const Ne=new fe;class Ie{constructor(e){this.animationList=[],e.children.forEach(e=>{this.animationList.push({animationId:e.animation.animationId,follow:e.follow||!1})}),this.animationId=Nt.callNativeWithCallbackId("AnimationModule","createAnimationSet",!0,{repeatCount:ke(e.repeatCount||0),children:this.animationList,virtual:e.virtual}),this.onRNfqbAnimationStart=this.onAnimationStart.bind(this),this.onRNfqbAnimationEnd=this.onAnimationEnd.bind(this),this.onRNfqbAnimationCancel=this.onAnimationCancel.bind(this),this.onRNfqbAnimationRepeat=this.onAnimationRepeat.bind(this),this.onHippyAnimationStart=this.onAnimationStart.bind(this),this.onHippyAnimationEnd=this.onAnimationEnd.bind(this),this.onHippyAnimationCancel=this.onAnimationCancel.bind(this),this.onHippyAnimationRepeat=this.onAnimationRepeat.bind(this)}removeEventListener(){this.animationStartListener&&this.animationStartListener.remove(),this.animationEndListener&&this.animationEndListener.remove(),this.animationCancelListener&&this.animationCancelListener.remove(),this.animationRepeatListener&&this.animationRepeatListener.remove()}start(){this.removeEventListener();let e="onAnimation";e="onHippyAnimation","function"==typeof this.onAnimationStartCallback&&(this.animationStartListener=Ne.addListener(e+"Start",e=>{e===this.animationId&&(this.animationStartListener.remove(),"function"==typeof this.onAnimationStartCallback&&this.onAnimationStartCallback())})),"function"==typeof this.onAnimationEndCallback&&(this.animationEndListener=Ne.addListener(e+"End",e=>{e===this.animationId&&(this.animationEndListener.remove(),"function"==typeof this.onAnimationEndCallback&&this.onAnimationEndCallback())})),"function"==typeof this.onAnimationCancelCallback&&(this.animationCancelListener=Ne.addListener(e+"Cancel",e=>{e===this.animationId&&(this.animationCancelListener.remove(),"function"==typeof this.onAnimationCancelCallback&&this.onAnimationCancelCallback())})),"function"==typeof this.onAnimationRepeatCallback&&(this.animationRepeatListener=Ne.addListener(e+"Repeat",e=>{e===this.animationId&&"function"==typeof this.onAnimationRepeatCallback&&this.onAnimationRepeatCallback()})),Nt.callNative("AnimationModule","startAnimation",this.animationId)}destory(){this.destroy()}destroy(){this.removeEventListener(),this.animationList.forEach(e=>Number.isInteger(e.animationId)&&Nt.callNative("AnimationModule","destroyAnimation",e.animationId)),Nt.callNative("AnimationModule","destroyAnimation",this.animationId)}pause(){Nt.callNative("AnimationModule","pauseAnimation",this.animationId)}resume(){Nt.callNative("AnimationModule","resumeAnimation",this.animationId)}onAnimationStart(e){this.onAnimationStartCallback=e}onAnimationEnd(e){this.onAnimationEndCallback=e}onAnimationCancel(e){this.onAnimationCancelCallback=e}onAnimationRepeat(e){this.onAnimationRepeatCallback=e}}const Pe={createNode:Symbol("createNode"),updateNode:Symbol("updateNode"),deleteNode:Symbol("deleteNode")};let _e=!0,Le=[];function Ae(e){(function(e){const t=[];for(let n=0;n{switch(t.type){case Pe.createNode:t.nodes,Xe(e,t.nodes);break;case Pe.updateNode:t.nodes,"ios"===C.platform.OS?t.nodes.forEach(t=>Je(e,[t])):Je(e,t.nodes);break;case Pe.deleteNode:t.nodes,"ios"===C.platform.OS?t.nodes.forEach(t=>Ze(e,[t])):Ze(e,t.nodes)}})}function Re(e=!1){if(!_e)return;if(_e=!1,0===Le.length)return void(_e=!0);const t=F();tt(),e?(Ae(t),nt(),Le=[],_e=!0):Promise.resolve().then(()=>{Ae(t),nt(),Le=[],_e=!0})}function ze(e){const t=e.attributes,{children:n}=t;return k(t,l)}function Te(e,t){var n;if(!t.nativeName)return null;if(t.meta.skipAddToDom)return null;if(!t.meta.component)throw new Error("Specific tag is not supported yet: "+t.tagName);return{id:t.nodeId,pId:(null===(n=t.parentNode)||void 0===n?void 0:n.nodeId)||e,index:t.index,name:t.nativeName,props:w(w({},ze(t)),{},{style:t.style})}}function Oe(e,t,n,r){const i=[];let o=n;return void 0===o&&t&&t.parentNode&&(o=t.parentNode.childNodes.indexOf(t)),t.traverseChildren(t=>{const n=Te(e,t);n&&i.push(n),"function"==typeof r&&r(t)},o),i}function Fe(e){return!!R&&e instanceof R.containerInfo.constructor}function je(e,t,n=-1){if(!e||!t)return;if(t.meta.skipAddToDom)return;const r=F(),i=Fe(e)&&!e.isMounted,o=e.isMounted&&!t.isMounted;if(i||o){const e=Oe(r,t,n,e=>{e.isMounted||(e.isMounted=!0)});Le.push({type:Pe.createNode,nodes:e})}}function He(e,t,n){if(!t||t.meta.skipAddToDom)return;t.isMounted=!1,t.index=n;const r=F(),i=[{id:t.nodeId,pId:t.parentNode?t.parentNode.nodeId:r,index:t.index}];Le.push({type:Pe.deleteNode,nodes:i})}function Me(e){if(!e.isMounted)return;const t=Te(F(),e);t&&Le.push({type:Pe.updateNode,nodes:[t]})}let De=0;class Ue{constructor(){this.meta={component:{}},this.index=0,this.childNodes=[],this.parentNode=null,this.mounted=!1,this.nodeId=(De+=1,De%10==0&&(De+=1),De)}toString(){return this.constructor.name}get isMounted(){return this.mounted}set isMounted(e){this.mounted=e}insertBefore(e,t){if(!e)throw new Error("Can't insert child.");if(e.meta.skipAddToDom)return;if(!t)return this.appendChild(e);if(t.parentNode!==this)throw new Error("Can't insert child, because the reference node has a different parent.");if(e.parentNode&&e.parentNode!==this)throw new Error("Can't insert child, because it already has a different parent.");const n=this.childNodes.indexOf(t);return e.parentNode=this,this.childNodes.splice(n,0,e),je(this,e,n)}moveChild(e,t){if(!e)throw new Error("Can't move child.");if(e.meta.skipAddToDom)return;if(!t)return this.appendChild(e);if(t.parentNode!==this)throw new Error("Can't move child, because the reference node has a different parent.");if(e.parentNode&&e.parentNode!==this)throw new Error("Can't move child, because it already has a different parent.");const n=this.childNodes.indexOf(e);if(this.childNodes.indexOf(t)===n)return e;this.childNodes.splice(n,1),He(0,e,n);const r=this.childNodes.indexOf(t);return this.childNodes.splice(r,0,e),je(this,e,r)}appendChild(e){if(!e)throw new Error("Can't append child.");if(!e.meta.skipAddToDom){if(e.parentNode&&e.parentNode!==this)throw new Error("Can't append child, because it already has a different parent.");e.parentNode=this,this.childNodes.push(e),je(this,e,this.childNodes.length-1)}}removeChild(e){if(!e)throw new Error("Can't remove child.");if(e.meta.skipAddToDom)return;if(!e.parentNode)throw new Error("Can't remove child, because it has no parent.");if(e.parentNode!==this)throw new Error("Can't remove child, because it has a different parent.");const t=this.childNodes.indexOf(e);this.childNodes.splice(t,1),He(0,e,t)}findChild(e){if(e(this))return this;if(this.childNodes.length)for(let t=0;t{this.traverseChildren.call(t,e,n)})}}const We={textDecoration:"textDecorationLine",boxShadowOffset:"shadowOffset",boxShadowOffsetX:"shadowOffsetX",boxShadowOffsetY:"shadowOffsetY",boxShadowOpacity:"shadowOpacity",boxShadowRadius:"shadowRadius",boxShadowSpread:"shadowSpread",boxShadowColor:"shadowColor"},Be={totop:"0",totopright:"totopright",toright:"90",tobottomright:"tobottomright",tobottom:"180",tobottomleft:"tobottomleft",toleft:"270",totopleft:"totopleft"},Ve="turn",$e="rad",qe="deg";function Qe(e){const t=(e||"").replace(/\s*/g,"").toLowerCase(),n=/^([+-]?\d+\.?\d*)+(deg|turn|rad)|(to\w+)$/g.exec(t);if(!Array.isArray(n))return;let r="180";const[i,o,a]=n;return o&&a?r=function(e,t=qe){const n=parseFloat(e);let r=e||"";const[,i]=e.split(".");switch(i&&i.length>2&&(r=n.toFixed(2)),t){case Ve:r=""+(360*n).toFixed(2);break;case $e:r=""+(180/Math.PI*n).toFixed(2)}return r}(o,a):i&&void 0!==Be[i]&&(r=Be[i]),r}function Ke(e){const t=(e||"").replace(/\s+/g," ").trim(),[n,r]=t.split(/\s+(?![^(]*?\))/),i=/^([+-]?\d+\.?\d*)%$/g;return!n||i.exec(n)||r?n&&i.exec(r)?{ratio:parseFloat(r.split("%")[0])/100,color:Dt(n)}:void 0:{color:Dt(n)}}function Ge(e){var t;return t=e,K.test(t)&&(e=e.replace("Capture","")),B[e]?B[e][1]:e}class Ye extends Ue{constructor(e){super(),this.id="",this.style={},this.attributes={},this.events={},this.tagName=e}get nativeName(){return this.meta.component.name}toString(){return`${this.tagName}:(${this.nativeName})`}hasAttribute(e){return!!this.attributes[e]}getAttribute(e){return this.attributes[e]}setStyleAttribute(e){this.style={};let t=e;if(!Array.isArray(t)&&Object.hasOwnProperty.call(t,0)){const e=[],n={};Object.keys(t).forEach(r=>{var i;i=r,V.test(i)?e.push(t[r]):n[r]=t[r]}),t=[...e,n]}Array.isArray(t)||(t=[t]);let n={};t.forEach(e=>{Array.isArray(e)?e.forEach(e=>{n=w(w({},n),e)}):"object"==typeof e&&e&&(n=w(w({},n),e))}),Object.keys(n).forEach(e=>{const t=n[e];if(Object.prototype.hasOwnProperty.call(We,e)&&(e=We[e]),"transform"===e){const e={};if(!Array.isArray(t))throw new TypeError("transform only support array args");t.forEach(t=>{Object.keys(t).forEach(n=>{const r=t[n];r instanceof Ce||r instanceof Ie?e[n]={animationId:r.animationId}:null===r?e[n]&&delete e[n]:void 0!==r&&(e[n]=r)})});const n=Object.keys(e);n.length&&(Array.isArray(this.style.transform)||(this.style.transform=[]),n.forEach(t=>this.style.transform.push({[t]:e[t]})))}else if(null===t&&void 0!==this.style[e])this.style[e]=void 0;else if(t instanceof Ce||t instanceof Ie)this.style[e]={animationId:t.animationId};else if(e.toLowerCase().indexOf("colors")>-1)this.style[e]=Ut(t);else if(e.toLowerCase().indexOf("color")>-1)this.style[e]=Dt(t);else if("backgroundImage"===e&&t)this.style=function(e,t,n){if(0===t.indexOf("linear-gradient")){const e=t.substring(t.indexOf("(")+1,t.lastIndexOf(")")).split(/,(?![^(]*?\))/),r=[];n.linearGradient=n.linearGradient||{},e.forEach((e,t)=>{if(0===t){const t=Qe(e);if(t)n.linearGradient.angle=t;else{n.linearGradient.angle="180";const t=Ke(e);t&&r.push(t)}}else{const t=Ke(e);t&&r.push(t)}}),n.linearGradient.colorStopList=r}else n[e]=Z(t);return n}(e,t,this.style);else if("textShadowOffset"===e){const{x:n=0,width:r=0,y:i=0,height:o=0}=t||{};this.style[e]={width:n||r,height:i||o}}else["textShadowOffsetX","textShadowOffsetY"].indexOf(e)>=0?this.style=function(e,t,n){return n.textShadowOffset=n.textShadowOffset||{},Object.assign(n.textShadowOffset,{[{textShadowOffsetX:"width",textShadowOffsetY:"height"}[e]]:t||0}),n}(e,t,this.style):this.style[e]=t})}setAttributes(e=[]){Array.isArray(e)&&e.length>0&&(e.forEach(e=>{if(Array.isArray(e)){const[t,n]=e;this.setAttribute(t,n,{notToNative:!0})}}),Me(this))}parseAnimationStyleProp(e){let t=!1;Object.keys(e).some(n=>{const r=e[n];if(r&&Array.isArray(r)&&"transform"===n)for(let e=0;e["id"].indexOf(e)>=0,action:()=>(t===this.id||(this.id=t,function(e){if(!e.isMounted)return;const t=Oe(F(),e);Le.push({type:Pe.updateNode,nodes:t})}(this)),!0)},{match:()=>["value","defaultValue","placeholder"].indexOf(e)>=0,action:()=>(this.attributes[e]=Q(t),!1)},{match:()=>["text"].indexOf(e)>=0,action:()=>(this.attributes[e]=t,!1)},{match:()=>["style"].indexOf(e)>=0,action:()=>"object"!=typeof t||null==t||(this.setStyleAttribute(t),!1)},{match:()=>!0,action:()=>{if("function"==typeof t){const t=Ge(e);this.attributes[t]=!0,this.events[""+t]=!0}else{this.attributes[e]=t;const n=Ge(e);!0===this.events[""+n]&&"function"!=typeof t&&(this.attributes[n]=!1,delete this.events[""+n])}return!1}}].some(e=>!!e.match()&&(n=e.action(),!0)),n}setAttribute(e,t,n={}){try{if("boolean"==typeof this.attributes[e]&&""===t&&(t=!0),void 0===e)return void(!n.notToNative&&Me(this));if(this.parseAttributeProp(e,t))return;this.parseAnimationStyleProp(this.style),!n.notToNative&&Me(this)}catch(e){}}removeAttribute(e){delete this.attributes[e]}setStyle(e,t,n=!1){if(null===t)return void delete this.style[e];let r=t,i=e;Object.prototype.hasOwnProperty.call(We,e)&&(i=We[e]),"string"==typeof r&&(r=t.trim(),r=i.toLowerCase().indexOf("colors")>-1?Ut(r):i.toLowerCase().indexOf("color")>-1?Dt(r):function(e){if("number"==typeof e)return e;if("string"==typeof e&&G.test(e))try{return parseFloat(e)}catch(t){return e}return e}(r)),null!=r&&this.style[i]!==r&&(this.style[i]=r,n||Me(this))}setNativeProps(e){if(e){const{style:t}=e;if(t){const e=t;Object.keys(e).forEach(t=>{this.setStyle(t,e[t],!0)}),Me(this),Re(!0)}}}setText(e){if("string"!=typeof e)try{e=e.toString()}catch(e){throw new Error("Only string type is acceptable for setText")}return(e=e.trim())||this.getAttribute("text")?(e=(e=Q(e)).replace(/ /g," ").replace(/Â/g," "),"textarea"===this.tagName?this.setAttribute("value",e):this.setAttribute("text",e)):null}}const{createNode:Xe,updateNode:Je,deleteNode:Ze,flushBatch:et,startBatch:tt,endBatch:nt,sendRenderError:rt}=N,it=function(e){return j(t=>t.stateNode&&t.stateNode.nodeId===e)};function ot(e){if(e instanceof Ye)return e;if(!e)return null;const t=e._reactInternalFiber||e._reactInternals;if(null==t?void 0:t.child){let e=t.child;for(;e&&!(e.stateNode instanceof Ye);)e=e.child;return e&&e.stateNode?e.stateNode:null}return null}function at(e){let t=e;if("string"==typeof e){const n=j(t=>!!(t.return&&t.return.ref&&t.return.ref._stringRef)&&t.return.ref._stringRef===e);if(!n||!n.stateNode)return 0;t=n.stateNode}if(!t.nodeId){const e=ot(t);return e?e.nodeId:0}return t.nodeId}function lt(e,t,...n){let{nativeName:r,nodeId:i}=e;if(!i||!r){const t=ot(e);t&&({nodeId:i,nativeName:r}=t)}if(!r)throw new Error("callUIFunction is calling a unnamed component");if(!i)throw new Error("callUIFunction is calling a component have no nodeId");let[o=[],a]=n;Y(o)&&(a=o,o=[]);null!==F()&&("ios"===C.platform.OS?(Y(a)&&Array.isArray(o)&&o.push(a),x.callNative("UIManagerModule","callUIFunction",[r,i,t,o])):"android"===C.platform.OS&&(Y(a)?x.callNative("UIManagerModule","callUIFunction",[i,t,o],a):x.callNative("UIManagerModule","callUIFunction",[i,t,o])))}function st(e,t,n){const r=at(t);return new Promise((t,i)=>r?x.callNative("UIManagerModule",e,r,e=>(n&&Y(n)&&n(e),"this view is null"===e?i(new Error("Android cannot get the node")):t(e))):(n&&Y(n)&&n("this view is null"),i(new Error(e+" cannot get nodeId"))))}var ut=Object.freeze({__proto__:null,createNode:Xe,updateNode:Je,deleteNode:Ze,flushBatch:et,startBatch:tt,endBatch:nt,sendRenderError:rt,getNodeById:it,getNodeIdByRef:at,getElementFromFiberRef:ot,callUIFunction:lt,measureInWindow:function(e,t){return st("measureInWindow",e,t)},measureInAppWindow:function(e,t){return"android"===C.platform.OS?st("measureInWindow",e,t):st("measureInAppWindow",e,t)}});const ct=new fe,ft=new Set,dt={exitApp(){x.callNative("DeviceEventModule","invokeDefaultBackPressHandler")},addListener:e=>(x.callNative("DeviceEventModule","setListenBackPress",!0),ft.add(e),{remove(){dt.removeListener(e)}}),removeListener(e){ft.delete(e),0===ft.size&&x.callNative("DeviceEventModule","setListenBackPress",!1)},initEventListener(){ct.addListener("hardwareBackPress",()=>{let e=!0;[...ft].reverse().every(t=>"function"!=typeof t||!t()||(e=!1,!1)),e&&dt.exitApp()})}},pt=(dt.initEventListener(),dt);var ht=Array.isArray,mt=Object.keys,yt=Object.prototype.hasOwnProperty;const gt=setTimeout,bt=clearTimeout;var vt=Object.freeze({__proto__:null,commitMutationEffectsBegin:function(){},commitMutationEffectsComplete:function(){Re(!0)},getCurrentEventPriority:function(){return 16},scheduleTimeout:gt,cancelTimeout:bt,noTimeout:-1,afterActiveInstanceBlur:function(){},appendChild:function(e,t){e.childNodes.indexOf(t)>=0&&e.removeChild(t),e.appendChild(t)},appendChildToContainer:function(e,t){e.appendChild(t)},appendInitialChild:function(e,t){e.appendChild(t)},beforeActiveInstanceBlur:function(){},commitMount:function(){},commitTextUpdate:function(){},commitUpdate:function(e,t,n,r,i,o){H(o,e.nodeId);const a=Object.keys(t||{});if(0===a.length)return;const l=a.map(e=>[e,t[e]]);e.setAttributes(l)},clearContainer:function(){},createContainerChildSet:function(){},createInstance:function(e,t,n,r,i){const o=n.createElement(e);return Object.keys(t).forEach(e=>{switch(e){case"children":break;case"nativeName":o.meta.component.name=t.nativeName;break;default:o.setAttribute(e,t[e])}}),[5,7].indexOf(i.tag)<0&&(o.meta.skipAddToDom=!0),H(i,o.nodeId),o},createTextInstance:function(e,t,n,r){const i=t.createElement("p");return i.setAttribute("text",Q(e)),i.meta={component:{name:"Text"}},H(r,i.nodeId),i},detachDeletedInstance:function(){},finalizeContainerChildren:function(){},finalizeInitialChildren:function(){return!0},getChildHostContext:function(){return{}},getPublicInstance:function(e){return e},getInstanceFromNode:function(){throw new Error("Not yet implemented.")},getFundamentalComponentInstance:function(){throw new Error("Not yet implemented.")},getRootHostContext:function(){return{}},hideInstance:function(e){const t={style:{display:"none"}};Object.keys(t).forEach(n=>e.setAttribute(n,t[n]))},hideTextInstance:function(){throw new Error("Not yet implemented.")},insertBefore:function(e,t,n){e.childNodes.indexOf(t)>=0?e.moveChild(t,n):e.insertBefore(t,n)},isOpaqueHydratingObject:function(){throw new Error("Not yet implemented")},makeClientId:function(){throw new Error("Not yet implemented")},makeClientIdInDEV:function(){throw new Error("Not yet implemented")},makeOpaqueHydratingObject:function(){throw new Error("Not yet implemented.")},mountFundamentalComponent:function(){throw new Error("Not yet implemented.")},prepareForCommit:function(){return null},preparePortalMount:function(){},prepareUpdate:function(e,t,n,r){const i={};return Object.keys(n).forEach(e=>{const t=n[e],o=r[e];null!=t&&null==o&&(i[e]=o)}),Object.keys(r).forEach(e=>{const t=n[e],o=r[e];switch(e){case"children":t===o||"number"!=typeof o&&"string"!=typeof o||(i[e]=o);break;default:null!=o&&null==t?i[e]=o:"function"==typeof o||function e(t,n){if(t===n)return!0;if(t&&n&&"object"==typeof t&&"object"==typeof n){var r,i,o,a=ht(t),l=ht(n);if(a&&l){if((i=t.length)!=n.length)return!1;for(r=i;0!=r--;)if(!e(t[r],n[r]))return!1;return!0}if(a!=l)return!1;var s=t instanceof Date,u=n instanceof Date;if(s!=u)return!1;if(s&&u)return t.getTime()==n.getTime();var c=t instanceof RegExp,f=n instanceof RegExp;if(c!=f)return!1;if(c&&f)return t.toString()==n.toString();var d=mt(t);if((i=d.length)!==mt(n).length)return!1;for(r=i;0!=r--;)if(!yt.call(n,d[r]))return!1;for(r=i;0!=r--;)if(!e(t[o=d[r]],n[o]))return!1;return!0}return t!=t&&n!=n}(t,o)||(i[e]=o)}}),i},replaceContainerChildren:function(){},removeChild:function(e,t){e.removeChild(t),W(t)},removeChildFromContainer:function(e,t){e.removeChild(t),W(t)},resetAfterCommit:function(){},resetTextContent:function(){},unmountFundamentalComponent:function(){throw new Error("Not yet implemented.")},updateFundamentalComponent:function(){throw new Error("Not yet implemented.")},unhideTextInstance:function(){throw new Error("Not yet implemented.")},unhideInstance:function(e,t){const n=w(w({},t),{},{style:w(w({},t.style),{},{display:"flex"})});Object.keys(n).forEach(t=>e.setAttribute(t,n[t]))},shouldDeprioritizeSubtree:function(){return!0},shouldUpdateFundamentalComponent:function(){throw new Error("Not yet implemented.")},shouldSetTextContent:function(e,t){if(t&&"Text"===t.nativeName||-1!==["p","span"].indexOf(e)){const{children:e}=t;return"string"==typeof e||"number"==typeof e}return!1}});const wt=i()(w(w({},vt),{},{clearTimeout:clearTimeout,setTimeout:setTimeout,isPrimaryRenderer:!0,noTimeout:-1,supportsMutation:!0,supportsHydration:!1,supportsPersistence:!1,now:Date.now,scheduleDeferredCallback:()=>{},cancelDeferredCallback:()=>{}})),{flushSync:St}=wt,{addEventListener:kt,removeEventListener:Et,dispatchEvent:xt,AsyncStorage:Ct,Bridge:Nt,Device:It,HippyRegister:Pt}=A;var _t=Object.freeze({__proto__:null,addEventListener:kt,removeEventListener:Et,dispatchEvent:xt,AsyncStorage:Ct,BackAndroid:pt,Bridge:Nt,Clipboard:de,Cookie:pe,Device:It,HippyRegister:Pt,ImageLoader:ye,NetworkInfo:Se,UIManager:ut,flushSync:St});function Lt(...e){return`\\(\\s*(${e.join(")\\s*,\\s*(")})\\s*\\)`}const At={transparent:0,aliceblue:4042850303,antiquewhite:4209760255,aqua:16777215,aquamarine:2147472639,azure:4043309055,beige:4126530815,bisque:4293182719,black:255,blanchedalmond:4293643775,blue:65535,blueviolet:2318131967,brown:2771004159,burlywood:3736635391,burntsienna:3934150143,cadetblue:1604231423,chartreuse:2147418367,chocolate:3530104575,coral:4286533887,cornflowerblue:1687547391,cornsilk:4294499583,crimson:3692313855,cyan:16777215,darkblue:35839,darkcyan:9145343,darkgoldenrod:3095792639,darkgray:2846468607,darkgreen:6553855,darkgrey:2846468607,darkkhaki:3182914559,darkmagenta:2332068863,darkolivegreen:1433087999,darkorange:4287365375,darkorchid:2570243327,darkred:2332033279,darksalmon:3918953215,darkseagreen:2411499519,darkslateblue:1211993087,darkslategray:793726975,darkslategrey:793726975,darkturquoise:13554175,darkviolet:2483082239,deeppink:4279538687,deepskyblue:12582911,dimgray:1768516095,dimgrey:1768516095,dodgerblue:512819199,firebrick:2988581631,floralwhite:4294635775,forestgreen:579543807,fuchsia:4278255615,gainsboro:3705462015,ghostwhite:4177068031,gold:4292280575,goldenrod:3668254975,gray:2155905279,green:8388863,greenyellow:2919182335,grey:2155905279,honeydew:4043305215,hotpink:4285117695,indianred:3445382399,indigo:1258324735,ivory:4294963455,khaki:4041641215,lavender:3873897215,lavenderblush:4293981695,lawngreen:2096890111,lemonchiffon:4294626815,lightblue:2916673279,lightcoral:4034953471,lightcyan:3774873599,lightgoldenrodyellow:4210742015,lightgray:3553874943,lightgreen:2431553791,lightgrey:3553874943,lightpink:4290167295,lightsalmon:4288707327,lightseagreen:548580095,lightskyblue:2278488831,lightslategray:2005441023,lightslategrey:2005441023,lightsteelblue:2965692159,lightyellow:4294959359,lime:16711935,limegreen:852308735,linen:4210091775,magenta:4278255615,maroon:2147483903,mediumaquamarine:1724754687,mediumblue:52735,mediumorchid:3126187007,mediumpurple:2473647103,mediumseagreen:1018393087,mediumslateblue:2070474495,mediumspringgreen:16423679,mediumturquoise:1221709055,mediumvioletred:3340076543,midnightblue:421097727,mintcream:4127193855,mistyrose:4293190143,moccasin:4293178879,navajowhite:4292783615,navy:33023,oldlace:4260751103,olive:2155872511,olivedrab:1804477439,orange:4289003775,orangered:4282712319,orchid:3664828159,palegoldenrod:4008225535,palegreen:2566625535,paleturquoise:2951671551,palevioletred:3681588223,papayawhip:4293907967,peachpuff:4292524543,peru:3448061951,pink:4290825215,plum:3718307327,powderblue:2967529215,purple:2147516671,rebeccapurple:1714657791,red:4278190335,rosybrown:3163525119,royalblue:1097458175,saddlebrown:2336560127,salmon:4202722047,sandybrown:4104413439,seagreen:780883967,seashell:4294307583,sienna:2689740287,silver:3233857791,skyblue:2278484991,slateblue:1784335871,slategray:1887473919,slategrey:1887473919,snow:4294638335,springgreen:16744447,steelblue:1182971135,tan:3535047935,teal:8421631,thistle:3636451583,tomato:4284696575,turquoise:1088475391,violet:4001558271,wheat:4125012991,white:4294967295,whitesmoke:4126537215,yellow:4294902015,yellowgreen:2597139199},Rt="[-+]?\\d*\\.?\\d+",zt={rgb:new RegExp("rgb"+Lt(Rt,Rt,Rt)),rgba:new RegExp("rgba"+Lt(Rt,Rt,Rt,Rt)),hsl:new RegExp("hsl"+Lt(Rt,"[-+]?\\d*\\.?\\d+%","[-+]?\\d*\\.?\\d+%")),hsla:new RegExp("hsla"+Lt(Rt,"[-+]?\\d*\\.?\\d+%","[-+]?\\d*\\.?\\d+%",Rt)),hex3:/^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex4:/^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#([0-9a-fA-F]{6})$/,hex8:/^#([0-9a-fA-F]{8})$/};function Tt(e){const t=parseInt(e,10);return t<0?0:t>255?255:t}function Ot(e){const t=parseFloat(e);return t<0?0:t>1?255:Math.round(255*t)}function Ft(e,t,n){let r=n;return r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+6*(t-e)*r:r<.5?t:r<2/3?e+(t-e)*(2/3-r)*6:e}function jt(e,t,n){const r=n<.5?n*(1+t):n+t-n*t,i=2*n-r,o=Ft(i,r,e+1/3),a=Ft(i,r,e),l=Ft(i,r,e-1/3);return Math.round(255*o)<<24|Math.round(255*a)<<16|Math.round(255*l)<<8}function Ht(e){return(parseFloat(e)%360+360)%360/360}function Mt(e){const t=parseFloat(e);return t<0?0:t>100?1:t/100}function Dt(e,t={}){if(Number.isInteger(e))return e;let n=function(e){let t;return"number"==typeof e?e>>>0===e&&e>=0&&e<=4294967295?e:null:(t=zt.hex6.exec(e),Array.isArray(t)?parseInt(t[1]+"ff",16)>>>0:Object.hasOwnProperty.call(At,e)?At[e]:(t=zt.rgb.exec(e),Array.isArray(t)?(Tt(t[1])<<24|Tt(t[2])<<16|Tt(t[3])<<8|255)>>>0:(t=zt.rgba.exec(e),t?(Tt(t[1])<<24|Tt(t[2])<<16|Tt(t[3])<<8|Ot(t[4]))>>>0:(t=zt.hex3.exec(e),t?parseInt(t[1]+t[1]+t[2]+t[2]+t[3]+t[3]+"ff",16)>>>0:(t=zt.hex8.exec(e),t?parseInt(t[1],16)>>>0:(t=zt.hex4.exec(e),t?parseInt(t[1]+t[1]+t[2]+t[2]+t[3]+t[3]+t[4]+t[4],16)>>>0:(t=zt.hsl.exec(e),t?(255|jt(Ht(t[1]),Mt(t[2]),Mt(t[3])))>>>0:(t=zt.hsla.exec(e),t?(jt(Ht(t[1]),Mt(t[2]),Mt(t[3]))|Ot(t[4]))>>>0:null))))))))}(e);return t.platform||(t.platform="android"),null===n?0:(n=(n<<24|n>>>8)>>>0,"android"===t.platform&&(n|=0),n)}function Ut(e,t){return Array.isArray(e)?e.map(e=>Dt(e,t)):[0]}class Wt extends Ue{constructor(){super(),this.documentElement=new Ye("document")}createElement(e){return new Ye(e)}createElementNS(e,t){return new Ye(`${e}:${t}`)}}Wt.createElement=Wt.prototype.createElement,Wt.createElementNS=Wt.prototype.createElementNS;const{createContainer:Bt,updateContainer:Vt,getPublicRootInstance:$t,injectIntoDevTools:qt}=wt;class Qt{constructor(e){if(!e.appName||!e.entryPage)throw new TypeError("Invalid arguments");this.config=e,this.regist=this.start,this.render=this.render.bind(this);const t=new Wt;this.rootContainer=Bt(t,0,!1,null)}static get Native(){return _t}start(){Pt.regist(this.config.appName,this.render)}render(e){const{appName:t,entryPage:n,silent:r=!1,bubbles:i=!1,callback:o=(()=>{})}=this.config,{__instanceId__:l}=e;this.rootContainer.containerInfo.nodeId=l,r&&X(r),i&&function(e=!1){q=e}(i),O(l,this.rootContainer);const s=a.a.createElement(n,e);return Vt(s,this.rootContainer,null,o),$t(this.rootContainer)}}Qt.version="unspecified";const Kt={registerComponent(e,t){new Qt({appName:e,entryPage:t}).start()}};class Gt extends a.a.Component{constructor(){super(...arguments),this.instance=null}setPressed(e){lt(this.instance,"setPressed",[e])}setHotspot(e,t){lt(this.instance,"setHotspot",[e,t])}render(){const e=this.props,{collapsable:t,style:n={}}=e,r=k(e,s),i=n,{nativeBackgroundAndroid:o}=r;return"boolean"==typeof t&&(i.collapsable=t),void 0!==(null==o?void 0:o.color)&&(o.color=Dt(o.color)),a.a.createElement("div",w({ref:e=>{this.instance=e},nativeName:"View",style:i},r))}}function Yt(e,t){let{style:n}=e,r=k(e,u);const i=n;if(n&&(Array.isArray(n)?-1===n.filter(e=>"object"==typeof e&&e).findIndex(e=>e.color||e.colors)&&(i[0].color="#000"):"object"==typeof n&&void 0===n.color&&void 0===n.colors&&(i.color="#000")),r.text="","string"==typeof r.children)r.text=Q(r.children);else if("number"==typeof r.children)r.text=Q(r.children.toString());else if(Array.isArray(r.children)){const e=r.children.filter(e=>"string"==typeof e||"number"==typeof e).join("");e&&(r.text=Q(e),r.children=r.text)}return a.a.createElement("p",w({ref:t,nativeName:"Text",style:i},r))}Yt.displayName="Text";const Xt=a.a.forwardRef(Yt);Xt.displayName="Text";var Jt=Object.freeze({__proto__:null,default:Xt});class Zt extends a.a.Component{static get resizeMode(){return{contain:"contain",cover:"cover",stretch:"stretch",center:"center",repeat:"repeat"}}static getSize(e,t,n){if("string"!=typeof e)throw new TypeError("Image.getSize first argument must be a string url");const r=he(e);return"function"==typeof t&&r.then(e=>t(e.width,e.height)),"function"==typeof n?r.catch(n):r.catch(e=>{}),r}render(){const e=this.props,{children:t,style:n,imageStyle:r,imageRef:i,source:o,sources:l,src:s,srcs:u,tintColor:f,tintColors:d}=e,p=k(e,c),h=this.getImageUrls({src:s,srcs:u,source:o,sources:l});"ios"===It.platform.OS?h.length&&(p.source=h.map(e=>({uri:e}))):"android"===It.platform.OS&&(1===h.length?[p.src]=h:h.length>1&&(p.srcs=h)),"string"==typeof p.defaultSource&&(p.defaultSource.indexOf("data:image/"),p.defaultSource=Z(p.defaultSource));const m=w({},n);return this.handleTintColor(m,f,d),p.style=m,t?a.a.createElement(Gt,{style:n},a.a.createElement("img",w(w({},p),{},{nativeName:"Image",alt:"",ref:i,style:[{position:"absolute",left:0,right:0,top:0,bottom:0,width:n.width,height:n.height},r]})),t):a.a.createElement("img",w(w({},p),{},{nativeName:"Image",alt:"",ref:i}))}getImageUrls({src:e,srcs:t,source:n,sources:r}){let i=[];if("string"==typeof e&&i.push(e),Array.isArray(t)&&(i=[...i,...t]),n)if("string"==typeof n)i.push(n);else if("object"==typeof n&&null!==n){const{uri:e}=n;e&&i.push(e)}return r&&Array.isArray(r)&&r.forEach(e=>{"string"==typeof e?i.push(e):"object"==typeof e&&null!==e&&e.uri&&i.push(e.uri)}),i.length&&(i=i.map(e=>Z(e))),i}handleTintColor(e,t,n){t&&Object.assign(e,{tintColor:t}),Array.isArray(n)&&Object.assign(e,{tintColors:n})}}Zt.prefetch=me;class en{constructor(){this.Value=en.Value}static Value(e){return e}static timing(e,t){return new Ce({mode:"timing",delay:0,startValue:e,toValue:t.toValue,duration:t.duration,timingFunction:t.easing||"linear"})}}en.View=Gt,en.Text=Jt,en.Image=Zt;const tn={step0:e=>e>0?1:0,step1:e=>e>=1?1:0,linear:()=>"linear",ease:()=>"ease",quad:e=>e**2,cubic:e=>e**3,poly:e=>t=>t**e,sin:e=>1-Math.cos(e*Math.PI/2),circle:e=>1-Math.sqrt(1-e*e),exp:e=>2**(10*(e-1)),elastic:()=>"elastic",back:(e=1.70158)=>t=>t*t*((e+1)*t-e),bounce(e){let t=e;return t<1/2.75?7.5625*t*t:t<2/2.75?(t-=1.5/2.75,7.5625*t*t+.75):t<2.5/2.75?(t-=2.25/2.75,7.5625*t*t+.9375):(t-=2.625/2.75,7.5625*t*t+.984375)},bezier:()=>"bezier",in:()=>"ease-in",out:()=>"ease-out",inOut:()=>"ease-in-out"};function nn(e){return a.a.createElement("li",w({nativeName:"ListViewItem"},e))}class rn extends a.a.Component{constructor(){super(...arguments),this.instance=null}expandPullHeader(){lt(this.instance,"expandPullHeader",[])}collapsePullHeader(e){void 0!==e?lt(this.instance,"collapsePullHeaderWithOptions",[e]):lt(this.instance,"collapsePullHeader",[])}render(){const e=this.props,{children:t}=e,n=k(e,f);return a.a.createElement("div",w({nativeName:"PullHeaderView",ref:e=>{this.instance=e}},n),t)}}class on extends a.a.Component{constructor(){super(...arguments),this.instance=null}expandPullFooter(){lt(this.instance,"expandPullFooter",[])}collapsePullFooter(){lt(this.instance,"collapsePullFooter",[])}render(){const e=this.props,{children:t}=e,n=k(e,d);return a.a.createElement("div",w({nativeName:"PullFooterView",ref:e=>{this.instance=e}},n),t)}}const an={onDisappear:"onDisAppear"},ln={onDisappear:"onDisappear"};class sn extends a.a.Component{constructor(e){super(e),this.instance=null,this.pullHeader=null,this.pullFooter=null,this.handleInitialListReady=this.handleInitialListReady.bind(this),this.state={initialListReady:!1}}static convertName(e){return"android"===It.platform.OS&&an[e]?an[e]:"ios"===It.platform.OS&&ln[e]?ln[e]:e}componentDidMount(){const{getRowKey:e}=this.props}scrollToIndex(e,t,n){"number"==typeof e&&"number"==typeof t&&"boolean"==typeof n&<(this.instance,"scrollToIndex",[e,t,n])}scrollToContentOffset(e,t,n){"number"==typeof e&&"number"==typeof t&&"boolean"==typeof n&<(this.instance,"scrollToContentOffset",[e,t,n])}expandPullHeader(){this.pullHeader&&this.pullHeader.expandPullHeader()}collapsePullHeader(e){this.pullHeader&&this.pullHeader.collapsePullHeader(e)}expandPullFooter(){this.pullFooter&&this.pullFooter.expandPullFooter()}collapsePullFooter(){this.pullFooter&&this.pullFooter.collapsePullFooter()}render(){const e=this.props,{children:t,style:n,renderRow:r,renderPullHeader:i,renderPullFooter:o,getRowType:l,getRowStyle:s,getHeaderStyle:u,getFooterStyle:c,getRowKey:f,dataSource:d,initialListSize:h,rowShouldSticky:m,onRowLayout:y,onHeaderPulling:g,onHeaderReleased:b,onFooterPulling:v,onFooterReleased:S,onAppear:E,onDisappear:x,onWillAppear:C,onWillDisappear:N}=e,I=k(e,p),P=[];if("function"==typeof r){const{initialListReady:e}=this.state;let{numberOfRows:t}=this.props;const p=this.getPullHeader(i,g,b,u),k=this.getPullFooter(o,v,S,c);!t&&d&&(t=d.length),e||(t=Math.min(t,h||10));for(let e=0;e{"function"==typeof n&&(t[sn.convertName(r)]=()=>{n(e)})}),n&&P.push(a.a.createElement(nn,w({},t),n))}p&&P.unshift(p),k&&P.push(k),"function"==typeof m&&Object.assign(I,{rowShouldSticky:!0});const _=[E,x,C,N];I.exposureEventEnabled=_.some(e=>"function"==typeof e),"ios"===It.platform.OS&&(I.numberOfRows=P.length),I.initialListSize=h,I.style=w({},n)}return a.a.createElement("ul",w({ref:e=>{this.instance=e},nativeName:"ListView",initialListReady:this.handleInitialListReady},I),P.length?P:t)}handleInitialListReady(){this.setState({initialListReady:!0})}getPullHeader(e,t,n,r){let i=null,o={};return"function"==typeof r&&(o=r()),"function"==typeof e&&(i=a.a.createElement(rn,{style:o,key:"pull-header",ref:e=>{this.pullHeader=e},onHeaderPulling:t,onHeaderReleased:n},e())),i}getPullFooter(e,t,n,r){let i=null,o={};return"function"==typeof r&&(o=r()),"function"==typeof e&&(i=a.a.createElement(on,{style:o,key:"pull-footer",ref:e=>{this.pullFooter=e},onFooterPulling:t,onFooterReleased:n},e())),i}handleRowProps(e,t,{getRowKey:n,getRowStyle:r,onRowLayout:i,getRowType:o,rowShouldSticky:a}){if("function"==typeof n&&(e.key=n(t)),"function"==typeof r&&(e.style=r(t)),"function"==typeof i&&(e.onLayout=e=>{i(e,t)}),"function"==typeof o){const n=o(t);Number.isInteger(n),e.type=n}"function"==typeof a&&(e.sticky=a(t))}}sn.defaultProps={numberOfRows:0};class un extends a.a.Component{constructor(e){super(e),this.instance=null,this.refreshComplected=this.refreshCompleted.bind(this)}startRefresh(){lt(this.instance,"startRefresh",null)}refreshCompleted(){lt(this.instance,"refreshComplected",null)}render(){const e=this.props,{children:t}=e,n=k(e,h);return a.a.createElement("div",w({nativeName:"RefreshWrapper",ref:e=>{this.instance=e}},n),a.a.createElement("div",{nativeName:"RefreshWrapperItemView",style:{left:0,right:0,position:"absolute"}},this.getRefresh()),t)}getRefresh(){const{getRefresh:e}=this.props;return"function"==typeof e&&e()||null}}class cn{constructor(){this.top=null,this.size=0}push(e){this.top={data:e,next:this.top},this.size+=1}peek(){return null===this.top?null:this.top.data}pop(){if(null===this.top)return null;const e=this.top;return this.top=this.top.next,this.size>0&&(this.size-=1),e.data}clear(){this.top=null,this.size=0}displayAll(){const e=[];if(null===this.top)return e;let t=this.top;for(let n=0,r=this.size;n1&&this.pop({animated:!0})}push(e){if(null==e?void 0:e.component){if(!this.routeList[e.routeName]){new Qt({appName:e.routeName,entryPage:e.component}).regist(),this.routeList[e.routeName]=!0}delete e.component}const t=[e];this.stack.push(e),lt(this.instance,"push",t)}pop(e){if(this.stack.size>1){const t=[e];this.stack.pop(),lt(this.instance,"pop",t)}}clear(){this.stack.clear()}render(){const e=this.props,{initialRoute:{component:t}}=e,n=k(e.initialRoute,y),r=k(e,m);return r.initialRoute=n,a.a.createElement("div",w({nativeName:"Navigator",ref:e=>{this.instance=e}},r))}}function dn(e){return a.a.createElement("div",w(w({nativeName:"ViewPagerItem"},e),{},{style:{position:"absolute",left:0,top:0,right:0,bottom:0,collapsable:!1}}))}class pn extends a.a.Component{constructor(e){super(e),this.instance=null,this.setPage=this.setPage.bind(this),this.setPageWithoutAnimation=this.setPageWithoutAnimation.bind(this),this.onPageScrollStateChanged=this.onPageScrollStateChanged.bind(this)}onPageScrollStateChanged(e){const{onPageScrollStateChanged:t}=this.props;t&&t(e.pageScrollState)}setPage(e){"number"==typeof e&<(this.instance,"setPage",[e])}setPageWithoutAnimation(e){"number"==typeof e&<(this.instance,"setPageWithoutAnimation",[e])}render(){const e=this.props,{children:t,onPageScrollStateChanged:n}=e,r=k(e,g);let i=[];return Array.isArray(t)?i=t.map(e=>{const t={};return"string"==typeof e.key&&(t.key="viewPager_"+e.key),a.a.createElement(dn,w({},t),e)}):i.push(a.a.createElement(dn,null,t)),"function"==typeof n&&(r.onPageScrollStateChanged=this.onPageScrollStateChanged),a.a.createElement("div",w({nativeName:"ViewPager",ref:e=>{this.instance=e}},r),i)}}function hn(){const e=C.platform.Localization;return!!e&&1===e.direction}const mn={caretColor:"caret-color"};class yn extends a.a.Component{constructor(e){super(e),this.instance=null,this._lastNativeText="",this.onChangeText=this.onChangeText.bind(this),this.onKeyboardWillShow=this.onKeyboardWillShow.bind(this)}componentDidMount(){const{value:e,autoFocus:t}=this.props;this._lastNativeText=e,t&&this.focus()}componentWillUnmount(){this.blur()}getValue(){return new Promise(e=>{lt(this.instance,"getValue",t=>e(t.text))})}setValue(e){return lt(this.instance,"setValue",[e]),e}focus(){lt(this.instance,"focusTextInput",[])}blur(){lt(this.instance,"blurTextInput",[])}isFocused(){return new Promise(e=>{lt(this.instance,"isFocused",t=>e(t.value))})}showInputMethod(){}hideInputMethod(){}clear(){lt(this.instance,"clear",[])}render(){const e=w({},this.props);return["underlineColorAndroid","placeholderTextColor","placeholderTextColors","caretColor","caret-color"].forEach(t=>{let n=t;const r=this.props[t];"string"==typeof this.props[t]&&(mn[t]&&(n=mn[t]),Array.isArray(e.style)?e.style.push({[n]:r}):e.style&&"object"==typeof e.style?e.style[n]=r:e.style={[n]:r},delete e[t])}),hn()&&(e.style?"object"!=typeof e.style||Array.isArray(e.style)||e.style.textAlign||(e.style.textAlign="right"):e.style={textAlign:"right"}),a.a.createElement("div",w(w({nativeName:"TextInput"},e),{},{ref:e=>{this.instance=e},onChangeText:this.onChangeText,onKeyboardWillShow:this.onKeyboardWillShow}))}onChangeText(e){const{onChangeText:t}=this.props;"function"==typeof t&&t(e.text),this.instance&&(this._lastNativeText=e.text)}onKeyboardWillShow(e){const{onKeyboardWillShow:t}=this.props,n=e;"android"===It.platform.OS&&(n.keyboardHeight/=It.screen.scale),"function"==typeof t&&t(n)}}const gn=It.window.scale;let bn=Math.round(.4*gn)/gn;function vn(e){return e}0===bn&&(bn=1/gn);var wn=Object.freeze({__proto__:null,get hairlineWidth(){return bn},create:vn});const Sn={baseVertical:{flexGrow:1,flexShrink:1,flexDirection:"column",overflow:"scroll"},baseHorizontal:{flexGrow:1,flexShrink:1,flexDirection:"row",overflow:"scroll"},contentContainerVertical:{collapsable:!1,flexDirection:"column"},contentContainerHorizontal:{collapsable:!1,flexDirection:"row"}};class kn extends a.a.Component{constructor(){super(...arguments),this.instance=null}scrollTo(e,t,n=!0){let r=e,i=t,o=n;"object"==typeof e&&e&&({x:r,y:i,animated:o}=e),r=r||0,i=i||0,o=!!o,lt(this.instance,"scrollTo",[r,i,o])}scrollToWithDuration(e=0,t=0,n=1e3){lt(this.instance,"scrollToWithOptions",[{x:e,y:t,duration:n}])}render(){const{horizontal:e,contentContainerStyle:t,children:n,style:r}=this.props,i=[e?Sn.contentContainerHorizontal:Sn.contentContainerVertical,t],o=e?Object.assign({},Sn.baseHorizontal,r):Object.assign({},Sn.baseVertical,r);return e&&(o.flexDirection=hn()?"row-reverse":"row"),a.a.createElement("div",w(w({nativeName:"ScrollView",ref:e=>{this.instance=e}},this.props),{},{style:o}),a.a.createElement(Gt,{style:i},n))}}const En={modal:{position:"absolute",collapsable:!1},container:{position:"absolute",left:0,top:0}};class xn extends a.a.Component{constructor(e){super(e),this.eventSubscription=null}componentDidMount(){"ios"===It.platform.OS&&(this.eventSubscription=new ue("modalDismissed"),this.eventSubscription.addCallback(e=>{const{primaryKey:t,onDismiss:n}=this.props;e.primaryKey===t&&"function"==typeof n&&n()}))}componentWillUnmount(){"ios"===It.platform.OS&&this.eventSubscription&&this.eventSubscription.unregister()}render(){const{children:e,visible:t,transparent:n,animated:r}=this.props;let{animationType:i}=this.props;if(!1===t)return null;const o={backgroundColor:n?"transparent":"white"};return i||(i="none",r&&(i="slide")),a.a.createElement("div",w({nativeName:"Modal",animationType:i,transparent:n,style:En.modal},this.props),a.a.createElement(Gt,{style:[En.container,o]},e))}}xn.defaultProps={visible:!0};class Cn extends a.a.Component{constructor(e){super(e);const{requestFocus:t}=this.props;this.state={isFocus:!!t},this.handleFocus=this.handleFocus.bind(this)}render(){var e,t,n;const{requestFocus:r,children:i,nextFocusDownId:o,nextFocusUpId:l,nextFocusLeftId:s,nextFocusRightId:u,style:c,noFocusStyle:f,focusStyle:d,onClick:p}=this.props,{isFocus:h}=this.state,m=a.a.Children.only(i);let y;(null===(t=null===(e=null==m?void 0:m.child)||void 0===e?void 0:e.memoizedProps)||void 0===t?void 0:t.nativeName)?y=m.child.memoizedProps.nativeName:(null===(n=null==m?void 0:m.type)||void 0===n?void 0:n.displayName)&&(y=m.type.displayName);const g=o&&at(o),b=l&&at(l),v=s&&at(s),S=u&&at(u);let k=c;if("Text"!==y){const e=m.memoizedProps.style;k=w(w({},k),e)}if(Object.assign(k,h?d:f),"Text"===y)return a.a.createElement(Gt,{focusable:!0,nextFocusDownId:g,nextFocusUpId:b,nextFocusLeftId:v,nextFocusRightId:S,requestFocus:r,style:k,onClick:p,onFocus:this.handleFocus},m);const{children:E}=m.memoizedProps;return a.a.cloneElement(m,{nextFocusDownId:o,nextFocusUpId:l,nextFocusLeftId:s,nextFocusRightId:u,requestFocus:r,onClick:p,focusable:!0,children:E,style:k,onFocus:this.handleFocus})}handleFocus(e){const{onFocus:t}=this.props;"function"==typeof t&&t(e);const{isFocus:n}=this.state;n!==e.focus&&this.setState({isFocus:e.focus})}}function Nn(e){return a.a.createElement("iframe",w({title:"hippy",nativeName:"WebView"},e))}let In;class Pn{constructor(e,t,n){if(this.protocol="",this.onWebSocketEvent=this.onWebSocketEvent.bind(this),In||(In=new ue("hippyWebsocketEvents")),this.readyState=0,this.webSocketCallbacks={},!e||"string"!=typeof e)throw new TypeError("Invalid WebSocket url");const r=w({},n);if(void 0!==t)if(Array.isArray(t)&&t.length>0)r["Sec-WebSocket-Protocol"]=t.join(",");else{if("string"!=typeof t)throw new TypeError("Invalid WebSocket protocols");r["Sec-WebSocket-Protocol"]=t}const i={headers:r,url:e};this.url=e,this.webSocketCallbackId=In.addCallback(this.onWebSocketEvent),x.callNativeWithPromise("websocket","connect",i).then(e=>{e&&0===e.code&&"number"==typeof e.id&&(this.webSocketId=e.id)})}close(e,t){1===this.readyState&&(this.readyState=2,x.callNative("websocket","close",{id:this.webSocketId,code:e,reason:t}))}send(e){if(1===this.readyState){if("string"!=typeof e)throw new TypeError("Unsupported websocket data type: "+typeof e);x.callNative("websocket","send",{id:this.webSocketId,data:e})}}set onopen(e){this.webSocketCallbacks.onOpen=e}set onclose(e){this.webSocketCallbacks.onClose=e}set onerror(e){this.webSocketCallbacks.onError=e}set onmessage(e){this.webSocketCallbacks.onMessage=e}onWebSocketEvent(e){if("object"!=typeof e||e.id!==this.webSocketId)return;const{type:t}=e;"onOpen"===t?this.readyState=1:"onClose"===t&&(this.readyState=3,In.removeCallback(this.webSocketCallbackId));const n=this.webSocketCallbacks[t];"function"==typeof n&&n(e.data)}}function _n(e){return a.a.createElement("li",w({nativeName:"WaterfallItem"},e))}class Ln extends a.a.Component{constructor(e){super(e),this.instance=null,this.pullHeader=null,this.pullFooter=null,this.handleInitialListReady=this.handleInitialListReady.bind(this)}scrollToIndex({index:e=0,animated:t=!0}){lt(this.instance,"scrollToIndex",[e,e,t])}scrollToContentOffset({xOffset:e=0,yOffset:t=0,animated:n=!0}){lt(this.instance,"scrollToContentOffset",[e,t,n])}expandPullHeader(){this.pullHeader&&this.pullHeader.expandPullHeader()}collapsePullHeader(e){this.pullHeader&&this.pullHeader.collapsePullHeader(e)}expandPullFooter(){this.pullFooter&&this.pullFooter.expandPullFooter()}collapsePullFooter(){this.pullFooter&&this.pullFooter.collapsePullFooter()}render(){const e=this.props,{style:t={},renderBanner:n,numberOfColumns:r=2,columnSpacing:i=0,interItemSpacing:o=0,numberOfItems:l=0,preloadItemNumber:s=0,renderItem:u,renderPullHeader:c,renderPullFooter:f,getItemType:d,getItemKey:p,getItemStyle:h,contentInset:m={top:0,left:0,bottom:0,right:0},onItemLayout:y,onHeaderPulling:g,onHeaderReleased:v,onFooterPulling:S,onFooterReleased:E,containPullHeader:x=!1,containPullFooter:C=!1,containBannerView:N=!1}=e,I=w(w({},k(e,b)),{},{style:t,numberOfColumns:r,columnSpacing:i,interItemSpacing:o,preloadItemNumber:s,contentInset:m,containPullHeader:x,containPullFooter:C,containBannerView:N}),P=[];if("function"==typeof n){const e=n();e&&(P.push(a.a.createElement(Gt,{key:"bannerView"},a.a.cloneElement(e))),I.containBannerView=!0)}if("function"==typeof u){const e=this.getPullHeader(c,g,v),n=this.getPullFooter(f,S,E);for(let e=0;ethis.instance=e,initialListReady:this.handleInitialListReady.bind(this)},I),P)}componentDidMount(){const{getItemKey:e}=this.props}handleRowProps(e,t,{getItemKey:n,getItemStyle:r,onItemLayout:i,getItemType:o}){if("function"==typeof n&&(e.key=n(t)),"function"==typeof r&&(e.style=r(t)),"function"==typeof i&&(e.onLayout=e=>{i.call(this,e,t)}),"function"==typeof o){const n=o(t);Number.isInteger(n),e.type=n}}getPullHeader(e,t,n){let r=null;return"function"==typeof e&&(r=a.a.createElement(rn,{key:"PullHeader",ref:e=>{this.pullHeader=e},onHeaderPulling:t,onHeaderReleased:n},e())),r}getPullFooter(e,t,n){let r=null;return"function"==typeof e&&(r=a.a.createElement(on,{key:"PullFooter",ref:e=>{this.pullFooter=e},onFooterPulling:t,onFooterReleased:n},e())),r}handleInitialListReady(){const{onInitialListReady:e}=this.props;"function"==typeof e&&e()}}e.WebSocket=Pn;const{AsyncStorage:An,BackAndroid:Rn,Bridge:zn,Clipboard:Tn,Cookie:On,Device:Fn,HippyRegister:jn,ImageLoader:Hn,NetworkInfo:Mn,UIManager:Dn,flushSync:Un}=_t,{callNative:Wn,callNativeWithPromise:Bn,callNativeWithCallbackId:Vn,removeNativeCallback:$n}=zn,qn=null,Qn=e.ConsoleModule||e.console,Kn=Fn.platform,Gn=Qt,Yn=Qt,Xn=Zt,Jn=jn,Zn=fe,er=ue,tr={get:e=>Fn[e]},nr={get:()=>Fn.screen.scale}}.call(this,n("./node_modules/webpack/buildin/global.js"))},"./node_modules/@hippy/react-reconciler/cjs/react-reconciler.production.min.js":function(e,t,n){(function(e){ + */(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}e.__GLOBAL__||(e.__GLOBAL__={}),e.__GLOBAL__.nodeId=0,e.__GLOBAL__.animationId=0;const{asyncStorage:N,bridge:I,device:P,document:_,register:L,on:A,off:R,emit:z}=e.Hippy;var T=Object.freeze({__proto__:null,addEventListener:A,removeEventListener:R,dispatchEvent:z,AsyncStorage:N,Bridge:I,Device:P,HippyRegister:L,UIManager:_});let O,j;const F=new Map;function H(e,t){j=e,O=t}function M(){if(!j)throw new Error("getRootViewId must execute after setRootContainer");return j}function D(e){if(!O)return null;const{current:t}=O,n=[t];for(;n.length;){const t=n.shift();if(!t)break;if(e(t))return t;t.child&&n.push(t.child),t.sibling&&n.push(t.sibling)}return null}function U(e,t){F.set(t,e)}function W(e){F.delete(e)}function B(e){return(null==e?void 0:e.stateNode)||null}function V(e){return F.get(e)||null}function $(t){!function(t,n){if(!e.requestIdleCallback)return setTimeout(()=>{t({didTimeout:!1,timeRemaining:()=>1/0})},1);e.requestIdleCallback(t,n)}(e=>{(e.timeRemaining()>0||e.didTimeout)&&function e(t){"number"==typeof t?W(t):t&&(W(t.nodeId),Array.isArray(t.childNodes)&&t.childNodes.forEach(t=>e(t)))}(t)},{timeout:50})}const q={onTouchStart:["onTouchStart","onTouchDown"],onPress:["onPress","onClick"]},Q=new RegExp(/^\d+$/);let K=!1,G=!1;function Y(e){return e.replace(/\\u[\dA-F]{4}|\\x[\dA-F]{2}/gi,e=>String.fromCharCode(parseInt(e.replace(/\\u|\\x/g,""),16)))}const X=new RegExp("^on.+Capture$");const J=new RegExp("^(?=.+)[+-]?\\d*\\.?\\d*([Ee][+-]?\\d+)?$");function Z(e){return"[object Function]"===Object.prototype.toString.call(e)}function ee(e){K=e}function te(){return G}function ne(e){if(e&&!/^(http|https):\/\//.test(e)&&e.indexOf("assets")>-1){0;return`${"hpfile://"}./${e}`}return e}function re(e){return 5===e}class ie{constructor(e){this.handlerContainer={},this.nextIdForHandler=0,this.eventName=e}getEventListeners(){return Object.keys(this.handlerContainer).filter(e=>this.handlerContainer[e]).map(e=>this.handlerContainer[e])}getHandlerSize(){return Object.keys(this.handlerContainer).length}addEventHandler(e,t){if(!e)throw new TypeError("Invalid arguments for addEventHandler");const n=this.nextIdForHandler;this.nextIdForHandler+=1;const r={id:n,eventHandler:e,context:t},i="eventHandler_"+n;return this.handlerContainer[i]=r,n}notifyEvent(...e){Object.keys(this.handlerContainer).forEach(t=>{const n=this.handlerContainer[t];n&&n.eventHandler&&(n.context?n.eventHandler.call(n.context,...e):n.eventHandler(...e))})}removeEventHandler(e){if("number"!=typeof e)throw new TypeError("Invalid arguments for removeEventHandler");const t="eventHandler_"+e;this.handlerContainer[t]&&delete this.handlerContainer[t]}}class oe{constructor(e,t,n){this.type=e,this.bubbles=!0,this.timeStamp=Date.now(),this.currentTarget=t,this.target=n}stopPropagation(){this.bubbles=!1}preventDefault(){}}const ae=new Map;function le(e,t){let n=e;if(t.memoizedProps&&!t.memoizedProps[e]){const r=Object.keys(q);for(let i=0;i0){let e,i=!1;const o=B(n);for(;!i&&void 0!==(e=r.shift());)try{const{eventName:n,currentTarget:r,listener:a,isCapture:l}=e,s=new oe(n,r,o);Object.assign(s,t),l?(a(s),s.bubbles||(i=!0)):(i=a(s),"boolean"!=typeof i&&(i=!te()),s.bubbles||(i=!0))}catch(e){console.reportUncaughtException(e)}}}(i,e,a):function(e,t,n){let r=!1,i=n,o=e;const a=B(n);do{if(o=le(o,i),se(o,i))try{const e=B(i),n=new oe(o,e,a);Object.assign(n,t),r=i.memoizedProps[o](n),"boolean"!=typeof r&&(r=!te()),n.bubbles||(r=!0)}catch(e){console.reportUncaughtException(e)}if(!1===r)for(i=i.return;i&&!re(i.tag);)i=i.return}while(!r&&i)}(i,e,a)},receiveUIComponentEvent:function(e){if(!e||!Array.isArray(e)||e.length<2)return;const[t,n,r]=e;if("number"!=typeof t||"string"!=typeof n)return;const i=V(t);i&&se(n,i)&&i.memoizedProps[n](r)}};e.__GLOBAL__&&(e.__GLOBAL__.jsModuleList.EventDispatcher=ce);class fe{constructor(e,t){this.callback=e,this.bindListener=t}remove(){"number"==typeof this.callback&&this.bindListener&&(this.bindListener.removeCallback(this.callback),this.bindListener=void 0)}}class de{constructor(e){this.eventName=e,this.listenerIdList=[]}unregister(){const e=ce.getHippyEventHub(this.eventName);if(!e)throw new ReferenceError("No listeners for "+this.eventName);const t=this.listenerIdList.length;for(let n=0;n{if("string"!=typeof e&&!Array.isArray(e)||"function"!=typeof t)throw new TypeError("Invalid arguments for HippyEvent.on()");return Array.isArray(e)?e.forEach(e=>{ye(e,t,n)}):ye(e,t,n),be},off:(e,t)=>{if("string"!=typeof e&&!Array.isArray(e))throw new TypeError("The event argument is not string or array for HippyEvent.off()");return Array.isArray(e)?e.forEach(e=>{ge(e,t)}):ge(e,t),be},sizeOf(e){if("string"!=typeof e)throw new TypeError("The event argument is not string for HippyEvent.sizeOf()");const t=me[e];return(null==t?void 0:t.eventMap)?t.eventMap.size:0},emit(e,...t){if("string"!=typeof e)throw new TypeError("The event argument is not string for HippyEvent.emit()");const n=ce.getHippyEventHub(e);return n?(n.notifyEvent(...t),be):be}};var ve=Object.freeze({__proto__:null,getString:function(){return I.callNativeWithPromise("ClipboardModule","getString")},setString:function(e){I.callNative("ClipboardModule","setString",e)}});var we=Object.freeze({__proto__:null,getCookies:function(e){return I.callNativeWithPromise("network","getCookie",e)},setCookie:function(e,t,n){let r="";"string"==typeof n&&(r=n),n instanceof Date&&(r=n.toUTCString()),I.callNative("network","setCookie",e,t,r)}});function Se(e){return I.callNativeWithPromise("ImageLoaderModule","getSize",e)}function ke(e){I.callNative("ImageLoaderModule","prefetch",e)}var Ee=Object.freeze({__proto__:null,getSize:Se,prefetch:ke});const xe=new Map,Ce=new he;class Ne{constructor(e,t){this.eventName=e,this.listener=t}remove(){this.eventName&&this.listener&&(Ie(this.eventName,this.listener),this.listener=void 0)}}function Ie(e,t){if(t instanceof Ne)return void t.remove();let n=e;"change"===e&&(n="networkStatusDidChange");const r=xe.get(t);if(!r)return;r.remove(),xe.delete(t);Ce.listenerSize(n)<1&&I.callNative("NetInfo","removeListener",n)}var Pe=Object.freeze({__proto__:null,addEventListener:function(e,t){let n=e;n&&"change"===n&&(n="networkStatusDidChange"),Ce.listenerSize(n)<1&&I.callNative("NetInfo","addListener",n);const r=Ce.addListener(n,e=>{t(e)});return xe.set(t,r),new Ne(n,t)},removeEventListener:Ie,fetch:function(){return I.callNativeWithPromise("NetInfo","getCurrentConnectivity").then(e=>e.network_info)}});function _e(e){return"loop"===e?-1:e}const Le=new he;function Ae(e,t){return"color"===e&&["number","string"].indexOf(typeof t)>=0?Qt(t):t}class Re{constructor(e){var t;let n=0;if((null===(t=e.startValue)||void 0===t?void 0:t.constructor)&&"Animation"===e.startValue.constructor.name)n={animationId:e.startValue.animationId};else{const{startValue:t}=e;n=Ae(e.valueType,t)}const r=Ae(e.valueType,e.toValue);this.mode=e.mode||"timing",this.delay=e.delay||0,this.startValue=n||0,this.toValue=r||0,this.valueType=e.valueType||void 0,this.duration=e.duration||0,this.direction=e.direction||"center",this.timingFunction=e.timingFunction||"linear",this.repeatCount=_e(e.repeatCount||0),this.inputRange=e.inputRange||[],this.outputRange=e.outputRange||[],this.animationId=zt.callNativeWithCallbackId("AnimationModule","createAnimation",!0,this.mode,Object.assign({delay:this.delay,startValue:this.startValue,toValue:this.toValue,duration:this.duration,direction:this.direction,timingFunction:this.timingFunction,repeatCount:this.repeatCount,inputRange:this.inputRange,outputRange:this.outputRange},this.valueType?{valueType:this.valueType}:{})),this.destroy=this.destroy.bind(this),this.onRNfqbAnimationStart=this.onAnimationStart.bind(this),this.onRNfqbAnimationEnd=this.onAnimationEnd.bind(this),this.onRNfqbAnimationCancel=this.onAnimationCancel.bind(this),this.onRNfqbAnimationRepeat=this.onAnimationRepeat.bind(this),this.onHippyAnimationStart=this.onAnimationStart.bind(this),this.onHippyAnimationEnd=this.onAnimationEnd.bind(this),this.onHippyAnimationCancel=this.onAnimationCancel.bind(this),this.onHippyAnimationRepeat=this.onAnimationRepeat.bind(this)}removeEventListener(){this.animationStartListener&&this.animationStartListener.remove(),this.animationEndListener&&this.animationEndListener.remove(),this.animationCancelListener&&this.animationCancelListener.remove(),this.animationRepeatListener&&this.animationRepeatListener.remove()}start(){this.removeEventListener();let e="onAnimation";e="onHippyAnimation","function"==typeof this.onAnimationStartCallback&&(this.animationStartListener=Le.addListener(e+"Start",e=>{e===this.animationId&&(this.animationStartListener.remove(),"function"==typeof this.onAnimationStartCallback&&this.onAnimationStartCallback())})),"function"==typeof this.onAnimationEndCallback&&(this.animationEndListener=Le.addListener(e+"End",e=>{e===this.animationId&&(this.animationEndListener.remove(),"function"==typeof this.onAnimationEndCallback&&this.onAnimationEndCallback())})),"function"==typeof this.onAnimationCancelCallback&&(this.animationCancelListener=Le.addListener(e+"Cancel",e=>{e===this.animationId&&(this.animationCancelListener.remove(),"function"==typeof this.onAnimationCancelCallback&&this.onAnimationCancelCallback())})),"function"==typeof this.onAnimationRepeatCallback&&(this.animationRepeatListener=Le.addListener(e+"Repeat",e=>{e===this.animationId&&"function"==typeof this.onAnimationRepeatCallback&&this.onAnimationRepeatCallback()})),zt.callNative("AnimationModule","startAnimation",this.animationId)}destory(){this.destroy()}destroy(){this.removeEventListener(),zt.callNative("AnimationModule","destroyAnimation",this.animationId)}pause(){zt.callNative("AnimationModule","pauseAnimation",this.animationId)}resume(){zt.callNative("AnimationModule","resumeAnimation",this.animationId)}updateAnimation(e){if("object"!=typeof e)throw new TypeError("Invalid arguments");if("string"==typeof e.mode&&e.mode!==this.mode)throw new TypeError("Update animation mode not supported");Object.keys(e).forEach(t=>{const n=e[t];if("startValue"===t){let t=0;if(e.startValue instanceof Re)t={animationId:e.startValue.animationId};else{const{startValue:n}=e;t=Ae(this.valueType,n)}this.startValue=t||0}else"repeatCount"===t?this.repeatCount=_e(e.repeatCount||0):Object.defineProperty(this,t,{value:n})}),zt.callNative("AnimationModule","updateAnimation",this.animationId,Object.assign({delay:this.delay,startValue:this.startValue,toValue:Ae(this.valueType,this.toValue),duration:this.duration,direction:this.direction,timingFunction:this.timingFunction,repeatCount:this.repeatCount,inputRange:this.inputRange,outputRange:this.outputRange},this.valueType?{valueType:this.valueType}:{}))}onAnimationStart(e){this.onAnimationStartCallback=e}onAnimationEnd(e){this.onAnimationEndCallback=e}onAnimationCancel(e){this.onAnimationCancelCallback=e}onAnimationRepeat(e){this.onAnimationRepeatCallback=e}}const ze=new he;class Te{constructor(e){this.animationList=[],e.children.forEach(e=>{this.animationList.push({animationId:e.animation.animationId,follow:e.follow||!1})}),this.animationId=zt.callNativeWithCallbackId("AnimationModule","createAnimationSet",!0,{repeatCount:_e(e.repeatCount||0),children:this.animationList,virtual:e.virtual}),this.onRNfqbAnimationStart=this.onAnimationStart.bind(this),this.onRNfqbAnimationEnd=this.onAnimationEnd.bind(this),this.onRNfqbAnimationCancel=this.onAnimationCancel.bind(this),this.onRNfqbAnimationRepeat=this.onAnimationRepeat.bind(this),this.onHippyAnimationStart=this.onAnimationStart.bind(this),this.onHippyAnimationEnd=this.onAnimationEnd.bind(this),this.onHippyAnimationCancel=this.onAnimationCancel.bind(this),this.onHippyAnimationRepeat=this.onAnimationRepeat.bind(this)}removeEventListener(){this.animationStartListener&&this.animationStartListener.remove(),this.animationEndListener&&this.animationEndListener.remove(),this.animationCancelListener&&this.animationCancelListener.remove(),this.animationRepeatListener&&this.animationRepeatListener.remove()}start(){this.removeEventListener();let e="onAnimation";e="onHippyAnimation","function"==typeof this.onAnimationStartCallback&&(this.animationStartListener=ze.addListener(e+"Start",e=>{e===this.animationId&&(this.animationStartListener.remove(),"function"==typeof this.onAnimationStartCallback&&this.onAnimationStartCallback())})),"function"==typeof this.onAnimationEndCallback&&(this.animationEndListener=ze.addListener(e+"End",e=>{e===this.animationId&&(this.animationEndListener.remove(),"function"==typeof this.onAnimationEndCallback&&this.onAnimationEndCallback())})),"function"==typeof this.onAnimationCancelCallback&&(this.animationCancelListener=ze.addListener(e+"Cancel",e=>{e===this.animationId&&(this.animationCancelListener.remove(),"function"==typeof this.onAnimationCancelCallback&&this.onAnimationCancelCallback())})),"function"==typeof this.onAnimationRepeatCallback&&(this.animationRepeatListener=ze.addListener(e+"Repeat",e=>{e===this.animationId&&"function"==typeof this.onAnimationRepeatCallback&&this.onAnimationRepeatCallback()})),zt.callNative("AnimationModule","startAnimation",this.animationId)}destory(){this.destroy()}destroy(){this.removeEventListener(),this.animationList.forEach(e=>Number.isInteger(e.animationId)&&zt.callNative("AnimationModule","destroyAnimation",e.animationId)),zt.callNative("AnimationModule","destroyAnimation",this.animationId)}pause(){zt.callNative("AnimationModule","pauseAnimation",this.animationId)}resume(){zt.callNative("AnimationModule","resumeAnimation",this.animationId)}onAnimationStart(e){this.onAnimationStartCallback=e}onAnimationEnd(e){this.onAnimationEndCallback=e}onAnimationCancel(e){this.onAnimationCancelCallback=e}onAnimationRepeat(e){this.onAnimationRepeatCallback=e}}const Oe={createNode:Symbol("createNode"),updateNode:Symbol("updateNode"),deleteNode:Symbol("deleteNode")};let je=!0,Fe=[];function He(e){(function(e){const t=[];for(let n=0;n{switch(t.type){case Oe.createNode:t.nodes,it(e,t.nodes);break;case Oe.updateNode:t.nodes,"ios"===P.platform.OS?t.nodes.forEach(t=>ot(e,[t])):ot(e,t.nodes);break;case Oe.deleteNode:t.nodes,"ios"===P.platform.OS?t.nodes.forEach(t=>at(e,[t])):at(e,t.nodes)}})}function Me(e=!1){if(!je)return;if(je=!1,0===Fe.length)return void(je=!0);const t=M();st(),e?(He(t),ut(),Fe=[],je=!0):Promise.resolve().then(()=>{He(t),ut(),Fe=[],je=!0})}function De(e){const t=e.attributes,{children:n}=t;return C(t,l)}function Ue(e,t){var n;if(!t.nativeName)return null;if(t.meta.skipAddToDom)return null;if(!t.meta.component)throw new Error("Specific tag is not supported yet: "+t.tagName);return{id:t.nodeId,pId:(null===(n=t.parentNode)||void 0===n?void 0:n.nodeId)||e,index:t.index,name:t.nativeName,props:E(E({},De(t)),{},{style:t.style})}}function We(e,t,n,r){const i=[];let o=n;return void 0===o&&t&&t.parentNode&&(o=t.parentNode.childNodes.indexOf(t)),t.traverseChildren(t=>{const n=Ue(e,t);n&&i.push(n),"function"==typeof r&&r(t)},o),i}function Be(e){return!!O&&e instanceof O.containerInfo.constructor}function Ve(e,t,n=-1){if(!e||!t)return;if(t.meta.skipAddToDom)return;const r=M(),i=Be(e)&&!e.isMounted,o=e.isMounted&&!t.isMounted;if(i||o){const e=We(r,t,n,e=>{e.isMounted||(e.isMounted=!0)});Fe.push({type:Oe.createNode,nodes:e})}}function $e(e,t,n){if(!t||t.meta.skipAddToDom)return;t.isMounted=!1,t.index=n;const r=M(),i=[{id:t.nodeId,pId:t.parentNode?t.parentNode.nodeId:r,index:t.index}];Fe.push({type:Oe.deleteNode,nodes:i})}function qe(e){if(!e.isMounted)return;const t=Ue(M(),e);t&&Fe.push({type:Oe.updateNode,nodes:[t]})}let Qe=0;class Ke{constructor(){this.meta={component:{}},this.index=0,this.childNodes=[],this.parentNode=null,this.mounted=!1,this.nodeId=(Qe+=1,Qe%10==0&&(Qe+=1),Qe)}toString(){return this.constructor.name}get isMounted(){return this.mounted}set isMounted(e){this.mounted=e}insertBefore(e,t){if(!e)throw new Error("Can't insert child.");if(e.meta.skipAddToDom)return;if(!t)return this.appendChild(e);if(t.parentNode!==this)throw new Error("Can't insert child, because the reference node has a different parent.");if(e.parentNode&&e.parentNode!==this)throw new Error("Can't insert child, because it already has a different parent.");const n=this.childNodes.indexOf(t);return e.parentNode=this,this.childNodes.splice(n,0,e),Ve(this,e,n)}moveChild(e,t){if(!e)throw new Error("Can't move child.");if(e.meta.skipAddToDom)return;if(!t)return this.appendChild(e);if(t.parentNode!==this)throw new Error("Can't move child, because the reference node has a different parent.");if(e.parentNode&&e.parentNode!==this)throw new Error("Can't move child, because it already has a different parent.");const n=this.childNodes.indexOf(e);if(this.childNodes.indexOf(t)===n)return e;this.childNodes.splice(n,1),$e(0,e,n);const r=this.childNodes.indexOf(t);return this.childNodes.splice(r,0,e),Ve(this,e,r)}appendChild(e){if(!e)throw new Error("Can't append child.");if(!e.meta.skipAddToDom){if(e.parentNode&&e.parentNode!==this)throw new Error("Can't append child, because it already has a different parent.");e.parentNode=this,this.childNodes.push(e),Ve(this,e,this.childNodes.length-1)}}removeChild(e){if(!e)throw new Error("Can't remove child.");if(e.meta.skipAddToDom)return;if(!e.parentNode)throw new Error("Can't remove child, because it has no parent.");if(e.parentNode!==this)throw new Error("Can't remove child, because it has a different parent.");const t=this.childNodes.indexOf(e);this.childNodes.splice(t,1),$e(0,e,t)}findChild(e){if(e(this))return this;if(this.childNodes.length)for(let t=0;t{this.traverseChildren.call(t,e,n)})}}const Ge={textDecoration:"textDecorationLine",boxShadowOffset:"shadowOffset",boxShadowOffsetX:"shadowOffsetX",boxShadowOffsetY:"shadowOffsetY",boxShadowOpacity:"shadowOpacity",boxShadowRadius:"shadowRadius",boxShadowSpread:"shadowSpread",boxShadowColor:"shadowColor"},Ye={totop:"0",totopright:"totopright",toright:"90",tobottomright:"tobottomright",tobottom:"180",tobottomleft:"tobottomleft",toleft:"270",totopleft:"totopleft"},Xe="turn",Je="rad",Ze="deg";function et(e){const t=(e||"").replace(/\s*/g,"").toLowerCase(),n=v(/^([+-]?(?=(\d+))\2\.?\d*)+(deg|turn|rad)|(to\w+)$/g,{digit:2}).exec(t);if(!Array.isArray(n))return;let r="180";const[i,o,a]=n;return o&&a?r=function(e,t=Ze){const n=parseFloat(e);let r=e||"";const[,i]=e.split(".");switch(i&&i.length>2&&(r=n.toFixed(2)),t){case Xe:r=""+(360*n).toFixed(2);break;case Je:r=""+(180/Math.PI*n).toFixed(2)}return r}(o,a):i&&void 0!==Ye[i]&&(r=Ye[i]),r}function tt(e){const t=(e||"").replace(/\s+/g," ").trim(),[n,r]=t.split(/\s+(?![^(]*?\))/),i=/^([+-]?\d+\.?\d*)%$/g;return!n||i.exec(n)||r?n&&i.exec(r)?{ratio:parseFloat(r.split("%")[0])/100,color:Qt(n)}:void 0:{color:Qt(n)}}function nt(e){var t;return t=e,X.test(t)&&(e=e.replace("Capture","")),q[e]?q[e][1]:e}class rt extends Ke{constructor(e){super(),this.id="",this.style={},this.attributes={},this.events={},this.tagName=e}get nativeName(){return this.meta.component.name}toString(){return`${this.tagName}:(${this.nativeName})`}hasAttribute(e){return!!this.attributes[e]}getAttribute(e){return this.attributes[e]}setStyleAttribute(e){this.style={};let t=e;if(!Array.isArray(t)&&Object.hasOwnProperty.call(t,0)){const e=[],n={};Object.keys(t).forEach(r=>{var i;i=r,Q.test(i)?e.push(t[r]):n[r]=t[r]}),t=[...e,n]}Array.isArray(t)||(t=[t]);let n={};t.forEach(e=>{Array.isArray(e)?e.forEach(e=>{n=E(E({},n),e)}):"object"==typeof e&&e&&(n=E(E({},n),e))}),Object.keys(n).forEach(e=>{const t=n[e];if(Object.prototype.hasOwnProperty.call(Ge,e)&&(e=Ge[e]),"transform"===e){const e={};if(!Array.isArray(t))throw new TypeError("transform only support array args");t.forEach(t=>{Object.keys(t).forEach(n=>{const r=t[n];r instanceof Re||r instanceof Te?e[n]={animationId:r.animationId}:null===r?e[n]&&delete e[n]:void 0!==r&&(e[n]=r)})});const n=Object.keys(e);n.length&&(Array.isArray(this.style.transform)||(this.style.transform=[]),n.forEach(t=>this.style.transform.push({[t]:e[t]})))}else if(null===t&&void 0!==this.style[e])this.style[e]=void 0;else if(t instanceof Re||t instanceof Te)this.style[e]={animationId:t.animationId};else if(e.toLowerCase().indexOf("colors")>-1)this.style[e]=Kt(t);else if(e.toLowerCase().indexOf("color")>-1)this.style[e]=Qt(t);else if("backgroundImage"===e&&t)this.style=function(e,t,n){if(0===t.indexOf("linear-gradient")){const e=t.substring(t.indexOf("(")+1,t.lastIndexOf(")")).split(/,(?![^(]*?\))/),r=[];n.linearGradient=n.linearGradient||{},e.forEach((e,t)=>{if(0===t){const t=et(e);if(t)n.linearGradient.angle=t;else{n.linearGradient.angle="180";const t=tt(e);t&&r.push(t)}}else{const t=tt(e);t&&r.push(t)}}),n.linearGradient.colorStopList=r}else n[e]=ne(t);return n}(e,t,this.style);else if("textShadowOffset"===e){const{x:n=0,width:r=0,y:i=0,height:o=0}=t||{};this.style[e]={width:n||r,height:i||o}}else["textShadowOffsetX","textShadowOffsetY"].indexOf(e)>=0?this.style=function(e,t,n){return n.textShadowOffset=n.textShadowOffset||{},Object.assign(n.textShadowOffset,{[{textShadowOffsetX:"width",textShadowOffsetY:"height"}[e]]:t||0}),n}(e,t,this.style):this.style[e]=t})}setAttributes(e=[]){Array.isArray(e)&&e.length>0&&(e.forEach(e=>{if(Array.isArray(e)){const[t,n]=e;this.setAttribute(t,n,{notToNative:!0})}}),qe(this))}parseAnimationStyleProp(e){let t=!1;Object.keys(e).some(n=>{const r=e[n];if(r&&Array.isArray(r)&&"transform"===n)for(let e=0;e["id"].indexOf(e)>=0,action:()=>(t===this.id||(this.id=t,function(e){if(!e.isMounted)return;const t=We(M(),e);Fe.push({type:Oe.updateNode,nodes:t})}(this)),!0)},{match:()=>["value","defaultValue","placeholder"].indexOf(e)>=0,action:()=>(this.attributes[e]=Y(t),!1)},{match:()=>["text"].indexOf(e)>=0,action:()=>(this.attributes[e]=t,!1)},{match:()=>["style"].indexOf(e)>=0,action:()=>"object"!=typeof t||null==t||(this.setStyleAttribute(t),!1)},{match:()=>!0,action:()=>{if("function"==typeof t){const t=nt(e);this.attributes[t]=!0,this.events[""+t]=!0}else{this.attributes[e]=t;const n=nt(e);!0===this.events[""+n]&&"function"!=typeof t&&(this.attributes[n]=!1,delete this.events[""+n])}return!1}}].some(e=>!!e.match()&&(n=e.action(),!0)),n}setAttribute(e,t,n={}){try{if("boolean"==typeof this.attributes[e]&&""===t&&(t=!0),void 0===e)return void(!n.notToNative&&qe(this));if(this.parseAttributeProp(e,t))return;this.parseAnimationStyleProp(this.style),!n.notToNative&&qe(this)}catch(e){}}removeAttribute(e){delete this.attributes[e]}setStyle(e,t,n=!1){if(null===t)return void delete this.style[e];let r=t,i=e;Object.prototype.hasOwnProperty.call(Ge,e)&&(i=Ge[e]),"string"==typeof r&&(r=t.trim(),r=i.toLowerCase().indexOf("colors")>-1?Kt(r):i.toLowerCase().indexOf("color")>-1?Qt(r):function(e){if("number"==typeof e)return e;if("string"==typeof e&&J.test(e))try{return parseFloat(e)}catch(t){return e}return e}(r)),null!=r&&this.style[i]!==r&&(this.style[i]=r,n||qe(this))}setNativeProps(e){if(e){const{style:t}=e;if(t){const e=t;Object.keys(e).forEach(t=>{this.setStyle(t,e[t],!0)}),qe(this),Me(!0)}}}setText(e){if("string"!=typeof e)try{e=e.toString()}catch(e){throw new Error("Only string type is acceptable for setText")}return(e=e.trim())||this.getAttribute("text")?(e=(e=Y(e)).replace(/ /g," ").replace(/Â/g," "),"textarea"===this.tagName?this.setAttribute("value",e):this.setAttribute("text",e)):null}}const{createNode:it,updateNode:ot,deleteNode:at,flushBatch:lt,startBatch:st,endBatch:ut,sendRenderError:ct}=_,ft=function(e){return D(t=>t.stateNode&&t.stateNode.nodeId===e)};function dt(e){if(e instanceof rt)return e;if(!e)return null;const t=e._reactInternalFiber||e._reactInternals;if(null==t?void 0:t.child){let e=t.child;for(;e&&!(e.stateNode instanceof rt);)e=e.child;return e&&e.stateNode?e.stateNode:null}return null}function pt(e){let t=e;if("string"==typeof e){const n=D(t=>!!(t.return&&t.return.ref&&t.return.ref._stringRef)&&t.return.ref._stringRef===e);if(!n||!n.stateNode)return 0;t=n.stateNode}if(!t.nodeId){const e=dt(t);return e?e.nodeId:0}return t.nodeId}function ht(e,t,...n){let{nativeName:r,nodeId:i}=e;if(!i||!r){const t=dt(e);t&&({nodeId:i,nativeName:r}=t)}if(!r)throw new Error("callUIFunction is calling a unnamed component");if(!i)throw new Error("callUIFunction is calling a component have no nodeId");let[o=[],a]=n;Z(o)&&(a=o,o=[]);null!==M()&&("ios"===P.platform.OS?(Z(a)&&Array.isArray(o)&&o.push(a),I.callNative("UIManagerModule","callUIFunction",[r,i,t,o])):"android"===P.platform.OS&&(Z(a)?I.callNative("UIManagerModule","callUIFunction",[i,t,o],a):I.callNative("UIManagerModule","callUIFunction",[i,t,o])))}function mt(e,t,n){const r=pt(t);return new Promise((t,i)=>r?I.callNative("UIManagerModule",e,r,e=>(n&&Z(n)&&n(e),"this view is null"===e?i(new Error("Android cannot get the node")):t(e))):(n&&Z(n)&&n("this view is null"),i(new Error(e+" cannot get nodeId"))))}var yt=Object.freeze({__proto__:null,createNode:it,updateNode:ot,deleteNode:at,flushBatch:lt,startBatch:st,endBatch:ut,sendRenderError:ct,getNodeById:ft,getNodeIdByRef:pt,getElementFromFiberRef:dt,callUIFunction:ht,measureInWindow:function(e,t){return mt("measureInWindow",e,t)},measureInAppWindow:function(e,t){return"android"===P.platform.OS?mt("measureInWindow",e,t):mt("measureInAppWindow",e,t)}});const gt=new he,bt=new Set,vt={exitApp(){I.callNative("DeviceEventModule","invokeDefaultBackPressHandler")},addListener:e=>(I.callNative("DeviceEventModule","setListenBackPress",!0),bt.add(e),{remove(){vt.removeListener(e)}}),removeListener(e){bt.delete(e),0===bt.size&&I.callNative("DeviceEventModule","setListenBackPress",!1)},initEventListener(){gt.addListener("hardwareBackPress",()=>{let e=!0;[...bt].reverse().every(t=>"function"!=typeof t||!t()||(e=!1,!1)),e&&vt.exitApp()})}},wt=(vt.initEventListener(),vt);var St=Array.isArray,kt=Object.keys,Et=Object.prototype.hasOwnProperty;const xt=setTimeout,Ct=clearTimeout;var Nt=Object.freeze({__proto__:null,commitMutationEffectsBegin:function(){},commitMutationEffectsComplete:function(){Me(!0)},getCurrentEventPriority:function(){return 16},scheduleTimeout:xt,cancelTimeout:Ct,noTimeout:-1,afterActiveInstanceBlur:function(){},appendChild:function(e,t){e.childNodes.indexOf(t)>=0&&e.removeChild(t),e.appendChild(t)},appendChildToContainer:function(e,t){e.appendChild(t)},appendInitialChild:function(e,t){e.appendChild(t)},beforeActiveInstanceBlur:function(){},commitMount:function(){},commitTextUpdate:function(){},commitUpdate:function(e,t,n,r,i,o){U(o,e.nodeId);const a=Object.keys(t||{});if(0===a.length)return;const l=a.map(e=>[e,t[e]]);e.setAttributes(l)},clearContainer:function(){},createContainerChildSet:function(){},createInstance:function(e,t,n,r,i){const o=n.createElement(e);return Object.keys(t).forEach(e=>{switch(e){case"children":break;case"nativeName":o.meta.component.name=t.nativeName;break;default:o.setAttribute(e,t[e])}}),[5,7].indexOf(i.tag)<0&&(o.meta.skipAddToDom=!0),U(i,o.nodeId),o},createTextInstance:function(e,t,n,r){const i=t.createElement("p");return i.setAttribute("text",Y(e)),i.meta={component:{name:"Text"}},U(r,i.nodeId),i},detachDeletedInstance:function(){},finalizeContainerChildren:function(){},finalizeInitialChildren:function(){return!0},getChildHostContext:function(){return{}},getPublicInstance:function(e){return e},getInstanceFromNode:function(){throw new Error("Not yet implemented.")},getFundamentalComponentInstance:function(){throw new Error("Not yet implemented.")},getRootHostContext:function(){return{}},hideInstance:function(e){const t={style:{display:"none"}};Object.keys(t).forEach(n=>e.setAttribute(n,t[n]))},hideTextInstance:function(){throw new Error("Not yet implemented.")},insertBefore:function(e,t,n){e.childNodes.indexOf(t)>=0?e.moveChild(t,n):e.insertBefore(t,n)},isOpaqueHydratingObject:function(){throw new Error("Not yet implemented")},makeClientId:function(){throw new Error("Not yet implemented")},makeClientIdInDEV:function(){throw new Error("Not yet implemented")},makeOpaqueHydratingObject:function(){throw new Error("Not yet implemented.")},mountFundamentalComponent:function(){throw new Error("Not yet implemented.")},prepareForCommit:function(){return null},preparePortalMount:function(){},prepareUpdate:function(e,t,n,r){const i={};return Object.keys(n).forEach(e=>{const t=n[e],o=r[e];null!=t&&null==o&&(i[e]=o)}),Object.keys(r).forEach(e=>{const t=n[e],o=r[e];switch(e){case"children":t===o||"number"!=typeof o&&"string"!=typeof o||(i[e]=o);break;default:null!=o&&null==t?i[e]=o:"function"==typeof o||function e(t,n){if(t===n)return!0;if(t&&n&&"object"==typeof t&&"object"==typeof n){var r,i,o,a=St(t),l=St(n);if(a&&l){if((i=t.length)!=n.length)return!1;for(r=i;0!=r--;)if(!e(t[r],n[r]))return!1;return!0}if(a!=l)return!1;var s=t instanceof Date,u=n instanceof Date;if(s!=u)return!1;if(s&&u)return t.getTime()==n.getTime();var c=t instanceof RegExp,f=n instanceof RegExp;if(c!=f)return!1;if(c&&f)return t.toString()==n.toString();var d=kt(t);if((i=d.length)!==kt(n).length)return!1;for(r=i;0!=r--;)if(!Et.call(n,d[r]))return!1;for(r=i;0!=r--;)if(!e(t[o=d[r]],n[o]))return!1;return!0}return t!=t&&n!=n}(t,o)||(i[e]=o)}}),i},replaceContainerChildren:function(){},removeChild:function(e,t){e.removeChild(t),$(t)},removeChildFromContainer:function(e,t){e.removeChild(t),$(t)},resetAfterCommit:function(){},resetTextContent:function(){},unmountFundamentalComponent:function(){throw new Error("Not yet implemented.")},updateFundamentalComponent:function(){throw new Error("Not yet implemented.")},unhideTextInstance:function(){throw new Error("Not yet implemented.")},unhideInstance:function(e,t){const n=E(E({},t),{},{style:E(E({},t.style),{},{display:"flex"})});Object.keys(n).forEach(t=>e.setAttribute(t,n[t]))},shouldDeprioritizeSubtree:function(){return!0},shouldUpdateFundamentalComponent:function(){throw new Error("Not yet implemented.")},shouldSetTextContent:function(e,t){if(t&&"Text"===t.nativeName||-1!==["p","span"].indexOf(e)){const{children:e}=t;return"string"==typeof e||"number"==typeof e}return!1}});const It=i()(E(E({},Nt),{},{clearTimeout:clearTimeout,setTimeout:setTimeout,isPrimaryRenderer:!0,noTimeout:-1,supportsMutation:!0,supportsHydration:!1,supportsPersistence:!1,now:Date.now,scheduleDeferredCallback:()=>{},cancelDeferredCallback:()=>{}})),{flushSync:Pt}=It,{addEventListener:_t,removeEventListener:Lt,dispatchEvent:At,AsyncStorage:Rt,Bridge:zt,Device:Tt,HippyRegister:Ot}=T;var jt=Object.freeze({__proto__:null,addEventListener:_t,removeEventListener:Lt,dispatchEvent:At,AsyncStorage:Rt,BackAndroid:wt,Bridge:zt,Clipboard:ve,Cookie:we,Device:Tt,HippyRegister:Ot,ImageLoader:Ee,NetworkInfo:Pe,UIManager:yt,flushSync:Pt});function Ft(...e){return`\\(\\s*(${e.join(")\\s*,\\s*(")})\\s*\\)`}const Ht={transparent:0,aliceblue:4042850303,antiquewhite:4209760255,aqua:16777215,aquamarine:2147472639,azure:4043309055,beige:4126530815,bisque:4293182719,black:255,blanchedalmond:4293643775,blue:65535,blueviolet:2318131967,brown:2771004159,burlywood:3736635391,burntsienna:3934150143,cadetblue:1604231423,chartreuse:2147418367,chocolate:3530104575,coral:4286533887,cornflowerblue:1687547391,cornsilk:4294499583,crimson:3692313855,cyan:16777215,darkblue:35839,darkcyan:9145343,darkgoldenrod:3095792639,darkgray:2846468607,darkgreen:6553855,darkgrey:2846468607,darkkhaki:3182914559,darkmagenta:2332068863,darkolivegreen:1433087999,darkorange:4287365375,darkorchid:2570243327,darkred:2332033279,darksalmon:3918953215,darkseagreen:2411499519,darkslateblue:1211993087,darkslategray:793726975,darkslategrey:793726975,darkturquoise:13554175,darkviolet:2483082239,deeppink:4279538687,deepskyblue:12582911,dimgray:1768516095,dimgrey:1768516095,dodgerblue:512819199,firebrick:2988581631,floralwhite:4294635775,forestgreen:579543807,fuchsia:4278255615,gainsboro:3705462015,ghostwhite:4177068031,gold:4292280575,goldenrod:3668254975,gray:2155905279,green:8388863,greenyellow:2919182335,grey:2155905279,honeydew:4043305215,hotpink:4285117695,indianred:3445382399,indigo:1258324735,ivory:4294963455,khaki:4041641215,lavender:3873897215,lavenderblush:4293981695,lawngreen:2096890111,lemonchiffon:4294626815,lightblue:2916673279,lightcoral:4034953471,lightcyan:3774873599,lightgoldenrodyellow:4210742015,lightgray:3553874943,lightgreen:2431553791,lightgrey:3553874943,lightpink:4290167295,lightsalmon:4288707327,lightseagreen:548580095,lightskyblue:2278488831,lightslategray:2005441023,lightslategrey:2005441023,lightsteelblue:2965692159,lightyellow:4294959359,lime:16711935,limegreen:852308735,linen:4210091775,magenta:4278255615,maroon:2147483903,mediumaquamarine:1724754687,mediumblue:52735,mediumorchid:3126187007,mediumpurple:2473647103,mediumseagreen:1018393087,mediumslateblue:2070474495,mediumspringgreen:16423679,mediumturquoise:1221709055,mediumvioletred:3340076543,midnightblue:421097727,mintcream:4127193855,mistyrose:4293190143,moccasin:4293178879,navajowhite:4292783615,navy:33023,oldlace:4260751103,olive:2155872511,olivedrab:1804477439,orange:4289003775,orangered:4282712319,orchid:3664828159,palegoldenrod:4008225535,palegreen:2566625535,paleturquoise:2951671551,palevioletred:3681588223,papayawhip:4293907967,peachpuff:4292524543,peru:3448061951,pink:4290825215,plum:3718307327,powderblue:2967529215,purple:2147516671,rebeccapurple:1714657791,red:4278190335,rosybrown:3163525119,royalblue:1097458175,saddlebrown:2336560127,salmon:4202722047,sandybrown:4104413439,seagreen:780883967,seashell:4294307583,sienna:2689740287,silver:3233857791,skyblue:2278484991,slateblue:1784335871,slategray:1887473919,slategrey:1887473919,snow:4294638335,springgreen:16744447,steelblue:1182971135,tan:3535047935,teal:8421631,thistle:3636451583,tomato:4284696575,turquoise:1088475391,violet:4001558271,wheat:4125012991,white:4294967295,whitesmoke:4126537215,yellow:4294902015,yellowgreen:2597139199},Mt="[-+]?\\d*\\.?\\d+",Dt={rgb:new RegExp("rgb"+Ft(Mt,Mt,Mt)),rgba:new RegExp("rgba"+Ft(Mt,Mt,Mt,Mt)),hsl:new RegExp("hsl"+Ft(Mt,"[-+]?\\d*\\.?\\d+%","[-+]?\\d*\\.?\\d+%")),hsla:new RegExp("hsla"+Ft(Mt,"[-+]?\\d*\\.?\\d+%","[-+]?\\d*\\.?\\d+%",Mt)),hex3:/^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex4:/^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#([0-9a-fA-F]{6})$/,hex8:/^#([0-9a-fA-F]{8})$/};function Ut(e){const t=parseInt(e,10);return t<0?0:t>255?255:t}function Wt(e){const t=parseFloat(e);return t<0?0:t>1?255:Math.round(255*t)}function Bt(e,t,n){let r=n;return r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+6*(t-e)*r:r<.5?t:r<2/3?e+(t-e)*(2/3-r)*6:e}function Vt(e,t,n){const r=n<.5?n*(1+t):n+t-n*t,i=2*n-r,o=Bt(i,r,e+1/3),a=Bt(i,r,e),l=Bt(i,r,e-1/3);return Math.round(255*o)<<24|Math.round(255*a)<<16|Math.round(255*l)<<8}function $t(e){return(parseFloat(e)%360+360)%360/360}function qt(e){const t=parseFloat(e);return t<0?0:t>100?1:t/100}function Qt(e,t={}){if(Number.isInteger(e))return e;let n=function(e){let t;return"number"==typeof e?e>>>0===e&&e>=0&&e<=4294967295?e:null:(t=Dt.hex6.exec(e),Array.isArray(t)?parseInt(t[1]+"ff",16)>>>0:Object.hasOwnProperty.call(Ht,e)?Ht[e]:(t=Dt.rgb.exec(e),Array.isArray(t)?(Ut(t[1])<<24|Ut(t[2])<<16|Ut(t[3])<<8|255)>>>0:(t=Dt.rgba.exec(e),t?(Ut(t[1])<<24|Ut(t[2])<<16|Ut(t[3])<<8|Wt(t[4]))>>>0:(t=Dt.hex3.exec(e),t?parseInt(t[1]+t[1]+t[2]+t[2]+t[3]+t[3]+"ff",16)>>>0:(t=Dt.hex8.exec(e),t?parseInt(t[1],16)>>>0:(t=Dt.hex4.exec(e),t?parseInt(t[1]+t[1]+t[2]+t[2]+t[3]+t[3]+t[4]+t[4],16)>>>0:(t=Dt.hsl.exec(e),t?(255|Vt($t(t[1]),qt(t[2]),qt(t[3])))>>>0:(t=Dt.hsla.exec(e),t?(Vt($t(t[1]),qt(t[2]),qt(t[3]))|Wt(t[4]))>>>0:null))))))))}(e);return t.platform||(t.platform="android"),null===n?0:(n=(n<<24|n>>>8)>>>0,"android"===t.platform&&(n|=0),n)}function Kt(e,t){return Array.isArray(e)?e.map(e=>Qt(e,t)):[0]}class Gt extends Ke{constructor(){super(),this.documentElement=new rt("document")}createElement(e){return new rt(e)}createElementNS(e,t){return new rt(`${e}:${t}`)}}Gt.createElement=Gt.prototype.createElement,Gt.createElementNS=Gt.prototype.createElementNS;const{createContainer:Yt,updateContainer:Xt,getPublicRootInstance:Jt,injectIntoDevTools:Zt}=It;class en{constructor(e){if(!e.appName||!e.entryPage)throw new TypeError("Invalid arguments");this.config=e,this.regist=this.start,this.render=this.render.bind(this);const t=new Gt;this.rootContainer=Yt(t,0,!1,null)}static get Native(){return jt}start(){Ot.regist(this.config.appName,this.render)}render(e){const{appName:t,entryPage:n,silent:r=!1,bubbles:i=!1,callback:o=(()=>{})}=this.config,{__instanceId__:l}=e;this.rootContainer.containerInfo.nodeId=l,r&&ee(r),i&&function(e=!1){G=e}(i),H(l,this.rootContainer);const s=a.a.createElement(n,e);return Xt(s,this.rootContainer,null,o),Jt(this.rootContainer)}}en.version="unspecified";const tn={registerComponent(e,t){new en({appName:e,entryPage:t}).start()}};class nn extends a.a.Component{constructor(){super(...arguments),this.instance=null}setPressed(e){ht(this.instance,"setPressed",[e])}setHotspot(e,t){ht(this.instance,"setHotspot",[e,t])}render(){const e=this.props,{collapsable:t,style:n={}}=e,r=C(e,s),i=n,{nativeBackgroundAndroid:o}=r;return"boolean"==typeof t&&(i.collapsable=t),void 0!==(null==o?void 0:o.color)&&(o.color=Qt(o.color)),a.a.createElement("div",E({ref:e=>{this.instance=e},nativeName:"View",style:i},r))}}function rn(e,t){let{style:n}=e,r=C(e,u);const i=n;if(n&&(Array.isArray(n)?-1===n.filter(e=>"object"==typeof e&&e).findIndex(e=>e.color||e.colors)&&(i[0].color="#000"):"object"==typeof n&&void 0===n.color&&void 0===n.colors&&(i.color="#000")),r.text="","string"==typeof r.children)r.text=Y(r.children);else if("number"==typeof r.children)r.text=Y(r.children.toString());else if(Array.isArray(r.children)){const e=r.children.filter(e=>"string"==typeof e||"number"==typeof e).join("");e&&(r.text=Y(e),r.children=r.text)}return a.a.createElement("p",E({ref:t,nativeName:"Text",style:i},r))}rn.displayName="Text";const on=a.a.forwardRef(rn);on.displayName="Text";var an=Object.freeze({__proto__:null,default:on});class ln extends a.a.Component{static get resizeMode(){return{contain:"contain",cover:"cover",stretch:"stretch",center:"center",repeat:"repeat"}}static getSize(e,t,n){if("string"!=typeof e)throw new TypeError("Image.getSize first argument must be a string url");const r=Se(e);return"function"==typeof t&&r.then(e=>t(e.width,e.height)),"function"==typeof n?r.catch(n):r.catch(e=>{}),r}render(){const e=this.props,{children:t,style:n,imageStyle:r,imageRef:i,source:o,sources:l,src:s,srcs:u,tintColor:f,tintColors:d}=e,p=C(e,c),h=this.getImageUrls({src:s,srcs:u,source:o,sources:l});"ios"===Tt.platform.OS?h.length&&(p.source=h.map(e=>({uri:e}))):"android"===Tt.platform.OS&&(1===h.length?[p.src]=h:h.length>1&&(p.srcs=h)),"string"==typeof p.defaultSource&&(p.defaultSource.indexOf("data:image/"),p.defaultSource=ne(p.defaultSource));const m=E({},n);return this.handleTintColor(m,f,d),p.style=m,t?a.a.createElement(nn,{style:n},a.a.createElement("img",E(E({},p),{},{nativeName:"Image",alt:"",ref:i,style:[{position:"absolute",left:0,right:0,top:0,bottom:0,width:n.width,height:n.height},r]})),t):a.a.createElement("img",E(E({},p),{},{nativeName:"Image",alt:"",ref:i}))}getImageUrls({src:e,srcs:t,source:n,sources:r}){let i=[];if("string"==typeof e&&i.push(e),Array.isArray(t)&&(i=[...i,...t]),n)if("string"==typeof n)i.push(n);else if("object"==typeof n&&null!==n){const{uri:e}=n;e&&i.push(e)}return r&&Array.isArray(r)&&r.forEach(e=>{"string"==typeof e?i.push(e):"object"==typeof e&&null!==e&&e.uri&&i.push(e.uri)}),i.length&&(i=i.map(e=>ne(e))),i}handleTintColor(e,t,n){t&&Object.assign(e,{tintColor:t}),Array.isArray(n)&&Object.assign(e,{tintColors:n})}}ln.prefetch=ke;class sn{constructor(){this.Value=sn.Value}static Value(e){return e}static timing(e,t){return new Re({mode:"timing",delay:0,startValue:e,toValue:t.toValue,duration:t.duration,timingFunction:t.easing||"linear"})}}sn.View=nn,sn.Text=an,sn.Image=ln;const un={step0:e=>e>0?1:0,step1:e=>e>=1?1:0,linear:()=>"linear",ease:()=>"ease",quad:e=>e**2,cubic:e=>e**3,poly:e=>t=>t**e,sin:e=>1-Math.cos(e*Math.PI/2),circle:e=>1-Math.sqrt(1-e*e),exp:e=>2**(10*(e-1)),elastic:()=>"elastic",back:(e=1.70158)=>t=>t*t*((e+1)*t-e),bounce(e){let t=e;return t<1/2.75?7.5625*t*t:t<2/2.75?(t-=1.5/2.75,7.5625*t*t+.75):t<2.5/2.75?(t-=2.25/2.75,7.5625*t*t+.9375):(t-=2.625/2.75,7.5625*t*t+.984375)},bezier:()=>"bezier",in:()=>"ease-in",out:()=>"ease-out",inOut:()=>"ease-in-out"};function cn(e){return a.a.createElement("li",E({nativeName:"ListViewItem"},e))}class fn extends a.a.Component{constructor(){super(...arguments),this.instance=null}expandPullHeader(){ht(this.instance,"expandPullHeader",[])}collapsePullHeader(e){void 0!==e?ht(this.instance,"collapsePullHeaderWithOptions",[e]):ht(this.instance,"collapsePullHeader",[])}render(){const e=this.props,{children:t}=e,n=C(e,f);return a.a.createElement("div",E({nativeName:"PullHeaderView",ref:e=>{this.instance=e}},n),t)}}class dn extends a.a.Component{constructor(){super(...arguments),this.instance=null}expandPullFooter(){ht(this.instance,"expandPullFooter",[])}collapsePullFooter(){ht(this.instance,"collapsePullFooter",[])}render(){const e=this.props,{children:t}=e,n=C(e,d);return a.a.createElement("div",E({nativeName:"PullFooterView",ref:e=>{this.instance=e}},n),t)}}const pn={onDisappear:"onDisAppear"},hn={onDisappear:"onDisappear"};class mn extends a.a.Component{constructor(e){super(e),this.instance=null,this.pullHeader=null,this.pullFooter=null,this.handleInitialListReady=this.handleInitialListReady.bind(this),this.state={initialListReady:!1}}static convertName(e){return"android"===Tt.platform.OS&&pn[e]?pn[e]:"ios"===Tt.platform.OS&&hn[e]?hn[e]:e}componentDidMount(){const{getRowKey:e}=this.props}scrollToIndex(e,t,n){"number"==typeof e&&"number"==typeof t&&"boolean"==typeof n&&ht(this.instance,"scrollToIndex",[e,t,n])}scrollToContentOffset(e,t,n){"number"==typeof e&&"number"==typeof t&&"boolean"==typeof n&&ht(this.instance,"scrollToContentOffset",[e,t,n])}expandPullHeader(){this.pullHeader&&this.pullHeader.expandPullHeader()}collapsePullHeader(e){this.pullHeader&&this.pullHeader.collapsePullHeader(e)}expandPullFooter(){this.pullFooter&&this.pullFooter.expandPullFooter()}collapsePullFooter(){this.pullFooter&&this.pullFooter.collapsePullFooter()}render(){const e=this.props,{children:t,style:n,renderRow:r,renderPullHeader:i,renderPullFooter:o,getRowType:l,getRowStyle:s,getHeaderStyle:u,getFooterStyle:c,getRowKey:f,dataSource:d,initialListSize:h,rowShouldSticky:m,onRowLayout:y,onHeaderPulling:g,onHeaderReleased:b,onFooterPulling:v,onFooterReleased:w,onAppear:S,onDisappear:k,onWillAppear:x,onWillDisappear:N}=e,I=C(e,p),P=[];if("function"==typeof r){const{initialListReady:e}=this.state;let{numberOfRows:t}=this.props;const p=this.getPullHeader(i,g,b,u),C=this.getPullFooter(o,v,w,c);!t&&d&&(t=d.length),e||(t=Math.min(t,h||10));for(let e=0;e{"function"==typeof n&&(t[mn.convertName(r)]=()=>{n(e)})}),n&&P.push(a.a.createElement(cn,E({},t),n))}p&&P.unshift(p),C&&P.push(C),"function"==typeof m&&Object.assign(I,{rowShouldSticky:!0});const _=[S,k,x,N];I.exposureEventEnabled=_.some(e=>"function"==typeof e),"ios"===Tt.platform.OS&&(I.numberOfRows=P.length),I.initialListSize=h,I.style=E({overflow:"scroll"},n)}return a.a.createElement("ul",E({ref:e=>{this.instance=e},nativeName:"ListView",initialListReady:this.handleInitialListReady},I),P.length?P:t)}handleInitialListReady(){this.setState({initialListReady:!0})}getPullHeader(e,t,n,r){let i=null,o={};return"function"==typeof r&&(o=r()),"function"==typeof e&&(i=a.a.createElement(fn,{style:o,key:"pull-header",ref:e=>{this.pullHeader=e},onHeaderPulling:t,onHeaderReleased:n},e())),i}getPullFooter(e,t,n,r){let i=null,o={};return"function"==typeof r&&(o=r()),"function"==typeof e&&(i=a.a.createElement(dn,{style:o,key:"pull-footer",ref:e=>{this.pullFooter=e},onFooterPulling:t,onFooterReleased:n},e())),i}handleRowProps(e,t,{getRowKey:n,getRowStyle:r,onRowLayout:i,getRowType:o,rowShouldSticky:a}){if("function"==typeof n&&(e.key=n(t)),"function"==typeof r&&(e.style=r(t)),"function"==typeof i&&(e.onLayout=e=>{i(e,t)}),"function"==typeof o){const n=o(t);Number.isInteger(n),e.type=n}"function"==typeof a&&(e.sticky=a(t))}}mn.defaultProps={numberOfRows:0};class yn extends a.a.Component{constructor(e){super(e),this.instance=null,this.refreshComplected=this.refreshCompleted.bind(this)}startRefresh(){ht(this.instance,"startRefresh",null)}refreshCompleted(){ht(this.instance,"refreshComplected",null)}render(){const e=this.props,{children:t}=e,n=C(e,h);return a.a.createElement("div",E({nativeName:"RefreshWrapper",ref:e=>{this.instance=e}},n),a.a.createElement("div",{nativeName:"RefreshWrapperItemView",style:{left:0,right:0,position:"absolute"}},this.getRefresh()),t)}getRefresh(){const{getRefresh:e}=this.props;return"function"==typeof e&&e()||null}}class gn{constructor(){this.top=null,this.size=0}push(e){this.top={data:e,next:this.top},this.size+=1}peek(){return null===this.top?null:this.top.data}pop(){if(null===this.top)return null;const e=this.top;return this.top=this.top.next,this.size>0&&(this.size-=1),e.data}clear(){this.top=null,this.size=0}displayAll(){const e=[];if(null===this.top)return e;let t=this.top;for(let n=0,r=this.size;n1&&this.pop({animated:!0})}push(e){if(null==e?void 0:e.component){if(!this.routeList[e.routeName]){new en({appName:e.routeName,entryPage:e.component}).regist(),this.routeList[e.routeName]=!0}delete e.component}const t=[e];this.stack.push(e),ht(this.instance,"push",t)}pop(e){if(this.stack.size>1){const t=[e];this.stack.pop(),ht(this.instance,"pop",t)}}clear(){this.stack.clear()}render(){const e=this.props,{initialRoute:{component:t}}=e,n=C(e.initialRoute,y),r=C(e,m);return r.initialRoute=n,a.a.createElement("div",E({nativeName:"Navigator",ref:e=>{this.instance=e}},r))}}function vn(e){return a.a.createElement("div",E(E({nativeName:"ViewPagerItem"},e),{},{style:{position:"absolute",left:0,top:0,right:0,bottom:0,collapsable:!1}}))}class wn extends a.a.Component{constructor(e){super(e),this.instance=null,this.setPage=this.setPage.bind(this),this.setPageWithoutAnimation=this.setPageWithoutAnimation.bind(this),this.onPageScrollStateChanged=this.onPageScrollStateChanged.bind(this)}onPageScrollStateChanged(e){const{onPageScrollStateChanged:t}=this.props;t&&t(e.pageScrollState)}setPage(e){"number"==typeof e&&ht(this.instance,"setPage",[e])}setPageWithoutAnimation(e){"number"==typeof e&&ht(this.instance,"setPageWithoutAnimation",[e])}render(){const e=this.props,{children:t,onPageScrollStateChanged:n}=e,r=C(e,g);let i=[];return Array.isArray(t)?i=t.map(e=>{const t={};return"string"==typeof e.key&&(t.key="viewPager_"+e.key),a.a.createElement(vn,E({},t),e)}):i.push(a.a.createElement(vn,null,t)),"function"==typeof n&&(r.onPageScrollStateChanged=this.onPageScrollStateChanged),a.a.createElement("div",E({nativeName:"ViewPager",ref:e=>{this.instance=e}},r),i)}}function Sn(){const e=P.platform.Localization;return!!e&&1===e.direction}const kn={caretColor:"caret-color"};class En extends a.a.Component{constructor(e){super(e),this.instance=null,this._lastNativeText="",this.onChangeText=this.onChangeText.bind(this),this.onKeyboardWillShow=this.onKeyboardWillShow.bind(this)}componentDidMount(){const{value:e,autoFocus:t}=this.props;this._lastNativeText=e,t&&this.focus()}componentWillUnmount(){this.blur()}getValue(){return new Promise(e=>{ht(this.instance,"getValue",t=>e(t.text))})}setValue(e){return ht(this.instance,"setValue",[e]),e}focus(){ht(this.instance,"focusTextInput",[])}blur(){ht(this.instance,"blurTextInput",[])}isFocused(){return new Promise(e=>{ht(this.instance,"isFocused",t=>e(t.value))})}showInputMethod(){}hideInputMethod(){}clear(){ht(this.instance,"clear",[])}render(){const e=E({},this.props);return["underlineColorAndroid","placeholderTextColor","placeholderTextColors","caretColor","caret-color"].forEach(t=>{let n=t;const r=this.props[t];"string"==typeof this.props[t]&&(kn[t]&&(n=kn[t]),Array.isArray(e.style)?e.style.push({[n]:r}):e.style&&"object"==typeof e.style?e.style[n]=r:e.style={[n]:r},delete e[t])}),Sn()&&(e.style?"object"!=typeof e.style||Array.isArray(e.style)||e.style.textAlign||(e.style.textAlign="right"):e.style={textAlign:"right"}),a.a.createElement("div",E(E({nativeName:"TextInput"},e),{},{ref:e=>{this.instance=e},onChangeText:this.onChangeText,onKeyboardWillShow:this.onKeyboardWillShow}))}onChangeText(e){const{onChangeText:t}=this.props;"function"==typeof t&&t(e.text),this.instance&&(this._lastNativeText=e.text)}onKeyboardWillShow(e){const{onKeyboardWillShow:t}=this.props,n=e;"android"===Tt.platform.OS&&(n.keyboardHeight/=Tt.screen.scale),"function"==typeof t&&t(n)}}const xn=Tt.window.scale;let Cn=Math.round(.4*xn)/xn;function Nn(e){return e}0===Cn&&(Cn=1/xn);var In=Object.freeze({__proto__:null,get hairlineWidth(){return Cn},create:Nn});const Pn={baseVertical:{flexGrow:1,flexShrink:1,flexDirection:"column",overflow:"scroll"},baseHorizontal:{flexGrow:1,flexShrink:1,flexDirection:"row",overflow:"scroll"},contentContainerVertical:{collapsable:!1,flexDirection:"column"},contentContainerHorizontal:{collapsable:!1,flexDirection:"row"}};class _n extends a.a.Component{constructor(){super(...arguments),this.instance=null}scrollTo(e,t,n=!0){let r=e,i=t,o=n;"object"==typeof e&&e&&({x:r,y:i,animated:o}=e),r=r||0,i=i||0,o=!!o,ht(this.instance,"scrollTo",[r,i,o])}scrollToWithDuration(e=0,t=0,n=1e3){ht(this.instance,"scrollToWithOptions",[{x:e,y:t,duration:n}])}render(){const{horizontal:e,contentContainerStyle:t,children:n,style:r}=this.props,i=[e?Pn.contentContainerHorizontal:Pn.contentContainerVertical,t],o=e?Object.assign({},Pn.baseHorizontal,r):Object.assign({},Pn.baseVertical,r);return e&&(o.flexDirection=Sn()?"row-reverse":"row"),a.a.createElement("div",E(E({nativeName:"ScrollView",ref:e=>{this.instance=e}},this.props),{},{style:o}),a.a.createElement(nn,{style:i},n))}}const Ln={modal:{position:"absolute",collapsable:!1},container:{position:"absolute",left:0,top:0}};class An extends a.a.Component{constructor(e){super(e),this.eventSubscription=null}componentDidMount(){"ios"===Tt.platform.OS&&(this.eventSubscription=new de("modalDismissed"),this.eventSubscription.addCallback(e=>{const{primaryKey:t,onDismiss:n}=this.props;e.primaryKey===t&&"function"==typeof n&&n()}))}componentWillUnmount(){"ios"===Tt.platform.OS&&this.eventSubscription&&this.eventSubscription.unregister()}render(){const{children:e,visible:t,transparent:n,animated:r}=this.props;let{animationType:i}=this.props;if(!1===t)return null;const o={backgroundColor:n?"transparent":"white"};return i||(i="none",r&&(i="slide")),a.a.createElement("div",E({nativeName:"Modal",animationType:i,transparent:n,style:Ln.modal},this.props),a.a.createElement(nn,{style:[Ln.container,o]},e))}}An.defaultProps={visible:!0};class Rn extends a.a.Component{constructor(e){super(e);const{requestFocus:t}=this.props;this.state={isFocus:!!t},this.handleFocus=this.handleFocus.bind(this)}render(){var e,t,n;const{requestFocus:r,children:i,nextFocusDownId:o,nextFocusUpId:l,nextFocusLeftId:s,nextFocusRightId:u,style:c,noFocusStyle:f,focusStyle:d,onClick:p}=this.props,{isFocus:h}=this.state,m=a.a.Children.only(i);let y;(null===(t=null===(e=null==m?void 0:m.child)||void 0===e?void 0:e.memoizedProps)||void 0===t?void 0:t.nativeName)?y=m.child.memoizedProps.nativeName:(null===(n=null==m?void 0:m.type)||void 0===n?void 0:n.displayName)&&(y=m.type.displayName);const g=o&&pt(o),b=l&&pt(l),v=s&&pt(s),w=u&&pt(u);let S=c;if("Text"!==y){const e=m.memoizedProps.style;S=E(E({},S),e)}if(Object.assign(S,h?d:f),"Text"===y)return a.a.createElement(nn,{focusable:!0,nextFocusDownId:g,nextFocusUpId:b,nextFocusLeftId:v,nextFocusRightId:w,requestFocus:r,style:S,onClick:p,onFocus:this.handleFocus},m);const{children:k}=m.memoizedProps;return a.a.cloneElement(m,{nextFocusDownId:o,nextFocusUpId:l,nextFocusLeftId:s,nextFocusRightId:u,requestFocus:r,onClick:p,focusable:!0,children:k,style:S,onFocus:this.handleFocus})}handleFocus(e){const{onFocus:t}=this.props;"function"==typeof t&&t(e);const{isFocus:n}=this.state;n!==e.focus&&this.setState({isFocus:e.focus})}}function zn(e){return a.a.createElement("iframe",E({title:"hippy",nativeName:"WebView"},e))}let Tn;class On{constructor(e,t,n){if(this.protocol="",this.onWebSocketEvent=this.onWebSocketEvent.bind(this),Tn||(Tn=new de("hippyWebsocketEvents")),this.readyState=0,this.webSocketCallbacks={},!e||"string"!=typeof e)throw new TypeError("Invalid WebSocket url");const r=E({},n);if(void 0!==t)if(Array.isArray(t)&&t.length>0)r["Sec-WebSocket-Protocol"]=t.join(",");else{if("string"!=typeof t)throw new TypeError("Invalid WebSocket protocols");r["Sec-WebSocket-Protocol"]=t}const i={headers:r,url:e};this.url=e,this.webSocketCallbackId=Tn.addCallback(this.onWebSocketEvent),I.callNativeWithPromise("websocket","connect",i).then(e=>{e&&0===e.code&&"number"==typeof e.id&&(this.webSocketId=e.id)})}close(e,t){1===this.readyState&&(this.readyState=2,I.callNative("websocket","close",{id:this.webSocketId,code:e,reason:t}))}send(e){if(1===this.readyState){if("string"!=typeof e)throw new TypeError("Unsupported websocket data type: "+typeof e);I.callNative("websocket","send",{id:this.webSocketId,data:e})}}set onopen(e){this.webSocketCallbacks.onOpen=e}set onclose(e){this.webSocketCallbacks.onClose=e}set onerror(e){this.webSocketCallbacks.onError=e}set onmessage(e){this.webSocketCallbacks.onMessage=e}onWebSocketEvent(e){if("object"!=typeof e||e.id!==this.webSocketId)return;const{type:t}=e;"onOpen"===t?this.readyState=1:"onClose"===t&&(this.readyState=3,Tn.removeCallback(this.webSocketCallbackId));const n=this.webSocketCallbacks[t];"function"==typeof n&&n(e.data)}}function jn(e){return a.a.createElement("li",E({nativeName:"WaterfallItem"},e))}class Fn extends a.a.Component{constructor(e){super(e),this.instance=null,this.pullHeader=null,this.pullFooter=null,this.handleInitialListReady=this.handleInitialListReady.bind(this)}scrollToIndex({index:e=0,animated:t=!0}){ht(this.instance,"scrollToIndex",[e,e,t])}scrollToContentOffset({xOffset:e=0,yOffset:t=0,animated:n=!0}){ht(this.instance,"scrollToContentOffset",[e,t,n])}expandPullHeader(){this.pullHeader&&this.pullHeader.expandPullHeader()}collapsePullHeader(e){this.pullHeader&&this.pullHeader.collapsePullHeader(e)}expandPullFooter(){this.pullFooter&&this.pullFooter.expandPullFooter()}collapsePullFooter(){this.pullFooter&&this.pullFooter.collapsePullFooter()}render(){const e=this.props,{style:t={},renderBanner:n,numberOfColumns:r=2,columnSpacing:i=0,interItemSpacing:o=0,numberOfItems:l=0,preloadItemNumber:s=0,renderItem:u,renderPullHeader:c,renderPullFooter:f,getItemType:d,getItemKey:p,getItemStyle:h,contentInset:m={top:0,left:0,bottom:0,right:0},onItemLayout:y,onHeaderPulling:g,onHeaderReleased:v,onFooterPulling:w,onFooterReleased:S,containPullHeader:k=!1,containPullFooter:x=!1,containBannerView:N=!1}=e,I=E(E({},C(e,b)),{},{style:t,numberOfColumns:r,columnSpacing:i,interItemSpacing:o,preloadItemNumber:s,contentInset:m,containPullHeader:k,containPullFooter:x,containBannerView:N}),P=[];if("function"==typeof n){const e=n();e&&(P.push(a.a.createElement(nn,{key:"bannerView"},a.a.cloneElement(e))),I.containBannerView=!0)}if("function"==typeof u){const e=this.getPullHeader(c,g,v),n=this.getPullFooter(f,w,S);for(let e=0;ethis.instance=e,initialListReady:this.handleInitialListReady.bind(this)},I),P)}componentDidMount(){const{getItemKey:e}=this.props}handleRowProps(e,t,{getItemKey:n,getItemStyle:r,onItemLayout:i,getItemType:o}){if("function"==typeof n&&(e.key=n(t)),"function"==typeof r&&(e.style=r(t)),"function"==typeof i&&(e.onLayout=e=>{i.call(this,e,t)}),"function"==typeof o){const n=o(t);Number.isInteger(n),e.type=n}}getPullHeader(e,t,n){let r=null;return"function"==typeof e&&(r=a.a.createElement(fn,{key:"PullHeader",ref:e=>{this.pullHeader=e},onHeaderPulling:t,onHeaderReleased:n},e())),r}getPullFooter(e,t,n){let r=null;return"function"==typeof e&&(r=a.a.createElement(dn,{key:"PullFooter",ref:e=>{this.pullFooter=e},onFooterPulling:t,onFooterReleased:n},e())),r}handleInitialListReady(){const{onInitialListReady:e}=this.props;"function"==typeof e&&e()}}e.WebSocket=On;const{AsyncStorage:Hn,BackAndroid:Mn,Bridge:Dn,Clipboard:Un,Cookie:Wn,Device:Bn,HippyRegister:Vn,ImageLoader:$n,NetworkInfo:qn,UIManager:Qn,flushSync:Kn}=jt,{callNative:Gn,callNativeWithPromise:Yn,callNativeWithCallbackId:Xn,removeNativeCallback:Jn}=Dn,Zn=null,er=e.ConsoleModule||e.console,tr=Bn.platform,nr=en,rr=en,ir=ln,or=Vn,ar=he,lr=de,sr={get:e=>Bn[e]},ur={get:()=>Bn.screen.scale}}.call(this,n("./node_modules/webpack/buildin/global.js"))},"./node_modules/@hippy/react-reconciler/cjs/react-reconciler.production.min.js":function(e,t,n){(function(e){ /** @license React v0.26.2 * react-reconciler.production.min.js * @@ -29,7 +29,7 @@ var hippyReactBase=function(e){var t={};function n(r){if(t[r])return t[r].export * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ -e.exports=function(t){var r={},i=n("./node_modules/object-assign/index.js"),o=n("./node_modules/react/index.js"),a=n("./node_modules/scheduler/index.js");function l(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n--l||i[a]!==o[l])return"\n"+i[a].replace(" at new "," at ")}while(1<=a&&0<=l);break}}}finally{et=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Ze(e):""}var nt=[],rt=-1;function it(e){return{current:e}}function ot(e){0>rt||(e.current=nt[rt],nt[rt]=null,rt--)}function at(e,t){rt++,nt[rt]=e.current,e.current=t}var lt={},st=it(lt),ut=it(!1),ct=lt;function ft(e,t){var n=e.type.contextTypes;if(!n)return lt;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i,o={};for(i in n)o[i]=t[i];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function dt(e){return null!=(e=e.childContextTypes)}function pt(){ot(ut),ot(st)}function ht(e,t,n){if(st.current!==lt)throw Error(l(168));at(st,t),at(ut,n)}function mt(e,t,n){var r=e.stateNode;if(e=t.childContextTypes,"function"!=typeof r.getChildContext)return n;for(var o in r=r.getChildContext())if(!(o in e))throw Error(l(108,P(t)||"Unknown",o));return i({},n,r)}function yt(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||lt,ct=st.current,at(st,e),at(ut,ut.current),!0}function gt(e,t,n){var r=e.stateNode;if(!r)throw Error(l(169));n?(e=mt(e,t,ct),r.__reactInternalMemoizedMergedChildContext=e,ot(ut),ot(st),at(st,e)):ot(ut),at(ut,n)}var bt=null,vt=null;(0,a.unstable_now)();var wt=0,St=8;function kt(e){if(0!=(1&e))return St=15,1;if(0!=(2&e))return St=14,2;if(0!=(4&e))return St=13,4;var t=24&e;return 0!==t?(St=12,t):0!=(32&e)?(St=11,32):0!==(t=192&e)?(St=10,t):0!=(256&e)?(St=9,256):0!==(t=3584&e)?(St=8,t):0!=(4096&e)?(St=7,4096):0!==(t=4186112&e)?(St=6,t):0!==(t=62914560&e)?(St=5,t):67108864&e?(St=4,67108864):0!=(134217728&e)?(St=3,134217728):0!==(t=805306368&e)?(St=2,t):0!=(1073741824&e)?(St=1,1073741824):(St=8,e)}function Et(e,t){var n=e.pendingLanes;if(0===n)return St=0;var r=0,i=0,o=e.expiredLanes,a=e.suspendedLanes,l=e.pingedLanes;if(0!==o)r=o,i=St=15;else if(0!==(o=134217727&n)){var s=o&~a;0!==s?(r=kt(s),i=St):0!==(l&=o)&&(r=kt(l),i=St)}else 0!==(o=n&~a)?(r=kt(o),i=St):0!==l&&(r=kt(l),i=St);if(0===r)return 0;if(r=n&((0>(r=31-_t(r))?0:1<n;n++)t.push(e);return t}function Pt(e,t,n){e.pendingLanes|=t;var r=t-1;e.suspendedLanes&=r,e.pingedLanes&=r,(e=e.eventTimes)[t=31-_t(t)]=n}var _t=Math.clz32?Math.clz32:function(e){return 0===e?32:31-(Lt(e)/At|0)|0},Lt=Math.log,At=Math.LN2;var Rt=a.unstable_runWithPriority,zt=a.unstable_scheduleCallback,Tt=a.unstable_cancelCallback,Ot=a.unstable_shouldYield,Ft=a.unstable_requestPaint,jt=a.unstable_now,Ht=a.unstable_getCurrentPriorityLevel,Mt=a.unstable_ImmediatePriority,Dt=a.unstable_UserBlockingPriority,Ut=a.unstable_NormalPriority,Wt=a.unstable_LowPriority,Bt=a.unstable_IdlePriority,Vt={},$t=void 0!==Ft?Ft:function(){},qt=null,Qt=null,Kt=!1,Gt=jt(),Yt=1e4>Gt?jt:function(){return jt()-Gt};function Xt(){switch(Ht()){case Mt:return 99;case Dt:return 98;case Ut:return 97;case Wt:return 96;case Bt:return 95;default:throw Error(l(332))}}function Jt(e){switch(e){case 99:return Mt;case 98:return Dt;case 97:return Ut;case 96:return Wt;case 95:return Bt;default:throw Error(l(332))}}function Zt(e,t){return e=Jt(e),Rt(e,t)}function en(e,t,n){return e=Jt(e),zt(e,t,n)}function tn(){if(null!==Qt){var e=Qt;Qt=null,Tt(e)}nn()}function nn(){if(!Kt&&null!==qt){Kt=!0;var e=0;try{var t=qt;Zt(99,(function(){for(;ed?(p=f,f=null):p=f.sibling;var h=y(i,f,l[d],s);if(null===h){null===f&&(f=p);break}e&&f&&null===h.alternate&&t(i,f),a=o(h,a,d),null===c?u=h:c.sibling=h,c=h,f=p}if(d===l.length)return n(i,f),u;if(null===f){for(;dp?(h=d,d=null):h=d.sibling;var v=y(i,d,b.value,u);if(null===v){null===d&&(d=h);break}e&&d&&null===v.alternate&&t(i,d),a=o(v,a,p),null===f?c=v:f.sibling=v,f=v,d=h}if(b.done)return n(i,d),c;if(null===d){for(;!b.done;p++,b=s.next())null!==(b=m(i,b.value,u))&&(a=o(b,a,p),null===f?c=b:f.sibling=b,f=b);return c}for(d=r(i,d);!b.done;p++,b=s.next())null!==(b=g(d,i,p,b.value,u))&&(e&&null!==b.alternate&&d.delete(null===b.key?p:b.key),a=o(b,a,p),null===f?c=b:f.sibling=b,f=b);return e&&d.forEach((function(e){return t(i,e)})),c}return function e(r,o,s,d){var p="object"==typeof s&&null!==s&&s.type===f&&null===s.key;p&&(s=s.props.children);var h="object"==typeof s&&null!==s;if(h)switch(s.$$typeof){case u:e:{for(h=s.key,p=o;null!==p;){if(p.key===h){switch(p.tag){case 7:if(s.type===f){n(r,p.sibling),(o=i(p,s.props.children)).return=r,r=o;break e}break;case 22:if((h=s.type).$$typeof===w&&(h=Hn(h)),h.$$typeof===S&&h._render===p.type._render){n(r,p.sibling),(o=i(p,s.props)).type=h,o.return=r,r=o;break e}default:if(p.elementType===s.type){n(r,p.sibling),(o=i(p,s.props)).ref=Fn(r,p,s),o.return=r,r=o;break e}}n(r,p);break}t(r,p),p=p.sibling}s.type===f?((o=Ma(s.props.children,r.mode,d,s.key)).return=r,r=o):((d=Ha(s.type,s.key,s.props,null,r.mode,d)).ref=Fn(r,o,s),d.return=r,r=d)}return a(r);case c:e:{for(p=s.key;null!==o;){if(o.key===p){if(4===o.tag&&o.stateNode.containerInfo===s.containerInfo&&o.stateNode.implementation===s.implementation){n(r,o.sibling),(o=i(o,s.children||[])).return=r,r=o;break e}n(r,o);break}t(r,o),o=o.sibling}(o=Wa(s,r.mode,d)).return=r,r=o}return a(r);case w:return e(r,o,(p=s._init)(s._payload),d)}if("string"==typeof s||"number"==typeof s)return s=""+s,null!==o&&6===o.tag?(n(r,o.sibling),(o=i(o,s)).return=r,r=o):(n(r,o),(o=Ua(s,r.mode,d)).return=r,r=o),a(r);if(On(s))return b(r,o,s,d);if(I(s))return v(r,o,s,d);if(h&&jn(r,s),void 0===s&&!p)switch(r.tag){case 1:case 22:case 0:case 11:case 15:throw Error(l(152,P(r.type)||"Component"))}return n(r,o)}}var Dn=Mn(!0),Un=Mn(!1),Wn={},Bn=it(Wn),Vn=it(Wn),$n=it(Wn);function qn(e){if(e===Wn)throw Error(l(174));return e}function Qn(e,t){at($n,t),at(Vn,e),at(Bn,Wn),e=F(t),ot(Bn),at(Bn,e)}function Kn(){ot(Bn),ot(Vn),ot($n)}function Gn(e){var t=qn($n.current),n=qn(Bn.current);n!==(t=j(n,e.type,t))&&(at(Vn,e),at(Bn,t))}function Yn(e){Vn.current===e&&(ot(Bn),ot(Vn))}var Xn=it(0);function Jn(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||De(n)||Ue(n)))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(64&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Zn=null,er=null,tr=!1;function nr(e,t){var n=Oa(5,null,null,0);n.elementType="DELETED",n.type="DELETED",n.stateNode=t,n.return=e,n.flags=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function rr(e,t){switch(e.tag){case 5:return null!==(t=je(t,e.type,e.pendingProps))&&(e.stateNode=t,!0);case 6:return null!==(t=He(t,e.pendingProps))&&(e.stateNode=t,!0);case 13:if(null!==(t=Me(t))){e.memoizedState={dehydrated:t,retryLane:1073741824};var n=Oa(18,null,null,0);return n.stateNode=t,n.return=e,e.child=n,!0}return!1;default:return!1}}function ir(e){if(tr){var t=er;if(t){var n=t;if(!rr(e,t)){if(!(t=Be(n))||!rr(e,t))return e.flags=-1025&e.flags|2,tr=!1,void(Zn=e);nr(Zn,n)}Zn=e,er=Ve(t)}else e.flags=-1025&e.flags|2,tr=!1,Zn=e}}function or(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;Zn=e}function ar(e){if(!J||e!==Zn)return!1;if(!tr)return or(e),tr=!0,!1;var t=e.type;if(5!==e.tag||"head"!==t&&"body"!==t&&!V(t,e.memoizedProps))for(t=er;t;)nr(e,t),t=Be(t);if(or(e),13===e.tag){if(!J)throw Error(l(316));if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(l(317));er=Ke(e)}else er=Zn?Be(e.stateNode):null;return!0}function lr(){J&&(er=Zn=null,tr=!1)}var sr=[];function ur(){for(var e=0;eo))throw Error(l(301));o+=1,mr=hr=null,t.updateQueue=null,cr.current=Gr,e=n(r,i)}while(gr)}if(cr.current=qr,t=null!==hr&&null!==hr.next,dr=0,mr=hr=pr=null,yr=!1,t)throw Error(l(300));return e}function Sr(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-517,e.lanes&=~n}function kr(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===mr?pr.memoizedState=mr=e:mr=mr.next=e,mr}function Er(){if(null===hr){var e=pr.alternate;e=null!==e?e.memoizedState:null}else e=hr.next;var t=null===mr?pr.memoizedState:mr.next;if(null!==t)mr=t,hr=e;else{if(null===e)throw Error(l(310));e={memoizedState:(hr=e).memoizedState,baseState:hr.baseState,baseQueue:hr.baseQueue,queue:hr.queue,next:null},null===mr?pr.memoizedState=mr=e:mr=mr.next=e}return mr}function xr(e,t){return"function"==typeof t?t(e):t}function Cr(e){var t=Er(),n=t.queue;if(null===n)throw Error(l(311));n.lastRenderedReducer=e;var r=hr,i=r.baseQueue,o=n.pending;if(null!==o){if(null!==i){var a=i.next;i.next=o.next,o.next=a}r.baseQueue=i=o,n.pending=null}if(null!==i){i=i.next,r=r.baseState;var s=a=o=null,u=i;do{var c=u.lane;if((dr&c)===c)null!==s&&(s=s.next={lane:0,action:u.action,eagerReducer:u.eagerReducer,eagerState:u.eagerState,next:null}),r=u.eagerReducer===e?u.eagerState:e(r,u.action);else{var f={lane:c,action:u.action,eagerReducer:u.eagerReducer,eagerState:u.eagerState,next:null};null===s?(a=s=f,o=r):s=s.next=f,pr.lanes|=c,ko|=c}u=u.next}while(null!==u&&u!==i);null===s?o=r:s.next=a,on(r,t.memoizedState)||(Xr=!0),t.memoizedState=r,t.baseState=o,t.baseQueue=s,n.lastRenderedState=r}return[t.memoizedState,n.dispatch]}function Nr(e){var t=Er(),n=t.queue;if(null===n)throw Error(l(311));n.lastRenderedReducer=e;var r=n.dispatch,i=n.pending,o=t.memoizedState;if(null!==i){n.pending=null;var a=i=i.next;do{o=e(o,a.action),a=a.next}while(a!==i);on(o,t.memoizedState)||(Xr=!0),t.memoizedState=o,null===t.baseQueue&&(t.baseState=o),n.lastRenderedState=o}return[o,r]}function Ir(e,t,n){var r=t._getVersion;r=r(t._source);var i=G?t._workInProgressVersionPrimary:t._workInProgressVersionSecondary;if(null!==i?e=i===r:(e=e.mutableReadLanes,(e=(dr&e)===e)&&(G?t._workInProgressVersionPrimary=r:t._workInProgressVersionSecondary=r,sr.push(t))),e)return n(t._source);throw sr.push(t),Error(l(350))}function Pr(e,t,n,r){var i=ho;if(null===i)throw Error(l(349));var o=t._getVersion,a=o(t._source),s=cr.current,u=s.useState((function(){return Ir(i,t,n)})),c=u[1],f=u[0];u=mr;var d=e.memoizedState,p=d.refs,h=p.getSnapshot,m=d.source;d=d.subscribe;var y=pr;return e.memoizedState={refs:p,source:t,subscribe:r},s.useEffect((function(){p.getSnapshot=n,p.setSnapshot=c;var e=o(t._source);if(!on(a,e)){e=n(t._source),on(f,e)||(c(e),e=Ko(y),i.mutableReadLanes|=e&i.pendingLanes),e=i.mutableReadLanes,i.entangledLanes|=e;for(var r=i.entanglements,l=e;0n?98:n,(function(){e(!0)})),Zt(97Io&&(t.flags|=64,i=!0,Ni(r,!1),t.lanes=33554432)}else{if(!i)if(null!==(e=Jn(o))){if(t.flags|=64,i=!0,null!==(e=e.updateQueue)&&(t.updateQueue=e,t.flags|=4),Ni(r,!0),null===r.tail&&"hidden"===r.tailMode&&!o.alternate&&!tr)return null!==(t=t.lastEffect=r.lastEffect)&&(t.nextEffect=null),null}else 2*Yt()-r.renderingStartTime>Io&&1073741824!==n&&(t.flags|=64,i=!0,Ni(r,!1),t.lanes=33554432);r.isBackwards?(o.sibling=t.child,t.child=o):(null!==(e=r.last)?e.sibling=o:t.child=o,r.last=o)}return null!==r.tail?(e=r.tail,r.rendering=e,r.tail=e.sibling,r.lastEffect=t.lastEffect,r.renderingStartTime=Yt(),e.sibling=null,t=Xn.current,at(Xn,i?1&t|2:1&t),e):null;case 22:return null;case 23:case 24:return ia(),null!==e&&null!==e.memoizedState!=(null!==t.memoizedState)&&"unstable-defer-without-hiding"!==r.mode&&(t.flags|=4),null}throw Error(l(156,t.tag))}function Pi(e){switch(e.tag){case 1:dt(e.type)&&pt();var t=e.flags;return 4096&t?(e.flags=-4097&t|64,e):null;case 3:if(Kn(),ot(ut),ot(st),ur(),0!=(64&(t=e.flags)))throw Error(l(285));return e.flags=-4097&t|64,e;case 5:return Yn(e),null;case 13:if(ot(Xn),null!==(t=e.memoizedState)&&null!==t.dehydrated){if(null===e.alternate)throw Error(l(340));lr()}return 4096&(t=e.flags)?(e.flags=-4097&t|64,e):null;case 19:return ot(Xn),null;case 4:return Kn(),null;case 10:return yn(e),null;case 23:case 24:return ia(),null;default:return null}}function _i(e,t){try{var n="",r=t;do{n+=sn(r),r=r.return}while(r);var i=n}catch(e){i="\nError generating stack: "+e.message+"\n"+e.stack}return{value:e,source:t,stack:i}}function Li(e,t){try{console.error(t.value)}catch(e){setTimeout((function(){throw e}))}}var Ai="function"==typeof WeakMap?WeakMap:Map;function Ri(e,t,n){(n=En(-1,n)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Ao||(Ao=!0,Ro=r),Li(0,t)},n}function zi(e,t,n){(n=En(-1,n)).tag=3;var r=e.type.getDerivedStateFromError;if("function"==typeof r){var i=t.value;n.payload=function(){return Li(0,t),r(i)}}var o=e.stateNode;return null!==o&&"function"==typeof o.componentDidCatch&&(n.callback=function(){"function"!=typeof r&&(null===zo?zo=new Set([this]):zo.add(this),Li(0,t));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}var Ti="function"==typeof WeakSet?WeakSet:Set;function Oi(e){var t=e.ref;if(null!==t)if("function"==typeof t)try{t(null)}catch(t){ka(e,t)}else t.current=null}function Fi(e,t){switch(t.tag){case 0:case 11:case 15:case 22:return;case 1:if(256&t.flags&&null!==e){var n=e.memoizedProps,r=e.memoizedState;t=(e=t.stateNode).getSnapshotBeforeUpdate(t.elementType===t.type?n:un(t.type,n),r),e.__reactInternalSnapshotBeforeUpdate=t}return;case 3:return void(Y&&256&t.flags&&Ie(t.stateNode.containerInfo));case 5:case 6:case 4:case 17:return}throw Error(l(163))}function ji(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var r=n.destroy;n.destroy=void 0,void 0!==r&&r()}n=n.next}while(n!==t)}}function Hi(e,t,n){switch(n.tag){case 0:case 11:case 15:case 22:if(null!==(t=null!==(t=n.updateQueue)?t.lastEffect:null)){e=t=t.next;do{if(3==(3&e.tag)){var r=e.create;e.destroy=r()}e=e.next}while(e!==t)}if(null!==(t=null!==(t=n.updateQueue)?t.lastEffect:null)){e=t=t.next;do{var i=e;r=i.next,0!=(4&(i=i.tag))&&0!=(1&i)&&(va(n,e),ba(n,e)),e=r}while(e!==t)}return;case 1:return e=n.stateNode,4&n.flags&&(null===t?e.componentDidMount():(r=n.elementType===n.type?t.memoizedProps:un(n.type,t.memoizedProps),e.componentDidUpdate(r,t.memoizedState,e.__reactInternalSnapshotBeforeUpdate))),void(null!==(t=n.updateQueue)&&In(n,t,e));case 3:if(null!==(t=n.updateQueue)){if(e=null,null!==n.child)switch(n.child.tag){case 5:e=O(n.child.stateNode);break;case 1:e=n.child.stateNode}In(n,t,e)}return;case 5:return e=n.stateNode,void(null===t&&4&n.flags&&ye(e,n.type,n.memoizedProps,n));case 6:case 4:case 12:return;case 13:return void(J&&null===n.memoizedState&&(n=n.alternate,null!==n&&(n=n.memoizedState,null!==n&&(n=n.dehydrated,null!==n&&Ye(n)))));case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(l(163))}function Mi(e,t){if(Y)for(var n=e;;){if(5===n.tag){var r=n.stateNode;t?Ee(r):Ce(n.stateNode,n.memoizedProps)}else if(6===n.tag)r=n.stateNode,t?xe(r):Ne(r,n.memoizedProps);else if((23!==n.tag&&24!==n.tag||null===n.memoizedState||n===e)&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===e)break;for(;null===n.sibling;){if(null===n.return||n.return===e)return;n=n.return}n.sibling.return=n.return,n=n.sibling}}function Di(e,t){if(vt&&"function"==typeof vt.onCommitFiberUnmount)try{vt.onCommitFiberUnmount(bt,t)}catch(e){}switch(t.tag){case 0:case 11:case 14:case 15:case 22:if(null!==(e=t.updateQueue)&&null!==(e=e.lastEffect)){var n=e=e.next;do{var r=n,i=r.destroy;if(r=r.tag,void 0!==i)if(0!=(4&r))va(t,n);else{r=t;try{i()}catch(e){ka(r,e)}}n=n.next}while(n!==e)}break;case 1:if(Oi(t),"function"==typeof(e=t.stateNode).componentWillUnmount)try{e.props=t.memoizedProps,e.state=t.memoizedState,e.componentWillUnmount()}catch(e){ka(t,e)}break;case 5:Oi(t);break;case 4:Y?$i(e,t):X&&X&&(t=t.stateNode.containerInfo,e=Ae(t),Te(t,e))}}function Ui(e,t){for(var n=t;;)if(Di(e,n),null===n.child||Y&&4===n.tag){if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}else n.child.return=n,n=n.child}function Wi(e){e.alternate=null,e.child=null,e.dependencies=null,e.firstEffect=null,e.lastEffect=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.return=null,e.updateQueue=null}function Bi(e){return 5===e.tag||3===e.tag||4===e.tag}function Vi(e){if(Y){e:{for(var t=e.return;null!==t;){if(Bi(t))break e;t=t.return}throw Error(l(160))}var n=t;switch(t=n.stateNode,n.tag){case 5:var r=!1;break;case 3:case 4:t=t.containerInfo,r=!0;break;default:throw Error(l(161))}16&n.flags&&(ke(t),n.flags&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||Bi(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag&&18!==n.tag;){if(2&n.flags)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.flags)){n=n.stateNode;break e}}r?function e(t,n,r){var i=t.tag,o=5===i||6===i;if(o)t=o?t.stateNode:t.stateNode.instance,n?ve(r,t,n):he(r,t);else if(4!==i&&null!==(t=t.child))for(e(t,n,r),t=t.sibling;null!==t;)e(t,n,r),t=t.sibling}(e,n,t):function e(t,n,r){var i=t.tag,o=5===i||6===i;if(o)t=o?t.stateNode:t.stateNode.instance,n?be(r,t,n):pe(r,t);else if(4!==i&&null!==(t=t.child))for(e(t,n,r),t=t.sibling;null!==t;)e(t,n,r),t=t.sibling}(e,n,t)}}function $i(e,t){for(var n,r,i=t,o=!1;;){if(!o){o=i.return;e:for(;;){if(null===o)throw Error(l(160));switch(n=o.stateNode,o.tag){case 5:r=!1;break e;case 3:case 4:n=n.containerInfo,r=!0;break e}o=o.return}o=!0}if(5===i.tag||6===i.tag)Ui(e,i),r?Se(n,i.stateNode):we(n,i.stateNode);else if(18===i.tag)r?Je(n,i.stateNode):Xe(n,i.stateNode);else if(4===i.tag){if(null!==i.child){n=i.stateNode.containerInfo,r=!0,i.child.return=i,i=i.child;continue}}else if(Di(e,i),null!==i.child){i.child.return=i,i=i.child;continue}if(i===t)break;for(;null===i.sibling;){if(null===i.return||i.return===t)return;4===(i=i.return).tag&&(o=!1)}i.sibling.return=i.return,i=i.sibling}}function qi(e,t){if(Y){switch(t.tag){case 0:case 11:case 14:case 15:case 22:return void ji(3,t);case 1:return;case 5:var n=t.stateNode;if(null!=n){var r=t.memoizedProps;e=null!==e?e.memoizedProps:r;var i=t.type,o=t.updateQueue;t.updateQueue=null,null!==o&&ge(n,o,i,e,r,t)}return;case 6:if(null===t.stateNode)throw Error(l(162));return n=t.memoizedProps,void me(t.stateNode,null!==e?e.memoizedProps:n,n);case 3:return void(J&&(t=t.stateNode,t.hydrate&&(t.hydrate=!1,Ge(t.containerInfo))));case 12:return;case 13:return Qi(t),void Ki(t);case 19:return void Ki(t);case 17:return;case 23:case 24:return void Mi(t,null!==t.memoizedState)}throw Error(l(163))}switch(t.tag){case 0:case 11:case 14:case 15:case 22:return void ji(3,t);case 12:return;case 13:return Qi(t),void Ki(t);case 19:return void Ki(t);case 3:J&&((n=t.stateNode).hydrate&&(n.hydrate=!1,Ge(n.containerInfo)));break;case 23:case 24:return}e:if(X){switch(t.tag){case 1:case 5:case 6:case 20:break e;case 3:case 4:t=t.stateNode,Te(t.containerInfo,t.pendingChildren);break e}throw Error(l(163))}}function Qi(e){null!==e.memoizedState&&(No=Yt(),Y&&Mi(e.child,!0))}function Ki(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new Ti),t.forEach((function(t){var r=Na.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))}))}}function Gi(e,t){return null!==e&&(null===(e=e.memoizedState)||null!==e.dehydrated)&&(null!==(t=t.memoizedState)&&null===t.dehydrated)}var Yi=0,Xi=1,Ji=2,Zi=3,eo=4;if("function"==typeof Symbol&&Symbol.for){var to=Symbol.for;Yi=to("selector.component"),Xi=to("selector.has_pseudo_class"),Ji=to("selector.role"),Zi=to("selector.test_id"),eo=to("selector.text")}function no(e){var t=Z(e);if(null!=t){if("string"!=typeof t.memoizedProps["data-testname"])throw Error(l(364));return t}if(null===(e=ae(e)))throw Error(l(362));return e.stateNode.current}function ro(e,t){switch(t.$$typeof){case Yi:if(e.type===t.value)return!0;break;case Xi:e:{t=t.value,e=[e,0];for(var n=0;n";case Xi:return":has("+(io(e)||"")+")";case Ji:return'[role="'+e.value+'"]';case eo:return'"'+e.value+'"';case Zi:return'[data-testname="'+e.value+'"]';default:throw Error(l(365,e))}}function oo(e,t){var n=[];e=[e,0];for(var r=0;ri&&(i=a),n&=~o}if(n=i,10<(n=(120>(n=Yt()-n)?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*so(n/1960))-n)){e.timeoutHandle=q(ha.bind(null,e),n);break}ha(e);break;case 5:ha(e);break;default:throw Error(l(329))}}return Xo(e,Yt()),e.callbackNode===t?Jo.bind(null,e):null}function Zo(e,t){for(t&=~xo,t&=~Eo,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0 component higher in the tree to provide a loading indicator or placeholder to display.")}5!==vo&&(vo=2),s=_i(s,l),d=a;do{switch(d.tag){case 3:o=s,d.flags|=4096,t&=-t,d.lanes|=t,Cn(d,Ri(0,o,t));break e;case 1:o=s;var S=d.type,k=d.stateNode;if(0==(64&d.flags)&&("function"==typeof S.getDerivedStateFromError||null!==k&&"function"==typeof k.componentDidCatch&&(null===zo||!zo.has(k)))){d.flags|=4096,t&=-t,d.lanes|=t,Cn(d,zi(d,o,t));break e}}d=d.return}while(null!==d)}pa(n)}catch(e){t=e,mo===n&&null!==n&&(mo=n=n.return);continue}break}}function la(){var e=uo.current;return uo.current=qr,null===e?qr:e}function sa(){0!==vo&&3!==vo||(vo=4),null===ho||0==(134217727&ko)&&0==(134217727&Eo)||Zo(ho,yo)}function ua(e,t){var n=po;po|=16;var r=la();for(ho===e&&yo===t||oa(e,t);;)try{ca();break}catch(t){aa(e,t)}if(hn(),po=n,uo.current=r,null!==mo)throw Error(l(261));return ho=null,yo=0,vo}function ca(){for(;null!==mo;)da(mo)}function fa(){for(;null!==mo&&!Ot();)da(mo)}function da(e){var t=_o(e.alternate,e,go);e.memoizedProps=e.pendingProps,null===t?pa(e):mo=t,co.current=null}function pa(e){var t=e;do{var n=t.alternate;if(e=t.return,0==(2048&t.flags)){if(null!==(n=Ii(n,t,go)))return void(mo=n);if(24!==(n=t).tag&&23!==n.tag||null===n.memoizedState||0!=(1073741824&go)||0==(4&n.mode)){for(var r=0,i=n.child;null!==i;)r|=i.lanes|i.childLanes,i=i.sibling;n.childLanes=r}null!==e&&0==(2048&e.flags)&&(null===e.firstEffect&&(e.firstEffect=t.firstEffect),null!==t.lastEffect&&(null!==e.lastEffect&&(e.lastEffect.nextEffect=t.firstEffect),e.lastEffect=t.lastEffect),1Yt()-No?oa(e,0):xo|=n),Xo(e,t)}function xa(e,t){0===t&&(0==(2&(t=e.mode))?t=1:0==(4&t)?t=99===Xt()?1:2:(0===Bo&&(Bo=So),0===(t=Nt(62914560&~Bo))&&(t=4194304)));var n=Qo();null!==(e=Yo(e,t))&&(Pt(e,t,n),Xo(e,n))}function Ca(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),xa(e,n)}function Na(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;null!==i&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(l(314))}null!==r&&r.delete(t),xa(e,n)}_o=function(e,t,n){var r=t.lanes;if(null!==e)if(e.memoizedProps!==t.pendingProps||ut.current)Xr=!0;else{if(0==(n&r)){switch(Xr=!1,t.tag){case 3:si(t),lr();break;case 5:Gn(t);break;case 1:dt(t.type)&&yt(t);break;case 4:Qn(t,t.stateNode.containerInfo);break;case 10:mn(t,t.memoizedProps.value);break;case 13:if(null!==(r=t.memoizedState))return null!==r.dehydrated?(at(Xn,1&Xn.current),t.flags|=64,null):0!=(n&t.child.childLanes)?hi(e,t,n):(at(Xn,1&Xn.current),null!==(t=Ei(e,t,n))?t.sibling:null);at(Xn,1&Xn.current);break;case 19:if(r=0!=(n&t.childLanes),0!=(64&e.flags)){if(r)return ki(e,t,n);t.flags|=64}var i=t.memoizedState;if(null!==i&&(i.rendering=null,i.tail=null,i.lastEffect=null),at(Xn,Xn.current),r)break;return null;case 23:case 24:return t.lanes=0,ni(e,t,n)}return Ei(e,t,n)}Xr=0!=(16384&e.flags)}else Xr=!1;switch(t.lanes=0,t.tag){case 2:if(r=t.type,null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,i=ft(t,st.current),bn(t,n),i=wr(null,t,r,e,i,n),t.flags|=1,"object"==typeof i&&null!==i&&"function"==typeof i.render&&void 0===i.$$typeof){if(t.tag=1,t.memoizedState=null,t.updateQueue=null,dt(r)){var o=!0;yt(t)}else o=!1;t.memoizedState=null!==i.state&&void 0!==i.state?i.state:null,Sn(t);var a=r.getDerivedStateFromProps;"function"==typeof a&&_n(t,r,a,e),i.updater=Ln,t.stateNode=i,i._reactInternals=t,Tn(t,r,e,n),t=li(null,t,r,!0,o,n)}else t.tag=0,Jr(null,t,i,n),t=t.child;return t;case 16:i=t.elementType;e:{switch(null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,i=(o=i._init)(i._payload),t.type=i,o=t.tag=function(e){if("function"==typeof e)return Fa(e)?1:0;if(null!=e){if((e=e.$$typeof)===y)return 11;if(e===v)return 14;if(e===S)return 22}return 2}(i),a=un(i,e),o){case 0:t=ii(null,t,i,a,n);break e;case 1:t=ai(null,t,i,a,n);break e;case 11:t=Zr(null,t,i,a,n);break e;case 14:t=ei(null,t,i,un(i.type,a),r,n);break e;case 22:t=oi(null,t,i,e,n);break e}throw Error(l(306,i,""))}return t;case 0:return r=t.type,i=t.pendingProps,ii(e,t,r,i=t.elementType===r?i:un(r,i),n);case 1:return r=t.type,i=t.pendingProps,ai(e,t,r,i=t.elementType===r?i:un(r,i),n);case 3:if(si(t),r=t.updateQueue,null===e||null===r)throw Error(l(282));if(r=t.pendingProps,i=null!==(i=t.memoizedState)?i.element:null,kn(e,t),Nn(t,r,null,n),(r=t.memoizedState.element)===i)lr(),t=Ei(e,t,n);else{if((o=(i=t.stateNode).hydrate)&&(J?(er=Ve(t.stateNode.containerInfo),Zn=t,o=tr=!0):o=!1),o){if(J&&null!=(e=i.mutableSourceEagerHydrationData))for(i=0;i=c&&o>=d&&i<=f&&a<=p){e.splice(t,1);break}if(!(r!==c||n.width!==u.width||pa)){d>o&&(u.height+=d-o,u.y=o),pi)){c>r&&(u.width+=c-r,u.x=r),fn&&(n=a)),a ")+"\n\nNo matching component was found for:\n "+e.join(" > ")}return null},r.getPublicRootInstance=function(e){if(!(e=e.current).child)return null;switch(e.child.tag){case 5:return O(e.child.stateNode);default:return e.child.stateNode}},r.injectIntoDevTools=function(e){if(e={bundleType:e.bundleType,version:e.version,rendererPackageName:e.rendererPackageName,rendererConfig:e.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:s.ReactCurrentDispatcher,findHostInstanceByFiber:Qa,findFiberByHostInstance:e.findFiberByHostInstance||Ka,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null},"undefined"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)e=!1;else{var t=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!t.isDisabled&&t.supportsFiber)try{bt=t.inject(e),vt=t}catch(e){}e=!0}return e},r.observeVisibleRects=function(e,t,n,r){if(!oe)throw Error(l(363));e=ao(e,t);var i=de(e,n,r).disconnect;return{disconnect:function(){i()}}},r.registerMutableSourceForHydration=function(e,t){var n=t._getVersion;n=n(t._source),null==e.mutableSourceEagerHydrationData?e.mutableSourceEagerHydrationData=[t,n]:e.mutableSourceEagerHydrationData.push(t,n)},r.runWithPriority=function(e,t){var n=wt;try{return wt=e,t()}finally{wt=n}},r.shouldSuspend=function(){return!1},r.unbatchedUpdates=function(e,t){var n=po;po&=-2,po|=8;try{return e(t)}finally{0===(po=n)&&(Po(),tn())}},r.updateContainer=function(e,t,n,r){var i=t.current,o=Qo(),a=Ko(i);e:if(n){t:{if(_(n=n._reactInternals)!==n||1!==n.tag)throw Error(l(170));var s=n;do{switch(s.tag){case 3:s=s.stateNode.context;break t;case 1:if(dt(s.type)){s=s.stateNode.__reactInternalMemoizedMergedChildContext;break t}}s=s.return}while(null!==s);throw Error(l(171))}if(1===n.tag){var u=n.type;if(dt(u)){n=mt(n,u,s);break e}}n=s}else n=lt;return null===t.context?t.context=n:t.pendingContext=n,(t=En(o,a)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),xn(i,t),Go(i,a,o),a},r}}).call(this,n("./node_modules/webpack/buildin/module.js")(e))},"./node_modules/@hippy/react-reconciler/index.js":function(e,t,n){"use strict";e.exports=n("./node_modules/@hippy/react-reconciler/cjs/react-reconciler.production.min.js")},"./node_modules/object-assign/index.js":function(e,t,n){"use strict"; +e.exports=function(t){var r={},i=n("./node_modules/object-assign/index.js"),o=n("./node_modules/react/index.js"),a=n("./node_modules/scheduler/index.js");function l(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n--l||i[a]!==o[l])return"\n"+i[a].replace(" at new "," at ")}while(1<=a&&0<=l);break}}}finally{et=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Ze(e):""}var nt=[],rt=-1;function it(e){return{current:e}}function ot(e){0>rt||(e.current=nt[rt],nt[rt]=null,rt--)}function at(e,t){rt++,nt[rt]=e.current,e.current=t}var lt={},st=it(lt),ut=it(!1),ct=lt;function ft(e,t){var n=e.type.contextTypes;if(!n)return lt;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i,o={};for(i in n)o[i]=t[i];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function dt(e){return null!=(e=e.childContextTypes)}function pt(){ot(ut),ot(st)}function ht(e,t,n){if(st.current!==lt)throw Error(l(168));at(st,t),at(ut,n)}function mt(e,t,n){var r=e.stateNode;if(e=t.childContextTypes,"function"!=typeof r.getChildContext)return n;for(var o in r=r.getChildContext())if(!(o in e))throw Error(l(108,P(t)||"Unknown",o));return i({},n,r)}function yt(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||lt,ct=st.current,at(st,e),at(ut,ut.current),!0}function gt(e,t,n){var r=e.stateNode;if(!r)throw Error(l(169));n?(e=mt(e,t,ct),r.__reactInternalMemoizedMergedChildContext=e,ot(ut),ot(st),at(st,e)):ot(ut),at(ut,n)}var bt=null,vt=null;(0,a.unstable_now)();var wt=0,St=8;function kt(e){if(0!=(1&e))return St=15,1;if(0!=(2&e))return St=14,2;if(0!=(4&e))return St=13,4;var t=24&e;return 0!==t?(St=12,t):0!=(32&e)?(St=11,32):0!==(t=192&e)?(St=10,t):0!=(256&e)?(St=9,256):0!==(t=3584&e)?(St=8,t):0!=(4096&e)?(St=7,4096):0!==(t=4186112&e)?(St=6,t):0!==(t=62914560&e)?(St=5,t):67108864&e?(St=4,67108864):0!=(134217728&e)?(St=3,134217728):0!==(t=805306368&e)?(St=2,t):0!=(1073741824&e)?(St=1,1073741824):(St=8,e)}function Et(e,t){var n=e.pendingLanes;if(0===n)return St=0;var r=0,i=0,o=e.expiredLanes,a=e.suspendedLanes,l=e.pingedLanes;if(0!==o)r=o,i=St=15;else if(0!==(o=134217727&n)){var s=o&~a;0!==s?(r=kt(s),i=St):0!==(l&=o)&&(r=kt(l),i=St)}else 0!==(o=n&~a)?(r=kt(o),i=St):0!==l&&(r=kt(l),i=St);if(0===r)return 0;if(r=n&((0>(r=31-_t(r))?0:1<n;n++)t.push(e);return t}function Pt(e,t,n){e.pendingLanes|=t;var r=t-1;e.suspendedLanes&=r,e.pingedLanes&=r,(e=e.eventTimes)[t=31-_t(t)]=n}var _t=Math.clz32?Math.clz32:function(e){return 0===e?32:31-(Lt(e)/At|0)|0},Lt=Math.log,At=Math.LN2;var Rt=a.unstable_runWithPriority,zt=a.unstable_scheduleCallback,Tt=a.unstable_cancelCallback,Ot=a.unstable_shouldYield,jt=a.unstable_requestPaint,Ft=a.unstable_now,Ht=a.unstable_getCurrentPriorityLevel,Mt=a.unstable_ImmediatePriority,Dt=a.unstable_UserBlockingPriority,Ut=a.unstable_NormalPriority,Wt=a.unstable_LowPriority,Bt=a.unstable_IdlePriority,Vt={},$t=void 0!==jt?jt:function(){},qt=null,Qt=null,Kt=!1,Gt=Ft(),Yt=1e4>Gt?Ft:function(){return Ft()-Gt};function Xt(){switch(Ht()){case Mt:return 99;case Dt:return 98;case Ut:return 97;case Wt:return 96;case Bt:return 95;default:throw Error(l(332))}}function Jt(e){switch(e){case 99:return Mt;case 98:return Dt;case 97:return Ut;case 96:return Wt;case 95:return Bt;default:throw Error(l(332))}}function Zt(e,t){return e=Jt(e),Rt(e,t)}function en(e,t,n){return e=Jt(e),zt(e,t,n)}function tn(){if(null!==Qt){var e=Qt;Qt=null,Tt(e)}nn()}function nn(){if(!Kt&&null!==qt){Kt=!0;var e=0;try{var t=qt;Zt(99,(function(){for(;ed?(p=f,f=null):p=f.sibling;var h=y(i,f,l[d],s);if(null===h){null===f&&(f=p);break}e&&f&&null===h.alternate&&t(i,f),a=o(h,a,d),null===c?u=h:c.sibling=h,c=h,f=p}if(d===l.length)return n(i,f),u;if(null===f){for(;dp?(h=d,d=null):h=d.sibling;var v=y(i,d,b.value,u);if(null===v){null===d&&(d=h);break}e&&d&&null===v.alternate&&t(i,d),a=o(v,a,p),null===f?c=v:f.sibling=v,f=v,d=h}if(b.done)return n(i,d),c;if(null===d){for(;!b.done;p++,b=s.next())null!==(b=m(i,b.value,u))&&(a=o(b,a,p),null===f?c=b:f.sibling=b,f=b);return c}for(d=r(i,d);!b.done;p++,b=s.next())null!==(b=g(d,i,p,b.value,u))&&(e&&null!==b.alternate&&d.delete(null===b.key?p:b.key),a=o(b,a,p),null===f?c=b:f.sibling=b,f=b);return e&&d.forEach((function(e){return t(i,e)})),c}return function e(r,o,s,d){var p="object"==typeof s&&null!==s&&s.type===f&&null===s.key;p&&(s=s.props.children);var h="object"==typeof s&&null!==s;if(h)switch(s.$$typeof){case u:e:{for(h=s.key,p=o;null!==p;){if(p.key===h){switch(p.tag){case 7:if(s.type===f){n(r,p.sibling),(o=i(p,s.props.children)).return=r,r=o;break e}break;case 22:if((h=s.type).$$typeof===w&&(h=Hn(h)),h.$$typeof===S&&h._render===p.type._render){n(r,p.sibling),(o=i(p,s.props)).type=h,o.return=r,r=o;break e}default:if(p.elementType===s.type){n(r,p.sibling),(o=i(p,s.props)).ref=jn(r,p,s),o.return=r,r=o;break e}}n(r,p);break}t(r,p),p=p.sibling}s.type===f?((o=Ma(s.props.children,r.mode,d,s.key)).return=r,r=o):((d=Ha(s.type,s.key,s.props,null,r.mode,d)).ref=jn(r,o,s),d.return=r,r=d)}return a(r);case c:e:{for(p=s.key;null!==o;){if(o.key===p){if(4===o.tag&&o.stateNode.containerInfo===s.containerInfo&&o.stateNode.implementation===s.implementation){n(r,o.sibling),(o=i(o,s.children||[])).return=r,r=o;break e}n(r,o);break}t(r,o),o=o.sibling}(o=Wa(s,r.mode,d)).return=r,r=o}return a(r);case w:return e(r,o,(p=s._init)(s._payload),d)}if("string"==typeof s||"number"==typeof s)return s=""+s,null!==o&&6===o.tag?(n(r,o.sibling),(o=i(o,s)).return=r,r=o):(n(r,o),(o=Ua(s,r.mode,d)).return=r,r=o),a(r);if(On(s))return b(r,o,s,d);if(I(s))return v(r,o,s,d);if(h&&Fn(r,s),void 0===s&&!p)switch(r.tag){case 1:case 22:case 0:case 11:case 15:throw Error(l(152,P(r.type)||"Component"))}return n(r,o)}}var Dn=Mn(!0),Un=Mn(!1),Wn={},Bn=it(Wn),Vn=it(Wn),$n=it(Wn);function qn(e){if(e===Wn)throw Error(l(174));return e}function Qn(e,t){at($n,t),at(Vn,e),at(Bn,Wn),e=j(t),ot(Bn),at(Bn,e)}function Kn(){ot(Bn),ot(Vn),ot($n)}function Gn(e){var t=qn($n.current),n=qn(Bn.current);n!==(t=F(n,e.type,t))&&(at(Vn,e),at(Bn,t))}function Yn(e){Vn.current===e&&(ot(Bn),ot(Vn))}var Xn=it(0);function Jn(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||De(n)||Ue(n)))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(64&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Zn=null,er=null,tr=!1;function nr(e,t){var n=Oa(5,null,null,0);n.elementType="DELETED",n.type="DELETED",n.stateNode=t,n.return=e,n.flags=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function rr(e,t){switch(e.tag){case 5:return null!==(t=Fe(t,e.type,e.pendingProps))&&(e.stateNode=t,!0);case 6:return null!==(t=He(t,e.pendingProps))&&(e.stateNode=t,!0);case 13:if(null!==(t=Me(t))){e.memoizedState={dehydrated:t,retryLane:1073741824};var n=Oa(18,null,null,0);return n.stateNode=t,n.return=e,e.child=n,!0}return!1;default:return!1}}function ir(e){if(tr){var t=er;if(t){var n=t;if(!rr(e,t)){if(!(t=Be(n))||!rr(e,t))return e.flags=-1025&e.flags|2,tr=!1,void(Zn=e);nr(Zn,n)}Zn=e,er=Ve(t)}else e.flags=-1025&e.flags|2,tr=!1,Zn=e}}function or(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;Zn=e}function ar(e){if(!J||e!==Zn)return!1;if(!tr)return or(e),tr=!0,!1;var t=e.type;if(5!==e.tag||"head"!==t&&"body"!==t&&!V(t,e.memoizedProps))for(t=er;t;)nr(e,t),t=Be(t);if(or(e),13===e.tag){if(!J)throw Error(l(316));if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(l(317));er=Ke(e)}else er=Zn?Be(e.stateNode):null;return!0}function lr(){J&&(er=Zn=null,tr=!1)}var sr=[];function ur(){for(var e=0;eo))throw Error(l(301));o+=1,mr=hr=null,t.updateQueue=null,cr.current=Gr,e=n(r,i)}while(gr)}if(cr.current=qr,t=null!==hr&&null!==hr.next,dr=0,mr=hr=pr=null,yr=!1,t)throw Error(l(300));return e}function Sr(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-517,e.lanes&=~n}function kr(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===mr?pr.memoizedState=mr=e:mr=mr.next=e,mr}function Er(){if(null===hr){var e=pr.alternate;e=null!==e?e.memoizedState:null}else e=hr.next;var t=null===mr?pr.memoizedState:mr.next;if(null!==t)mr=t,hr=e;else{if(null===e)throw Error(l(310));e={memoizedState:(hr=e).memoizedState,baseState:hr.baseState,baseQueue:hr.baseQueue,queue:hr.queue,next:null},null===mr?pr.memoizedState=mr=e:mr=mr.next=e}return mr}function xr(e,t){return"function"==typeof t?t(e):t}function Cr(e){var t=Er(),n=t.queue;if(null===n)throw Error(l(311));n.lastRenderedReducer=e;var r=hr,i=r.baseQueue,o=n.pending;if(null!==o){if(null!==i){var a=i.next;i.next=o.next,o.next=a}r.baseQueue=i=o,n.pending=null}if(null!==i){i=i.next,r=r.baseState;var s=a=o=null,u=i;do{var c=u.lane;if((dr&c)===c)null!==s&&(s=s.next={lane:0,action:u.action,eagerReducer:u.eagerReducer,eagerState:u.eagerState,next:null}),r=u.eagerReducer===e?u.eagerState:e(r,u.action);else{var f={lane:c,action:u.action,eagerReducer:u.eagerReducer,eagerState:u.eagerState,next:null};null===s?(a=s=f,o=r):s=s.next=f,pr.lanes|=c,ko|=c}u=u.next}while(null!==u&&u!==i);null===s?o=r:s.next=a,on(r,t.memoizedState)||(Xr=!0),t.memoizedState=r,t.baseState=o,t.baseQueue=s,n.lastRenderedState=r}return[t.memoizedState,n.dispatch]}function Nr(e){var t=Er(),n=t.queue;if(null===n)throw Error(l(311));n.lastRenderedReducer=e;var r=n.dispatch,i=n.pending,o=t.memoizedState;if(null!==i){n.pending=null;var a=i=i.next;do{o=e(o,a.action),a=a.next}while(a!==i);on(o,t.memoizedState)||(Xr=!0),t.memoizedState=o,null===t.baseQueue&&(t.baseState=o),n.lastRenderedState=o}return[o,r]}function Ir(e,t,n){var r=t._getVersion;r=r(t._source);var i=G?t._workInProgressVersionPrimary:t._workInProgressVersionSecondary;if(null!==i?e=i===r:(e=e.mutableReadLanes,(e=(dr&e)===e)&&(G?t._workInProgressVersionPrimary=r:t._workInProgressVersionSecondary=r,sr.push(t))),e)return n(t._source);throw sr.push(t),Error(l(350))}function Pr(e,t,n,r){var i=ho;if(null===i)throw Error(l(349));var o=t._getVersion,a=o(t._source),s=cr.current,u=s.useState((function(){return Ir(i,t,n)})),c=u[1],f=u[0];u=mr;var d=e.memoizedState,p=d.refs,h=p.getSnapshot,m=d.source;d=d.subscribe;var y=pr;return e.memoizedState={refs:p,source:t,subscribe:r},s.useEffect((function(){p.getSnapshot=n,p.setSnapshot=c;var e=o(t._source);if(!on(a,e)){e=n(t._source),on(f,e)||(c(e),e=Ko(y),i.mutableReadLanes|=e&i.pendingLanes),e=i.mutableReadLanes,i.entangledLanes|=e;for(var r=i.entanglements,l=e;0n?98:n,(function(){e(!0)})),Zt(97Io&&(t.flags|=64,i=!0,Ni(r,!1),t.lanes=33554432)}else{if(!i)if(null!==(e=Jn(o))){if(t.flags|=64,i=!0,null!==(e=e.updateQueue)&&(t.updateQueue=e,t.flags|=4),Ni(r,!0),null===r.tail&&"hidden"===r.tailMode&&!o.alternate&&!tr)return null!==(t=t.lastEffect=r.lastEffect)&&(t.nextEffect=null),null}else 2*Yt()-r.renderingStartTime>Io&&1073741824!==n&&(t.flags|=64,i=!0,Ni(r,!1),t.lanes=33554432);r.isBackwards?(o.sibling=t.child,t.child=o):(null!==(e=r.last)?e.sibling=o:t.child=o,r.last=o)}return null!==r.tail?(e=r.tail,r.rendering=e,r.tail=e.sibling,r.lastEffect=t.lastEffect,r.renderingStartTime=Yt(),e.sibling=null,t=Xn.current,at(Xn,i?1&t|2:1&t),e):null;case 22:return null;case 23:case 24:return ia(),null!==e&&null!==e.memoizedState!=(null!==t.memoizedState)&&"unstable-defer-without-hiding"!==r.mode&&(t.flags|=4),null}throw Error(l(156,t.tag))}function Pi(e){switch(e.tag){case 1:dt(e.type)&&pt();var t=e.flags;return 4096&t?(e.flags=-4097&t|64,e):null;case 3:if(Kn(),ot(ut),ot(st),ur(),0!=(64&(t=e.flags)))throw Error(l(285));return e.flags=-4097&t|64,e;case 5:return Yn(e),null;case 13:if(ot(Xn),null!==(t=e.memoizedState)&&null!==t.dehydrated){if(null===e.alternate)throw Error(l(340));lr()}return 4096&(t=e.flags)?(e.flags=-4097&t|64,e):null;case 19:return ot(Xn),null;case 4:return Kn(),null;case 10:return yn(e),null;case 23:case 24:return ia(),null;default:return null}}function _i(e,t){try{var n="",r=t;do{n+=sn(r),r=r.return}while(r);var i=n}catch(e){i="\nError generating stack: "+e.message+"\n"+e.stack}return{value:e,source:t,stack:i}}function Li(e,t){try{console.error(t.value)}catch(e){setTimeout((function(){throw e}))}}var Ai="function"==typeof WeakMap?WeakMap:Map;function Ri(e,t,n){(n=En(-1,n)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Ao||(Ao=!0,Ro=r),Li(0,t)},n}function zi(e,t,n){(n=En(-1,n)).tag=3;var r=e.type.getDerivedStateFromError;if("function"==typeof r){var i=t.value;n.payload=function(){return Li(0,t),r(i)}}var o=e.stateNode;return null!==o&&"function"==typeof o.componentDidCatch&&(n.callback=function(){"function"!=typeof r&&(null===zo?zo=new Set([this]):zo.add(this),Li(0,t));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}var Ti="function"==typeof WeakSet?WeakSet:Set;function Oi(e){var t=e.ref;if(null!==t)if("function"==typeof t)try{t(null)}catch(t){ka(e,t)}else t.current=null}function ji(e,t){switch(t.tag){case 0:case 11:case 15:case 22:return;case 1:if(256&t.flags&&null!==e){var n=e.memoizedProps,r=e.memoizedState;t=(e=t.stateNode).getSnapshotBeforeUpdate(t.elementType===t.type?n:un(t.type,n),r),e.__reactInternalSnapshotBeforeUpdate=t}return;case 3:return void(Y&&256&t.flags&&Ie(t.stateNode.containerInfo));case 5:case 6:case 4:case 17:return}throw Error(l(163))}function Fi(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var r=n.destroy;n.destroy=void 0,void 0!==r&&r()}n=n.next}while(n!==t)}}function Hi(e,t,n){switch(n.tag){case 0:case 11:case 15:case 22:if(null!==(t=null!==(t=n.updateQueue)?t.lastEffect:null)){e=t=t.next;do{if(3==(3&e.tag)){var r=e.create;e.destroy=r()}e=e.next}while(e!==t)}if(null!==(t=null!==(t=n.updateQueue)?t.lastEffect:null)){e=t=t.next;do{var i=e;r=i.next,0!=(4&(i=i.tag))&&0!=(1&i)&&(va(n,e),ba(n,e)),e=r}while(e!==t)}return;case 1:return e=n.stateNode,4&n.flags&&(null===t?e.componentDidMount():(r=n.elementType===n.type?t.memoizedProps:un(n.type,t.memoizedProps),e.componentDidUpdate(r,t.memoizedState,e.__reactInternalSnapshotBeforeUpdate))),void(null!==(t=n.updateQueue)&&In(n,t,e));case 3:if(null!==(t=n.updateQueue)){if(e=null,null!==n.child)switch(n.child.tag){case 5:e=O(n.child.stateNode);break;case 1:e=n.child.stateNode}In(n,t,e)}return;case 5:return e=n.stateNode,void(null===t&&4&n.flags&&ye(e,n.type,n.memoizedProps,n));case 6:case 4:case 12:return;case 13:return void(J&&null===n.memoizedState&&(n=n.alternate,null!==n&&(n=n.memoizedState,null!==n&&(n=n.dehydrated,null!==n&&Ye(n)))));case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(l(163))}function Mi(e,t){if(Y)for(var n=e;;){if(5===n.tag){var r=n.stateNode;t?Ee(r):Ce(n.stateNode,n.memoizedProps)}else if(6===n.tag)r=n.stateNode,t?xe(r):Ne(r,n.memoizedProps);else if((23!==n.tag&&24!==n.tag||null===n.memoizedState||n===e)&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===e)break;for(;null===n.sibling;){if(null===n.return||n.return===e)return;n=n.return}n.sibling.return=n.return,n=n.sibling}}function Di(e,t){if(vt&&"function"==typeof vt.onCommitFiberUnmount)try{vt.onCommitFiberUnmount(bt,t)}catch(e){}switch(t.tag){case 0:case 11:case 14:case 15:case 22:if(null!==(e=t.updateQueue)&&null!==(e=e.lastEffect)){var n=e=e.next;do{var r=n,i=r.destroy;if(r=r.tag,void 0!==i)if(0!=(4&r))va(t,n);else{r=t;try{i()}catch(e){ka(r,e)}}n=n.next}while(n!==e)}break;case 1:if(Oi(t),"function"==typeof(e=t.stateNode).componentWillUnmount)try{e.props=t.memoizedProps,e.state=t.memoizedState,e.componentWillUnmount()}catch(e){ka(t,e)}break;case 5:Oi(t);break;case 4:Y?$i(e,t):X&&X&&(t=t.stateNode.containerInfo,e=Ae(t),Te(t,e))}}function Ui(e,t){for(var n=t;;)if(Di(e,n),null===n.child||Y&&4===n.tag){if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}else n.child.return=n,n=n.child}function Wi(e){e.alternate=null,e.child=null,e.dependencies=null,e.firstEffect=null,e.lastEffect=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.return=null,e.updateQueue=null}function Bi(e){return 5===e.tag||3===e.tag||4===e.tag}function Vi(e){if(Y){e:{for(var t=e.return;null!==t;){if(Bi(t))break e;t=t.return}throw Error(l(160))}var n=t;switch(t=n.stateNode,n.tag){case 5:var r=!1;break;case 3:case 4:t=t.containerInfo,r=!0;break;default:throw Error(l(161))}16&n.flags&&(ke(t),n.flags&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||Bi(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag&&18!==n.tag;){if(2&n.flags)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.flags)){n=n.stateNode;break e}}r?function e(t,n,r){var i=t.tag,o=5===i||6===i;if(o)t=o?t.stateNode:t.stateNode.instance,n?ve(r,t,n):he(r,t);else if(4!==i&&null!==(t=t.child))for(e(t,n,r),t=t.sibling;null!==t;)e(t,n,r),t=t.sibling}(e,n,t):function e(t,n,r){var i=t.tag,o=5===i||6===i;if(o)t=o?t.stateNode:t.stateNode.instance,n?be(r,t,n):pe(r,t);else if(4!==i&&null!==(t=t.child))for(e(t,n,r),t=t.sibling;null!==t;)e(t,n,r),t=t.sibling}(e,n,t)}}function $i(e,t){for(var n,r,i=t,o=!1;;){if(!o){o=i.return;e:for(;;){if(null===o)throw Error(l(160));switch(n=o.stateNode,o.tag){case 5:r=!1;break e;case 3:case 4:n=n.containerInfo,r=!0;break e}o=o.return}o=!0}if(5===i.tag||6===i.tag)Ui(e,i),r?Se(n,i.stateNode):we(n,i.stateNode);else if(18===i.tag)r?Je(n,i.stateNode):Xe(n,i.stateNode);else if(4===i.tag){if(null!==i.child){n=i.stateNode.containerInfo,r=!0,i.child.return=i,i=i.child;continue}}else if(Di(e,i),null!==i.child){i.child.return=i,i=i.child;continue}if(i===t)break;for(;null===i.sibling;){if(null===i.return||i.return===t)return;4===(i=i.return).tag&&(o=!1)}i.sibling.return=i.return,i=i.sibling}}function qi(e,t){if(Y){switch(t.tag){case 0:case 11:case 14:case 15:case 22:return void Fi(3,t);case 1:return;case 5:var n=t.stateNode;if(null!=n){var r=t.memoizedProps;e=null!==e?e.memoizedProps:r;var i=t.type,o=t.updateQueue;t.updateQueue=null,null!==o&&ge(n,o,i,e,r,t)}return;case 6:if(null===t.stateNode)throw Error(l(162));return n=t.memoizedProps,void me(t.stateNode,null!==e?e.memoizedProps:n,n);case 3:return void(J&&(t=t.stateNode,t.hydrate&&(t.hydrate=!1,Ge(t.containerInfo))));case 12:return;case 13:return Qi(t),void Ki(t);case 19:return void Ki(t);case 17:return;case 23:case 24:return void Mi(t,null!==t.memoizedState)}throw Error(l(163))}switch(t.tag){case 0:case 11:case 14:case 15:case 22:return void Fi(3,t);case 12:return;case 13:return Qi(t),void Ki(t);case 19:return void Ki(t);case 3:J&&((n=t.stateNode).hydrate&&(n.hydrate=!1,Ge(n.containerInfo)));break;case 23:case 24:return}e:if(X){switch(t.tag){case 1:case 5:case 6:case 20:break e;case 3:case 4:t=t.stateNode,Te(t.containerInfo,t.pendingChildren);break e}throw Error(l(163))}}function Qi(e){null!==e.memoizedState&&(No=Yt(),Y&&Mi(e.child,!0))}function Ki(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new Ti),t.forEach((function(t){var r=Na.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))}))}}function Gi(e,t){return null!==e&&(null===(e=e.memoizedState)||null!==e.dehydrated)&&(null!==(t=t.memoizedState)&&null===t.dehydrated)}var Yi=0,Xi=1,Ji=2,Zi=3,eo=4;if("function"==typeof Symbol&&Symbol.for){var to=Symbol.for;Yi=to("selector.component"),Xi=to("selector.has_pseudo_class"),Ji=to("selector.role"),Zi=to("selector.test_id"),eo=to("selector.text")}function no(e){var t=Z(e);if(null!=t){if("string"!=typeof t.memoizedProps["data-testname"])throw Error(l(364));return t}if(null===(e=ae(e)))throw Error(l(362));return e.stateNode.current}function ro(e,t){switch(t.$$typeof){case Yi:if(e.type===t.value)return!0;break;case Xi:e:{t=t.value,e=[e,0];for(var n=0;n";case Xi:return":has("+(io(e)||"")+")";case Ji:return'[role="'+e.value+'"]';case eo:return'"'+e.value+'"';case Zi:return'[data-testname="'+e.value+'"]';default:throw Error(l(365,e))}}function oo(e,t){var n=[];e=[e,0];for(var r=0;ri&&(i=a),n&=~o}if(n=i,10<(n=(120>(n=Yt()-n)?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*so(n/1960))-n)){e.timeoutHandle=q(ha.bind(null,e),n);break}ha(e);break;case 5:ha(e);break;default:throw Error(l(329))}}return Xo(e,Yt()),e.callbackNode===t?Jo.bind(null,e):null}function Zo(e,t){for(t&=~xo,t&=~Eo,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0 component higher in the tree to provide a loading indicator or placeholder to display.")}5!==vo&&(vo=2),s=_i(s,l),d=a;do{switch(d.tag){case 3:o=s,d.flags|=4096,t&=-t,d.lanes|=t,Cn(d,Ri(0,o,t));break e;case 1:o=s;var S=d.type,k=d.stateNode;if(0==(64&d.flags)&&("function"==typeof S.getDerivedStateFromError||null!==k&&"function"==typeof k.componentDidCatch&&(null===zo||!zo.has(k)))){d.flags|=4096,t&=-t,d.lanes|=t,Cn(d,zi(d,o,t));break e}}d=d.return}while(null!==d)}pa(n)}catch(e){t=e,mo===n&&null!==n&&(mo=n=n.return);continue}break}}function la(){var e=uo.current;return uo.current=qr,null===e?qr:e}function sa(){0!==vo&&3!==vo||(vo=4),null===ho||0==(134217727&ko)&&0==(134217727&Eo)||Zo(ho,yo)}function ua(e,t){var n=po;po|=16;var r=la();for(ho===e&&yo===t||oa(e,t);;)try{ca();break}catch(t){aa(e,t)}if(hn(),po=n,uo.current=r,null!==mo)throw Error(l(261));return ho=null,yo=0,vo}function ca(){for(;null!==mo;)da(mo)}function fa(){for(;null!==mo&&!Ot();)da(mo)}function da(e){var t=_o(e.alternate,e,go);e.memoizedProps=e.pendingProps,null===t?pa(e):mo=t,co.current=null}function pa(e){var t=e;do{var n=t.alternate;if(e=t.return,0==(2048&t.flags)){if(null!==(n=Ii(n,t,go)))return void(mo=n);if(24!==(n=t).tag&&23!==n.tag||null===n.memoizedState||0!=(1073741824&go)||0==(4&n.mode)){for(var r=0,i=n.child;null!==i;)r|=i.lanes|i.childLanes,i=i.sibling;n.childLanes=r}null!==e&&0==(2048&e.flags)&&(null===e.firstEffect&&(e.firstEffect=t.firstEffect),null!==t.lastEffect&&(null!==e.lastEffect&&(e.lastEffect.nextEffect=t.firstEffect),e.lastEffect=t.lastEffect),1Yt()-No?oa(e,0):xo|=n),Xo(e,t)}function xa(e,t){0===t&&(0==(2&(t=e.mode))?t=1:0==(4&t)?t=99===Xt()?1:2:(0===Bo&&(Bo=So),0===(t=Nt(62914560&~Bo))&&(t=4194304)));var n=Qo();null!==(e=Yo(e,t))&&(Pt(e,t,n),Xo(e,n))}function Ca(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),xa(e,n)}function Na(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;null!==i&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(l(314))}null!==r&&r.delete(t),xa(e,n)}_o=function(e,t,n){var r=t.lanes;if(null!==e)if(e.memoizedProps!==t.pendingProps||ut.current)Xr=!0;else{if(0==(n&r)){switch(Xr=!1,t.tag){case 3:si(t),lr();break;case 5:Gn(t);break;case 1:dt(t.type)&&yt(t);break;case 4:Qn(t,t.stateNode.containerInfo);break;case 10:mn(t,t.memoizedProps.value);break;case 13:if(null!==(r=t.memoizedState))return null!==r.dehydrated?(at(Xn,1&Xn.current),t.flags|=64,null):0!=(n&t.child.childLanes)?hi(e,t,n):(at(Xn,1&Xn.current),null!==(t=Ei(e,t,n))?t.sibling:null);at(Xn,1&Xn.current);break;case 19:if(r=0!=(n&t.childLanes),0!=(64&e.flags)){if(r)return ki(e,t,n);t.flags|=64}var i=t.memoizedState;if(null!==i&&(i.rendering=null,i.tail=null,i.lastEffect=null),at(Xn,Xn.current),r)break;return null;case 23:case 24:return t.lanes=0,ni(e,t,n)}return Ei(e,t,n)}Xr=0!=(16384&e.flags)}else Xr=!1;switch(t.lanes=0,t.tag){case 2:if(r=t.type,null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,i=ft(t,st.current),bn(t,n),i=wr(null,t,r,e,i,n),t.flags|=1,"object"==typeof i&&null!==i&&"function"==typeof i.render&&void 0===i.$$typeof){if(t.tag=1,t.memoizedState=null,t.updateQueue=null,dt(r)){var o=!0;yt(t)}else o=!1;t.memoizedState=null!==i.state&&void 0!==i.state?i.state:null,Sn(t);var a=r.getDerivedStateFromProps;"function"==typeof a&&_n(t,r,a,e),i.updater=Ln,t.stateNode=i,i._reactInternals=t,Tn(t,r,e,n),t=li(null,t,r,!0,o,n)}else t.tag=0,Jr(null,t,i,n),t=t.child;return t;case 16:i=t.elementType;e:{switch(null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,i=(o=i._init)(i._payload),t.type=i,o=t.tag=function(e){if("function"==typeof e)return ja(e)?1:0;if(null!=e){if((e=e.$$typeof)===y)return 11;if(e===v)return 14;if(e===S)return 22}return 2}(i),a=un(i,e),o){case 0:t=ii(null,t,i,a,n);break e;case 1:t=ai(null,t,i,a,n);break e;case 11:t=Zr(null,t,i,a,n);break e;case 14:t=ei(null,t,i,un(i.type,a),r,n);break e;case 22:t=oi(null,t,i,e,n);break e}throw Error(l(306,i,""))}return t;case 0:return r=t.type,i=t.pendingProps,ii(e,t,r,i=t.elementType===r?i:un(r,i),n);case 1:return r=t.type,i=t.pendingProps,ai(e,t,r,i=t.elementType===r?i:un(r,i),n);case 3:if(si(t),r=t.updateQueue,null===e||null===r)throw Error(l(282));if(r=t.pendingProps,i=null!==(i=t.memoizedState)?i.element:null,kn(e,t),Nn(t,r,null,n),(r=t.memoizedState.element)===i)lr(),t=Ei(e,t,n);else{if((o=(i=t.stateNode).hydrate)&&(J?(er=Ve(t.stateNode.containerInfo),Zn=t,o=tr=!0):o=!1),o){if(J&&null!=(e=i.mutableSourceEagerHydrationData))for(i=0;i=c&&o>=d&&i<=f&&a<=p){e.splice(t,1);break}if(!(r!==c||n.width!==u.width||pa)){d>o&&(u.height+=d-o,u.y=o),pi)){c>r&&(u.width+=c-r,u.x=r),fn&&(n=a)),a ")+"\n\nNo matching component was found for:\n "+e.join(" > ")}return null},r.getPublicRootInstance=function(e){if(!(e=e.current).child)return null;switch(e.child.tag){case 5:return O(e.child.stateNode);default:return e.child.stateNode}},r.injectIntoDevTools=function(e){if(e={bundleType:e.bundleType,version:e.version,rendererPackageName:e.rendererPackageName,rendererConfig:e.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:s.ReactCurrentDispatcher,findHostInstanceByFiber:Qa,findFiberByHostInstance:e.findFiberByHostInstance||Ka,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null},"undefined"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)e=!1;else{var t=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!t.isDisabled&&t.supportsFiber)try{bt=t.inject(e),vt=t}catch(e){}e=!0}return e},r.observeVisibleRects=function(e,t,n,r){if(!oe)throw Error(l(363));e=ao(e,t);var i=de(e,n,r).disconnect;return{disconnect:function(){i()}}},r.registerMutableSourceForHydration=function(e,t){var n=t._getVersion;n=n(t._source),null==e.mutableSourceEagerHydrationData?e.mutableSourceEagerHydrationData=[t,n]:e.mutableSourceEagerHydrationData.push(t,n)},r.runWithPriority=function(e,t){var n=wt;try{return wt=e,t()}finally{wt=n}},r.shouldSuspend=function(){return!1},r.unbatchedUpdates=function(e,t){var n=po;po&=-2,po|=8;try{return e(t)}finally{0===(po=n)&&(Po(),tn())}},r.updateContainer=function(e,t,n,r){var i=t.current,o=Qo(),a=Ko(i);e:if(n){t:{if(_(n=n._reactInternals)!==n||1!==n.tag)throw Error(l(170));var s=n;do{switch(s.tag){case 3:s=s.stateNode.context;break t;case 1:if(dt(s.type)){s=s.stateNode.__reactInternalMemoizedMergedChildContext;break t}}s=s.return}while(null!==s);throw Error(l(171))}if(1===n.tag){var u=n.type;if(dt(u)){n=mt(n,u,s);break e}}n=s}else n=lt;return null===t.context?t.context=n:t.pendingContext=n,(t=En(o,a)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),xn(i,t),Go(i,a,o),a},r}}).call(this,n("./node_modules/webpack/buildin/module.js")(e))},"./node_modules/@hippy/react-reconciler/index.js":function(e,t,n){"use strict";e.exports=n("./node_modules/@hippy/react-reconciler/cjs/react-reconciler.production.min.js")},"./node_modules/object-assign/index.js":function(e,t,n){"use strict"; /* object-assign (c) Sindre Sorhus @@ -50,4 +50,4 @@ object-assign * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var r,i,o,a;if("object"==typeof performance&&"function"==typeof performance.now){var l=performance;t.unstable_now=function(){return l.now()}}else{var s=Date,u=s.now();t.unstable_now=function(){return s.now()-u}}if("undefined"==typeof window||"function"!=typeof MessageChannel){var c=null,f=null,d=function(){if(null!==c)try{var e=t.unstable_now();c(!0,e),c=null}catch(e){throw setTimeout(d,0),e}};r=function(e){null!==c?setTimeout(r,0,e):(c=e,setTimeout(d,0))},i=function(e,t){f=setTimeout(e,t)},o=function(){clearTimeout(f)},t.unstable_shouldYield=function(){return!1},a=t.unstable_forceFrameRate=function(){}}else{var p=window.setTimeout,h=window.clearTimeout;if("undefined"!=typeof console){var m=window.cancelAnimationFrame;"function"!=typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"),"function"!=typeof m&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills")}var y=!1,g=null,b=-1,v=5,w=0;t.unstable_shouldYield=function(){return t.unstable_now()>=w},a=function(){},t.unstable_forceFrameRate=function(e){0>e||125>>1,i=e[r];if(!(void 0!==i&&0N(a,n))void 0!==s&&0>N(s,a)?(e[r]=s,e[l]=n,r=l):(e[r]=a,e[o]=n,r=o);else{if(!(void 0!==s&&0>N(s,n)))break e;e[r]=s,e[l]=n,r=l}}}return t}return null}function N(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}var I=[],P=[],_=1,L=null,A=3,R=!1,z=!1,T=!1;function O(e){for(var t=x(P);null!==t;){if(null===t.callback)C(P);else{if(!(t.startTime<=e))break;C(P),t.sortIndex=t.expirationTime,E(I,t)}t=x(P)}}function F(e){if(T=!1,O(e),!z)if(null!==x(I))z=!0,r(j);else{var t=x(P);null!==t&&i(F,t.startTime-e)}}function j(e,n){z=!1,T&&(T=!1,o()),R=!0;var r=A;try{for(O(n),L=x(I);null!==L&&(!(L.expirationTime>n)||e&&!t.unstable_shouldYield());){var a=L.callback;if("function"==typeof a){L.callback=null,A=L.priorityLevel;var l=a(L.expirationTime<=n);n=t.unstable_now(),"function"==typeof l?L.callback=l:L===x(I)&&C(I),O(n)}else C(I);L=x(I)}if(null!==L)var s=!0;else{var u=x(P);null!==u&&i(F,u.startTime-n),s=!1}return s}finally{L=null,A=r,R=!1}}var H=a;t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){z||R||(z=!0,r(j))},t.unstable_getCurrentPriorityLevel=function(){return A},t.unstable_getFirstCallbackNode=function(){return x(I)},t.unstable_next=function(e){switch(A){case 1:case 2:case 3:var t=3;break;default:t=A}var n=A;A=t;try{return e()}finally{A=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=H,t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=A;A=e;try{return t()}finally{A=n}},t.unstable_scheduleCallback=function(e,n,a){var l=t.unstable_now();switch("object"==typeof a&&null!==a?a="number"==typeof(a=a.delay)&&0l?(e.sortIndex=a,E(P,e),null===x(I)&&e===x(P)&&(T?o():T=!0,i(F,a-l))):(e.sortIndex=s,E(I,e),z||R||(z=!0,r(j))),e},t.unstable_wrapCallback=function(e){var t=A;return function(){var n=A;A=t;try{return e.apply(this,arguments)}finally{A=n}}}},"./node_modules/scheduler/index.js":function(e,t,n){"use strict";e.exports=n("./node_modules/scheduler/cjs/scheduler.production.min.js")},"./node_modules/webpack/buildin/global.js":function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},"./node_modules/webpack/buildin/module.js":function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},"./scripts/vendor.js":function(e,t,n){n("../../packages/hippy-react/dist/index.js")},0:function(e,t,n){e.exports=n}}); \ No newline at end of file + */var r,i,o,a;if("object"==typeof performance&&"function"==typeof performance.now){var l=performance;t.unstable_now=function(){return l.now()}}else{var s=Date,u=s.now();t.unstable_now=function(){return s.now()-u}}if("undefined"==typeof window||"function"!=typeof MessageChannel){var c=null,f=null,d=function(){if(null!==c)try{var e=t.unstable_now();c(!0,e),c=null}catch(e){throw setTimeout(d,0),e}};r=function(e){null!==c?setTimeout(r,0,e):(c=e,setTimeout(d,0))},i=function(e,t){f=setTimeout(e,t)},o=function(){clearTimeout(f)},t.unstable_shouldYield=function(){return!1},a=t.unstable_forceFrameRate=function(){}}else{var p=window.setTimeout,h=window.clearTimeout;if("undefined"!=typeof console){var m=window.cancelAnimationFrame;"function"!=typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"),"function"!=typeof m&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills")}var y=!1,g=null,b=-1,v=5,w=0;t.unstable_shouldYield=function(){return t.unstable_now()>=w},a=function(){},t.unstable_forceFrameRate=function(e){0>e||125>>1,i=e[r];if(!(void 0!==i&&0N(a,n))void 0!==s&&0>N(s,a)?(e[r]=s,e[l]=n,r=l):(e[r]=a,e[o]=n,r=o);else{if(!(void 0!==s&&0>N(s,n)))break e;e[r]=s,e[l]=n,r=l}}}return t}return null}function N(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}var I=[],P=[],_=1,L=null,A=3,R=!1,z=!1,T=!1;function O(e){for(var t=x(P);null!==t;){if(null===t.callback)C(P);else{if(!(t.startTime<=e))break;C(P),t.sortIndex=t.expirationTime,E(I,t)}t=x(P)}}function j(e){if(T=!1,O(e),!z)if(null!==x(I))z=!0,r(F);else{var t=x(P);null!==t&&i(j,t.startTime-e)}}function F(e,n){z=!1,T&&(T=!1,o()),R=!0;var r=A;try{for(O(n),L=x(I);null!==L&&(!(L.expirationTime>n)||e&&!t.unstable_shouldYield());){var a=L.callback;if("function"==typeof a){L.callback=null,A=L.priorityLevel;var l=a(L.expirationTime<=n);n=t.unstable_now(),"function"==typeof l?L.callback=l:L===x(I)&&C(I),O(n)}else C(I);L=x(I)}if(null!==L)var s=!0;else{var u=x(P);null!==u&&i(j,u.startTime-n),s=!1}return s}finally{L=null,A=r,R=!1}}var H=a;t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){z||R||(z=!0,r(F))},t.unstable_getCurrentPriorityLevel=function(){return A},t.unstable_getFirstCallbackNode=function(){return x(I)},t.unstable_next=function(e){switch(A){case 1:case 2:case 3:var t=3;break;default:t=A}var n=A;A=t;try{return e()}finally{A=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=H,t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=A;A=e;try{return t()}finally{A=n}},t.unstable_scheduleCallback=function(e,n,a){var l=t.unstable_now();switch("object"==typeof a&&null!==a?a="number"==typeof(a=a.delay)&&0l?(e.sortIndex=a,E(P,e),null===x(I)&&e===x(P)&&(T?o():T=!0,i(j,a-l))):(e.sortIndex=s,E(I,e),z||R||(z=!0,r(F))),e},t.unstable_wrapCallback=function(e){var t=A;return function(){var n=A;A=t;try{return e.apply(this,arguments)}finally{A=n}}}},"./node_modules/scheduler/index.js":function(e,t,n){"use strict";e.exports=n("./node_modules/scheduler/cjs/scheduler.production.min.js")},"./node_modules/webpack/buildin/global.js":function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},"./node_modules/webpack/buildin/module.js":function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},"./scripts/vendor.js":function(e,t,n){n("../../packages/hippy-react/dist/index.js")},0:function(e,t,n){e.exports=n}}); \ No newline at end of file diff --git a/examples/hippy-vue-demo/package.json b/examples/hippy-vue-demo/package.json index 9587dba451d..217c31e5d1d 100644 --- a/examples/hippy-vue-demo/package.json +++ b/examples/hippy-vue-demo/package.json @@ -19,10 +19,10 @@ "@hippy/vue": "latest", "@hippy/vue-native-components": "latest", "@hippy/vue-router": "latest", + "@hippy/web-renderer": "^0.0.1", "core-js": "^3.11.0", "vue": "^2.6.10", - "vue-router": "^3.1.3", - "@hippy/web-renderer": "^0.0.1" + "vue-router": "^3.1.3" }, "devDependencies": { "@babel/core": "^7.12.0", diff --git a/examples/hippy-vue-next-demo/.gitignore b/examples/hippy-vue-next-demo/.gitignore new file mode 100644 index 00000000000..a0dddc6fb8c --- /dev/null +++ b/examples/hippy-vue-next-demo/.gitignore @@ -0,0 +1,21 @@ +.DS_Store +node_modules +/dist + +# local env files +.env.local +.env.*.local + +# Log files +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/examples/hippy-vue-next-demo/.npmrc b/examples/hippy-vue-next-demo/.npmrc new file mode 100644 index 00000000000..43c97e719a5 --- /dev/null +++ b/examples/hippy-vue-next-demo/.npmrc @@ -0,0 +1 @@ +package-lock=false diff --git a/examples/hippy-vue-next-demo/README.md b/examples/hippy-vue-next-demo/README.md new file mode 100644 index 00000000000..44a39edcb73 --- /dev/null +++ b/examples/hippy-vue-next-demo/README.md @@ -0,0 +1,10 @@ +# @hippy/vue-next demo + + +### Introduction +This package is the demo project for @hippy/vue-next. Project include most use case for +@hippy/vue-next. Just try it. + +### Usage +Read the hippy framework [doc](https://github.com/Tencent/Hippy/blob/master/README.md#-getting-started) and learn +how to use. diff --git a/examples/hippy-vue-next-demo/app.d.ts b/examples/hippy-vue-next-demo/app.d.ts new file mode 100644 index 00000000000..d614236bf60 --- /dev/null +++ b/examples/hippy-vue-next-demo/app.d.ts @@ -0,0 +1,10 @@ +declare module '*.jpg'; +declare module '*.png'; +declare module '*.vue' { + import { defineComponent } from 'vue'; + const Component: ReturnType; + export default Component; +} + +type NeedToTyped = any; + diff --git a/examples/hippy-vue-next-demo/package.json b/examples/hippy-vue-next-demo/package.json new file mode 100644 index 00000000000..cf7cdf5ad21 --- /dev/null +++ b/examples/hippy-vue-next-demo/package.json @@ -0,0 +1,58 @@ +{ + "name": "hippy-vue-next-demo", + "version": "2.0.0", + "description": "A Demo Example For Hippy-Vue-Next Library To Show.", + "private": true, + "repository": "https://github.com/Tencent/Hippy/tree/master/examples/hippy-vue-next-demo", + "license": "Apache-2.0", + "author": "birdguo@tencent.com", + "scripts": { + "hippy:debug": "hippy-debug", + "hippy:dev": "cross-env-os os=\"Windows_NT,Linux,Darwin\" minVersion=17 NODE_OPTIONS=--openssl-legacy-provider hippy-dev -c ./scripts/webpack.dev.js", + "hippy:vendor": "cross-env-os os=\"Windows_NT,Linux,Darwin\" minVersion=17 NODE_OPTIONS=--openssl-legacy-provider webpack --config ./scripts/webpack.ios-vendor.js --config ./scripts/webpack.android-vendor.js", + "hippy:build": "cross-env-os os=\"Windows_NT,Linux,Darwin\" minVersion=17 NODE_OPTIONS=--openssl-legacy-provider webpack --config ./scripts/webpack.ios.js --config ./scripts/webpack.android.js" + }, + "dependencies": { + "@hippy/vue-next": "latest", + "@hippy/vue-router-next-history": "latest", + "@vue/runtime-core": "^3.2.21", + "vue-router": "^4.0.12" + }, + "devDependencies": { + "@babel/core": "^7.12.0", + "@babel/plugin-proposal-class-properties": "^7.10.4", + "@babel/plugin-proposal-decorators": "^7.10.5", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.4", + "@babel/plugin-proposal-object-rest-spread": "^7.5.5", + "@babel/plugin-proposal-optional-chaining": "^7.10.4", + "@babel/plugin-transform-async-to-generator": "^7.5.0", + "@babel/plugin-transform-runtime": "^7.11.0", + "@babel/polyfill": "^7.12.0", + "@babel/preset-env": "^7.12.0", + "@babel/runtime": "^7.16.0", + "@hippy/debug-server-next": "^0.3.7", + "@hippy/hippy-dynamic-import-plugin": "^2.0.0", + "@hippy/hippy-hmr-plugin": "^0.0.2", + "@hippy/rejection-tracking-polyfill": "^1.0.0", + "@hippy/vue-css-loader": "^2.0.1", + "@vitejs/plugin-vue": "^1.9.4", + "@vue/compiler-sfc": "^3.2.21", + "babel-loader": "^8.1.0", + "case-sensitive-paths-webpack-plugin": "^2.2.0", + "clean-webpack-plugin": "^4.0.0", + "cross-env-os": "^7.1.1", + "esbuild": "^0.13.14", + "esbuild-loader": "^2.18.0", + "file-loader": "^4.3.0", + "less": "^4.1.2", + "less-loader": "^7.1.0", + "terser": "^4.8.0", + "ts-loader": "^8.4.0", + "url-loader": "^4.0.0", + "vue": "^3.2.21", + "vue-loader": "^17.0.0", + "webpack": "^4.46.0", + "webpack-cli": "^4.7.2" + }, + "demo": "src/main-native.ts" +} diff --git a/examples/hippy-vue-next-demo/scripts/vendor.js b/examples/hippy-vue-next-demo/scripts/vendor.js new file mode 100644 index 00000000000..41fecfb38d5 --- /dev/null +++ b/examples/hippy-vue-next-demo/scripts/vendor.js @@ -0,0 +1 @@ +require('@hippy/vue-next'); diff --git a/examples/hippy-vue-next-demo/scripts/webpack.android-vendor.js b/examples/hippy-vue-next-demo/scripts/webpack.android-vendor.js new file mode 100644 index 00000000000..97133f4784f --- /dev/null +++ b/examples/hippy-vue-next-demo/scripts/webpack.android-vendor.js @@ -0,0 +1,106 @@ +const fs = require('fs'); +const path = require('path'); +const webpack = require('webpack'); +const { VueLoaderPlugin } = require('vue-loader'); +const CaseSensitivePathsPlugin = require('case-sensitive-paths-webpack-plugin'); + +const platform = 'android'; + +module.exports = { + mode: 'production', + bail: true, + entry: { + vendor: [path.resolve(__dirname, './vendor.js')], + }, + output: { + filename: `[name].${platform}.js`, + path: path.resolve(`./dist/${platform}/`), + globalObject: '(0, eval)("this")', + library: 'hippyVueBase', + }, + plugins: [ + new webpack.NamedModulesPlugin(), + new webpack.DefinePlugin({ + 'process.env.NODE_ENV': JSON.stringify('production'), + __PLATFORM__: JSON.stringify(platform), + }), + new CaseSensitivePathsPlugin(), + new VueLoaderPlugin(), + new webpack.DllPlugin({ + context: path.resolve(__dirname, '..'), + path: path.resolve(__dirname, `../dist/${platform}/[name]-manifest.json`), + name: 'hippyVueBase', + }), + ], + module: { + rules: [ + { + test: /\.vue$/, + use: [ + { + loader: 'vue-loader', + options: { + compilerOptions: { + // disable vue3 dom patch flag,because hippy do not support innerHTML + hoistStatic: false, + }, + }, + }, + ], + }, + { + test: /\.(js)$/, + use: [ + { + loader: 'babel-loader', + options: { + presets: [ + [ + '@babel/preset-env', + { + targets: { + chrome: 57, + }, + }, + ], + ], + plugins: [ + ['@babel/plugin-proposal-class-properties'], + ], + }, + }, + ], + }, + ], + }, + resolve: { + extensions: ['.js', '.vue', '.json', '.ts'], + alias: (() => { + const aliases = { + src: path.resolve('./src'), + }; + + // If @vue/runtime-core was built exist in packages directory then make an alias + // Remove the section if you don't use it + const hippyVueRuntimeCorePath = path.resolve(__dirname, '../../../packages/hippy-vue-next/node_modules/@vue/runtime-core'); + if (fs.existsSync(path.resolve(hippyVueRuntimeCorePath, 'index.js'))) { + console.warn(`* Using the @vue/runtime-core in ${hippyVueRuntimeCorePath} as vue alias`); + aliases['@vue/runtime-core'] = hippyVueRuntimeCorePath; + } else { + console.warn('* Using the @vue/runtime-core defined in package.json'); + } + + // If @hippy/vue-next was built exist in packages directory then make an alias + // Remove the section if you don't use it + const hippyVueNextPath = path.resolve(__dirname, '../../../packages/hippy-vue-next/dist'); + if (fs.existsSync(path.resolve(hippyVueNextPath, 'index.js'))) { + console.warn(`* Using the @hippy/vue-next in ${hippyVueNextPath} as @hippy/vue-next alias`); + aliases['@hippy/vue-next'] = hippyVueNextPath; + } else { + console.warn('* Using the @hippy/vue-next defined in package.json'); + } + + return aliases; + })(), + }, +}; diff --git a/examples/hippy-vue-next-demo/scripts/webpack.android.js b/examples/hippy-vue-next-demo/scripts/webpack.android.js new file mode 100644 index 00000000000..54b3b9ee0e2 --- /dev/null +++ b/examples/hippy-vue-next-demo/scripts/webpack.android.js @@ -0,0 +1,162 @@ +const path = require('path'); +const fs = require('fs'); +const HippyDynamicImportPlugin = require('@hippy/hippy-dynamic-import-plugin'); +const CaseSensitivePathsPlugin = require('case-sensitive-paths-webpack-plugin'); +const { VueLoaderPlugin } = require('vue-loader'); +const webpack = require('webpack'); + +const platform = 'android'; +const pkg = require('../package.json'); +const manifest = require('../dist/android/vendor-manifest.json'); +const mode = 'production'; +let cssLoader = '@hippy/vue-css-loader'; +const hippyVueCssLoaderPath = path.resolve(__dirname, '../../../packages/hippy-vue-css-loader/dist/css-loader.js'); +if (fs.existsSync(hippyVueCssLoaderPath)) { + console.warn(`* Using the @hippy/vue-css-loader in ${hippyVueCssLoaderPath}`); + cssLoader = hippyVueCssLoaderPath; +} else { + console.warn('* Using the @hippy/vue-css-loader defined in package.json'); +} + +module.exports = { + mode, + bail: true, + entry: { + index: [path.resolve(pkg.demo)], + }, + output: { + filename: `[name].${platform}.js`, + path: path.resolve(`./dist/${platform}/`), + globalObject: '(0, eval)("this")', + // CDN path can be configured to load children bundles from remote server + // publicPath: 'https://xxx/hippy/hippyVueNextDemo/', + }, + plugins: [ + new webpack.NamedModulesPlugin(), + new CaseSensitivePathsPlugin(), + new VueLoaderPlugin(), + new webpack.DefinePlugin({ + 'process.env': { + NODE_ENV: JSON.stringify(mode), + }, + __PLATFORM__: JSON.stringify(platform), + }), + new webpack.DllReferencePlugin({ + context: path.resolve(__dirname, '..'), + manifest, + }), + new HippyDynamicImportPlugin(), + ], + module: { + rules: [ + { + test: /\.vue$/, + use: [ + { + loader: 'vue-loader', + options: { + compilerOptions: { + // disable vue3 dom patchflag,because hippy do not support innerHTML + hoistStatic: false, + }, + }, + }, + ], + }, + { + test: /\.(le|c)ss$/, + use: [cssLoader, 'less-loader'], + }, + { + test: /\.t|js$/, + use: [ + { + loader: 'babel-loader', + options: { + sourceType: 'unambiguous', + presets: [ + [ + '@babel/preset-env', + { + targets: { + chrome: 57, + }, + }, + ], + ], + plugins: [ + ['@babel/plugin-proposal-class-properties'], + ['@babel/plugin-proposal-decorators', { legacy: true }], + ['@babel/plugin-transform-runtime', { regenerator: true }], + ], + }, + }, + ], + }, + { + test: /\.(png|jpe?g|gif)$/i, + use: [ + { + loader: 'url-loader', + options: { + // if you would like to use base64 for picture, uncomment limit: true + // limit: true, + limit: 8192, + fallback: 'file-loader', + name: '[name].[ext]', + outputPath: 'assets/', + }, + }, + ], + }, + { + test: /\.(ts)$/, + use: [ + { + loader: 'ts-loader', + options: { + transpileOnly: true, + appendTsSuffixTo: [/\.vue$/], + }, + }, + ], + exclude: /node_modules/, + }, + { + test: /\.mjs$/, + include: /node_modules/, + type: 'javascript/auto', + }, + ], + }, + resolve: { + extensions: ['.js', '.vue', '.json', '.ts'], + alias: (() => { + const aliases = { + src: path.resolve('./src'), + }; + + // If @vue/runtime-core was built exist in packages directory then make an alias + // Remove the section if you don't use it + const hippyVueRuntimeCorePath = path.resolve(__dirname, '../../../packages/hippy-vue-next/node_modules/@vue/runtime-core'); + if (fs.existsSync(path.resolve(hippyVueRuntimeCorePath, 'index.js'))) { + console.warn(`* Using the @vue/runtime-core in ${hippyVueRuntimeCorePath} as vue alias`); + aliases['@vue/runtime-core'] = hippyVueRuntimeCorePath; + } else { + console.warn('* Using the @vue/runtime-core defined in package.json'); + } + + // If @hippy/vue-next was built exist in packages directory then make an alias + // Remove the section if you don't use it + const hippyVueNextPath = path.resolve(__dirname, '../../../packages/hippy-vue-next/dist'); + if (fs.existsSync(path.resolve(hippyVueNextPath, 'index.js'))) { + console.warn(`* Using the @hippy/vue-next in ${hippyVueNextPath} as @hippy/vue-next alias`); + aliases['@hippy/vue-next'] = hippyVueNextPath; + } else { + console.warn('* Using the @hippy/vue-next defined in package.json'); + } + + return aliases; + })(), + }, +}; diff --git a/examples/hippy-vue-next-demo/scripts/webpack.dev.js b/examples/hippy-vue-next-demo/scripts/webpack.dev.js new file mode 100644 index 00000000000..e38309068be --- /dev/null +++ b/examples/hippy-vue-next-demo/scripts/webpack.dev.js @@ -0,0 +1,164 @@ +const path = require('path'); +const fs = require('fs'); +const HippyDynamicImportPlugin = require('@hippy/hippy-dynamic-import-plugin'); +const { CleanWebpackPlugin } = require('clean-webpack-plugin'); +const { VueLoaderPlugin } = require('vue-loader'); +const webpack = require('webpack'); + +const pkg = require('../package.json'); +let cssLoader = '@hippy/vue-css-loader'; +const hippyVueCssLoaderPath = path.resolve(__dirname, '../../../packages/hippy-vue-css-loader/dist/css-loader.js'); +if (fs.existsSync(hippyVueCssLoaderPath)) { + console.warn(`* Using the @hippy/vue-css-loader in ${hippyVueCssLoaderPath}`); + cssLoader = hippyVueCssLoaderPath; +} else { + console.warn('* Using the @hippy/vue-css-loader defined in package.json'); +} + + +module.exports = { + mode: 'development', + // devtool: 'eval-source-map', + watch: true, + watchOptions: { + aggregateTimeout: 1500, + }, + devServer: { + remote: { + protocol: 'http', + host: '127.0.0.1', + port: 38989, + }, + vueDevtools: false, + multiple: false, + hot: true, + liveReload: true, + client: { + overlay: false, + }, + devMiddleware: { + writeToDisk: true, + }, + }, + entry: { + index: [path.resolve(pkg.demo)], + }, + output: { + filename: 'index.bundle', + strictModuleExceptionHandling: true, + path: path.resolve('./dist/dev/'), + globalObject: '(0, eval)("this")', + }, + plugins: [ + new VueLoaderPlugin(), + new webpack.DefinePlugin({ + 'process.env': { + NODE_ENV: JSON.stringify('development'), + HOST: JSON.stringify(process.env.DEV_HOST || '127.0.0.1'), + PORT: JSON.stringify(process.env.DEV_PORT || 38989), + }, + __VUE_OPTIONS_API__: true, + __VUE_PROD_DEVTOOLS__: false, + __PLATFORM__: null, + }), + new HippyDynamicImportPlugin(), + new CleanWebpackPlugin(), + ], + module: { + rules: [ + { + test: /\.vue$/, + use: [ + { + loader: 'vue-loader', + options: { + compilerOptions: { + // disable vue3 dom patch flag,because hippy do not support innerHTML + hoistStatic: false, + }, + }, + }, + ], + }, + { + test: /\.(le|c)ss$/, + use: [cssLoader, 'less-loader'], + }, + { + test: /\.t|js$/, + use: [ + { + loader: 'esbuild-loader', + options: { + target: 'es2015', + }, + }, + ], + }, + { + test: /\.(png|jpe?g|gif)$/i, + use: [ + { + loader: 'url-loader', + options: { + // if you would like to use base64 for picture, uncomment limit: true + // limit: true, + limit: 8192, + fallback: 'file-loader', + name: '[name].[ext]', + outputPath: 'assets/', + }, + }, + ], + }, + { + test: /\.(ts)$/, + use: [ + { + loader: 'ts-loader', + options: { + transpileOnly: true, + appendTsSuffixTo: [/\.vue$/], + }, + }, + ], + exclude: /node_modules/, + }, + { + test: /\.mjs$/, + include: /node_modules/, + type: 'javascript/auto', + }, + ], + }, + resolve: { + extensions: ['.js', '.vue', '.json', '.ts'], + alias: (() => { + const aliases = { + src: path.resolve('./src'), + }; + + // If @vue/runtime-core was built exist in packages directory then make an alias + // Remove the section if you don't use it + const hippyVueRuntimeCorePath = path.resolve(__dirname, '../../../packages/hippy-vue-next/node_modules/@vue/runtime-core'); + if (fs.existsSync(path.resolve(hippyVueRuntimeCorePath, 'index.js'))) { + console.warn(`* Using the @vue/runtime-core in ${hippyVueRuntimeCorePath} as vue alias`); + aliases['@vue/runtime-core'] = hippyVueRuntimeCorePath; + } else { + console.warn('* Using the @vue/runtime-core defined in package.json'); + } + + // If @hippy/vue-next was built exist in packages directory then make an alias + // Remove the section if you don't use it + const hippyVueNextPath = path.resolve(__dirname, '../../../packages/hippy-vue-next/dist'); + if (fs.existsSync(path.resolve(hippyVueNextPath, 'index.js'))) { + console.warn(`* Using the @hippy/vue-next in ${hippyVueNextPath} as @hippy/vue-next alias`); + aliases['@hippy/vue-next'] = hippyVueNextPath; + } else { + console.warn('* Using the @hippy/vue-next defined in package.json'); + } + + return aliases; + })(), + }, +}; diff --git a/examples/hippy-vue-next-demo/scripts/webpack.ios-vendor.js b/examples/hippy-vue-next-demo/scripts/webpack.ios-vendor.js new file mode 100644 index 00000000000..e02b5caf1b3 --- /dev/null +++ b/examples/hippy-vue-next-demo/scripts/webpack.ios-vendor.js @@ -0,0 +1,106 @@ +const fs = require('fs'); +const path = require('path'); +const webpack = require('webpack'); +const CaseSensitivePathsPlugin = require('case-sensitive-paths-webpack-plugin'); +const { VueLoaderPlugin } = require('vue-loader'); + +const platform = 'ios'; + +module.exports = { + mode: 'production', + bail: true, + entry: { + vendor: [path.resolve(__dirname, './vendor.js')], + }, + output: { + filename: `[name].${platform}.js`, + path: path.resolve(`./dist/${platform}/`), + globalObject: '(0, eval)("this")', + library: 'hippyVueBase', + }, + plugins: [ + new webpack.NamedModulesPlugin(), + new webpack.DefinePlugin({ + 'process.env.NODE_ENV': JSON.stringify('production'), + __PLATFORM__: JSON.stringify(platform), + }), + new CaseSensitivePathsPlugin(), + new VueLoaderPlugin(), + new webpack.DllPlugin({ + context: path.resolve(__dirname, '..'), + path: path.resolve(__dirname, `../dist/${platform}/[name]-manifest.json`), + name: 'hippyVueBase', + }), + ], + module: { + rules: [ + { + test: /\.vue$/, + use: [ + { + loader: 'vue-loader', + options: { + compilerOptions: { + // disable vue3 dom patch flag,because hippy do not support innerHTML + hoistStatic: false, + }, + }, + }, + ], + }, + { + test: /\.(js)$/, + use: [ + { + loader: 'babel-loader', + options: { + presets: [ + [ + '@babel/preset-env', + { + targets: { + ios: 8, + }, + }, + ], + ], + plugins: [ + ['@babel/plugin-proposal-class-properties'], + ], + }, + }, + ], + }, + ], + }, + resolve: { + extensions: ['.js', '.vue', '.json', '.ts'], + alias: (() => { + const aliases = { + src: path.resolve('./src'), + }; + + // If @vue/runtime-core was built exist in packages directory then make an alias + // Remove the section if you don't use it + const hippyVueRuntimeCorePath = path.resolve(__dirname, '../../../packages/hippy-vue-next/node_modules/@vue/runtime-core'); + if (fs.existsSync(path.resolve(hippyVueRuntimeCorePath, 'index.js'))) { + console.warn(`* Using the @vue/runtime-core in ${hippyVueRuntimeCorePath} as vue alias`); + aliases['@vue/runtime-core'] = hippyVueRuntimeCorePath; + } else { + console.warn('* Using the @vue/runtime-core defined in package.json'); + } + + // If @hippy/vue-next was built exist in packages directory then make an alias + // Remove the section if you don't use it + const hippyVueNextPath = path.resolve(__dirname, '../../../packages/hippy-vue-next/dist'); + if (fs.existsSync(path.resolve(hippyVueNextPath, 'index.js'))) { + console.warn(`* Using the @hippy/vue-next in ${hippyVueNextPath} as @hippy/vue-next alias`); + aliases['@hippy/vue-next'] = hippyVueNextPath; + } else { + console.warn('* Using the @hippy/vue-next defined in package.json'); + } + + return aliases; + })(), + }, +}; diff --git a/examples/hippy-vue-next-demo/scripts/webpack.ios.js b/examples/hippy-vue-next-demo/scripts/webpack.ios.js new file mode 100644 index 00000000000..d17164f17a6 --- /dev/null +++ b/examples/hippy-vue-next-demo/scripts/webpack.ios.js @@ -0,0 +1,162 @@ +const path = require('path'); +const fs = require('fs'); +const HippyDynamicImportPlugin = require('@hippy/hippy-dynamic-import-plugin'); +const CaseSensitivePathsPlugin = require('case-sensitive-paths-webpack-plugin'); +const { VueLoaderPlugin } = require('vue-loader'); +const webpack = require('webpack'); + +const platform = 'ios'; +const pkg = require('../package.json'); +const manifest = require('../dist/ios/vendor-manifest.json'); +const mode = 'production'; +let cssLoader = '@hippy/vue-css-loader'; +const hippyVueCssLoaderPath = path.resolve(__dirname, '../../../packages/hippy-vue-css-loader/dist/css-loader.js'); +if (fs.existsSync(hippyVueCssLoaderPath)) { + console.warn(`* Using the @hippy/vue-css-loader in ${hippyVueCssLoaderPath}`); + cssLoader = hippyVueCssLoaderPath; +} else { + console.warn('* Using the @hippy/vue-css-loader defined in package.json'); +} + +module.exports = { + mode, + bail: true, + entry: { + index: [path.resolve(pkg.demo)], + }, + output: { + filename: `[name].${platform}.js`, + path: path.resolve(`./dist/${platform}/`), + globalObject: '(0, eval)("this")', + // CDN path can be configured to load children bundles from remote server + // publicPath: 'https://xxx/hippy/hippyVueNextDemo/', + }, + plugins: [ + new webpack.NamedModulesPlugin(), + new CaseSensitivePathsPlugin(), + new VueLoaderPlugin(), + new webpack.DefinePlugin({ + 'process.env': { + NODE_ENV: JSON.stringify(mode), + }, + __PLATFORM__: JSON.stringify(platform), + }), + new webpack.DllReferencePlugin({ + context: path.resolve(__dirname, '..'), + manifest, + }), + new HippyDynamicImportPlugin(), + ], + module: { + rules: [ + { + test: /\.vue$/, + use: [ + { + loader: 'vue-loader', + options: { + compilerOptions: { + // disable vue3 dom patchflag,because hippy do not support innerHTML + hoistStatic: false, + }, + }, + }, + ], + }, + { + test: /\.(le|c)ss$/, + use: [cssLoader, 'less-loader'], + }, + { + test: /\.t|js$/, + use: [ + { + loader: 'babel-loader', + options: { + sourceType: 'unambiguous', + presets: [ + [ + '@babel/preset-env', + { + targets: { + ios: 9, + }, + }, + ], + ], + plugins: [ + ['@babel/plugin-proposal-class-properties'], + ['@babel/plugin-proposal-decorators', { legacy: true }], + ['@babel/plugin-transform-runtime', { regenerator: true }], + ], + }, + }, + ], + }, + { + test: /\.(png|jpe?g|gif)$/i, + use: [ + { + loader: 'url-loader', + options: { + // if you would like to use base64 for picture, uncomment limit: true + // limit: true, + limit: 8192, + fallback: 'file-loader', + name: '[name].[ext]', + outputPath: 'assets/', + }, + }, + ], + }, + { + test: /\.(ts)$/, + use: [ + { + loader: 'ts-loader', + options: { + transpileOnly: true, + appendTsSuffixTo: [/\.vue$/], + }, + }, + ], + exclude: /node_modules/, + }, + { + test: /\.mjs$/, + include: /node_modules/, + type: 'javascript/auto', + }, + ], + }, + resolve: { + extensions: ['.js', '.vue', '.json', '.ts'], + alias: (() => { + const aliases = { + src: path.resolve('./src'), + }; + + // If @vue/runtime-core was built exist in packages directory then make an alias + // Remove the section if you don't use it + const hippyVueRuntimeCorePath = path.resolve(__dirname, '../../../packages/hippy-vue-next/node_modules/@vue/runtime-core'); + if (fs.existsSync(path.resolve(hippyVueRuntimeCorePath, 'index.js'))) { + console.warn(`* Using the @vue/runtime-core in ${hippyVueRuntimeCorePath} as vue alias`); + aliases['@vue/runtime-core'] = hippyVueRuntimeCorePath; + } else { + console.warn('* Using the @vue/runtime-core defined in package.json'); + } + + // If @hippy/vue-next was built exist in packages directory then make an alias + // Remove the section if you don't use it + const hippyVueNextPath = path.resolve(__dirname, '../../../packages/hippy-vue-next/dist'); + if (fs.existsSync(path.resolve(hippyVueNextPath, 'index.js'))) { + console.warn(`* Using the @hippy/vue-next in ${hippyVueNextPath} as @hippy/vue-next alias`); + aliases['@hippy/vue-next'] = hippyVueNextPath; + } else { + console.warn('* Using the @hippy/vue-next defined in package.json'); + } + + return aliases; + })(), + }, +}; diff --git a/examples/hippy-vue-next-demo/src/app.vue b/examples/hippy-vue-next-demo/src/app.vue new file mode 100644 index 00000000000..091d5d2a30c --- /dev/null +++ b/examples/hippy-vue-next-demo/src/app.vue @@ -0,0 +1,248 @@ + + + diff --git a/examples/hippy-vue-next-demo/src/assets/defaultSource.jpg b/examples/hippy-vue-next-demo/src/assets/defaultSource.jpg new file mode 100644 index 0000000000000000000000000000000000000000..833417ea2fb9732e462397b44094599e2b96a56d GIT binary patch literal 42281 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 ZIcDMS&LgEgX}y2tW=580o*THu{XgQR4!HmT literal 0 HcmV?d00001 diff --git a/examples/hippy-vue-next-demo/src/assets/logo.png b/examples/hippy-vue-next-demo/src/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f3d2503fc2a44b5053b0837ebea6e87a2d339a43 GIT binary patch literal 6849 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 literal 0 HcmV?d00001 diff --git a/examples/hippy-vue-next-demo/src/components/demo/demo-button.vue b/examples/hippy-vue-next-demo/src/components/demo/demo-button.vue new file mode 100644 index 00000000000..00c06a74eb8 --- /dev/null +++ b/examples/hippy-vue-next-demo/src/components/demo/demo-button.vue @@ -0,0 +1,130 @@ + + + + + diff --git a/examples/hippy-vue-next-demo/src/components/demo/demo-div.vue b/examples/hippy-vue-next-demo/src/components/demo/demo-div.vue new file mode 100644 index 00000000000..fe2cf2d6179 --- /dev/null +++ b/examples/hippy-vue-next-demo/src/components/demo/demo-div.vue @@ -0,0 +1,343 @@ + + + + + diff --git a/examples/hippy-vue-next-demo/src/components/demo/demo-dynamicimport.vue b/examples/hippy-vue-next-demo/src/components/demo/demo-dynamicimport.vue new file mode 100644 index 00000000000..8ae78a07722 --- /dev/null +++ b/examples/hippy-vue-next-demo/src/components/demo/demo-dynamicimport.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/examples/hippy-vue-next-demo/src/components/demo/demo-iframe.vue b/examples/hippy-vue-next-demo/src/components/demo/demo-iframe.vue new file mode 100644 index 00000000000..4d2589e2cbc --- /dev/null +++ b/examples/hippy-vue-next-demo/src/components/demo/demo-iframe.vue @@ -0,0 +1,122 @@ +