@xhsreds/reds-rn-next 0.10.1-fix-pull-refresh202511272003 → 0.10.1-fix-pull-refresh202511272021

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/coverage/.tmp/coverage-0.json +1 -1
  2. package/coverage/.tmp/coverage-1.json +1 -1
  3. package/coverage/.tmp/coverage-10.json +1 -1
  4. package/coverage/.tmp/coverage-12.json +1 -1
  5. package/coverage/.tmp/coverage-13.json +1 -1
  6. package/coverage/.tmp/coverage-14.json +1 -1
  7. package/coverage/.tmp/coverage-15.json +1 -1
  8. package/coverage/.tmp/coverage-16.json +1 -1
  9. package/coverage/.tmp/coverage-17.json +1 -1
  10. package/coverage/.tmp/coverage-18.json +1 -1
  11. package/coverage/.tmp/coverage-19.json +1 -1
  12. package/coverage/.tmp/coverage-2.json +1 -1
  13. package/coverage/.tmp/coverage-20.json +1 -1
  14. package/coverage/.tmp/coverage-21.json +1 -1
  15. package/coverage/.tmp/coverage-22.json +1 -1
  16. package/coverage/.tmp/coverage-23.json +1 -1
  17. package/coverage/.tmp/coverage-24.json +1 -1
  18. package/coverage/.tmp/coverage-25.json +1 -1
  19. package/coverage/.tmp/coverage-26.json +1 -1
  20. package/coverage/.tmp/coverage-27.json +1 -1
  21. package/coverage/.tmp/coverage-29.json +1 -1
  22. package/coverage/.tmp/coverage-30.json +1 -1
  23. package/coverage/.tmp/coverage-31.json +1 -1
  24. package/coverage/.tmp/coverage-32.json +1 -1
  25. package/coverage/.tmp/coverage-34.json +1 -1
  26. package/coverage/.tmp/coverage-35.json +1 -1
  27. package/coverage/.tmp/coverage-36.json +1 -1
  28. package/coverage/.tmp/coverage-37.json +1 -1
  29. package/coverage/.tmp/coverage-38.json +1 -1
  30. package/coverage/.tmp/coverage-39.json +1 -1
  31. package/coverage/.tmp/coverage-4.json +1 -1
  32. package/coverage/.tmp/coverage-40.json +1 -1
  33. package/coverage/.tmp/coverage-41.json +1 -1
  34. package/coverage/.tmp/coverage-5.json +1 -1
  35. package/coverage/.tmp/coverage-6.json +1 -1
  36. package/coverage/.tmp/coverage-7.json +1 -1
  37. package/coverage/.tmp/coverage-8.json +1 -1
  38. package/coverage/.tmp/coverage-9.json +1 -1
  39. package/lib/cjs/components/PullRefresh/PullRefresh.js +36 -21
  40. package/lib/cjs/components/PullRefresh/PullRefresh.js.map +1 -1
  41. package/lib/esm/components/PullRefresh/PullRefresh.js +36 -21
  42. package/lib/esm/components/PullRefresh/PullRefresh.js.map +1 -1
  43. package/package.json +1 -1
  44. package/src/components/PullRefresh/PullRefresh.tsx +44 -13
