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 00000000000..cae2187095a Binary files /dev/null and b/docs/assets/img/hippy-vue-next-arch-cn.png differ 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 00000000000..5308867a6b4 Binary files /dev/null and b/docs/en-us/assets/img/hippy-vue-next-arch-en.png differ 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,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: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 00000000000..833417ea2fb Binary files /dev/null and b/examples/hippy-vue-next-demo/src/assets/defaultSource.jpg differ diff --git a/examples/hippy-vue-next-demo/src/assets/hippyLogoWhite.png b/examples/hippy-vue-next-demo/src/assets/hippyLogoWhite.png new file mode 100644 index 00000000000..20e428e2fa9 Binary files /dev/null and b/examples/hippy-vue-next-demo/src/assets/hippyLogoWhite.png differ 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 00000000000..f3d2503fc2a Binary files /dev/null and b/examples/hippy-vue-next-demo/src/assets/logo.png differ diff --git a/examples/hippy-vue-next-demo/src/back-icon.png b/examples/hippy-vue-next-demo/src/back-icon.png new file mode 100644 index 00000000000..fe1fbf1cd10 Binary files /dev/null and b/examples/hippy-vue-next-demo/src/back-icon.png differ 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 @@ +