@@ -1 +1 @@
1
- {"/builds/fe/infra/reds/packages/reds-rn/src/components/ActionSheets/interface/index.ts":{"path":"/builds/fe/infra/reds/packages/reds-rn/src/components/ActionSheets/interface/index.ts","statementMap":{"0":{"start":{"line":1,"column":40},"end":{"line":6,"column":20}},"1":{"start":{"line":2,"column":2},"end":{"line":2,"column":35}},"2":{"start":{"line":3,"column":2},"end":{"line":3,"column":37}},"3":{"start":{"line":4,"column":2},"end":{"line":4,"column":37}},"4":{"start":{"line":5,"column":2},"end":{"line":5,"column":21}},"5":{"start":{"line":7,"column":40},"end":{"line":13,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":1,"column":41},"end":{"line":1,"column":42}},"loc":{"start":{"line":1,"column":58},"end":{"line":6,"column":1}},"line":1}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":3},"end":{"line":6,"column":19}},"type":"binary-expr","locations":[{"start":{"line":6,"column":3},"end":{"line":6,"column":13}},{"start":{"line":6,"column":17},"end":{"line":6,"column":19}}],"line":6}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1},"f":{"0":1},"b":{"0":[1,1]},"inputSourceMap":{"version":3,"sources":["/builds/fe/infra/reds/packages/reds-rn/src/components/ActionSheets/interface/index.ts"],"sourcesContent":["import { ReactNode } from \"react\";\nimport { ViewStyle } from \"react-native\";\nexport interface ActionItem {\n label?: string;\n desc?: string;\n value: string;\n type?: ActionType;\n children?: ReactNode;\n onChange?: (value: string) => void;\n onClose?: () => void;\n style?: {};\n}\n\nexport const enum ActionType {\n normal = \"normal\",\n invalid = \"invalid\",\n primary = \"primary\",\n}\nexport interface RedsActionSheets {\n data?: ActionItem[];\n description?: string;\n cancelText?: string;\n visible: boolean;\n children?: ReactNode[] | ReactNode;\n onClose: () => any;\n onChange: (value: string) => any;\n cancel?: boolean;\n style?: ViewStyle;\n safeAreaStyle?: object;\n label?: string;\n}\n\nexport interface RedsActionSheetsEvent {}\nexport const ActionSheetsDefaultProps = {\n data: [],\n visible: false,\n cancel: true,\n style: {},\n safeAreaStyle: {},\n};\n"],"mappings":"AAaO,WAAW,aAAX,kBAAWA,gBAAX;AACL,EAAAA,YAAA,YAAS;AACT,EAAAA,YAAA,aAAU;AACV,EAAAA,YAAA,aAAU;AAHM,SAAAA;AAAA,GAAA;AAoBX,aAAM,2BAA2B;AAAA,EACtC,MAAM,CAAC;AAAA,EACP,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,OAAO,CAAC;AAAA,EACR,eAAe,CAAC;AAClB;","names":["ActionType"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"3d57e98be86a72bec3fcaac3a1a9f12f827feb64"}}
1
+ {"/builds/fe/infra/reds/packages/reds-rn/src/components/Result/interface/index.ts":{"path":"/builds/fe/infra/reds/packages/reds-rn/src/components/Result/interface/index.ts","statementMap":{"0":{"start":{"line":1,"column":34},"end":{"line":5,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":1},"f":{},"b":{},"inputSourceMap":{"version":3,"sources":["/builds/fe/infra/reds/packages/reds-rn/src/components/Result/interface/index.ts"],"sourcesContent":["import { ReactNode } from \"react\";\nexport interface RedsResult {\n type?: \"Success\" | \"Warning\" | \"Info\";\n title?: string;\n description?: string;\n action?: ReactNode;\n image?: ReactNode;\n}\n\nexport const ResultDefaultProps = {\n type: \"Success\",\n title: \"\",\n description: \"\",\n};\n"],"mappings":"AASO,aAAM,qBAAqB;AAAA,EAChC,MAAM;AAAA,EACN,OAAO;AAAA,EACP,aAAa;AACf;","names":[]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"c0f65f92a08822d9008c6c1f1b6e41d7eb3260c5"}}
@@ -1 +1 @@
1
- {"/builds/fe/infra/reds/packages/reds-rn/src/components/ProgressIndicator/interface/index.ts":{"path":"/builds/fe/infra/reds/packages/reds-rn/src/components/ProgressIndicator/interface/index.ts","statementMap":{"0":{"start":{"line":1,"column":45},"end":{"line":6,"column":1}},"1":{"start":{"line":4,"column":27},"end":{"line":4,"column":65}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":14},"end":{"line":4,"column":15}},"loc":{"start":{"line":4,"column":27},"end":{"line":4,"column":65}},"line":4}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":27},"end":{"line":4,"column":65}},"type":"cond-expr","locations":[{"start":{"line":4,"column":43},"end":{"line":4,"column":49}},{"start":{"line":4,"column":52},"end":{"line":4,"column":65}}],"line":4}},"s":{"0":1,"1":0},"f":{"0":0},"b":{"0":[0,0]},"inputSourceMap":{"version":3,"sources":["/builds/fe/infra/reds/packages/reds-rn/src/components/ProgressIndicator/interface/index.ts"],"sourcesContent":["import { GestureResponderEvent } from \"react-native\";\nimport { lightColor } from \"@xhs/reds-token-next\";\nexport interface RedsProgressIndicator {\n percent?: number;\n showPercent?: boolean;\n textStyle?: any;\n formatText?: (percent: number) => string;\n size?: number;\n type?: string;\n strokeColor?: \"dark\" | \"light\" | \"primary\";\n strokeWidth?: number;\n lottieSource?: string;\n}\n\nexport interface RedsProgressIndicatorEvent {}\nexport const ProgressIndicatorDefaultProps = {\n percent: 0,\n showPercent: true,\n formatText: (percent: number) => (percent > 100 ? \"100%\" : percent + \"%\"),\n type: \"default\",\n};\n"],"mappings":"AAeO,aAAM,gCAAgC;AAAA,EAC3C,SAAS;AAAA,EACT,aAAa;AAAA,EACb,YAAY,CAAC,YAAqB,UAAU,MAAM,SAAS,UAAU;AAAA,EACrE,MAAM;AACR;","names":[]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"bb5c985532efe785d8fa6e31c798d36b6d368756"},"/builds/fe/infra/reds/packages/reds-rn/src/components/ProgressIndicator/lottie/index.ts":{"path":"/builds/fe/infra/reds/packages/reds-rn/src/components/ProgressIndicator/lottie/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{},"inputSourceMap":{"version":3,"sources":["/builds/fe/infra/reds/packages/reds-rn/src/components/ProgressIndicator/lottie/index.ts"],"sourcesContent":["import pullup from \"./pullup.json\";\nimport pullup_dark from \"./pullup_dark.json\";\nimport refresh from \"./refresh.json\";\nimport refresh_dark from \"./refresh_dark.json\";\nimport refresh_primary from \"./refresh_primary.json\";\nimport progress_loading from \"./progress_loading.json\";\nimport progress_loading_dark from \"./progress_loading_dark.json\";\nimport progress_loading_primary from \"./progress_loading_primary.json\";\nimport loading from \"./loading.json\";\nimport loading_dark from \"./loading_dark.json\";\nimport loading_primary from \"./loading_primary.json\";\n\nexport default {\n pullup,\n pullup_dark,\n refresh,\n refresh_dark,\n refresh_primary,\n progress_loading,\n progress_loading_dark,\n progress_loading_primary,\n loading,\n loading_dark,\n loading_primary,\n} as const;\n"],"mappings":"AAAA,OAAO,YAAY;AACnB,OAAO,iBAAiB;AACxB,OAAO,aAAa;AACpB,OAAO,kBAAkB;AACzB,OAAO,qBAAqB;AAC5B,OAAO,sBAAsB;AAC7B,OAAO,2BAA2B;AAClC,OAAO,8BAA8B;AACrC,OAAO,aAAa;AACpB,OAAO,kBAAkB;AACzB,OAAO,qBAAqB;AAE5B,eAAe;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;","names":[]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"ab8b6deb723185630266ac2d259f0812fe9ab9b3"},"/builds/fe/infra/reds/packages/reds-rn/src/components/ProgressIndicator/lottie/getLottieSource.ts":{"path":"/builds/fe/infra/reds/packages/reds-rn/src/components/ProgressIndicator/lottie/getLottieSource.ts","statementMap":{"0":{"start":{"line":2,"column":21},"end":{"line":22,"column":1}},"1":{"start":{"line":23,"column":31},"end":{"line":25,"column":1}},"2":{"start":{"line":24,"column":2},"end":{"line":24,"column":28}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":23,"column":31},"end":{"line":23,"column":32}},"loc":{"start":{"line":23,"column":41},"end":{"line":25,"column":1}},"line":23}},"branchMap":{},"s":{"0":1,"1":1,"2":0},"f":{"0":0},"b":{},"inputSourceMap":{"version":3,"sources":["/builds/fe/infra/reds/packages/reds-rn/src/components/ProgressIndicator/lottie/getLottieSource.ts"],"sourcesContent":["import LottieSource from \"./index\";\n\ntype TLottieSourceType = \"pullup\" | \"progress\" | \"refresh\" | \"default\";\n\nconst lottieSource = {\n pullup: {\n dark: LottieSource.pullup_dark,\n light: LottieSource.pullup,\n },\n progress: {\n dark: LottieSource.progress_loading_dark,\n light: LottieSource.progress_loading,\n primary: LottieSource.progress_loading_primary,\n },\n default: {\n dark: LottieSource.loading_dark,\n light: LottieSource.loading,\n primary: LottieSource.loading_primary,\n },\n refresh: {\n dark: LottieSource.refresh_dark,\n light: LottieSource.refresh,\n primary: LottieSource.refresh_primary,\n },\n};\n\nexport const getLottieSource = (type: TLottieSourceType): any => {\n return lottieSource[type];\n};\n"],"mappings":"AAAA,OAAO,kBAAkB;AAIzB,MAAM,eAAe;AAAA,EACnB,QAAQ;AAAA,IACN,MAAM,aAAa;AAAA,IACnB,OAAO,aAAa;AAAA,EACtB;AAAA,EACA,UAAU;AAAA,IACR,MAAM,aAAa;AAAA,IACnB,OAAO,aAAa;AAAA,IACpB,SAAS,aAAa;AAAA,EACxB;AAAA,EACA,SAAS;AAAA,IACP,MAAM,aAAa;AAAA,IACnB,OAAO,aAAa;AAAA,IACpB,SAAS,aAAa;AAAA,EACxB;AAAA,EACA,SAAS;AAAA,IACP,MAAM,aAAa;AAAA,IACnB,OAAO,aAAa;AAAA,IACpB,SAAS,aAAa;AAAA,EACxB;AACF;AAEO,aAAM,kBAAkB,CAAC,SAAiC;AAC/D,SAAO,aAAa,IAAI;AAC1B;","names":[]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"89cdebfd40dc1ef4ebb208309314cb9784782eaa"}}
1
+ {"/builds/fe/infra/reds/packages/reds-rn/src/components/PullRefresh/interface/index.ts":{"path":"/builds/fe/infra/reds/packages/reds-rn/src/components/PullRefresh/interface/index.ts","statementMap":{"0":{"start":{"line":1,"column":39},"end":{"line":8,"column":19}},"1":{"start":{"line":2,"column":2},"end":{"line":2,"column":46}},"2":{"start":{"line":3,"column":2},"end":{"line":3,"column":50}},"3":{"start":{"line":4,"column":2},"end":{"line":4,"column":52}},"4":{"start":{"line":5,"column":2},"end":{"line":5,"column":52}},"5":{"start":{"line":6,"column":2},"end":{"line":6,"column":52}},"6":{"start":{"line":7,"column":2},"end":{"line":7,"column":20}},"7":{"start":{"line":9,"column":39},"end":{"line":20,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":1,"column":40},"end":{"line":1,"column":41}},"loc":{"start":{"line":1,"column":56},"end":{"line":8,"column":1}},"line":1}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":3},"end":{"line":8,"column":18}},"type":"binary-expr","locations":[{"start":{"line":8,"column":3},"end":{"line":8,"column":12}},{"start":{"line":8,"column":16},"end":{"line":8,"column":18}}],"line":8}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1},"f":{"0":1},"b":{"0":[1,1]},"inputSourceMap":{"version":3,"sources":["/builds/fe/infra/reds/packages/reds-rn/src/components/PullRefresh/interface/index.ts"],"sourcesContent":["import type { RefreshControlProps } from \"react-native\";\nimport { ViewStyle } from \"react-native\";\nexport interface RedsPullRefresh {\n children: React.ReactNode;\n pullAnimHeight?: number;\n minPullDistance?: number;\n msHoldingTime?: number;\n isRefreshing: boolean;\n pullDownToRefreshText?: string;\n releaseRefreshText?: string;\n requestDataText?: string;\n requestSuccessfulText?: string;\n style?: ViewStyle;\n controlStyle?: ViewStyle;\n onRequest?: () => void;\n showText?: boolean;\n initRefresh?: boolean;\n refresh?: boolean;\n nativeAndroidPullRefresh?: boolean;\n androidRefreshProps?: Object;\n androidColors?: string[];\n}\n\nexport enum PullState {\n INIT, // 初始化\n FINISH, // 结束\n PULLING, // 下拉中\n LOADING, // 请求数据中\n HOLDING, // 请求完数据的停留状态\n}\n\nexport interface RedsPullRefreshEvent {}\nexport const PullRefreshDefaultProps = {\n children: undefined,\n pullAnimHeight: 0,\n minPullDistance: 20,\n msHoldingTime: 1000,\n isRefreshing: false,\n showText: true,\n initRefresh: false,\n refresh: false,\n nativeAndroidPullRefresh: false,\n androidRefreshProps: {},\n};\n"],"mappings":"AAuBO,WAAK,YAAL,kBAAKA,eAAL;AACL,EAAAA,sBAAA;AACA,EAAAA,sBAAA;AACA,EAAAA,sBAAA;AACA,EAAAA,sBAAA;AACA,EAAAA,sBAAA;AALU,SAAAA;AAAA,GAAA;AASL,aAAM,0BAA0B;AAAA,EACrC,UAAU;AAAA,EACV,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,eAAe;AAAA,EACf,cAAc;AAAA,EACd,UAAU;AAAA,EACV,aAAa;AAAA,EACb,SAAS;AAAA,EACT,0BAA0B;AAAA,EAC1B,qBAAqB,CAAC;AACxB;","names":["PullState"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"17d63b8c4f2770430fdc1bb3936f362a131c032a"},"/builds/fe/infra/reds/packages/reds-rn/src/components/ProgressIndicator/interface/index.ts":{"path":"/builds/fe/infra/reds/packages/reds-rn/src/components/ProgressIndicator/interface/index.ts","statementMap":{"0":{"start":{"line":1,"column":45},"end":{"line":6,"column":1}},"1":{"start":{"line":4,"column":27},"end":{"line":4,"column":65}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":14},"end":{"line":4,"column":15}},"loc":{"start":{"line":4,"column":27},"end":{"line":4,"column":65}},"line":4}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":27},"end":{"line":4,"column":65}},"type":"cond-expr","locations":[{"start":{"line":4,"column":43},"end":{"line":4,"column":49}},{"start":{"line":4,"column":52},"end":{"line":4,"column":65}}],"line":4}},"s":{"0":1,"1":0},"f":{"0":0},"b":{"0":[0,0]},"inputSourceMap":{"version":3,"sources":["/builds/fe/infra/reds/packages/reds-rn/src/components/ProgressIndicator/interface/index.ts"],"sourcesContent":["import { GestureResponderEvent } from \"react-native\";\nimport { lightColor } from \"@xhs/reds-token-next\";\nexport interface RedsProgressIndicator {\n percent?: number;\n showPercent?: boolean;\n textStyle?: any;\n formatText?: (percent: number) => string;\n size?: number;\n type?: string;\n strokeColor?: \"dark\" | \"light\" | \"primary\";\n strokeWidth?: number;\n lottieSource?: string;\n}\n\nexport interface RedsProgressIndicatorEvent {}\nexport const ProgressIndicatorDefaultProps = {\n percent: 0,\n showPercent: true,\n formatText: (percent: number) => (percent > 100 ? \"100%\" : percent + \"%\"),\n type: \"default\",\n};\n"],"mappings":"AAeO,aAAM,gCAAgC;AAAA,EAC3C,SAAS;AAAA,EACT,aAAa;AAAA,EACb,YAAY,CAAC,YAAqB,UAAU,MAAM,SAAS,UAAU;AAAA,EACrE,MAAM;AACR;","names":[]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"bb5c985532efe785d8fa6e31c798d36b6d368756"},"/builds/fe/infra/reds/packages/reds-rn/src/components/ProgressIndicator/lottie/index.ts":{"path":"/builds/fe/infra/reds/packages/reds-rn/src/components/ProgressIndicator/lottie/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{},"inputSourceMap":{"version":3,"sources":["/builds/fe/infra/reds/packages/reds-rn/src/components/ProgressIndicator/lottie/index.ts"],"sourcesContent":["import pullup from \"./pullup.json\";\nimport pullup_dark from \"./pullup_dark.json\";\nimport refresh from \"./refresh.json\";\nimport refresh_dark from \"./refresh_dark.json\";\nimport refresh_primary from \"./refresh_primary.json\";\nimport progress_loading from \"./progress_loading.json\";\nimport progress_loading_dark from \"./progress_loading_dark.json\";\nimport progress_loading_primary from \"./progress_loading_primary.json\";\nimport loading from \"./loading.json\";\nimport loading_dark from \"./loading_dark.json\";\nimport loading_primary from \"./loading_primary.json\";\n\nexport default {\n pullup,\n pullup_dark,\n refresh,\n refresh_dark,\n refresh_primary,\n progress_loading,\n progress_loading_dark,\n progress_loading_primary,\n loading,\n loading_dark,\n loading_primary,\n} as const;\n"],"mappings":"AAAA,OAAO,YAAY;AACnB,OAAO,iBAAiB;AACxB,OAAO,aAAa;AACpB,OAAO,kBAAkB;AACzB,OAAO,qBAAqB;AAC5B,OAAO,sBAAsB;AAC7B,OAAO,2BAA2B;AAClC,OAAO,8BAA8B;AACrC,OAAO,aAAa;AACpB,OAAO,kBAAkB;AACzB,OAAO,qBAAqB;AAE5B,eAAe;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;","names":[]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"ab8b6deb723185630266ac2d259f0812fe9ab9b3"},"/builds/fe/infra/reds/packages/reds-rn/src/components/ProgressIndicator/lottie/getLottieSource.ts":{"path":"/builds/fe/infra/reds/packages/reds-rn/src/components/ProgressIndicator/lottie/getLottieSource.ts","statementMap":{"0":{"start":{"line":2,"column":21},"end":{"line":22,"column":1}},"1":{"start":{"line":23,"column":31},"end":{"line":25,"column":1}},"2":{"start":{"line":24,"column":2},"end":{"line":24,"column":28}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":23,"column":31},"end":{"line":23,"column":32}},"loc":{"start":{"line":23,"column":41},"end":{"line":25,"column":1}},"line":23}},"branchMap":{},"s":{"0":1,"1":1,"2":0},"f":{"0":0},"b":{},"inputSourceMap":{"version":3,"sources":["/builds/fe/infra/reds/packages/reds-rn/src/components/ProgressIndicator/lottie/getLottieSource.ts"],"sourcesContent":["import LottieSource from \"./index\";\n\ntype TLottieSourceType = \"pullup\" | \"progress\" | \"refresh\" | \"default\";\n\nconst lottieSource = {\n pullup: {\n dark: LottieSource.pullup_dark,\n light: LottieSource.pullup,\n },\n progress: {\n dark: LottieSource.progress_loading_dark,\n light: LottieSource.progress_loading,\n primary: LottieSource.progress_loading_primary,\n },\n default: {\n dark: LottieSource.loading_dark,\n light: LottieSource.loading,\n primary: LottieSource.loading_primary,\n },\n refresh: {\n dark: LottieSource.refresh_dark,\n light: LottieSource.refresh,\n primary: LottieSource.refresh_primary,\n },\n};\n\nexport const getLottieSource = (type: TLottieSourceType): any => {\n return lottieSource[type];\n};\n"],"mappings":"AAAA,OAAO,kBAAkB;AAIzB,MAAM,eAAe;AAAA,EACnB,QAAQ;AAAA,IACN,MAAM,aAAa;AAAA,IACnB,OAAO,aAAa;AAAA,EACtB;AAAA,EACA,UAAU;AAAA,IACR,MAAM,aAAa;AAAA,IACnB,OAAO,aAAa;AAAA,IACpB,SAAS,aAAa;AAAA,EACxB;AAAA,EACA,SAAS;AAAA,IACP,MAAM,aAAa;AAAA,IACnB,OAAO,aAAa;AAAA,IACpB,SAAS,aAAa;AAAA,EACxB;AAAA,EACA,SAAS;AAAA,IACP,MAAM,aAAa;AAAA,IACnB,OAAO,aAAa;AAAA,IACpB,SAAS,aAAa;AAAA,EACxB;AACF;AAEO,aAAM,kBAAkB,CAAC,SAAiC;AAC/D,SAAO,aAAa,IAAI;AAC1B;","names":[]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"89cdebfd40dc1ef4ebb208309314cb9784782eaa"}}
@@ -1 +1 @@
1
- {"/builds/fe/infra/reds/packages/reds-rn/src/components/PullRefresh/interface/index.ts":{"path":"/builds/fe/infra/reds/packages/reds-rn/src/components/PullRefresh/interface/index.ts","statementMap":{"0":{"start":{"line":1,"column":39},"end":{"line":8,"column":19}},"1":{"start":{"line":2,"column":2},"end":{"line":2,"column":46}},"2":{"start":{"line":3,"column":2},"end":{"line":3,"column":50}},"3":{"start":{"line":4,"column":2},"end":{"line":4,"column":52}},"4":{"start":{"line":5,"column":2},"end":{"line":5,"column":52}},"5":{"start":{"line":6,"column":2},"end":{"line":6,"column":52}},"6":{"start":{"line":7,"column":2},"end":{"line":7,"column":20}},"7":{"start":{"line":9,"column":39},"end":{"line":20,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":1,"column":40},"end":{"line":1,"column":41}},"loc":{"start":{"line":1,"column":56},"end":{"line":8,"column":1}},"line":1}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":3},"end":{"line":8,"column":18}},"type":"binary-expr","locations":[{"start":{"line":8,"column":3},"end":{"line":8,"column":12}},{"start":{"line":8,"column":16},"end":{"line":8,"column":18}}],"line":8}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1},"f":{"0":1},"b":{"0":[1,1]},"inputSourceMap":{"version":3,"sources":["/builds/fe/infra/reds/packages/reds-rn/src/components/PullRefresh/interface/index.ts"],"sourcesContent":["import type { RefreshControlProps } from \"react-native\";\nimport { ViewStyle } from \"react-native\";\nexport interface RedsPullRefresh {\n children: React.ReactNode;\n pullAnimHeight?: number;\n minPullDistance?: number;\n msHoldingTime?: number;\n isRefreshing: boolean;\n pullDownToRefreshText?: string;\n releaseRefreshText?: string;\n requestDataText?: string;\n requestSuccessfulText?: string;\n style?: ViewStyle;\n controlStyle?: ViewStyle;\n onRequest?: () => void;\n showText?: boolean;\n initRefresh?: boolean;\n refresh?: boolean;\n nativeAndroidPullRefresh?: boolean;\n androidRefreshProps?: Object;\n androidColors?: string[];\n}\n\nexport enum PullState {\n INIT, // 初始化\n FINISH, // 结束\n PULLING, // 下拉中\n LOADING, // 请求数据中\n HOLDING, // 请求完数据的停留状态\n}\n\nexport interface RedsPullRefreshEvent {}\nexport const PullRefreshDefaultProps = {\n children: undefined,\n pullAnimHeight: 0,\n minPullDistance: 20,\n msHoldingTime: 1000,\n isRefreshing: false,\n showText: true,\n initRefresh: false,\n refresh: false,\n nativeAndroidPullRefresh: false,\n androidRefreshProps: {},\n};\n"],"mappings":"AAuBO,WAAK,YAAL,kBAAKA,eAAL;AACL,EAAAA,sBAAA;AACA,EAAAA,sBAAA;AACA,EAAAA,sBAAA;AACA,EAAAA,sBAAA;AACA,EAAAA,sBAAA;AALU,SAAAA;AAAA,GAAA;AASL,aAAM,0BAA0B;AAAA,EACrC,UAAU;AAAA,EACV,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,eAAe;AAAA,EACf,cAAc;AAAA,EACd,UAAU;AAAA,EACV,aAAa;AAAA,EACb,SAAS;AAAA,EACT,0BAA0B;AAAA,EAC1B,qBAAqB,CAAC;AACxB;","names":["PullState"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"17d63b8c4f2770430fdc1bb3936f362a131c032a"},"/builds/fe/infra/reds/packages/reds-rn/src/components/ProgressIndicator/interface/index.ts":{"path":"/builds/fe/infra/reds/packages/reds-rn/src/components/ProgressIndicator/interface/index.ts","statementMap":{"0":{"start":{"line":1,"column":45},"end":{"line":6,"column":1}},"1":{"start":{"line":4,"column":27},"end":{"line":4,"column":65}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":14},"end":{"line":4,"column":15}},"loc":{"start":{"line":4,"column":27},"end":{"line":4,"column":65}},"line":4}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":27},"end":{"line":4,"column":65}},"type":"cond-expr","locations":[{"start":{"line":4,"column":43},"end":{"line":4,"column":49}},{"start":{"line":4,"column":52},"end":{"line":4,"column":65}}],"line":4}},"s":{"0":1,"1":0},"f":{"0":0},"b":{"0":[0,0]},"inputSourceMap":{"version":3,"sources":["/builds/fe/infra/reds/packages/reds-rn/src/components/ProgressIndicator/interface/index.ts"],"sourcesContent":["import { GestureResponderEvent } from \"react-native\";\nimport { lightColor } from \"@xhs/reds-token-next\";\nexport interface RedsProgressIndicator {\n percent?: number;\n showPercent?: boolean;\n textStyle?: any;\n formatText?: (percent: number) => string;\n size?: number;\n type?: string;\n strokeColor?: \"dark\" | \"light\" | \"primary\";\n strokeWidth?: number;\n lottieSource?: string;\n}\n\nexport interface RedsProgressIndicatorEvent {}\nexport const ProgressIndicatorDefaultProps = {\n percent: 0,\n showPercent: true,\n formatText: (percent: number) => (percent > 100 ? \"100%\" : percent + \"%\"),\n type: \"default\",\n};\n"],"mappings":"AAeO,aAAM,gCAAgC;AAAA,EAC3C,SAAS;AAAA,EACT,aAAa;AAAA,EACb,YAAY,CAAC,YAAqB,UAAU,MAAM,SAAS,UAAU;AAAA,EACrE,MAAM;AACR;","names":[]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"bb5c985532efe785d8fa6e31c798d36b6d368756"},"/builds/fe/infra/reds/packages/reds-rn/src/components/ProgressIndicator/lottie/index.ts":{"path":"/builds/fe/infra/reds/packages/reds-rn/src/components/ProgressIndicator/lottie/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{},"inputSourceMap":{"version":3,"sources":["/builds/fe/infra/reds/packages/reds-rn/src/components/ProgressIndicator/lottie/index.ts"],"sourcesContent":["import pullup from \"./pullup.json\";\nimport pullup_dark from \"./pullup_dark.json\";\nimport refresh from \"./refresh.json\";\nimport refresh_dark from \"./refresh_dark.json\";\nimport refresh_primary from \"./refresh_primary.json\";\nimport progress_loading from \"./progress_loading.json\";\nimport progress_loading_dark from \"./progress_loading_dark.json\";\nimport progress_loading_primary from \"./progress_loading_primary.json\";\nimport loading from \"./loading.json\";\nimport loading_dark from \"./loading_dark.json\";\nimport loading_primary from \"./loading_primary.json\";\n\nexport default {\n pullup,\n pullup_dark,\n refresh,\n refresh_dark,\n refresh_primary,\n progress_loading,\n progress_loading_dark,\n progress_loading_primary,\n loading,\n loading_dark,\n loading_primary,\n} as const;\n"],"mappings":"AAAA,OAAO,YAAY;AACnB,OAAO,iBAAiB;AACxB,OAAO,aAAa;AACpB,OAAO,kBAAkB;AACzB,OAAO,qBAAqB;AAC5B,OAAO,sBAAsB;AAC7B,OAAO,2BAA2B;AAClC,OAAO,8BAA8B;AACrC,OAAO,aAAa;AACpB,OAAO,kBAAkB;AACzB,OAAO,qBAAqB;AAE5B,eAAe;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;","names":[]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"ab8b6deb723185630266ac2d259f0812fe9ab9b3"},"/builds/fe/infra/reds/packages/reds-rn/src/components/ProgressIndicator/lottie/getLottieSource.ts":{"path":"/builds/fe/infra/reds/packages/reds-rn/src/components/ProgressIndicator/lottie/getLottieSource.ts","statementMap":{"0":{"start":{"line":2,"column":21},"end":{"line":22,"column":1}},"1":{"start":{"line":23,"column":31},"end":{"line":25,"column":1}},"2":{"start":{"line":24,"column":2},"end":{"line":24,"column":28}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":23,"column":31},"end":{"line":23,"column":32}},"loc":{"start":{"line":23,"column":41},"end":{"line":25,"column":1}},"line":23}},"branchMap":{},"s":{"0":1,"1":1,"2":0},"f":{"0":0},"b":{},"inputSourceMap":{"version":3,"sources":["/builds/fe/infra/reds/packages/reds-rn/src/components/ProgressIndicator/lottie/getLottieSource.ts"],"sourcesContent":["import LottieSource from \"./index\";\n\ntype TLottieSourceType = \"pullup\" | \"progress\" | \"refresh\" | \"default\";\n\nconst lottieSource = {\n pullup: {\n dark: LottieSource.pullup_dark,\n light: LottieSource.pullup,\n },\n progress: {\n dark: LottieSource.progress_loading_dark,\n light: LottieSource.progress_loading,\n primary: LottieSource.progress_loading_primary,\n },\n default: {\n dark: LottieSource.loading_dark,\n light: LottieSource.loading,\n primary: LottieSource.loading_primary,\n },\n refresh: {\n dark: LottieSource.refresh_dark,\n light: LottieSource.refresh,\n primary: LottieSource.refresh_primary,\n },\n};\n\nexport const getLottieSource = (type: TLottieSourceType): any => {\n return lottieSource[type];\n};\n"],"mappings":"AAAA,OAAO,kBAAkB;AAIzB,MAAM,eAAe;AAAA,EACnB,QAAQ;AAAA,IACN,MAAM,aAAa;AAAA,IACnB,OAAO,aAAa;AAAA,EACtB;AAAA,EACA,UAAU;AAAA,IACR,MAAM,aAAa;AAAA,IACnB,OAAO,aAAa;AAAA,IACpB,SAAS,aAAa;AAAA,EACxB;AAAA,EACA,SAAS;AAAA,IACP,MAAM,aAAa;AAAA,IACnB,OAAO,aAAa;AAAA,IACpB,SAAS,aAAa;AAAA,EACxB;AAAA,EACA,SAAS;AAAA,IACP,MAAM,aAAa;AAAA,IACnB,OAAO,aAAa;AAAA,IACpB,SAAS,aAAa;AAAA,EACxB;AACF;AAEO,aAAM,kBAAkB,CAAC,SAAiC;AAC/D,SAAO,aAAa,IAAI;AAC1B;","names":[]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"89cdebfd40dc1ef4ebb208309314cb9784782eaa"}}
1
+ {"/builds/fe/infra/reds/packages/reds-rn/src/components/ProgressIndicator/interface/index.ts":{"path":"/builds/fe/infra/reds/packages/reds-rn/src/components/ProgressIndicator/interface/index.ts","statementMap":{"0":{"start":{"line":1,"column":45},"end":{"line":6,"column":1}},"1":{"start":{"line":4,"column":27},"end":{"line":4,"column":65}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":14},"end":{"line":4,"column":15}},"loc":{"start":{"line":4,"column":27},"end":{"line":4,"column":65}},"line":4}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":27},"end":{"line":4,"column":65}},"type":"cond-expr","locations":[{"start":{"line":4,"column":43},"end":{"line":4,"column":49}},{"start":{"line":4,"column":52},"end":{"line":4,"column":65}}],"line":4}},"s":{"0":1,"1":0},"f":{"0":0},"b":{"0":[0,0]},"inputSourceMap":{"version":3,"sources":["/builds/fe/infra/reds/packages/reds-rn/src/components/ProgressIndicator/interface/index.ts"],"sourcesContent":["import { GestureResponderEvent } from \"react-native\";\nimport { lightColor } from \"@xhs/reds-token-next\";\nexport interface RedsProgressIndicator {\n percent?: number;\n showPercent?: boolean;\n textStyle?: any;\n formatText?: (percent: number) => string;\n size?: number;\n type?: string;\n strokeColor?: \"dark\" | \"light\" | \"primary\";\n strokeWidth?: number;\n lottieSource?: string;\n}\n\nexport interface RedsProgressIndicatorEvent {}\nexport const ProgressIndicatorDefaultProps = {\n percent: 0,\n showPercent: true,\n formatText: (percent: number) => (percent > 100 ? \"100%\" : percent + \"%\"),\n type: \"default\",\n};\n"],"mappings":"AAeO,aAAM,gCAAgC;AAAA,EAC3C,SAAS;AAAA,EACT,aAAa;AAAA,EACb,YAAY,CAAC,YAAqB,UAAU,MAAM,SAAS,UAAU;AAAA,EACrE,MAAM;AACR;","names":[]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"bb5c985532efe785d8fa6e31c798d36b6d368756"},"/builds/fe/infra/reds/packages/reds-rn/src/components/ProgressIndicator/lottie/index.ts":{"path":"/builds/fe/infra/reds/packages/reds-rn/src/components/ProgressIndicator/lottie/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{},"inputSourceMap":{"version":3,"sources":["/builds/fe/infra/reds/packages/reds-rn/src/components/ProgressIndicator/lottie/index.ts"],"sourcesContent":["import pullup from \"./pullup.json\";\nimport pullup_dark from \"./pullup_dark.json\";\nimport refresh from \"./refresh.json\";\nimport refresh_dark from \"./refresh_dark.json\";\nimport refresh_primary from \"./refresh_primary.json\";\nimport progress_loading from \"./progress_loading.json\";\nimport progress_loading_dark from \"./progress_loading_dark.json\";\nimport progress_loading_primary from \"./progress_loading_primary.json\";\nimport loading from \"./loading.json\";\nimport loading_dark from \"./loading_dark.json\";\nimport loading_primary from \"./loading_primary.json\";\n\nexport default {\n pullup,\n pullup_dark,\n refresh,\n refresh_dark,\n refresh_primary,\n progress_loading,\n progress_loading_dark,\n progress_loading_primary,\n loading,\n loading_dark,\n loading_primary,\n} as const;\n"],"mappings":"AAAA,OAAO,YAAY;AACnB,OAAO,iBAAiB;AACxB,OAAO,aAAa;AACpB,OAAO,kBAAkB;AACzB,OAAO,qBAAqB;AAC5B,OAAO,sBAAsB;AAC7B,OAAO,2BAA2B;AAClC,OAAO,8BAA8B;AACrC,OAAO,aAAa;AACpB,OAAO,kBAAkB;AACzB,OAAO,qBAAqB;AAE5B,eAAe;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;","names":[]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"ab8b6deb723185630266ac2d259f0812fe9ab9b3"},"/builds/fe/infra/reds/packages/reds-rn/src/components/ProgressIndicator/lottie/getLottieSource.ts":{"path":"/builds/fe/infra/reds/packages/reds-rn/src/components/ProgressIndicator/lottie/getLottieSource.ts","statementMap":{"0":{"start":{"line":2,"column":21},"end":{"line":22,"column":1}},"1":{"start":{"line":23,"column":31},"end":{"line":25,"column":1}},"2":{"start":{"line":24,"column":2},"end":{"line":24,"column":28}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":23,"column":31},"end":{"line":23,"column":32}},"loc":{"start":{"line":23,"column":41},"end":{"line":25,"column":1}},"line":23}},"branchMap":{},"s":{"0":1,"1":1,"2":0},"f":{"0":0},"b":{},"inputSourceMap":{"version":3,"sources":["/builds/fe/infra/reds/packages/reds-rn/src/components/ProgressIndicator/lottie/getLottieSource.ts"],"sourcesContent":["import LottieSource from \"./index\";\n\ntype TLottieSourceType = \"pullup\" | \"progress\" | \"refresh\" | \"default\";\n\nconst lottieSource = {\n pullup: {\n dark: LottieSource.pullup_dark,\n light: LottieSource.pullup,\n },\n progress: {\n dark: LottieSource.progress_loading_dark,\n light: LottieSource.progress_loading,\n primary: LottieSource.progress_loading_primary,\n },\n default: {\n dark: LottieSource.loading_dark,\n light: LottieSource.loading,\n primary: LottieSource.loading_primary,\n },\n refresh: {\n dark: LottieSource.refresh_dark,\n light: LottieSource.refresh,\n primary: LottieSource.refresh_primary,\n },\n};\n\nexport const getLottieSource = (type: TLottieSourceType): any => {\n return lottieSource[type];\n};\n"],"mappings":"AAAA,OAAO,kBAAkB;AAIzB,MAAM,eAAe;AAAA,EACnB,QAAQ;AAAA,IACN,MAAM,aAAa;AAAA,IACnB,OAAO,aAAa;AAAA,EACtB;AAAA,EACA,UAAU;AAAA,IACR,MAAM,aAAa;AAAA,IACnB,OAAO,aAAa;AAAA,IACpB,SAAS,aAAa;AAAA,EACxB;AAAA,EACA,SAAS;AAAA,IACP,MAAM,aAAa;AAAA,IACnB,OAAO,aAAa;AAAA,IACpB,SAAS,aAAa;AAAA,EACxB;AAAA,EACA,SAAS;AAAA,IACP,MAAM,aAAa;AAAA,IACnB,OAAO,aAAa;AAAA,IACpB,SAAS,aAAa;AAAA,EACxB;AACF;AAEO,aAAM,kBAAkB,CAAC,SAAiC;AAC/D,SAAO,aAAa,IAAI;AAC1B;","names":[]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"89cdebfd40dc1ef4ebb208309314cb9784782eaa"}}
@@ -1 +1 @@
1
- {"/builds/fe/infra/reds/packages/reds-rn/src/components/Badge/interface/index.ts":{"path":"/builds/fe/infra/reds/packages/reds-rn/src/components/Badge/interface/index.ts","statementMap":{"0":{"start":{"line":1,"column":33},"end":{"line":10,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":1},"f":{},"b":{},"inputSourceMap":{"version":3,"sources":["/builds/fe/infra/reds/packages/reds-rn/src/components/Badge/interface/index.ts"],"sourcesContent":["import { GestureResponderEvent } from \"react-native\";\nimport { lightColor } from \"@xhs/reds-token-next\";\nexport interface RedsBadge {\n content?: number | string;\n color?: string;\n dot?: boolean;\n max?: number | string;\n offset?: [number | string, number | string];\n showZero?: boolean;\n position?: \"topLeft\" | \"centerLeft\" | \"centerRight\" | \"topCenter\" | \"centerCenter\";\n children?: any;\n}\n\nexport interface RedsBadgeEvent {}\nexport const BadgeDefaultProps = {\n content: undefined,\n color: undefined,\n dot: false,\n max: undefined,\n offset: undefined,\n showZero: true,\n position: \"topLeft\",\n children: undefined,\n};\n"],"mappings":"AAcO,aAAM,oBAAoB;AAAA,EAC/B,SAAS;AAAA,EACT,OAAO;AAAA,EACP,KAAK;AAAA,EACL,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AACZ;","names":[]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"4a7de1e70bcb88874b26f4354b9147824dc8d870"}}
1
+ {"/builds/fe/infra/reds/packages/reds-rn/src/components/ActionSheets/interface/index.ts":{"path":"/builds/fe/infra/reds/packages/reds-rn/src/components/ActionSheets/interface/index.ts","statementMap":{"0":{"start":{"line":1,"column":40},"end":{"line":6,"column":20}},"1":{"start":{"line":2,"column":2},"end":{"line":2,"column":35}},"2":{"start":{"line":3,"column":2},"end":{"line":3,"column":37}},"3":{"start":{"line":4,"column":2},"end":{"line":4,"column":37}},"4":{"start":{"line":5,"column":2},"end":{"line":5,"column":21}},"5":{"start":{"line":7,"column":40},"end":{"line":13,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":1,"column":41},"end":{"line":1,"column":42}},"loc":{"start":{"line":1,"column":58},"end":{"line":6,"column":1}},"line":1}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":3},"end":{"line":6,"column":19}},"type":"binary-expr","locations":[{"start":{"line":6,"column":3},"end":{"line":6,"column":13}},{"start":{"line":6,"column":17},"end":{"line":6,"column":19}}],"line":6}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1},"f":{"0":1},"b":{"0":[1,1]},"inputSourceMap":{"version":3,"sources":["/builds/fe/infra/reds/packages/reds-rn/src/components/ActionSheets/interface/index.ts"],"sourcesContent":["import { ReactNode } from \"react\";\nimport { ViewStyle } from \"react-native\";\nexport interface ActionItem {\n label?: string;\n desc?: string;\n value: string;\n type?: ActionType;\n children?: ReactNode;\n onChange?: (value: string) => void;\n onClose?: () => void;\n style?: {};\n}\n\nexport const enum ActionType {\n normal = \"normal\",\n invalid = \"invalid\",\n primary = \"primary\",\n}\nexport interface RedsActionSheets {\n data?: ActionItem[];\n description?: string;\n cancelText?: string;\n visible: boolean;\n children?: ReactNode[] | ReactNode;\n onClose: () => any;\n onChange: (value: string) => any;\n cancel?: boolean;\n style?: ViewStyle;\n safeAreaStyle?: object;\n label?: string;\n}\n\nexport interface RedsActionSheetsEvent {}\nexport const ActionSheetsDefaultProps = {\n data: [],\n visible: false,\n cancel: true,\n style: {},\n safeAreaStyle: {},\n};\n"],"mappings":"AAaO,WAAW,aAAX,kBAAWA,gBAAX;AACL,EAAAA,YAAA,YAAS;AACT,EAAAA,YAAA,aAAU;AACV,EAAAA,YAAA,aAAU;AAHM,SAAAA;AAAA,GAAA;AAoBX,aAAM,2BAA2B;AAAA,EACtC,MAAM,CAAC;AAAA,EACP,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,OAAO,CAAC;AAAA,EACR,eAAe,CAAC;AAClB;","names":["ActionType"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"3d57e98be86a72bec3fcaac3a1a9f12f827feb64"}}
@@ -1 +1 @@
1
- {"/builds/fe/infra/reds/packages/reds-rn/src/components/Switch/interface/index.ts":{"path":"/builds/fe/infra/reds/packages/reds-rn/src/components/Switch/interface/index.ts","statementMap":{"0":{"start":{"line":1,"column":34},"end":{"line":9,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":1},"f":{},"b":{},"inputSourceMap":{"version":3,"sources":["/builds/fe/infra/reds/packages/reds-rn/src/components/Switch/interface/index.ts"],"sourcesContent":["import { GestureResponderEvent } from \"react-native\";\ninterface hitSlop {\n top?: number;\n bottom?: number;\n left?: number;\n right?: number;\n}\nexport interface RedsSwitch {\n value?: boolean;\n modelValue?: boolean;\n defaultValue?: boolean;\n disabled?: boolean;\n trackOnColor?: string;\n trackOffColor?: string;\n onChange?: (value: boolean) => any;\n onClick?: (value: GestureResponderEvent) => any;\n isControl?: boolean;\n hitSlop?: hitSlop;\n isAnimated?: boolean;\n width?: number;\n height?: number;\n thumbWidth?: number;\n}\n\nexport interface RedsSwitchEvent {}\nexport const SwitchDefaultProps = {\n value: undefined,\n modelValue: undefined,\n defaultValue: false,\n disabled: false,\n isControl: true,\n hitSlop: {},\n isAnimated: true,\n};\n"],"mappings":"AAyBO,aAAM,qBAAqB;AAAA,EAChC,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,UAAU;AAAA,EACV,WAAW;AAAA,EACX,SAAS,CAAC;AAAA,EACV,YAAY;AACd;","names":[]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"7c4b66a63b0157cd33666cf30f02b9f700305fbd"}}
1
+ {"/builds/fe/infra/reds/packages/reds-rn/src/components/TextView/interface/index.ts":{"path":"/builds/fe/infra/reds/packages/reds-rn/src/components/TextView/interface/index.ts","statementMap":{"0":{"start":{"line":1,"column":36},"end":{"line":13,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":1},"f":{},"b":{},"inputSourceMap":{"version":3,"sources":["/builds/fe/infra/reds/packages/reds-rn/src/components/TextView/interface/index.ts"],"sourcesContent":["import { ViewStyle } from \"react-native\";\ntype inputTypeRN = \"default\" | \"number-pad\" | \"decimal-pad\" | \"numeric\" | \"email-address\" | \"phone-pad\" | \"url\";\nexport interface RedsTextView {\n modelValue?: string;\n placeholder?: string;\n layout?: \"primary\" | \"normal\" | \"basic\";\n type?: inputTypeRN;\n maxLength?: number;\n showCount?: boolean;\n isFormItem?: boolean;\n disabled?: boolean;\n readonly?: boolean;\n clearable?: boolean;\n autofocus?: boolean;\n rows?: number;\n style?: ViewStyle;\n onChange?: (value: string) => any;\n onClear?: (value: string) => any;\n onFocus?: (event: any) => any;\n onBlur?: (event: any) => any;\n containerStyle?: ViewStyle;\n actionLayout?: \"horizontal\" | \"vertical\";\n placeholderTextColor?: String;\n ref?: any;\n returnKeyType?: string;\n onSubmitEditing?: () => void;\n}\n\nexport const TextViewDefaultProps = {\n layout: \"basic\",\n type: \"default\" as inputTypeRN,\n showCount: false,\n isFormItem: false,\n disabled: false,\n readonly: false,\n clearable: false,\n autofocus: false,\n rows: 3,\n actionLayout: \"vertical\",\n returnKeyType: \"next\",\n};\n"],"mappings":"AA4BO,aAAM,uBAAuB;AAAA,EAClC,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,UAAU;AAAA,EACV,WAAW;AAAA,EACX,WAAW;AAAA,EACX,MAAM;AAAA,EACN,cAAc;AAAA,EACd,eAAe;AACjB;","names":[]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"c22d4028256df8ef10d5d9ab5d49aa48b4fff907"}}
@@ -1 +1 @@
1
- {"/builds/fe/infra/reds/packages/reds-rn/src/components/TextView/interface/index.ts":{"path":"/builds/fe/infra/reds/packages/reds-rn/src/components/TextView/interface/index.ts","statementMap":{"0":{"start":{"line":1,"column":36},"end":{"line":13,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":1},"f":{},"b":{},"inputSourceMap":{"version":3,"sources":["/builds/fe/infra/reds/packages/reds-rn/src/components/TextView/interface/index.ts"],"sourcesContent":["import { ViewStyle } from \"react-native\";\ntype inputTypeRN = \"default\" | \"number-pad\" | \"decimal-pad\" | \"numeric\" | \"email-address\" | \"phone-pad\" | \"url\";\nexport interface RedsTextView {\n modelValue?: string;\n placeholder?: string;\n layout?: \"primary\" | \"normal\" | \"basic\";\n type?: inputTypeRN;\n maxLength?: number;\n showCount?: boolean;\n isFormItem?: boolean;\n disabled?: boolean;\n readonly?: boolean;\n clearable?: boolean;\n autofocus?: boolean;\n rows?: number;\n style?: ViewStyle;\n onChange?: (value: string) => any;\n onClear?: (value: string) => any;\n onFocus?: (event: any) => any;\n onBlur?: (event: any) => any;\n containerStyle?: ViewStyle;\n actionLayout?: \"horizontal\" | \"vertical\";\n placeholderTextColor?: String;\n ref?: any;\n returnKeyType?: string;\n onSubmitEditing?: () => void;\n}\n\nexport const TextViewDefaultProps = {\n layout: \"basic\",\n type: \"default\" as inputTypeRN,\n showCount: false,\n isFormItem: false,\n disabled: false,\n readonly: false,\n clearable: false,\n autofocus: false,\n rows: 3,\n actionLayout: \"vertical\",\n returnKeyType: \"next\",\n};\n"],"mappings":"AA4BO,aAAM,uBAAuB;AAAA,EAClC,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,UAAU;AAAA,EACV,WAAW;AAAA,EACX,WAAW;AAAA,EACX,MAAM;AAAA,EACN,cAAc;AAAA,EACd,eAAe;AACjB;","names":[]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"c22d4028256df8ef10d5d9ab5d49aa48b4fff907"}}
1
+ {"/builds/fe/infra/reds/packages/reds-rn/src/components/CheckBoxGroup/interface/index.ts":{"path":"/builds/fe/infra/reds/packages/reds-rn/src/components/CheckBoxGroup/interface/index.ts","statementMap":{"0":{"start":{"line":1,"column":49},"end":{"line":5,"column":29}},"1":{"start":{"line":2,"column":2},"end":{"line":2,"column":52}},"2":{"start":{"line":3,"column":2},"end":{"line":3,"column":48}},"3":{"start":{"line":4,"column":2},"end":{"line":4,"column":30}},"4":{"start":{"line":6,"column":47},"end":{"line":10,"column":27}},"5":{"start":{"line":7,"column":2},"end":{"line":7,"column":40}},"6":{"start":{"line":8,"column":2},"end":{"line":8,"column":38}},"7":{"start":{"line":9,"column":2},"end":{"line":9,"column":28}},"8":{"start":{"line":11,"column":47},"end":{"line":16,"column":27}},"9":{"start":{"line":12,"column":2},"end":{"line":12,"column":40}},"10":{"start":{"line":13,"column":2},"end":{"line":13,"column":42}},"11":{"start":{"line":14,"column":2},"end":{"line":14,"column":40}},"12":{"start":{"line":15,"column":2},"end":{"line":15,"column":28}},"13":{"start":{"line":17,"column":43},"end":{"line":22,"column":23}},"14":{"start":{"line":18,"column":2},"end":{"line":18,"column":34}},"15":{"start":{"line":19,"column":2},"end":{"line":19,"column":34}},"16":{"start":{"line":20,"column":2},"end":{"line":20,"column":34}},"17":{"start":{"line":21,"column":2},"end":{"line":21,"column":24}},"18":{"start":{"line":23,"column":41},"end":{"line":30,"column":1}},"19":{"start":{"line":31,"column":40},"end":{"line":37,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":1,"column":50},"end":{"line":1,"column":51}},"loc":{"start":{"line":1,"column":76},"end":{"line":5,"column":1}},"line":1},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":48},"end":{"line":6,"column":49}},"loc":{"start":{"line":6,"column":72},"end":{"line":10,"column":1}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":11,"column":48},"end":{"line":11,"column":49}},"loc":{"start":{"line":11,"column":72},"end":{"line":16,"column":1}},"line":11},"3":{"name":"(anonymous_3)","decl":{"start":{"line":17,"column":44},"end":{"line":17,"column":45}},"loc":{"start":{"line":17,"column":64},"end":{"line":22,"column":1}},"line":17}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":3},"end":{"line":5,"column":28}},"type":"binary-expr","locations":[{"start":{"line":5,"column":3},"end":{"line":5,"column":22}},{"start":{"line":5,"column":26},"end":{"line":5,"column":28}}],"line":5},"1":{"loc":{"start":{"line":10,"column":3},"end":{"line":10,"column":26}},"type":"binary-expr","locations":[{"start":{"line":10,"column":3},"end":{"line":10,"column":20}},{"start":{"line":10,"column":24},"end":{"line":10,"column":26}}],"line":10},"2":{"loc":{"start":{"line":16,"column":3},"end":{"line":16,"column":26}},"type":"binary-expr","locations":[{"start":{"line":16,"column":3},"end":{"line":16,"column":20}},{"start":{"line":16,"column":24},"end":{"line":16,"column":26}}],"line":16},"3":{"loc":{"start":{"line":22,"column":3},"end":{"line":22,"column":22}},"type":"binary-expr","locations":[{"start":{"line":22,"column":3},"end":{"line":22,"column":16}},{"start":{"line":22,"column":20},"end":{"line":22,"column":22}}],"line":22}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1},"f":{"0":1,"1":1,"2":1,"3":1},"b":{"0":[1,1],"1":[1,1],"2":[1,1],"3":[1,1]},"inputSourceMap":{"version":3,"sources":["/builds/fe/infra/reds/packages/reds-rn/src/components/CheckBoxGroup/interface/index.ts"],"sourcesContent":["import { ViewStyle, TextStyle } from \"react-native\";\nimport { ReactNode } from \"react\";\n\nexport interface CheckBoxGroupOption {\n label: string;\n value: string | number;\n}\n\nexport const enum CheckBoxGroupLayout {\n HORIZONTAL = \"horizontal\",\n VERTICAL = \"vertical\",\n}\n\nexport const enum CheckBoxPlacement {\n RIGHT = \"right\",\n LEFT = \"left\",\n}\n\nexport const enum CheckBoxGroupSize {\n SMALL = \"small\",\n MEDIUM = \"medium\",\n LARGE = \"large\",\n}\n\nexport const enum CheckedStatus {\n FULL = \"full\",\n HALF = \"half\",\n NONE = \"none\",\n}\nexport interface RedsCheckBoxGroup {\n value?: string[] | number[];\n options?: CheckBoxGroupOption[];\n disable?: boolean;\n full?: boolean;\n fullText?: string;\n fullContainerStyle?: ViewStyle;\n checkboxStyle?: ViewStyle;\n layout?: CheckBoxGroupLayout;\n size?: CheckBoxGroupSize;\n onChange?: (value: string[] | number[]) => void;\n children?: ReactNode[];\n}\n\nexport interface RedsCheckBoxGroupEvent {}\nexport const CheckBoxGroupDefaultProps = {\n value: [],\n options: [],\n disable: false,\n full: false,\n layout: CheckBoxGroupLayout.HORIZONTAL,\n size: CheckBoxGroupSize.LARGE,\n};\n\nexport interface RedsCheckBox {\n value: string | number;\n label?: string;\n placement?: CheckBoxPlacement;\n disable?: boolean;\n checked?: boolean;\n layout?: CheckBoxGroupLayout;\n style?: ViewStyle;\n size?: CheckBoxGroupSize;\n onChange?: (value: string | number, checked: boolean) => void;\n isControl?: boolean;\n labelStyle?: ViewStyle;\n labelTextStyle?: TextStyle;\n isGroup?: boolean;\n checkboxStyle?: ViewStyle;\n}\n\nexport const RedsCheckBoxDefaultProps = {\n placement: CheckBoxPlacement.RIGHT,\n layout: CheckBoxGroupLayout.HORIZONTAL,\n size: CheckBoxGroupSize.MEDIUM,\n isControl: true,\n isGroup: false,\n};\n\nexport interface ICheckBoxGroupContext {\n checkList: number[] | string[];\n}\n"],"mappings":"AAQO,WAAW,sBAAX,kBAAWA,yBAAX;AACL,EAAAA,qBAAA,gBAAa;AACb,EAAAA,qBAAA,cAAW;AAFK,SAAAA;AAAA,GAAA;AAKX,WAAW,oBAAX,kBAAWC,uBAAX;AACL,EAAAA,mBAAA,WAAQ;AACR,EAAAA,mBAAA,UAAO;AAFS,SAAAA;AAAA,GAAA;AAKX,WAAW,oBAAX,kBAAWC,uBAAX;AACL,EAAAA,mBAAA,WAAQ;AACR,EAAAA,mBAAA,YAAS;AACT,EAAAA,mBAAA,WAAQ;AAHQ,SAAAA;AAAA,GAAA;AAMX,WAAW,gBAAX,kBAAWC,mBAAX;AACL,EAAAA,eAAA,UAAO;AACP,EAAAA,eAAA,UAAO;AACP,EAAAA,eAAA,UAAO;AAHS,SAAAA;AAAA,GAAA;AAoBX,aAAM,4BAA4B;AAAA,EACvC,OAAO,CAAC;AAAA,EACR,SAAS,CAAC;AAAA,EACV,SAAS;AAAA,EACT,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,MAAM;AACR;AAmBO,aAAM,2BAA2B;AAAA,EACtC,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,WAAW;AAAA,EACX,SAAS;AACX;","names":["CheckBoxGroupLayout","CheckBoxPlacement","CheckBoxGroupSize","CheckedStatus"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"fc7c8b5a271c82ad6926938b49b00c3dfd14f542"}}
@@ -1 +1 @@
1
- {"/builds/fe/infra/reds/packages/reds-rn/src/components/CheckBoxGroup/interface/index.ts":{"path":"/builds/fe/infra/reds/packages/reds-rn/src/components/CheckBoxGroup/interface/index.ts","statementMap":{"0":{"start":{"line":1,"column":49},"end":{"line":5,"column":29}},"1":{"start":{"line":2,"column":2},"end":{"line":2,"column":52}},"2":{"start":{"line":3,"column":2},"end":{"line":3,"column":48}},"3":{"start":{"line":4,"column":2},"end":{"line":4,"column":30}},"4":{"start":{"line":6,"column":47},"end":{"line":10,"column":27}},"5":{"start":{"line":7,"column":2},"end":{"line":7,"column":40}},"6":{"start":{"line":8,"column":2},"end":{"line":8,"column":38}},"7":{"start":{"line":9,"column":2},"end":{"line":9,"column":28}},"8":{"start":{"line":11,"column":47},"end":{"line":16,"column":27}},"9":{"start":{"line":12,"column":2},"end":{"line":12,"column":40}},"10":{"start":{"line":13,"column":2},"end":{"line":13,"column":42}},"11":{"start":{"line":14,"column":2},"end":{"line":14,"column":40}},"12":{"start":{"line":15,"column":2},"end":{"line":15,"column":28}},"13":{"start":{"line":17,"column":43},"end":{"line":22,"column":23}},"14":{"start":{"line":18,"column":2},"end":{"line":18,"column":34}},"15":{"start":{"line":19,"column":2},"end":{"line":19,"column":34}},"16":{"start":{"line":20,"column":2},"end":{"line":20,"column":34}},"17":{"start":{"line":21,"column":2},"end":{"line":21,"column":24}},"18":{"start":{"line":23,"column":41},"end":{"line":30,"column":1}},"19":{"start":{"line":31,"column":40},"end":{"line":37,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":1,"column":50},"end":{"line":1,"column":51}},"loc":{"start":{"line":1,"column":76},"end":{"line":5,"column":1}},"line":1},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":48},"end":{"line":6,"column":49}},"loc":{"start":{"line":6,"column":72},"end":{"line":10,"column":1}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":11,"column":48},"end":{"line":11,"column":49}},"loc":{"start":{"line":11,"column":72},"end":{"line":16,"column":1}},"line":11},"3":{"name":"(anonymous_3)","decl":{"start":{"line":17,"column":44},"end":{"line":17,"column":45}},"loc":{"start":{"line":17,"column":64},"end":{"line":22,"column":1}},"line":17}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":3},"end":{"line":5,"column":28}},"type":"binary-expr","locations":[{"start":{"line":5,"column":3},"end":{"line":5,"column":22}},{"start":{"line":5,"column":26},"end":{"line":5,"column":28}}],"line":5},"1":{"loc":{"start":{"line":10,"column":3},"end":{"line":10,"column":26}},"type":"binary-expr","locations":[{"start":{"line":10,"column":3},"end":{"line":10,"column":20}},{"start":{"line":10,"column":24},"end":{"line":10,"column":26}}],"line":10},"2":{"loc":{"start":{"line":16,"column":3},"end":{"line":16,"column":26}},"type":"binary-expr","locations":[{"start":{"line":16,"column":3},"end":{"line":16,"column":20}},{"start":{"line":16,"column":24},"end":{"line":16,"column":26}}],"line":16},"3":{"loc":{"start":{"line":22,"column":3},"end":{"line":22,"column":22}},"type":"binary-expr","locations":[{"start":{"line":22,"column":3},"end":{"line":22,"column":16}},{"start":{"line":22,"column":20},"end":{"line":22,"column":22}}],"line":22}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1},"f":{"0":1,"1":1,"2":1,"3":1},"b":{"0":[1,1],"1":[1,1],"2":[1,1],"3":[1,1]},"inputSourceMap":{"version":3,"sources":["/builds/fe/infra/reds/packages/reds-rn/src/components/CheckBoxGroup/interface/index.ts"],"sourcesContent":["import { ViewStyle, TextStyle } from \"react-native\";\nimport { ReactNode } from \"react\";\n\nexport interface CheckBoxGroupOption {\n label: string;\n value: string | number;\n}\n\nexport const enum CheckBoxGroupLayout {\n HORIZONTAL = \"horizontal\",\n VERTICAL = \"vertical\",\n}\n\nexport const enum CheckBoxPlacement {\n RIGHT = \"right\",\n LEFT = \"left\",\n}\n\nexport const enum CheckBoxGroupSize {\n SMALL = \"small\",\n MEDIUM = \"medium\",\n LARGE = \"large\",\n}\n\nexport const enum CheckedStatus {\n FULL = \"full\",\n HALF = \"half\",\n NONE = \"none\",\n}\nexport interface RedsCheckBoxGroup {\n value?: string[] | number[];\n options?: CheckBoxGroupOption[];\n disable?: boolean;\n full?: boolean;\n fullText?: string;\n fullContainerStyle?: ViewStyle;\n checkboxStyle?: ViewStyle;\n layout?: CheckBoxGroupLayout;\n size?: CheckBoxGroupSize;\n onChange?: (value: string[] | number[]) => void;\n children?: ReactNode[];\n}\n\nexport interface RedsCheckBoxGroupEvent {}\nexport const CheckBoxGroupDefaultProps = {\n value: [],\n options: [],\n disable: false,\n full: false,\n layout: CheckBoxGroupLayout.HORIZONTAL,\n size: CheckBoxGroupSize.LARGE,\n};\n\nexport interface RedsCheckBox {\n value: string | number;\n label?: string;\n placement?: CheckBoxPlacement;\n disable?: boolean;\n checked?: boolean;\n layout?: CheckBoxGroupLayout;\n style?: ViewStyle;\n size?: CheckBoxGroupSize;\n onChange?: (value: string | number, checked: boolean) => void;\n isControl?: boolean;\n labelStyle?: ViewStyle;\n labelTextStyle?: TextStyle;\n isGroup?: boolean;\n checkboxStyle?: ViewStyle;\n}\n\nexport const RedsCheckBoxDefaultProps = {\n placement: CheckBoxPlacement.RIGHT,\n layout: CheckBoxGroupLayout.HORIZONTAL,\n size: CheckBoxGroupSize.MEDIUM,\n isControl: true,\n isGroup: false,\n};\n\nexport interface ICheckBoxGroupContext {\n checkList: number[] | string[];\n}\n"],"mappings":"AAQO,WAAW,sBAAX,kBAAWA,yBAAX;AACL,EAAAA,qBAAA,gBAAa;AACb,EAAAA,qBAAA,cAAW;AAFK,SAAAA;AAAA,GAAA;AAKX,WAAW,oBAAX,kBAAWC,uBAAX;AACL,EAAAA,mBAAA,WAAQ;AACR,EAAAA,mBAAA,UAAO;AAFS,SAAAA;AAAA,GAAA;AAKX,WAAW,oBAAX,kBAAWC,uBAAX;AACL,EAAAA,mBAAA,WAAQ;AACR,EAAAA,mBAAA,YAAS;AACT,EAAAA,mBAAA,WAAQ;AAHQ,SAAAA;AAAA,GAAA;AAMX,WAAW,gBAAX,kBAAWC,mBAAX;AACL,EAAAA,eAAA,UAAO;AACP,EAAAA,eAAA,UAAO;AACP,EAAAA,eAAA,UAAO;AAHS,SAAAA;AAAA,GAAA;AAoBX,aAAM,4BAA4B;AAAA,EACvC,OAAO,CAAC;AAAA,EACR,SAAS,CAAC;AAAA,EACV,SAAS;AAAA,EACT,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,MAAM;AACR;AAmBO,aAAM,2BAA2B;AAAA,EACtC,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,WAAW;AAAA,EACX,SAAS;AACX;","names":["CheckBoxGroupLayout","CheckBoxPlacement","CheckBoxGroupSize","CheckedStatus"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"fc7c8b5a271c82ad6926938b49b00c3dfd14f542"}}
1
+ {"/builds/fe/infra/reds/packages/reds-rn/src/components/Tag/interface/index.ts":{"path":"/builds/fe/infra/reds/packages/reds-rn/src/components/Tag/interface/index.ts","statementMap":{"0":{"start":{"line":1,"column":31},"end":{"line":16,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":1},"f":{},"b":{},"inputSourceMap":{"version":3,"sources":["/builds/fe/infra/reds/packages/reds-rn/src/components/Tag/interface/index.ts"],"sourcesContent":["import { GestureResponderEvent, TextStyle, ViewStyle } from \"react-native\";\nexport interface RedsTag {\n content?: string | Function;\n type?: \"primary\" | \"default\" | \"warning\" | \"success\" | \"info\" | \"ghost\" | \"secondary\";\n size?: \"mini\" | \"small\" | \"medium\" | \"large\";\n plain?: boolean;\n borderRadius?: number;\n disabled?: boolean;\n shape?: \"square\" | \"round\" | \"mark\";\n closeabled?: boolean;\n textStyle?: TextStyle;\n style?: ViewStyle;\n icon?: string | any;\n afterIcon?: string | any;\n closeIcon?: string | any;\n children?: string | any;\n onClose?: (value?: any) => any;\n onClick?: (value: GestureResponderEvent) => any;\n}\n\nexport interface RedsTagEvent {}\nexport const TagDefaultProps = {\n content: undefined,\n type: \"default\",\n size: \"medium\",\n plain: false,\n borderRadius: undefined,\n disabled: false,\n shape: \"square\",\n closeabled: false,\n textStyle: {},\n style: {},\n icon: undefined,\n afterIcon: undefined,\n closeIcon: undefined,\n children: undefined,\n};\n"],"mappings":"AAqBO,aAAM,kBAAkB;AAAA,EAC7B,SAAS;AAAA,EACT,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,EACP,cAAc;AAAA,EACd,UAAU;AAAA,EACV,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,WAAW,CAAC;AAAA,EACZ,OAAO,CAAC;AAAA,EACR,MAAM;AAAA,EACN,WAAW;AAAA,EACX,WAAW;AAAA,EACX,UAAU;AACZ;","names":[]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"83025f6218a4cebb18a93188da8ce208531220a8"}}
@@ -1 +1 @@
1
- {"/builds/fe/infra/reds/packages/reds-rn/src/components/Tab/interface/index.ts":{"path":"/builds/fe/infra/reds/packages/reds-rn/src/components/Tab/interface/index.ts","statementMap":{"0":{"start":{"line":1,"column":42},"end":{"line":6,"column":22}},"1":{"start":{"line":2,"column":2},"end":{"line":2,"column":41}},"2":{"start":{"line":3,"column":2},"end":{"line":3,"column":43}},"3":{"start":{"line":4,"column":2},"end":{"line":4,"column":35}},"4":{"start":{"line":5,"column":2},"end":{"line":5,"column":23}},"5":{"start":{"line":7,"column":41},"end":{"line":12,"column":21}},"6":{"start":{"line":8,"column":2},"end":{"line":8,"column":34}},"7":{"start":{"line":9,"column":2},"end":{"line":9,"column":36}},"8":{"start":{"line":10,"column":2},"end":{"line":10,"column":34}},"9":{"start":{"line":11,"column":2},"end":{"line":11,"column":22}},"10":{"start":{"line":13,"column":42},"end":{"line":17,"column":22}},"11":{"start":{"line":14,"column":2},"end":{"line":14,"column":43}},"12":{"start":{"line":15,"column":2},"end":{"line":15,"column":33}},"13":{"start":{"line":16,"column":2},"end":{"line":16,"column":23}},"14":{"start":{"line":18,"column":43},"end":{"line":24,"column":23}},"15":{"start":{"line":19,"column":2},"end":{"line":19,"column":34}},"16":{"start":{"line":20,"column":2},"end":{"line":20,"column":38}},"17":{"start":{"line":21,"column":2},"end":{"line":21,"column":36}},"18":{"start":{"line":22,"column":2},"end":{"line":22,"column":36}},"19":{"start":{"line":23,"column":2},"end":{"line":23,"column":24}},"20":{"start":{"line":25,"column":31},"end":{"line":37,"column":1}},"21":{"start":{"line":38,"column":32},"end":{"line":47,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":1,"column":43},"end":{"line":1,"column":44}},"loc":{"start":{"line":1,"column":62},"end":{"line":6,"column":1}},"line":1},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":42},"end":{"line":7,"column":43}},"loc":{"start":{"line":7,"column":60},"end":{"line":12,"column":1}},"line":7},"2":{"name":"(anonymous_2)","decl":{"start":{"line":13,"column":43},"end":{"line":13,"column":44}},"loc":{"start":{"line":13,"column":62},"end":{"line":17,"column":1}},"line":13},"3":{"name":"(anonymous_3)","decl":{"start":{"line":18,"column":44},"end":{"line":18,"column":45}},"loc":{"start":{"line":18,"column":64},"end":{"line":24,"column":1}},"line":18}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":3},"end":{"line":6,"column":21}},"type":"binary-expr","locations":[{"start":{"line":6,"column":3},"end":{"line":6,"column":15}},{"start":{"line":6,"column":19},"end":{"line":6,"column":21}}],"line":6},"1":{"loc":{"start":{"line":12,"column":3},"end":{"line":12,"column":20}},"type":"binary-expr","locations":[{"start":{"line":12,"column":3},"end":{"line":12,"column":14}},{"start":{"line":12,"column":18},"end":{"line":12,"column":20}}],"line":12},"2":{"loc":{"start":{"line":17,"column":3},"end":{"line":17,"column":21}},"type":"binary-expr","locations":[{"start":{"line":17,"column":3},"end":{"line":17,"column":15}},{"start":{"line":17,"column":19},"end":{"line":17,"column":21}}],"line":17},"3":{"loc":{"start":{"line":24,"column":3},"end":{"line":24,"column":22}},"type":"binary-expr","locations":[{"start":{"line":24,"column":3},"end":{"line":24,"column":16}},{"start":{"line":24,"column":20},"end":{"line":24,"column":22}}],"line":24}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1},"f":{"0":1,"1":1,"2":1,"3":1},"b":{"0":[1,1],"1":[1,1],"2":[1,1],"3":[1,1]},"inputSourceMap":{"version":3,"sources":["/builds/fe/infra/reds/packages/reds-rn/src/components/Tab/interface/index.ts"],"sourcesContent":["import { ReactNode } from \"react\";\nimport { ImageStyle, TextStyle } from \"react-native\";\nimport { RedsIcon } from \"../../Icon/interface\";\nimport { RedsBadge } from \"../../Badge/interface\";\nexport interface TabItemType {\n name?: string;\n image?: string;\n activeImage?: string;\n imageStyle?: ImageStyle;\n value: string;\n iconProps?: RedsIcon;\n badgeProps?: any;\n labelNumber?: number;\n}\n\nexport const enum TabLabelType {\n leftIcon = \"leftIcon\",\n rightIcon = \"rightIcon\",\n digit = \"digit\",\n}\nexport const enum TabSizeType {\n small = \"small\",\n normal = \"normal\",\n large = \"large\",\n}\n\nexport const enum TabThemeType {\n underline = \"underline\",\n text = \"text\",\n}\n\nexport const enum TabLayoutType {\n left = \"left\",\n middle = \"middle\",\n space = \"space\",\n right = \"right\",\n}\nexport interface RedsTab {\n theme?: TabThemeType;\n size?: TabSizeType;\n labelType?: TabLabelType;\n layout?: TabLayoutType;\n badge?: boolean;\n containerStyle?: any;\n onChange?: (value: string, index: number) => any;\n spaceWidth?: number;\n tabPadding?: number;\n active?: string;\n children: ReactNode[];\n key?: string | number;\n contentOffset?: number;\n textStyle?: TextStyle;\n activeTextStyle?: TextStyle;\n}\n\nexport interface RedsTabEvent {}\nexport const TabDefaultProps = {\n theme: TabThemeType.underline,\n size: TabSizeType.normal,\n labelType: TabLabelType.leftIcon,\n layout: TabLayoutType.left,\n badge: false,\n spaceWidth: 12,\n tabPadding: 0,\n active: \"\",\n contentOffset: 0,\n textStyle: {},\n activeTextStyle: {},\n};\n\nexport interface TabChild {\n name?: string;\n image?: string;\n imageStyle?: ImageStyle;\n activeImage?: string;\n value: string;\n labelNumber?: number;\n iconProps?: RedsIcon;\n badgeProps?: RedsBadge;\n children: ReactNode;\n}\nexport interface RedsTabs {\n theme?: TabThemeType;\n size?: TabSizeType;\n labelType?: TabLabelType;\n layout?: TabLayoutType;\n badge?: boolean;\n containerStyle?: any;\n onChange?: (value: string, index: number) => any;\n spaceWidth?: number;\n tabPadding?: number;\n active?: string;\n children: ReactNode[];\n}\n\nexport const TabsDefaultProps = {\n theme: TabThemeType.underline,\n size: TabSizeType.normal,\n labelType: TabLabelType.leftIcon,\n layout: TabLayoutType.space,\n badge: false,\n spaceWidth: 12,\n tabPadding: 24,\n active: \"\",\n};\n"],"mappings":"AAeO,WAAW,eAAX,kBAAWA,kBAAX;AACL,EAAAA,cAAA,cAAW;AACX,EAAAA,cAAA,eAAY;AACZ,EAAAA,cAAA,WAAQ;AAHQ,SAAAA;AAAA,GAAA;AAKX,WAAW,cAAX,kBAAWC,iBAAX;AACL,EAAAA,aAAA,WAAQ;AACR,EAAAA,aAAA,YAAS;AACT,EAAAA,aAAA,WAAQ;AAHQ,SAAAA;AAAA,GAAA;AAMX,WAAW,eAAX,kBAAWC,kBAAX;AACL,EAAAA,cAAA,eAAY;AACZ,EAAAA,cAAA,UAAO;AAFS,SAAAA;AAAA,GAAA;AAKX,WAAW,gBAAX,kBAAWC,mBAAX;AACL,EAAAA,eAAA,UAAO;AACP,EAAAA,eAAA,YAAS;AACT,EAAAA,eAAA,WAAQ;AACR,EAAAA,eAAA,WAAQ;AAJQ,SAAAA;AAAA,GAAA;AAyBX,aAAM,kBAAkB;AAAA,EAC7B,OAAO;AAAA,EACP,MAAM;AAAA,EACN,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,eAAe;AAAA,EACf,WAAW,CAAC;AAAA,EACZ,iBAAiB,CAAC;AACpB;AA2BO,aAAM,mBAAmB;AAAA,EAC9B,OAAO;AAAA,EACP,MAAM;AAAA,EACN,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,QAAQ;AACV;","names":["TabLabelType","TabSizeType","TabThemeType","TabLayoutType"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"94c9502f2b3612dd537ea197077b6f626891006b"}}
1
+ {"/builds/fe/infra/reds/packages/reds-rn/src/components/Switch/interface/index.ts":{"path":"/builds/fe/infra/reds/packages/reds-rn/src/components/Switch/interface/index.ts","statementMap":{"0":{"start":{"line":1,"column":34},"end":{"line":9,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":1},"f":{},"b":{},"inputSourceMap":{"version":3,"sources":["/builds/fe/infra/reds/packages/reds-rn/src/components/Switch/interface/index.ts"],"sourcesContent":["import { GestureResponderEvent } from \"react-native\";\ninterface hitSlop {\n top?: number;\n bottom?: number;\n left?: number;\n right?: number;\n}\nexport interface RedsSwitch {\n value?: boolean;\n modelValue?: boolean;\n defaultValue?: boolean;\n disabled?: boolean;\n trackOnColor?: string;\n trackOffColor?: string;\n onChange?: (value: boolean) => any;\n onClick?: (value: GestureResponderEvent) => any;\n isControl?: boolean;\n hitSlop?: hitSlop;\n isAnimated?: boolean;\n width?: number;\n height?: number;\n thumbWidth?: number;\n}\n\nexport interface RedsSwitchEvent {}\nexport const SwitchDefaultProps = {\n value: undefined,\n modelValue: undefined,\n defaultValue: false,\n disabled: false,\n isControl: true,\n hitSlop: {},\n isAnimated: true,\n};\n"],"mappings":"AAyBO,aAAM,qBAAqB;AAAA,EAChC,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,UAAU;AAAA,EACV,WAAW;AAAA,EACX,SAAS,CAAC;AAAA,EACV,YAAY;AACd;","names":[]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"7c4b66a63b0157cd33666cf30f02b9f700305fbd"}}
@@ -143,13 +143,21 @@ function PullRefresh(props) {
143
143
  });
144
144
  } else if (panValue > 0) {
145
145
  updatePullState(components_PullRefresh_interface_index.PullState.FINISH);
146
+ setMoveHeight(0);
147
+ setMovePercent(0);
146
148
  animatedTo(0, function () {
147
149
  setIsPulling(false);
148
150
  updatePullState(components_PullRefresh_interface_index.PullState.INIT);
151
+ pan.setValue(0);
152
+ pan.flattenOffset();
149
153
  });
150
154
  } else {
151
155
  updatePullState(components_PullRefresh_interface_index.PullState.INIT);
152
156
  setIsPulling(false);
157
+ setMoveHeight(0);
158
+ setMovePercent(0);
159
+ pan.setValue(0);
160
+ pan.flattenOffset();
153
161
  }
154
162
  };
155
163
  var updatePullState = function updatePullState(state) {
@@ -207,7 +215,16 @@ function PullRefresh(props) {
207
215
  if (props.initRefresh && !hasInitRefreshed) {
208
216
  return false;
209
217
  }
210
- return isPulling ? false : scrollY <= 0 && gestureState.vy > 0 && gestureState.vy > Math.abs(gestureState.vx);
218
+ if (isRefreshing || pullState === components_PullRefresh_interface_index.PullState.LOADING || pullState === components_PullRefresh_interface_index.PullState.HOLDING) {
219
+ return false;
220
+ }
221
+ if (isPulling) {
222
+ return false;
223
+ }
224
+ if (gestureState.vy < 0) {
225
+ return false;
226
+ }
227
+ return scrollY <= 0 && gestureState.vy > 0 && gestureState.vy > Math.abs(gestureState.vx);
211
228
  };
212
229
  var panResponder = React.useMemo(function () {
213
230
  if (reactNative.Platform.OS !== "ios" && props.nativeAndroidPullRefresh) {
@@ -224,12 +241,17 @@ function PullRefresh(props) {
224
241
  });
225
242
  }
226
243
  return reactNative.PanResponder.create({
227
- onStartShouldSetPanResponder: canMove,
228
- onStartShouldSetPanResponderCapture: canMove,
244
+ onStartShouldSetPanResponder: function onStartShouldSetPanResponder() {
245
+ return false;
246
+ },
247
+ onStartShouldSetPanResponderCapture: function onStartShouldSetPanResponderCapture() {
248
+ return false;
249
+ },
229
250
  onMoveShouldSetPanResponder: canMove,
230
251
  onMoveShouldSetPanResponderCapture: canMove,
231
252
  onPanResponderGrant: function onPanResponderGrant() {
232
253
  animation && animation.stop();
254
+ pan.flattenOffset();
233
255
  pan.setOffset(pan._value);
234
256
  updatePullState(components_PullRefresh_interface_index.PullState.PULLING);
235
257
  pullTimeout && clearTimeout(pullTimeout);
@@ -249,14 +271,17 @@ function PullRefresh(props) {
249
271
  },
250
272
  onPanResponderRelease: onRelease,
251
273
  onPanResponderTerminationRequest: function onPanResponderTerminationRequest() {
252
- return false;
274
+ if (isPulling || pullState === components_PullRefresh_interface_index.PullState.PULLING) {
275
+ return false;
276
+ }
277
+ return true;
253
278
  },
254
279
  onPanResponderTerminate: onRelease,
255
280
  onShouldBlockNativeResponder: function onShouldBlockNativeResponder() {
256
- return true;
281
+ return isPulling || pullState === components_PullRefresh_interface_index.PullState.PULLING;
257
282
  }
258
283
  });
259
- }, [isPulling, scrollY, props.initRefresh, hasInitRefreshed, pullAnimHeight, props.nativeAndroidPullRefresh]);
284
+ }, [isPulling, scrollY, props.initRefresh, hasInitRefreshed, pullAnimHeight, props.nativeAndroidPullRefresh, isRefreshing, pullState]);
260
285
  React.useEffect(function () {
261
286
  if (reactNative.Platform.OS !== "ios" && props.nativeAndroidPullRefresh) return;
262
287
  if (pullState === components_PullRefresh_interface_index.PullState.PULLING && !props.initRefresh) {
@@ -275,24 +300,14 @@ function PullRefresh(props) {
275
300
  setPullTimeout(
276
301
  //@ts-ignore
277
302
  setTimeout(function () {
303
+ pan.flattenOffset();
304
+ setMoveHeight(0);
305
+ setMovePercent(0);
278
306
  animatedTo(0, function () {
279
- var _viewRef$current, _animatedViewRef$curr;
280
307
  setIsPulling(false);
281
308
  updatePullState(components_PullRefresh_interface_index.PullState.INIT);
282
- (_viewRef$current = viewRef.current) === null || _viewRef$current === void 0 || _viewRef$current.setNativeProps({
283
- style: {
284
- transform: [{
285
- translateY: 0
286
- }]
287
- }
288
- });
289
- (_animatedViewRef$curr = animatedViewRef.current) === null || _animatedViewRef$curr === void 0 || _animatedViewRef$curr.setNativeProps({
290
- style: {
291
- transform: [{
292
- translateY: 0
293
- }]
294
- }
295
- });
309
+ pan.setValue(0);
310
+ pan.flattenOffset();
296
311
  });
297
312
  updatePullState(components_PullRefresh_interface_index.PullState.FINISH);
298
313
  }, (_props$msHoldingTime2 = props === null || props === void 0 ? void 0 : props.msHoldingTime) !== null && _props$msHoldingTime2 !== void 0 ? _props$msHoldingTime2 : 1e3));
@@ -1 +1 @@
1
- {"version":3,"file":"PullRefresh.js","sources":["../../../../src/components/PullRefresh/PullRefresh.tsx"],"sourcesContent":["import React, { useState, useRef, useMemo, useEffect } from \"react\";\nimport {\n View,\n StyleSheet,\n Animated,\n PanResponder,\n Easing,\n LayoutChangeEvent,\n Platform,\n RefreshControl as RNRefreshControl,\n} from \"react-native\";\nimport { RedsPullRefresh, PullRefreshDefaultProps, PullState } from \"./interface/index\";\nimport RefreshControl from \"./component\";\n// alias to avoid confusion when reading diff\nconst CustomRefreshControl = RefreshControl;\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\nexport default function PullRefresh(props: RedsPullRefresh) {\n useMounted(\"PullRefresh\");\n // RefreshControl组件高度\n const [pullAnimHeight, setPullAnimHeight] = useState(0);\n\n // 触发刷新的最小下拉距离\n const [minPullDistance, setMinPullDistance] = useState(0);\n\n // 手势\n const [pan] = useState(new Animated.Value(0));\n\n // 滚动距离\n const [scrollY, setScrollY] = useState<number>(0);\n\n // 是否在下拉中\n const [isPulling, setIsPulling] = useState<boolean>(false);\n\n // 是否在刷新中\n const [isRefreshing, setIsRefreshing] = useState<boolean>(false);\n\n // 内部刷新状态(用于默认启用,特别是 Android 或未提供回调时)\n const [internalRefreshing, setInternalRefreshing] = useState<boolean>(false);\n // Android 自动结束计时器\n const androidAutoEndRef = useRef<any>();\n\n // 组合动画\n const [animation, setAnimation] = useState<Animated.CompositeAnimation>();\n\n // 拉取状态\n const [pullState, setPullState] = useState<PullState>(PullState.INIT);\n\n // 移动高度\n const [moveHeight, setMoveHeight] = useState<number>(0);\n\n // 移动百分比\n const [movePercent, setMovePercent] = useState<number>(0);\n\n // 下拉时间间隔\n const [pullTimeout, setPullTimeout] = useState();\n\n // 下拉图标\n const refreshControlRef = useRef();\n\n // view ref\n const viewRef = useRef<View>();\n\n // 动画ref\n const animatedViewRef = useRef<View>();\n\n // 下拉组件的初始top值\n const [top, setTop] = useState<number>(-1000);\n\n // 标记是否已经执行过初始刷新\n const [hasInitRefreshed, setHasInitRefreshed] = useState<boolean>(false);\n\n // 执行初始刷新的方法\n const performInitRefresh = () => {\n if ((pullAnimHeight > 0 && !hasInitRefreshed && props.initRefresh) || props.refresh) {\n // 设置初始状态为拉取状态\n updatePullState(PullState.LOADING);\n\n // 执行下拉动画\n animatedTo(pullAnimHeight, () => {\n setHasInitRefreshed(true);\n setIsRefreshing(true);\n setIsPulling(true);\n // 触发刷新回调\n props.onRequest && props.onRequest();\n });\n }\n };\n\n // 监听 initRefresh 属性和相关依赖变化\n useEffect(() => {\n if ((props.initRefresh && pullAnimHeight > 0 && !hasInitRefreshed && !isRefreshing) || props.refresh) {\n performInitRefresh();\n }\n }, [props.initRefresh, pullAnimHeight, hasInitRefreshed, isRefreshing, props.refresh]);\n // 卸载清理:超时计时器\n useEffect(() => {\n return () => {\n // @ts-ignore\n if (pullTimeout) clearTimeout(pullTimeout);\n if (androidAutoEndRef.current) clearTimeout(androidAutoEndRef.current);\n };\n }, [pullTimeout]);\n\n // 释放手指\n const onRelease = () => {\n // 重置偏移位置\n pan.flattenOffset();\n // @ts-ignore\n const panValue = pan._value;\n // 拉动距离大于设定下拉高度\n if (panValue >= pullAnimHeight) {\n animatedTo(pullAnimHeight, () => {\n updatePullState(PullState.LOADING);\n // 如果有回调则调用,否则走默认内部流程(iOS 默认也支持)\n if (props.onRequest) {\n props.onRequest();\n } else {\n setInternalRefreshing(true);\n // 启动一个自动结束计时器,避免没有外部状态时卡住\n if (androidAutoEndRef.current) clearTimeout(androidAutoEndRef.current);\n androidAutoEndRef.current = setTimeout(() => {\n setInternalRefreshing(false);\n }, props?.msHoldingTime ?? 1000);\n }\n });\n // 有拉动距离但是不够设定的下拉高度\n } else if (panValue > 0) {\n updatePullState(PullState.FINISH);\n animatedTo(0, () => {\n setIsPulling(false);\n updatePullState(PullState.INIT);\n });\n // 否则就是初始状态\n } else {\n updatePullState(PullState.INIT);\n setIsPulling(false);\n }\n };\n\n // 更新refreshControl状态\n const updatePullState = (state: PullState) => {\n if (pullState === state) {\n return;\n }\n setPullState(state);\n renderRefreshControl(state);\n };\n\n // 下拉动画\n const animatedTo = (toValue: number, cb?: () => void) => {\n let animation: any;\n if (toValue === 0) {\n // 使用弹簧动画实现回弹效果\n animation = Animated.spring(pan, {\n toValue: toValue,\n // 回弹参数配置\n friction: 8, // 控制回弹幅度(值越小幅度越大)\n tension: 60, // 控制回弹速度(值越大速度越快)\n velocity: 1, // 初始速度,增强回弹效果\n useNativeDriver: false,\n });\n } else {\n // 针对初始加载优化动画参数\n const duration =\n !hasInitRefreshed && props.initRefresh\n ? 1000 // 初始加载时使用固定时长\n : Math.abs(((pan as any)._value - toValue) * 1.4);\n animation = Animated.timing(pan, {\n toValue: toValue,\n easing: Easing.bezier(0.1, 0.57, 0.1, 1),\n duration: duration,\n useNativeDriver: false,\n });\n }\n setAnimation(animation);\n animation.start(({ finished }: { finished: boolean }) => {\n if (finished) {\n cb && cb();\n setAnimation(undefined);\n }\n });\n };\n\n // 传递给RefreshControl组件参数用来判断状态\n const renderRefreshControl = (state?: PullState) => {\n const refreshControlProps = {\n pullAnimHeight,\n minPullDistance,\n pullState: state || pullState,\n moveHeight,\n movePercent,\n };\n if (refreshControlRef.current) {\n // @ts-ignore\n refreshControlRef.current.setRefreshControlParams(refreshControlProps);\n }\n };\n\n // 是否能移动手指 - 初始加载时禁用手势\n const canMove = (evt: any, gestureState: any) => {\n // 如果正在初始刷新,禁用手势\n if (props.initRefresh && !hasInitRefreshed) {\n return false;\n }\n return isPulling ? false : scrollY <= 0 && gestureState.vy > 0 && gestureState.vy > Math.abs(gestureState.vx);\n };\n\n // 手势对象\n const panResponder = useMemo(() => {\n if (Platform.OS !== \"ios\" && props.nativeAndroidPullRefresh) {\n // Android 原生下拉时不启用自定义手势\n return PanResponder.create({\n onStartShouldSetPanResponder: () => false,\n onMoveShouldSetPanResponder: () => false,\n onPanResponderTerminationRequest: () => true,\n });\n }\n return PanResponder.create({\n onStartShouldSetPanResponder: canMove,\n onStartShouldSetPanResponderCapture: canMove,\n onMoveShouldSetPanResponder: canMove,\n onMoveShouldSetPanResponderCapture: canMove,\n onPanResponderGrant: () => {\n animation && animation.stop();\n // @ts-ignore\n pan.setOffset(pan._value);\n updatePullState(PullState.PULLING);\n pullTimeout && clearTimeout(pullTimeout);\n },\n onPanResponderMove: (evt, gestureState) => {\n setIsPulling(true);\n // @ts-ignore\n const offset = pan._offset;\n let value = Math.max(offset + gestureState.dy, 0);\n if (value > 0) {\n // 弹簧劲度系数\n pan.setValue(gestureState.dy / 2.2);\n } else {\n pan.setValue(-offset);\n }\n setMoveHeight(value);\n setMovePercent((value / pullAnimHeight) * 100);\n renderRefreshControl();\n },\n onPanResponderRelease: onRelease,\n onPanResponderTerminationRequest() {\n return false;\n },\n onPanResponderTerminate: onRelease,\n onShouldBlockNativeResponder() {\n return true;\n },\n });\n }, [isPulling, scrollY, props.initRefresh, hasInitRefreshed, pullAnimHeight, props.nativeAndroidPullRefresh]);\n\n // 根据外层传递参数变化进行更新执行(自定义实现启用时)\n useEffect(() => {\n if (Platform.OS !== \"ios\" && props.nativeAndroidPullRefresh) return;\n if (pullState === PullState.PULLING && !props.initRefresh) {\n return;\n }\n // 加载中\n const effectiveRefreshing = !!props.isRefreshing || internalRefreshing;\n if (effectiveRefreshing === true && !isRefreshing) {\n animatedTo(pullAnimHeight);\n setIsRefreshing(true);\n updatePullState(PullState.LOADING);\n }\n\n // 外层加载结束 需要重置位置\n if (effectiveRefreshing === false && isRefreshing) {\n setIsPulling(false);\n updatePullState(PullState.HOLDING);\n setPullTimeout(\n //@ts-ignore\n setTimeout(() => {\n animatedTo(0, () => {\n setIsPulling(false);\n updatePullState(PullState.INIT);\n // Reset manually-set transforms to sync with animated value (fixes iOS first swipe not responding)\n viewRef.current?.setNativeProps({\n style: { transform: [{ translateY: 0 }] },\n });\n animatedViewRef.current?.setNativeProps({\n style: { transform: [{ translateY: 0 }] },\n });\n });\n updatePullState(PullState.FINISH);\n }, props?.msHoldingTime ?? 1000),\n );\n\n setIsRefreshing(false);\n }\n }, [isRefreshing, props.msHoldingTime, props.isRefreshing, pullState, internalRefreshing]);\n\n // RefreshControl组件初始化计算\n const onLayout = (evt: LayoutChangeEvent) => {\n const height = props.pullAnimHeight || evt.nativeEvent.layout.height;\n setPullAnimHeight(height);\n setMinPullDistance(props.minPullDistance || height);\n setTop(-height);\n };\n\n // 重写ScrollView的onScroll事件(自定义:用于手势门控/头部位置; Android 原生:注入 RefreshControl)\n const scrollContent = useMemo(() => {\n return React.Children.map(props.children, (child: any) => {\n const originalOnScroll = child.props.onScroll;\n const hasNativeDriver =\n originalOnScroll &&\n (originalOnScroll[\"__isNative\"] === true || (originalOnScroll as any)?._animation?.useNativeDriver === true);\n\n const injectedProps =\n Platform.OS === \"android\" && props.nativeAndroidPullRefresh\n ? {\n refreshControl: (\n <RNRefreshControl\n {...(props.androidRefreshProps || {})}\n colors={((props.androidRefreshProps as any)?.colors ?? props.androidColors) as any}\n refreshing={!!props.isRefreshing || internalRefreshing}\n onRefresh={() => {\n if (!!props.isRefreshing || internalRefreshing) return;\n try {\n props.onRequest && props.onRequest();\n } finally {\n // 默认启用:无回调或未受控时自动结束\n if (!props.onRequest) {\n setInternalRefreshing(true);\n }\n // 无论是否有回调,都启动一个兜底自动结束(避免卡住)\n if (androidAutoEndRef.current) clearTimeout(androidAutoEndRef.current);\n androidAutoEndRef.current = setTimeout(() => {\n setInternalRefreshing(false);\n }, props?.msHoldingTime ?? 1000);\n }\n }}\n />\n ),\n onScroll: (evt: any) => {\n if (originalOnScroll && typeof originalOnScroll === \"function\") {\n originalOnScroll(evt);\n }\n },\n }\n : hasNativeDriver\n ? {\n // When the child uses native-driver Animated.event, keep it intact to avoid crashes\n onScroll: originalOnScroll,\n onMomentumScrollEnd: (evt: any) => {\n setScrollY(evt.nativeEvent.contentOffset.y);\n child.props.onMomentumScrollEnd && child.props.onMomentumScrollEnd(evt);\n },\n onScrollEndDrag: (evt: any) => {\n setScrollY(evt.nativeEvent.contentOffset.y);\n // Keep header position in loading state\n if (pullState === PullState.LOADING && evt.nativeEvent.contentOffset.y > 0) {\n const y = Math.max(0, pullAnimHeight - evt.nativeEvent.contentOffset.y);\n viewRef.current &&\n viewRef.current.setNativeProps({\n style: {\n transform: [{ translateY: y }],\n },\n });\n animatedViewRef.current &&\n animatedViewRef.current.setNativeProps({\n style: {\n transform: [{ translateY: y }],\n },\n });\n }\n child.props.onScrollEndDrag && child.props.onScrollEndDrag(evt);\n },\n }\n : {\n onScroll: (evt: any) => {\n setScrollY(evt.nativeEvent.contentOffset.y);\n // iOS下拉刷新Loading时,ScrollView向上滑动的时候,refreshControl部分同样上滑\n if (pullState === PullState.LOADING && evt.nativeEvent.contentOffset.y > 0) {\n const y = Math.max(0, pullAnimHeight - evt.nativeEvent.contentOffset.y);\n viewRef.current &&\n viewRef.current.setNativeProps({\n style: {\n transform: [{ translateY: y }],\n },\n });\n animatedViewRef.current &&\n animatedViewRef.current.setNativeProps({\n style: {\n transform: [{ translateY: y }],\n },\n });\n }\n if (originalOnScroll && typeof originalOnScroll === \"function\") {\n originalOnScroll(evt);\n }\n },\n };\n\n return React.cloneElement(child, {\n scrollEventThrottle: 1,\n ...injectedProps,\n });\n });\n }, [\n pullState,\n props.children,\n pullAnimHeight,\n internalRefreshing,\n props.isRefreshing,\n props.nativeAndroidPullRefresh,\n ]);\n\n // 增加Animated.View控制ScrollView展示位置(自定义)\n const content = useMemo(() => {\n if (Platform.OS === \"android\" && props.nativeAndroidPullRefresh) {\n // Android 直接返回内容(由 RN RefreshControl 控制)\n return <>{scrollContent}</>;\n }\n return (\n <Animated.View\n // @ts-ignore\n ref={viewRef}\n style={{\n transform: [{ translateY: pan }],\n flex: 1,\n }}\n >\n {scrollContent}\n </Animated.View>\n );\n }, [pan, scrollContent, props.nativeAndroidPullRefresh]);\n\n return (\n <View\n style={[styles.container, props.style]}\n {...(Platform.OS === \"ios\" || !props.nativeAndroidPullRefresh ? panResponder.panHandlers : {})}\n testID=\"refresh-container\"\n >\n {Platform.OS === \"ios\" || !props.nativeAndroidPullRefresh ? (\n <Animated.View\n // @ts-ignore\n ref={animatedViewRef}\n onLayout={onLayout}\n style={[\n styles.freshItem,\n {\n top: top,\n height: props.pullAnimHeight,\n transform: [{ translateY: pan }],\n },\n props.controlStyle,\n ]}\n >\n {/* @ts-ignore */}\n <CustomRefreshControl ref={refreshControlRef} {...props} movePercent={movePercent} />\n </Animated.View>\n ) : null}\n {content}\n </View>\n );\n}\nPullRefresh.defaultProps = PullRefreshDefaultProps;\n\nconst styles = StyleSheet.create({\n container: {\n overflow: \"hidden\",\n position: \"relative\",\n flex: 1,\n },\n freshItem: {\n position: \"absolute\",\n width: \"100%\",\n justifyContent: \"center\",\n alignItems: \"center\",\n zIndex: 1,\n },\n});\n"],"names":["CustomRefreshControl","RefreshControl","PullRefresh","props","useMounted","_useState","useState","_useState2","_slicedToArray","pullAnimHeight","setPullAnimHeight","_useState3","_useState4","minPullDistance","setMinPullDistance","_useState5","Animated","Value","_useState6","pan","_useState7","_useState8","scrollY","setScrollY","_useState9","_useState0","isPulling","setIsPulling","_useState1","_useState10","isRefreshing","setIsRefreshing","_useState11","_useState12","internalRefreshing","setInternalRefreshing","androidAutoEndRef","useRef","_useState13","_useState14","animation","setAnimation","_useState15","PullState","INIT","_useState16","pullState","setPullState","_useState17","_useState18","moveHeight","setMoveHeight","_useState19","_useState20","movePercent","setMovePercent","_useState21","_useState22","pullTimeout","setPullTimeout","refreshControlRef","viewRef","animatedViewRef","_useState23","_useState24","top","setTop","_useState25","_useState26","hasInitRefreshed","setHasInitRefreshed","performInitRefresh","initRefresh","refresh","updatePullState","LOADING","animatedTo","onRequest","useEffect","current","clearTimeout","onRelease","flattenOffset","panValue","_value","_props$msHoldingTime","setTimeout","msHoldingTime","FINISH","state","renderRefreshControl","toValue","cb","spring","friction","tension","velocity","useNativeDriver","duration","Math","abs","timing","easing","Easing","bezier","start","_ref","finished","refreshControlProps","setRefreshControlParams","canMove","evt","gestureState","vy","vx","panResponder","useMemo","Platform","OS","nativeAndroidPullRefresh","PanResponder","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","onPanResponderTerminationRequest","onStartShouldSetPanResponderCapture","onMoveShouldSetPanResponderCapture","onPanResponderGrant","stop","setOffset","PULLING","onPanResponderMove","offset","_offset","value","max","dy","setValue","onPanResponderRelease","onPanResponderTerminate","onShouldBlockNativeResponder","effectiveRefreshing","_props$msHoldingTime2","HOLDING","_viewRef$current","_animatedViewRef$curr","setNativeProps","style","transform","translateY","onLayout","height","nativeEvent","layout","scrollContent","React","Children","map","children","child","_originalOnScroll$_an","_props$androidRefresh","_props$androidRefresh2","originalOnScroll","onScroll","hasNativeDriver","_animation","injectedProps","refreshControl","createElement","RNRefreshControl","_objectSpread","androidRefreshProps","colors","androidColors","refreshing","onRefresh","_props$msHoldingTime3","onMomentumScrollEnd","contentOffset","y","onScrollEndDrag","cloneElement","scrollEventThrottle","content","View","ref","flex","styles","container","panHandlers","testID","freshItem","controlStyle","defaultProps","PullRefreshDefaultProps","StyleSheet","overflow","position","width","justifyContent","alignItems","zIndex"],"mappings":"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"}
1
+ {"version":3,"file":"PullRefresh.js","sources":["../../../../src/components/PullRefresh/PullRefresh.tsx"],"sourcesContent":["import React, { useState, useRef, useMemo, useEffect } from \"react\";\nimport {\n View,\n StyleSheet,\n Animated,\n PanResponder,\n Easing,\n LayoutChangeEvent,\n Platform,\n RefreshControl as RNRefreshControl,\n} from \"react-native\";\nimport { RedsPullRefresh, PullRefreshDefaultProps, PullState } from \"./interface/index\";\nimport RefreshControl from \"./component\";\n// alias to avoid confusion when reading diff\nconst CustomRefreshControl = RefreshControl;\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\nexport default function PullRefresh(props: RedsPullRefresh) {\n useMounted(\"PullRefresh\");\n // RefreshControl组件高度\n const [pullAnimHeight, setPullAnimHeight] = useState(0);\n\n // 触发刷新的最小下拉距离\n const [minPullDistance, setMinPullDistance] = useState(0);\n\n // 手势\n const [pan] = useState(new Animated.Value(0));\n\n // 滚动距离\n const [scrollY, setScrollY] = useState<number>(0);\n\n // 是否在下拉中\n const [isPulling, setIsPulling] = useState<boolean>(false);\n\n // 是否在刷新中\n const [isRefreshing, setIsRefreshing] = useState<boolean>(false);\n\n // 内部刷新状态(用于默认启用,特别是 Android 或未提供回调时)\n const [internalRefreshing, setInternalRefreshing] = useState<boolean>(false);\n // Android 自动结束计时器\n const androidAutoEndRef = useRef<any>();\n\n // 组合动画\n const [animation, setAnimation] = useState<Animated.CompositeAnimation>();\n\n // 拉取状态\n const [pullState, setPullState] = useState<PullState>(PullState.INIT);\n\n // 移动高度\n const [moveHeight, setMoveHeight] = useState<number>(0);\n\n // 移动百分比\n const [movePercent, setMovePercent] = useState<number>(0);\n\n // 下拉时间间隔\n const [pullTimeout, setPullTimeout] = useState();\n\n // 下拉图标\n const refreshControlRef = useRef();\n\n // view ref\n const viewRef = useRef<View>();\n\n // 动画ref\n const animatedViewRef = useRef<View>();\n\n // 下拉组件的初始top值\n const [top, setTop] = useState<number>(-1000);\n\n // 标记是否已经执行过初始刷新\n const [hasInitRefreshed, setHasInitRefreshed] = useState<boolean>(false);\n\n // 执行初始刷新的方法\n const performInitRefresh = () => {\n if ((pullAnimHeight > 0 && !hasInitRefreshed && props.initRefresh) || props.refresh) {\n // 设置初始状态为拉取状态\n updatePullState(PullState.LOADING);\n\n // 执行下拉动画\n animatedTo(pullAnimHeight, () => {\n setHasInitRefreshed(true);\n setIsRefreshing(true);\n setIsPulling(true);\n // 触发刷新回调\n props.onRequest && props.onRequest();\n });\n }\n };\n\n // 监听 initRefresh 属性和相关依赖变化\n useEffect(() => {\n if ((props.initRefresh && pullAnimHeight > 0 && !hasInitRefreshed && !isRefreshing) || props.refresh) {\n performInitRefresh();\n }\n }, [props.initRefresh, pullAnimHeight, hasInitRefreshed, isRefreshing, props.refresh]);\n // 卸载清理:超时计时器\n useEffect(() => {\n return () => {\n // @ts-ignore\n if (pullTimeout) clearTimeout(pullTimeout);\n if (androidAutoEndRef.current) clearTimeout(androidAutoEndRef.current);\n };\n }, [pullTimeout]);\n\n // 释放手指\n const onRelease = () => {\n // 重置偏移位置\n pan.flattenOffset();\n // @ts-ignore\n const panValue = pan._value;\n // 拉动距离大于设定下拉高度\n if (panValue >= pullAnimHeight) {\n animatedTo(pullAnimHeight, () => {\n updatePullState(PullState.LOADING);\n // 如果有回调则调用,否则走默认内部流程(iOS 默认也支持)\n if (props.onRequest) {\n props.onRequest();\n } else {\n setInternalRefreshing(true);\n // 启动一个自动结束计时器,避免没有外部状态时卡住\n if (androidAutoEndRef.current) clearTimeout(androidAutoEndRef.current);\n androidAutoEndRef.current = setTimeout(() => {\n setInternalRefreshing(false);\n }, props?.msHoldingTime ?? 1000);\n }\n });\n // 有拉动距离但是不够设定的下拉高度\n } else if (panValue > 0) {\n updatePullState(PullState.FINISH);\n setMoveHeight(0);\n setMovePercent(0);\n animatedTo(0, () => {\n setIsPulling(false);\n updatePullState(PullState.INIT);\n pan.setValue(0);\n pan.flattenOffset();\n });\n // 否则就是初始状态\n } else {\n updatePullState(PullState.INIT);\n setIsPulling(false);\n setMoveHeight(0);\n setMovePercent(0);\n pan.setValue(0);\n pan.flattenOffset();\n }\n };\n\n // 更新refreshControl状态\n const updatePullState = (state: PullState) => {\n if (pullState === state) {\n return;\n }\n setPullState(state);\n renderRefreshControl(state);\n };\n\n // 下拉动画\n const animatedTo = (toValue: number, cb?: () => void) => {\n let animation: any;\n if (toValue === 0) {\n // 使用弹簧动画实现回弹效果\n animation = Animated.spring(pan, {\n toValue: toValue,\n // 回弹参数配置\n friction: 8, // 控制回弹幅度(值越小幅度越大)\n tension: 60, // 控制回弹速度(值越大速度越快)\n velocity: 1, // 初始速度,增强回弹效果\n useNativeDriver: false,\n });\n } else {\n // 针对初始加载优化动画参数\n const duration =\n !hasInitRefreshed && props.initRefresh\n ? 1000 // 初始加载时使用固定时长\n : Math.abs(((pan as any)._value - toValue) * 1.4);\n animation = Animated.timing(pan, {\n toValue: toValue,\n easing: Easing.bezier(0.1, 0.57, 0.1, 1),\n duration: duration,\n useNativeDriver: false,\n });\n }\n setAnimation(animation);\n animation.start(({ finished }: { finished: boolean }) => {\n if (finished) {\n cb && cb();\n setAnimation(undefined);\n }\n });\n };\n\n // 传递给RefreshControl组件参数用来判断状态\n const renderRefreshControl = (state?: PullState) => {\n const refreshControlProps = {\n pullAnimHeight,\n minPullDistance,\n pullState: state || pullState,\n moveHeight,\n movePercent,\n };\n if (refreshControlRef.current) {\n // @ts-ignore\n refreshControlRef.current.setRefreshControlParams(refreshControlProps);\n }\n };\n\n // 是否能移动手指 - 初始加载时禁用手势\n const canMove = (evt: any, gestureState: any) => {\n // 如果正在初始刷新,禁用手势\n if (props.initRefresh && !hasInitRefreshed) {\n return false;\n }\n // Block during refresh states\n if (isRefreshing || pullState === PullState.LOADING || pullState === PullState.HOLDING) {\n return false;\n }\n // Block if already pulling\n if (isPulling) {\n return false;\n }\n // Explicitly reject upward swipes\n if (gestureState.vy < 0) {\n return false;\n }\n return scrollY <= 0 && gestureState.vy > 0 && gestureState.vy > Math.abs(gestureState.vx);\n };\n\n // 手势对象\n const panResponder = useMemo(() => {\n if (Platform.OS !== \"ios\" && props.nativeAndroidPullRefresh) {\n // Android 原生下拉时不启用自定义手势\n return PanResponder.create({\n onStartShouldSetPanResponder: () => false,\n onMoveShouldSetPanResponder: () => false,\n onPanResponderTerminationRequest: () => true,\n });\n }\n return PanResponder.create({\n onStartShouldSetPanResponder: () => false,\n onStartShouldSetPanResponderCapture: () => false,\n onMoveShouldSetPanResponder: canMove,\n onMoveShouldSetPanResponderCapture: canMove,\n onPanResponderGrant: () => {\n animation && animation.stop();\n pan.flattenOffset();\n // @ts-ignore\n pan.setOffset(pan._value);\n updatePullState(PullState.PULLING);\n pullTimeout && clearTimeout(pullTimeout);\n },\n onPanResponderMove: (evt, gestureState) => {\n setIsPulling(true);\n // @ts-ignore\n const offset = pan._offset;\n let value = Math.max(offset + gestureState.dy, 0);\n if (value > 0) {\n // 弹簧劲度系数\n pan.setValue(gestureState.dy / 2.2);\n } else {\n pan.setValue(-offset);\n }\n setMoveHeight(value);\n setMovePercent((value / pullAnimHeight) * 100);\n renderRefreshControl();\n },\n onPanResponderRelease: onRelease,\n onPanResponderTerminationRequest() {\n if (isPulling || pullState === PullState.PULLING) {\n return false;\n }\n return true;\n },\n onPanResponderTerminate: onRelease,\n onShouldBlockNativeResponder() {\n return isPulling || pullState === PullState.PULLING;\n },\n });\n }, [\n isPulling,\n scrollY,\n props.initRefresh,\n hasInitRefreshed,\n pullAnimHeight,\n props.nativeAndroidPullRefresh,\n isRefreshing,\n pullState,\n ]);\n\n // 根据外层传递参数变化进行更新执行(自定义实现启用时)\n useEffect(() => {\n if (Platform.OS !== \"ios\" && props.nativeAndroidPullRefresh) return;\n if (pullState === PullState.PULLING && !props.initRefresh) {\n return;\n }\n // 加载中\n const effectiveRefreshing = !!props.isRefreshing || internalRefreshing;\n if (effectiveRefreshing === true && !isRefreshing) {\n animatedTo(pullAnimHeight);\n setIsRefreshing(true);\n updatePullState(PullState.LOADING);\n }\n\n // 外层加载结束 需要重置位置\n if (effectiveRefreshing === false && isRefreshing) {\n setIsPulling(false);\n updatePullState(PullState.HOLDING);\n setPullTimeout(\n //@ts-ignore\n setTimeout(() => {\n pan.flattenOffset();\n setMoveHeight(0);\n setMovePercent(0);\n animatedTo(0, () => {\n setIsPulling(false);\n updatePullState(PullState.INIT);\n pan.setValue(0);\n pan.flattenOffset();\n });\n updatePullState(PullState.FINISH);\n }, props?.msHoldingTime ?? 1000),\n );\n\n setIsRefreshing(false);\n }\n }, [isRefreshing, props.msHoldingTime, props.isRefreshing, pullState, internalRefreshing]);\n\n // RefreshControl组件初始化计算\n const onLayout = (evt: LayoutChangeEvent) => {\n const height = props.pullAnimHeight || evt.nativeEvent.layout.height;\n setPullAnimHeight(height);\n setMinPullDistance(props.minPullDistance || height);\n setTop(-height);\n };\n\n // 重写ScrollView的onScroll事件(自定义:用于手势门控/头部位置; Android 原生:注入 RefreshControl)\n const scrollContent = useMemo(() => {\n return React.Children.map(props.children, (child: any) => {\n const originalOnScroll = child.props.onScroll;\n const hasNativeDriver =\n originalOnScroll &&\n (originalOnScroll[\"__isNative\"] === true || (originalOnScroll as any)?._animation?.useNativeDriver === true);\n\n const injectedProps =\n Platform.OS === \"android\" && props.nativeAndroidPullRefresh\n ? {\n refreshControl: (\n <RNRefreshControl\n {...(props.androidRefreshProps || {})}\n colors={((props.androidRefreshProps as any)?.colors ?? props.androidColors) as any}\n refreshing={!!props.isRefreshing || internalRefreshing}\n onRefresh={() => {\n if (!!props.isRefreshing || internalRefreshing) return;\n try {\n props.onRequest && props.onRequest();\n } finally {\n // 默认启用:无回调或未受控时自动结束\n if (!props.onRequest) {\n setInternalRefreshing(true);\n }\n // 无论是否有回调,都启动一个兜底自动结束(避免卡住)\n if (androidAutoEndRef.current) clearTimeout(androidAutoEndRef.current);\n androidAutoEndRef.current = setTimeout(() => {\n setInternalRefreshing(false);\n }, props?.msHoldingTime ?? 1000);\n }\n }}\n />\n ),\n onScroll: (evt: any) => {\n if (originalOnScroll && typeof originalOnScroll === \"function\") {\n originalOnScroll(evt);\n }\n },\n }\n : hasNativeDriver\n ? {\n // When the child uses native-driver Animated.event, keep it intact to avoid crashes\n onScroll: originalOnScroll,\n onMomentumScrollEnd: (evt: any) => {\n setScrollY(evt.nativeEvent.contentOffset.y);\n child.props.onMomentumScrollEnd && child.props.onMomentumScrollEnd(evt);\n },\n onScrollEndDrag: (evt: any) => {\n setScrollY(evt.nativeEvent.contentOffset.y);\n // Keep header position in loading state\n if (pullState === PullState.LOADING && evt.nativeEvent.contentOffset.y > 0) {\n const y = Math.max(0, pullAnimHeight - evt.nativeEvent.contentOffset.y);\n viewRef.current &&\n viewRef.current.setNativeProps({\n style: {\n transform: [{ translateY: y }],\n },\n });\n animatedViewRef.current &&\n animatedViewRef.current.setNativeProps({\n style: {\n transform: [{ translateY: y }],\n },\n });\n }\n child.props.onScrollEndDrag && child.props.onScrollEndDrag(evt);\n },\n }\n : {\n onScroll: (evt: any) => {\n setScrollY(evt.nativeEvent.contentOffset.y);\n // iOS下拉刷新Loading时,ScrollView向上滑动的时候,refreshControl部分同样上滑\n if (pullState === PullState.LOADING && evt.nativeEvent.contentOffset.y > 0) {\n const y = Math.max(0, pullAnimHeight - evt.nativeEvent.contentOffset.y);\n viewRef.current &&\n viewRef.current.setNativeProps({\n style: {\n transform: [{ translateY: y }],\n },\n });\n animatedViewRef.current &&\n animatedViewRef.current.setNativeProps({\n style: {\n transform: [{ translateY: y }],\n },\n });\n }\n if (originalOnScroll && typeof originalOnScroll === \"function\") {\n originalOnScroll(evt);\n }\n },\n };\n\n return React.cloneElement(child, {\n scrollEventThrottle: 1,\n ...injectedProps,\n });\n });\n }, [\n pullState,\n props.children,\n pullAnimHeight,\n internalRefreshing,\n props.isRefreshing,\n props.nativeAndroidPullRefresh,\n ]);\n\n // 增加Animated.View控制ScrollView展示位置(自定义)\n const content = useMemo(() => {\n if (Platform.OS === \"android\" && props.nativeAndroidPullRefresh) {\n // Android 直接返回内容(由 RN RefreshControl 控制)\n return <>{scrollContent}</>;\n }\n return (\n <Animated.View\n // @ts-ignore\n ref={viewRef}\n style={{\n transform: [{ translateY: pan }],\n flex: 1,\n }}\n >\n {scrollContent}\n </Animated.View>\n );\n }, [pan, scrollContent, props.nativeAndroidPullRefresh]);\n\n return (\n <View\n style={[styles.container, props.style]}\n {...(Platform.OS === \"ios\" || !props.nativeAndroidPullRefresh ? panResponder.panHandlers : {})}\n testID=\"refresh-container\"\n >\n {Platform.OS === \"ios\" || !props.nativeAndroidPullRefresh ? (\n <Animated.View\n // @ts-ignore\n ref={animatedViewRef}\n onLayout={onLayout}\n style={[\n styles.freshItem,\n {\n top: top,\n height: props.pullAnimHeight,\n transform: [{ translateY: pan }],\n },\n props.controlStyle,\n ]}\n >\n {/* @ts-ignore */}\n <CustomRefreshControl ref={refreshControlRef} {...props} movePercent={movePercent} />\n </Animated.View>\n ) : null}\n {content}\n </View>\n );\n}\nPullRefresh.defaultProps = PullRefreshDefaultProps;\n\nconst styles = StyleSheet.create({\n container: {\n overflow: \"hidden\",\n position: \"relative\",\n flex: 1,\n },\n freshItem: {\n position: \"absolute\",\n width: \"100%\",\n justifyContent: \"center\",\n alignItems: \"center\",\n zIndex: 1,\n },\n});\n"],"names":["CustomRefreshControl","RefreshControl","PullRefresh","props","useMounted","_useState","useState","_useState2","_slicedToArray","pullAnimHeight","setPullAnimHeight","_useState3","_useState4","minPullDistance","setMinPullDistance","_useState5","Animated","Value","_useState6","pan","_useState7","_useState8","scrollY","setScrollY","_useState9","_useState0","isPulling","setIsPulling","_useState1","_useState10","isRefreshing","setIsRefreshing","_useState11","_useState12","internalRefreshing","setInternalRefreshing","androidAutoEndRef","useRef","_useState13","_useState14","animation","setAnimation","_useState15","PullState","INIT","_useState16","pullState","setPullState","_useState17","_useState18","moveHeight","setMoveHeight","_useState19","_useState20","movePercent","setMovePercent","_useState21","_useState22","pullTimeout","setPullTimeout","refreshControlRef","viewRef","animatedViewRef","_useState23","_useState24","top","setTop","_useState25","_useState26","hasInitRefreshed","setHasInitRefreshed","performInitRefresh","initRefresh","refresh","updatePullState","LOADING","animatedTo","onRequest","useEffect","current","clearTimeout","onRelease","flattenOffset","panValue","_value","_props$msHoldingTime","setTimeout","msHoldingTime","FINISH","setValue","state","renderRefreshControl","toValue","cb","spring","friction","tension","velocity","useNativeDriver","duration","Math","abs","timing","easing","Easing","bezier","start","_ref","finished","refreshControlProps","setRefreshControlParams","canMove","evt","gestureState","HOLDING","vy","vx","panResponder","useMemo","Platform","OS","nativeAndroidPullRefresh","PanResponder","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","onPanResponderTerminationRequest","onStartShouldSetPanResponderCapture","onMoveShouldSetPanResponderCapture","onPanResponderGrant","stop","setOffset","PULLING","onPanResponderMove","offset","_offset","value","max","dy","onPanResponderRelease","onPanResponderTerminate","onShouldBlockNativeResponder","effectiveRefreshing","_props$msHoldingTime2","onLayout","height","nativeEvent","layout","scrollContent","React","Children","map","children","child","_originalOnScroll$_an","_props$androidRefresh","_props$androidRefresh2","originalOnScroll","onScroll","hasNativeDriver","_animation","injectedProps","refreshControl","createElement","RNRefreshControl","_objectSpread","androidRefreshProps","colors","androidColors","refreshing","onRefresh","_props$msHoldingTime3","onMomentumScrollEnd","contentOffset","y","onScrollEndDrag","setNativeProps","style","transform","translateY","cloneElement","scrollEventThrottle","content","View","ref","flex","styles","container","panHandlers","testID","freshItem","controlStyle","defaultProps","PullRefreshDefaultProps","StyleSheet","overflow","position","width","justifyContent","alignItems","zIndex"],"mappings":"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"}