@xhsreds/reds-rn-next 0.10.1-beta202512021041 → 0.10.1-beta202512022142

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 (56) hide show
  1. package/coverage/.tmp/coverage-1.json +1 -1
  2. package/coverage/.tmp/coverage-10.json +1 -1
  3. package/coverage/.tmp/coverage-11.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-28.json +1 -1
  22. package/coverage/.tmp/coverage-29.json +1 -1
  23. package/coverage/.tmp/coverage-3.json +1 -1
  24. package/coverage/.tmp/coverage-30.json +1 -1
  25. package/coverage/.tmp/coverage-31.json +1 -1
  26. package/coverage/.tmp/coverage-33.json +1 -1
  27. package/coverage/.tmp/coverage-34.json +1 -1
  28. package/coverage/.tmp/coverage-35.json +1 -1
  29. package/coverage/.tmp/coverage-36.json +1 -1
  30. package/coverage/.tmp/coverage-37.json +1 -1
  31. package/coverage/.tmp/coverage-38.json +1 -1
  32. package/coverage/.tmp/coverage-39.json +1 -1
  33. package/coverage/.tmp/coverage-4.json +1 -1
  34. package/coverage/.tmp/coverage-40.json +1 -1
  35. package/coverage/.tmp/coverage-41.json +1 -1
  36. package/coverage/.tmp/coverage-42.json +1 -1
  37. package/coverage/.tmp/coverage-43.json +1 -1
  38. package/coverage/.tmp/coverage-5.json +1 -1
  39. package/coverage/.tmp/coverage-6.json +1 -1
  40. package/coverage/.tmp/coverage-7.json +1 -1
  41. package/coverage/.tmp/coverage-8.json +1 -1
  42. package/coverage/.tmp/coverage-9.json +1 -1
  43. package/lib/cjs/components/Image/Image.js +13 -13
  44. package/lib/cjs/components/Image/Image.js.map +1 -1
  45. package/lib/cjs/components/Portal/core/PortalHost.js +3 -1
  46. package/lib/cjs/components/Portal/core/PortalHost.js.map +1 -1
  47. package/lib/esm/components/Image/Image.js +13 -13
  48. package/lib/esm/components/Image/Image.js.map +1 -1
  49. package/lib/esm/components/Portal/core/PortalHost.js +3 -1
  50. package/lib/esm/components/Portal/core/PortalHost.js.map +1 -1
  51. package/package.json +2 -2
  52. package/src/components/Image/Image.tsx +14 -9
  53. package/src/components/Image/demo/index.tsx +4 -5
  54. package/src/components/Portal/core/PortalHost.tsx +4 -1
  55. package/src/i18n/@types/resources.d.ts +27 -27
  56. package/src/i18n/index.json +31 -31
@@ -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/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 +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/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/List/ListItem/ListContext.ts":{"path":"/builds/fe/infra/reds/packages/reds-rn/src/components/List/ListItem/ListContext.ts","statementMap":{"0":{"start":{"line":2,"column":27},"end":{"line":2,"column":48}},"1":{"start":{"line":3,"column":30},"end":{"line":9,"column":1}},"2":{"start":{"line":4,"column":18},"end":{"line":4,"column":41}},"3":{"start":{"line":5,"column":2},"end":{"line":7,"column":3}},"4":{"start":{"line":6,"column":4},"end":{"line":6,"column":73}},"5":{"start":{"line":8,"column":2},"end":{"line":8,"column":17}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":30},"end":{"line":3,"column":31}},"loc":{"start":{"line":3,"column":36},"end":{"line":9,"column":1}},"line":3}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":2},"end":{"line":7,"column":3}},"type":"if","locations":[{"start":{"line":5,"column":2},"end":{"line":7,"column":3}},{"start":{},"end":{}}],"line":5}},"s":{"0":1,"1":1,"2":0,"3":0,"4":0,"5":0},"f":{"0":0},"b":{"0":[0,0]},"inputSourceMap":{"version":3,"sources":["/builds/fe/infra/reds/packages/reds-rn/src/components/List/ListItem/ListContext.ts"],"sourcesContent":["import React, { createContext, useContext } from \"react\";\n\ninterface ListContextProps {\n registerChild: (child: any) => void;\n unregisterChild: (child: any) => void;\n}\n\nexport const ListContext = createContext<ListContextProps | undefined>(undefined);\n\nexport const useListContext = () => {\n const context = useContext(ListContext);\n if (!context) {\n throw new Error(\"useListContext must be used within a ListProvider\");\n }\n return context;\n};\n"],"mappings":"AAAA,SAAgB,eAAe,kBAAkB;AAO1C,aAAM,cAAc,cAA4C,MAAS;AAEzE,aAAM,iBAAiB,MAAM;AAClC,QAAM,UAAU,WAAW,WAAW;AACtC,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,mDAAmD;AAAA,EACrE;AACA,SAAO;AACT;","names":[]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"5356551580d107a6f95cf4b6ec192d71d109ec67"}}
1
+ {"/builds/fe/infra/reds/packages/reds-rn/src/components/DatePicker/interface/index.ts":{"path":"/builds/fe/infra/reds/packages/reds-rn/src/components/DatePicker/interface/index.ts","statementMap":{"0":{"start":{"line":1,"column":44},"end":{"line":11,"column":24}},"1":{"start":{"line":2,"column":2},"end":{"line":2,"column":51}},"2":{"start":{"line":3,"column":2},"end":{"line":3,"column":45}},"3":{"start":{"line":4,"column":2},"end":{"line":4,"column":35}},"4":{"start":{"line":5,"column":2},"end":{"line":5,"column":35}},"5":{"start":{"line":6,"column":2},"end":{"line":6,"column":47}},"6":{"start":{"line":7,"column":2},"end":{"line":7,"column":59}},"7":{"start":{"line":8,"column":2},"end":{"line":8,"column":71}},"8":{"start":{"line":9,"column":2},"end":{"line":9,"column":59}},"9":{"start":{"line":10,"column":2},"end":{"line":10,"column":25}},"10":{"start":{"line":12,"column":38},"end":{"line":24,"column":1}},"11":{"start":{"line":15,"column":24},"end":{"line":15,"column":29}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":1,"column":45},"end":{"line":1,"column":46}},"loc":{"start":{"line":1,"column":66},"end":{"line":11,"column":1}},"line":1},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":13},"end":{"line":15,"column":14}},"loc":{"start":{"line":15,"column":24},"end":{"line":15,"column":29}},"line":15},"2":{"name":"(anonymous_2)","decl":{"start":{"line":16,"column":12},"end":{"line":16,"column":13}},"loc":{"start":{"line":16,"column":23},"end":{"line":17,"column":3}},"line":16},"3":{"name":"(anonymous_3)","decl":{"start":{"line":18,"column":12},"end":{"line":18,"column":13}},"loc":{"start":{"line":18,"column":18},"end":{"line":19,"column":3}},"line":18},"4":{"name":"(anonymous_4)","decl":{"start":{"line":20,"column":13},"end":{"line":20,"column":14}},"loc":{"start":{"line":20,"column":24},"end":{"line":21,"column":3}},"line":20}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":3},"end":{"line":11,"column":23}},"type":"binary-expr","locations":[{"start":{"line":11,"column":3},"end":{"line":11,"column":17}},{"start":{"line":11,"column":21},"end":{"line":11,"column":23}}],"line":11}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":0},"f":{"0":1,"1":0,"2":0,"3":0,"4":0},"b":{"0":[1,1]},"inputSourceMap":{"version":3,"sources":["/builds/fe/infra/reds/packages/reds-rn/src/components/DatePicker/interface/index.ts"],"sourcesContent":["export enum DatePickerMode {\n YearMonthDay = \"yearmonthday\",\n YearMonth = \"yearmonth\",\n Year = \"year\",\n Hour = \"hour\",\n HourMinute = \"hourminute\",\n HourMinuteSecond = \"hourminutesecond\",\n YearMonthDayHourMinute = \"yearmonthdayhourminute\",\n YearMonthDayHour = \"yearmonthdayhour\",\n}\nexport interface RedsDatePicker {\n visible: boolean;\n value: string;\n cancelText?: string;\n mode?: DatePickerMode;\n startYear?: number;\n endYear?: number;\n startTime?: string;\n endTime?: string;\n label: string;\n formatter?: (value: string) => any;\n onChange?: (value: string) => void;\n onCancel?: () => void;\n onConfirm?: (value: string) => void;\n isDatePattern?: boolean;\n closeText?: string;\n mask?: boolean;\n hostName?: string;\n}\n\nexport interface RedsDatePickerEvent {}\nexport const DatePickerDefaultProps = {\n visible: false,\n mode: DatePickerMode.YearMonthDay,\n formatter: (value: string) => value,\n onChange: (value: string) => {},\n onCancel: () => {},\n onConfirm: (value: string) => {},\n isDatePattern: false,\n hostName: \"root\",\n};\n"],"mappings":"AAAO,WAAK,iBAAL,kBAAKA,oBAAL;AACL,EAAAA,gBAAA,kBAAe;AACf,EAAAA,gBAAA,eAAY;AACZ,EAAAA,gBAAA,UAAO;AACP,EAAAA,gBAAA,UAAO;AACP,EAAAA,gBAAA,gBAAa;AACb,EAAAA,gBAAA,sBAAmB;AACnB,EAAAA,gBAAA,4BAAyB;AACzB,EAAAA,gBAAA,sBAAmB;AART,SAAAA;AAAA,GAAA;AA+BL,aAAM,yBAAyB;AAAA,EACpC,SAAS;AAAA,EACT,MAAM;AAAA,EACN,WAAW,CAAC,UAAkB;AAAA,EAC9B,UAAU,CAAC,UAAkB;AAAA,EAAC;AAAA,EAC9B,UAAU,MAAM;AAAA,EAAC;AAAA,EACjB,WAAW,CAAC,UAAkB;AAAA,EAAC;AAAA,EAC/B,eAAe;AAAA,EACf,UAAU;AACZ;","names":["DatePickerMode"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"9e76fc27de5c3917033e01222a48d018ce0fa2fd"},"/builds/fe/infra/reds/packages/reds-rn/src/components/Picker/interface/index.ts":{"path":"/builds/fe/infra/reds/packages/reds-rn/src/components/Picker/interface/index.ts","statementMap":{"0":{"start":{"line":1,"column":34},"end":{"line":12,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":13},"end":{"line":2,"column":14}},"loc":{"start":{"line":2,"column":19},"end":{"line":3,"column":3}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":12},"end":{"line":4,"column":13}},"loc":{"start":{"line":4,"column":18},"end":{"line":5,"column":3}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":6,"column":12},"end":{"line":6,"column":13}},"loc":{"start":{"line":6,"column":18},"end":{"line":7,"column":3}},"line":6}},"branchMap":{},"s":{"0":1},"f":{"0":0,"1":0,"2":0},"b":{},"inputSourceMap":{"version":3,"sources":["/builds/fe/infra/reds/packages/reds-rn/src/components/Picker/interface/index.ts"],"sourcesContent":["import { GestureResponderEvent } from \"react-native\";\nimport { lightColor } from \"@xhs/reds-token-next\";\nimport { SheetsType } from \"../../Sheets\";\n\ntype SheetsSize = SheetsType.SheetsSize;\n\nexport interface Column {\n label: string;\n value: string;\n}\nexport interface RedsPicker {\n onConfirm?: (val: string[]) => void;\n onCancel?: () => void;\n onChange?: (val: string[]) => void;\n columns: Column[][];\n value: string[];\n visible: boolean;\n accessibility?: Object;\n hostName?: string;\n bottom?: any;\n}\n\nexport interface RedsPickerEvent {}\nexport const PickerDefaultProps = {\n onConfirm: () => {},\n onCancel: () => {},\n onChange: () => {},\n columns: [],\n value: [],\n visible: false,\n accessibility: {},\n};\n"],"mappings":"AAuBO,aAAM,qBAAqB;AAAA,EAChC,WAAW,MAAM;AAAA,EAAC;AAAA,EAClB,UAAU,MAAM;AAAA,EAAC;AAAA,EACjB,UAAU,MAAM;AAAA,EAAC;AAAA,EACjB,SAAS,CAAC;AAAA,EACV,OAAO,CAAC;AAAA,EACR,SAAS;AAAA,EACT,eAAe,CAAC;AAClB;","names":[]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"a054bd43402933bffcf3758b7f508a8aa18b200a"}}
@@ -177,11 +177,12 @@ var Image = function Image(_ref) {
177
177
  };
178
178
  var colorMode = components_ConfigProvider_hooks_themeToken_useColorMode.useColorMode();
179
179
  return /* @__PURE__ */React.createElement(reactNative.View, {
180
- style: _rollupPluginBabelHelpers._objectSpread2({
181
- borderRadius: borderRadius,
182
- height: height,
183
- width: width
184
- }, style)
180
+ style: _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({
181
+ borderRadius: borderRadius || (style === null || style === void 0 ? void 0 : style.borderRadius)
182
+ }, style), {}, {
183
+ height: (height || (style === null || style === void 0 ? void 0 : style.height) || 0) + ((style === null || style === void 0 ? void 0 : style.borderWidth) || 0) * 2,
184
+ width: (width || (style === null || style === void 0 ? void 0 : style.width) || 0) + ((style === null || style === void 0 ? void 0 : style.borderWidth) || 0) * 2
185
+ })
185
186
  }, imageStatus !== components_Image_interface_index.IMAGE_STATUS.HIDE && /* @__PURE__ */React.createElement(reactNative.Image, _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, props), {}, {
186
187
  source: formatSource,
187
188
  onLoadStart: onLoadStart,
@@ -196,24 +197,24 @@ var Image = function Image(_ref) {
196
197
  style: {
197
198
  width: width || (style === null || style === void 0 ? void 0 : style.width),
198
199
  height: height || (style === null || style === void 0 ? void 0 : style.height),
199
- borderRadius: borderRadius
200
+ borderRadius: borderRadius || (style === null || style === void 0 ? void 0 : style.borderRadius)
200
201
  // opacity: imageStatus === IMAGE_STATUS.LOADED ? 1 : 0,
201
202
  },
202
203
  apmBiz: props.apmBiz
203
204
  })), imageStatus === components_Image_interface_index.IMAGE_STATUS.LOADING && loadStyle !== components_Image_interface_index.TLoadStyle.NONE && /* @__PURE__ */React.createElement(reactNative.View, {
204
205
  style: _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({
205
- width: width,
206
- height: height,
207
- borderRadius: borderRadius
206
+ width: width || (style === null || style === void 0 ? void 0 : style.width),
207
+ height: height || (style === null || style === void 0 ? void 0 : style.height),
208
+ borderRadius: borderRadius || (style === null || style === void 0 ? void 0 : style.borderRadius)
208
209
  }, components_Image_styles.default.loadingContainer), {}, {
209
210
  backgroundColor: loadStyle === components_Image_interface_index.TLoadStyle.AVE ? aveColor : components_Image_styles.default.loadingContainer.backgroundColor
210
- }, style)
211
+ })
211
212
  }, loadStyle === components_Image_interface_index.TLoadStyle.BLUR && /* @__PURE__ */React.createElement(reactNative.Image, {
212
213
  source: blurSource,
213
214
  style: {
214
215
  width: width || (style === null || style === void 0 ? void 0 : style.width),
215
216
  height: height || (style === null || style === void 0 ? void 0 : style.height),
216
- borderRadius: borderRadius
217
+ borderRadius: borderRadius || (style === null || style === void 0 ? void 0 : style.borderRadius)
217
218
  },
218
219
  apmBiz: props.apmBiz
219
220
  }), loadStyle === components_Image_interface_index.TLoadStyle.LOADING && /* @__PURE__ */React.createElement(components_Image_CircularProgress.default, {
@@ -225,8 +226,7 @@ var Image = function Image(_ref) {
225
226
  },
226
227
  style: _rollupPluginBabelHelpers._objectSpread2({
227
228
  width: width,
228
- height: height,
229
- borderRadius: borderRadius
229
+ height: height
230
230
  }, components_Image_styles.default.loadingContainer)
231
231
  }, /* @__PURE__ */React.createElement(reactNative.Image, {
232
232
  style: {
@@ -1 +1 @@
1
- {"version":3,"file":"Image.js","sources":["../../../../src/components/Image/Image.tsx"],"sourcesContent":["import React, { useState, memo, useMemo, useRef, useCallback, useEffect } from \"react\";\nimport {\n View,\n Image as RNImage,\n GestureResponderEvent,\n ImageProps,\n TouchableOpacity,\n ImageLoadEventData,\n NativeSyntheticEvent,\n ImageErrorEventData,\n ImageProgressEventDataIOS,\n ImageSourcePropType,\n ImageURISource,\n} from \"react-native\";\nimport {\n RedsImage,\n ImageDefaultProps,\n IMAGE_STATUS,\n TErrorStyle,\n TLoadStyle,\n ImageTrackerProps,\n} from \"./interface/index\";\nimport styles from \"./styles\";\nimport { useAveColor, useBlur } from \"./hook\";\nimport CircularProgress from \"./CircularProgress\";\nimport { useColorMode } from \"../ConfigProvider\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\nimport { lightColor } from \"@xhsreds/reds-token-next\";\nimport { formatUri, isDataUri, isLocalFile, convertKeysToSnakeCase } from \"./utils\";\nimport { apmPush } from \"./apm\";\nimport { queryCacheBatched } from \"./queryCacheBatcher\";\n\nconst imageReLoad = {\n light: \"https://picasso-static.xiaohongshu.com/fe-platform/06ae169b310c2926e541903b828486a80fcac404.png\",\n dark: \"https://picasso-static.xiaohongshu.com/fe-platform/4f9bfbf2358aa970f1ec3dbf4ba5ff9355b7a41e.png\",\n platformLight: \"https://picasso-static.xiaohongshu.com/fe-platform/06ae169b310c2926e541903b828486a80fcac404.png\",\n};\n\nconst imageError = {\n light: \"https://picasso-static.xiaohongshu.com/fe-platform/76fee5bba4ce3bbf3e9ff5fe1935b737bb27625a.png\",\n dark: \"https://picasso-static.xiaohongshu.com/fe-platform/7d8debb5e2c3a1f37299a292342b77d479be6f28.png\",\n platformLight: \"https://picasso-static.xiaohongshu.com/fe-platform/76fee5bba4ce3bbf3e9ff5fe1935b737bb27625a.png\",\n};\n\nconst Image = ({\n src,\n source: _source,\n width,\n height,\n borderRadius,\n errorStyle,\n loadStyle,\n style,\n abortApmCollection,\n fadeDuration,\n onFirstDrawFinished,\n ...props\n}: RedsImage & Omit<ImageProps, keyof RedsImage>) => {\n // useMounted(\"Image\");\n const [imageStatus, setImageStatus] = useState(IMAGE_STATUS.LOADING);\n const [progress, setProgress] = useState(0);\n const mountTimeRef = useRef<number>(Date.now());\n\n const formatSource = useMemo(() => {\n // @ts-ignore\n if (_source) return _source as ImageSourcePropType;\n // @ts-ignore\n return { uri: src } as ImageSourcePropType;\n }, [src, _source]);\n\n const aveColor = useAveColor({\n source: formatSource,\n defaultColor: lightColor.Fill1,\n loadingAve: loadStyle === TLoadStyle.AVE,\n });\n\n const blurSource = useBlur({ source: formatSource });\n\n // Visibility tracking removed: no longer needed for APM\n const apmDataRef = useRef<ImageTrackerProps>({\n imageUrl: \"\",\n imageHost: \"\",\n intersectTime: 0,\n imageSize: 0,\n isFirstScreen: \"false\",\n isPrefetch: \"\",\n isSuccess: \"false\",\n errorReason: \"\",\n loadedStartTime: 0,\n loadedTime: 0,\n loadDuration: 0,\n viewDuration: 0,\n });\n const apmDoneRef = useRef(false);\n\n useEffect(() => {\n if (abortApmCollection) return;\n try {\n const apmData = apmDataRef.current;\n if (\n typeof formatSource !== \"number\" &&\n !isLocalFile((formatSource as ImageURISource).uri as string) &&\n !isDataUri((formatSource as ImageURISource).uri as string)\n ) {\n const imageUrl = new URL((formatSource as ImageURISource).uri as string);\n apmData.imageHost = `${imageUrl.protocol}//${imageUrl.host}`;\n apmData.imageUrl = (formatSource as ImageURISource).uri as string;\n }\n } catch (error) {\n //\n }\n }, [formatSource, abortApmCollection]);\n\n useEffect(() => {\n if (abortApmCollection) return;\n const imageUrl = (formatSource as ImageURISource)?.uri || \"\";\n if (!imageUrl) return;\n let alive = true;\n queryCacheBatched(imageUrl)\n .then((isPrefetched) => {\n if (!alive) return;\n apmDataRef.current.isPrefetch = String(isPrefetched);\n })\n .catch(() => {\n if (!alive) return;\n apmDataRef.current.isPrefetch = \"false\";\n });\n return () => {\n alive = false;\n apmDataRef.current.isPrefetch = \"\";\n };\n }, [formatSource, abortApmCollection]);\n\n const pushApmData = useCallback(() => {\n if (abortApmCollection) return;\n const apmData = apmDataRef.current;\n // Simplify: do not track view duration/intersect time\n apmData.intersectTime = 0;\n apmData.viewDuration = 0;\n /**\n * 如果Image.queryCache未完成时,通过imageSize来判断\n * 如果image_size是-1,那么认为图片已有缓存\n */\n const imageSize = apmDataRef.current.imageSize || 0;\n if (!apmDataRef.current.isPrefetch) {\n apmDataRef.current.isPrefetch = String((imageSize || 0) <= 0);\n }\n if (!apmDoneRef.current && apmData.imageUrl && !abortApmCollection) {\n apmDoneRef.current = true;\n apmPush(convertKeysToSnakeCase(apmData));\n }\n }, [abortApmCollection]);\n\n // 判断首屏\n // isFirstScreen stays \"false\" and intersectTime stays 0 by design\n const onLoadEnd = () => {\n props?.onLoadEnd?.();\n if (abortApmCollection) return;\n // Push regardless of visibility/intersect time\n pushApmData();\n };\n\n const onProgress = (e: NativeSyntheticEvent<ImageProgressEventDataIOS>) => {\n const {\n nativeEvent: { total, loaded },\n } = e;\n if (total) {\n setProgress(((loaded / total) * 100) | 0);\n }\n !abortApmCollection && (apmDataRef.current.imageSize = total);\n props.onProgress?.(e);\n };\n const onLoad = (e: NativeSyntheticEvent<ImageLoadEventData>) => {\n if (!abortApmCollection) {\n const now = Date.now();\n let start = apmDataRef.current.loadedStartTime || mountTimeRef.current;\n if (start > now) start = now;\n apmDataRef.current.loadedStartTime = start;\n const loadDuration = now - start;\n apmDataRef.current.loadedTime = now;\n apmDataRef.current.loadDuration = loadDuration < 0 ? 0 : loadDuration;\n apmDataRef.current.isSuccess = \"true\";\n }\n props.onLoad?.(e);\n setImageStatus(IMAGE_STATUS.LOADED);\n };\n\n const onLoadStart = () => {\n !abortApmCollection && (apmDataRef.current.loadedStartTime = Date.now());\n };\n\n const onError = (e: NativeSyntheticEvent<ImageErrorEventData>) => {\n if (!abortApmCollection) {\n apmDataRef.current.isSuccess = \"false\";\n apmDataRef.current.errorReason = `${e.nativeEvent.error}`;\n }\n props.onError?.(e);\n setImageStatus(errorStyle === TErrorStyle.ERROR ? IMAGE_STATUS.LOADERROR : IMAGE_STATUS.RELOAD);\n };\n const onReload = (e: GestureResponderEvent) => {\n setImageStatus(IMAGE_STATUS.HIDE);\n props.onReload?.(e);\n setTimeout(() => {\n setImageStatus(IMAGE_STATUS.LOADING);\n });\n };\n\n const colorMode = useColorMode();\n\n return (\n <View style={{ borderRadius, height, width, ...(style as {}) }}>\n {imageStatus !== IMAGE_STATUS.HIDE && (\n <RNImage\n {...props}\n // @ts-ignore\n source={formatSource}\n onLoadStart={onLoadStart}\n onLoad={onLoad}\n onProgress={onProgress}\n onError={onError}\n onLoadEnd={onLoadEnd}\n fadeDuration={fadeDuration}\n // @ts-ignore\n onFirstDrawFinished={(e) => onFirstDrawFinished(e)}\n style={{\n width: width || style?.width,\n height: height || style?.height,\n borderRadius,\n // opacity: imageStatus === IMAGE_STATUS.LOADED ? 1 : 0,\n }}\n // @ts-ignore\n apmBiz={props.apmBiz}\n ></RNImage>\n )}\n {imageStatus === IMAGE_STATUS.LOADING && loadStyle !== TLoadStyle.NONE && (\n <View\n style={{\n width,\n height,\n borderRadius,\n ...styles.loadingContainer,\n backgroundColor: loadStyle === TLoadStyle.AVE ? aveColor : styles.loadingContainer.backgroundColor,\n ...style,\n }}\n >\n {loadStyle === TLoadStyle.BLUR && (\n <RNImage\n source={blurSource}\n style={{\n width: width || style?.width,\n height: height || style?.height,\n borderRadius,\n }}\n // @ts-ignore\n apmBiz={props.apmBiz}\n ></RNImage>\n )}\n {loadStyle === TLoadStyle.LOADING && <CircularProgress progress={progress}></CircularProgress>}\n </View>\n )}\n {(imageStatus === IMAGE_STATUS.LOADERROR || imageStatus === IMAGE_STATUS.RELOAD) &&\n errorStyle !== TErrorStyle.NONE && (\n <TouchableOpacity\n activeOpacity={1}\n onPress={(e) => {\n onReload(e);\n }}\n style={{ width, height, borderRadius, ...styles.loadingContainer }}\n >\n <RNImage\n style={{ width: 40, height: 40 }}\n source={{\n uri: imageStatus === IMAGE_STATUS.RELOAD ? imageReLoad[colorMode] : imageError[colorMode],\n }}\n // @ts-ignore\n apmBiz={props.apmBiz}\n />\n </TouchableOpacity>\n )}\n </View>\n );\n};\n\nImage.defaultProps = ImageDefaultProps;\n\nexport default memo(Image);\n"],"names":["imageReLoad","light","dark","platformLight","imageError","Image","src","_ref","_source","source","width","height","borderRadius","errorStyle","loadStyle","style","abortApmCollection","fadeDuration","onFirstDrawFinished","props","_objectWithoutProperties","_excluded","_useState","useState","IMAGE_STATUS","LOADING","_useState2","_slicedToArray","imageStatus","setImageStatus","_useState3","_useState4","progress","setProgress","mountTimeRef","useRef","Date","now","formatSource","useMemo","uri","aveColor","useAveColor","defaultColor","lightColor","Fill1","loadingAve","TLoadStyle","AVE","blurSource","useBlur","apmDataRef","imageUrl","imageHost","intersectTime","imageSize","isFirstScreen","isPrefetch","isSuccess","errorReason","loadedStartTime","loadedTime","loadDuration","viewDuration","apmDoneRef","useEffect","apmData","current","isLocalFile","isDataUri","URL","protocol","concat","host","error","alive","queryCacheBatched","then","isPrefetched","String","pushApmData","useCallback","apmPush","convertKeysToSnakeCase","onLoadEnd","_props$onLoadEnd","call","onProgress","e","_props$onProgress","_e$nativeEvent","nativeEvent","total","loaded","onLoad","_props$onLoad","start","LOADED","onLoadStart","onError","_props$onError","TErrorStyle","ERROR","LOADERROR","RELOAD","onReload","_props$onReload","HIDE","setTimeout","colorMode","useColorMode","React","createElement","View","_objectSpread","RNImage","apmBiz","NONE","styles","loadingContainer","backgroundColor","BLUR","CircularProgress","TouchableOpacity","activeOpacity","onPress","defaultProps","ImageDefaultProps","memo"],"mappings":"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"}
1
+ {"version":3,"file":"Image.js","sources":["../../../../src/components/Image/Image.tsx"],"sourcesContent":["import React, { useState, memo, useMemo, useRef, useCallback, useEffect } from \"react\";\nimport {\n View,\n Image as RNImage,\n GestureResponderEvent,\n ImageProps,\n TouchableOpacity,\n ImageLoadEventData,\n NativeSyntheticEvent,\n ImageErrorEventData,\n ImageProgressEventDataIOS,\n ImageSourcePropType,\n ImageURISource,\n} from \"react-native\";\nimport {\n RedsImage,\n ImageDefaultProps,\n IMAGE_STATUS,\n TErrorStyle,\n TLoadStyle,\n ImageTrackerProps,\n} from \"./interface/index\";\nimport styles from \"./styles\";\nimport { useAveColor, useBlur } from \"./hook\";\nimport CircularProgress from \"./CircularProgress\";\nimport { useColorMode } from \"../ConfigProvider\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\nimport { lightColor } from \"@xhsreds/reds-token-next\";\nimport { formatUri, isDataUri, isLocalFile, convertKeysToSnakeCase } from \"./utils\";\nimport { apmPush } from \"./apm\";\nimport { queryCacheBatched } from \"./queryCacheBatcher\";\n\nconst imageReLoad = {\n light: \"https://picasso-static.xiaohongshu.com/fe-platform/06ae169b310c2926e541903b828486a80fcac404.png\",\n dark: \"https://picasso-static.xiaohongshu.com/fe-platform/4f9bfbf2358aa970f1ec3dbf4ba5ff9355b7a41e.png\",\n platformLight: \"https://picasso-static.xiaohongshu.com/fe-platform/06ae169b310c2926e541903b828486a80fcac404.png\",\n};\n\nconst imageError = {\n light: \"https://picasso-static.xiaohongshu.com/fe-platform/76fee5bba4ce3bbf3e9ff5fe1935b737bb27625a.png\",\n dark: \"https://picasso-static.xiaohongshu.com/fe-platform/7d8debb5e2c3a1f37299a292342b77d479be6f28.png\",\n platformLight: \"https://picasso-static.xiaohongshu.com/fe-platform/76fee5bba4ce3bbf3e9ff5fe1935b737bb27625a.png\",\n};\n\nconst Image = ({\n src,\n source: _source,\n width,\n height,\n borderRadius,\n errorStyle,\n loadStyle,\n style,\n abortApmCollection,\n fadeDuration,\n onFirstDrawFinished,\n ...props\n}: RedsImage & Omit<ImageProps, keyof RedsImage>) => {\n // useMounted(\"Image\");\n const [imageStatus, setImageStatus] = useState(IMAGE_STATUS.LOADING);\n const [progress, setProgress] = useState(0);\n const mountTimeRef = useRef<number>(Date.now());\n\n const formatSource = useMemo(() => {\n // @ts-ignore\n if (_source) return _source as ImageSourcePropType;\n // @ts-ignore\n return { uri: src } as ImageSourcePropType;\n }, [src, _source]);\n\n const aveColor = useAveColor({\n source: formatSource,\n defaultColor: lightColor.Fill1,\n loadingAve: loadStyle === TLoadStyle.AVE,\n });\n\n const blurSource = useBlur({ source: formatSource });\n\n // Visibility tracking removed: no longer needed for APM\n const apmDataRef = useRef<ImageTrackerProps>({\n imageUrl: \"\",\n imageHost: \"\",\n intersectTime: 0,\n imageSize: 0,\n isFirstScreen: \"false\",\n isPrefetch: \"\",\n isSuccess: \"false\",\n errorReason: \"\",\n loadedStartTime: 0,\n loadedTime: 0,\n loadDuration: 0,\n viewDuration: 0,\n });\n const apmDoneRef = useRef(false);\n\n useEffect(() => {\n if (abortApmCollection) return;\n try {\n const apmData = apmDataRef.current;\n if (\n typeof formatSource !== \"number\" &&\n !isLocalFile((formatSource as ImageURISource).uri as string) &&\n !isDataUri((formatSource as ImageURISource).uri as string)\n ) {\n const imageUrl = new URL((formatSource as ImageURISource).uri as string);\n apmData.imageHost = `${imageUrl.protocol}//${imageUrl.host}`;\n apmData.imageUrl = (formatSource as ImageURISource).uri as string;\n }\n } catch (error) {\n //\n }\n }, [formatSource, abortApmCollection]);\n\n useEffect(() => {\n if (abortApmCollection) return;\n const imageUrl = (formatSource as ImageURISource)?.uri || \"\";\n if (!imageUrl) return;\n let alive = true;\n queryCacheBatched(imageUrl)\n .then((isPrefetched) => {\n if (!alive) return;\n apmDataRef.current.isPrefetch = String(isPrefetched);\n })\n .catch(() => {\n if (!alive) return;\n apmDataRef.current.isPrefetch = \"false\";\n });\n return () => {\n alive = false;\n apmDataRef.current.isPrefetch = \"\";\n };\n }, [formatSource, abortApmCollection]);\n\n const pushApmData = useCallback(() => {\n if (abortApmCollection) return;\n const apmData = apmDataRef.current;\n // Simplify: do not track view duration/intersect time\n apmData.intersectTime = 0;\n apmData.viewDuration = 0;\n /**\n * 如果Image.queryCache未完成时,通过imageSize来判断\n * 如果image_size是-1,那么认为图片已有缓存\n */\n const imageSize = apmDataRef.current.imageSize || 0;\n if (!apmDataRef.current.isPrefetch) {\n apmDataRef.current.isPrefetch = String((imageSize || 0) <= 0);\n }\n if (!apmDoneRef.current && apmData.imageUrl && !abortApmCollection) {\n apmDoneRef.current = true;\n apmPush(convertKeysToSnakeCase(apmData));\n }\n }, [abortApmCollection]);\n\n // 判断首屏\n // isFirstScreen stays \"false\" and intersectTime stays 0 by design\n const onLoadEnd = () => {\n props?.onLoadEnd?.();\n if (abortApmCollection) return;\n // Push regardless of visibility/intersect time\n pushApmData();\n };\n\n const onProgress = (e: NativeSyntheticEvent<ImageProgressEventDataIOS>) => {\n const {\n nativeEvent: { total, loaded },\n } = e;\n if (total) {\n setProgress(((loaded / total) * 100) | 0);\n }\n !abortApmCollection && (apmDataRef.current.imageSize = total);\n props.onProgress?.(e);\n };\n const onLoad = (e: NativeSyntheticEvent<ImageLoadEventData>) => {\n if (!abortApmCollection) {\n const now = Date.now();\n let start = apmDataRef.current.loadedStartTime || mountTimeRef.current;\n if (start > now) start = now;\n apmDataRef.current.loadedStartTime = start;\n const loadDuration = now - start;\n apmDataRef.current.loadedTime = now;\n apmDataRef.current.loadDuration = loadDuration < 0 ? 0 : loadDuration;\n apmDataRef.current.isSuccess = \"true\";\n }\n props.onLoad?.(e);\n setImageStatus(IMAGE_STATUS.LOADED);\n };\n\n const onLoadStart = () => {\n !abortApmCollection && (apmDataRef.current.loadedStartTime = Date.now());\n };\n\n const onError = (e: NativeSyntheticEvent<ImageErrorEventData>) => {\n if (!abortApmCollection) {\n apmDataRef.current.isSuccess = \"false\";\n apmDataRef.current.errorReason = `${e.nativeEvent.error}`;\n }\n props.onError?.(e);\n setImageStatus(errorStyle === TErrorStyle.ERROR ? IMAGE_STATUS.LOADERROR : IMAGE_STATUS.RELOAD);\n };\n const onReload = (e: GestureResponderEvent) => {\n setImageStatus(IMAGE_STATUS.HIDE);\n props.onReload?.(e);\n setTimeout(() => {\n setImageStatus(IMAGE_STATUS.LOADING);\n });\n };\n\n const colorMode = useColorMode();\n return (\n <View\n style={{\n borderRadius: borderRadius || style?.borderRadius,\n ...(style as {}),\n height: ((height || style?.height || 0) as number) + (style?.borderWidth || 0) * 2,\n width: ((width || style?.width || 0) as number) + (style?.borderWidth || 0) * 2,\n }}\n >\n {imageStatus !== IMAGE_STATUS.HIDE && (\n <RNImage\n {...props}\n // @ts-ignore\n source={formatSource}\n onLoadStart={onLoadStart}\n onLoad={onLoad}\n onProgress={onProgress}\n onError={onError}\n onLoadEnd={onLoadEnd}\n fadeDuration={fadeDuration}\n // @ts-ignore\n onFirstDrawFinished={(e) => onFirstDrawFinished(e)}\n style={{\n width: width || style?.width,\n height: height || style?.height,\n borderRadius: borderRadius || style?.borderRadius,\n // opacity: imageStatus === IMAGE_STATUS.LOADED ? 1 : 0,\n }}\n // @ts-ignore\n apmBiz={props.apmBiz}\n ></RNImage>\n )}\n {imageStatus === IMAGE_STATUS.LOADING && loadStyle !== TLoadStyle.NONE && (\n <View\n style={{\n width: width || style?.width,\n height: height || style?.height,\n borderRadius: borderRadius || style?.borderRadius,\n ...styles.loadingContainer,\n backgroundColor: loadStyle === TLoadStyle.AVE ? aveColor : styles.loadingContainer.backgroundColor,\n }}\n >\n {loadStyle === TLoadStyle.BLUR && (\n <RNImage\n source={blurSource}\n style={{\n width: width || style?.width,\n height: height || style?.height,\n borderRadius: borderRadius || style?.borderRadius,\n }}\n // @ts-ignore\n apmBiz={props.apmBiz}\n ></RNImage>\n )}\n {loadStyle === TLoadStyle.LOADING && <CircularProgress progress={progress}></CircularProgress>}\n </View>\n )}\n {(imageStatus === IMAGE_STATUS.LOADERROR || imageStatus === IMAGE_STATUS.RELOAD) &&\n errorStyle !== TErrorStyle.NONE && (\n <TouchableOpacity\n activeOpacity={1}\n onPress={(e) => {\n onReload(e);\n }}\n style={{ width, height, ...styles.loadingContainer }}\n >\n <RNImage\n style={{ width: 40, height: 40 }}\n source={{\n uri: imageStatus === IMAGE_STATUS.RELOAD ? imageReLoad[colorMode] : imageError[colorMode],\n }}\n // @ts-ignore\n apmBiz={props.apmBiz}\n />\n </TouchableOpacity>\n )}\n </View>\n );\n};\n\nImage.defaultProps = ImageDefaultProps;\n\nexport default memo(Image);\n"],"names":["imageReLoad","light","dark","platformLight","imageError","Image","src","_ref","_source","source","width","height","borderRadius","errorStyle","loadStyle","style","abortApmCollection","fadeDuration","onFirstDrawFinished","props","_objectWithoutProperties","_excluded","_useState","useState","IMAGE_STATUS","LOADING","_useState2","_slicedToArray","imageStatus","setImageStatus","_useState3","_useState4","progress","setProgress","mountTimeRef","useRef","Date","now","formatSource","useMemo","uri","aveColor","useAveColor","defaultColor","lightColor","Fill1","loadingAve","TLoadStyle","AVE","blurSource","useBlur","apmDataRef","imageUrl","imageHost","intersectTime","imageSize","isFirstScreen","isPrefetch","isSuccess","errorReason","loadedStartTime","loadedTime","loadDuration","viewDuration","apmDoneRef","useEffect","apmData","current","isLocalFile","isDataUri","URL","protocol","concat","host","error","alive","queryCacheBatched","then","isPrefetched","String","pushApmData","useCallback","apmPush","convertKeysToSnakeCase","onLoadEnd","_props$onLoadEnd","call","onProgress","e","_props$onProgress","_e$nativeEvent","nativeEvent","total","loaded","onLoad","_props$onLoad","start","LOADED","onLoadStart","onError","_props$onError","TErrorStyle","ERROR","LOADERROR","RELOAD","onReload","_props$onReload","HIDE","setTimeout","colorMode","useColorMode","React","createElement","View","_objectSpread","borderWidth","RNImage","apmBiz","NONE","styles","loadingContainer","backgroundColor","BLUR","CircularProgress","TouchableOpacity","activeOpacity","onPress","defaultProps","ImageDefaultProps","memo"],"mappings":"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"}
@@ -19,7 +19,9 @@ var PortalHostComponent = function PortalHostComponent(_ref) {
19
19
  };
20
20
  }, []);
21
21
  return /* @__PURE__ */React.createElement(React.Fragment, null, state.map(function (item, index) {
22
- return item.node;
22
+ return /*#__PURE__*/React.cloneElement(item.node, {
23
+ key: index
24
+ });
23
25
  }));
24
26
  };
25
27
  var PortalHost = /*#__PURE__*/React.memo(PortalHostComponent);
@@ -1 +1 @@
1
- {"version":3,"file":"PortalHost.js","sources":["../../../../../src/components/Portal/core/PortalHost.tsx"],"sourcesContent":["import React, { memo, useEffect } from \"react\";\nimport { usePortalState } from \"./hooks/usePortalState\";\nimport { usePortal } from \"./hooks/usePortal\";\nimport { PortalHostProps } from \"../interface\";\n\nconst PortalHostComponent = ({ name }: PortalHostProps) => {\n const state = usePortalState(name);\n const { registerHost, deregisterHost } = usePortal(name);\n useEffect(() => {\n registerHost();\n return () => {\n deregisterHost();\n };\n }, []);\n\n return (\n <>\n {state.map((item, index) => {\n return item.node;\n })}\n </>\n );\n};\n\nexport const PortalHost = memo(PortalHostComponent);\nPortalHost.displayName = \"PortalHost\";\n"],"names":["PortalHostComponent","_ref","name","state","usePortalState","_usePortal","usePortal","registerHost","deregisterHost","useEffect","React","createElement","Fragment","map","item","index","node","PortalHost","memo","displayName"],"mappings":";;;;;;;;AAKA,IAAMA,mBAAsB,GAAA,SAAtBA,mBAAsBA,CAAAC,IAAA,EAA+B;AAAA,EAAA,IAA5BC,IAAA,GAAAD,IAAA,CAAAC,IAAA,CAAA;AACvB,EAAA,IAAAC,KAAA,GAAQC,2DAAeF,IAAI,CAAA,CAAA;AACjC,EAAA,IAAAG,UAAA,GAAyCC,iDAAUJ,IAAI,CAAA;IAA/CK,YAAA,GAAAF,UAAA,CAAAE,YAAA;IAAcC,cAAe,GAAAH,UAAA,CAAfG,cAAe,CAAA;AACrCC,EAAAA,eAAA,CAAU,YAAM;AACDF,IAAAA,YAAA,EAAA,CAAA;AACb,IAAA,OAAO,YAAM;AACIC,MAAAA,cAAA,EAAA,CAAA;KACjB,CAAA;GACF,EAAG,EAAE,CAAA,CAAA;AAEL,EAAA,sBAEKE,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAE,QAAA,EAAA,IAAA,EAAAT,KAAA,CAAMU,GAAI,CAAA,UAACC,MAAMC,KAAU,EAAA;IAC1B,OAAOD,IAAK,CAAAE,IAAA,CAAA;AACd,GAAC,CACH,CAAA,CAAA;AAEJ,CAAA,CAAA;IAEaC,UAAA,gBAAaC,WAAKlB,mBAAmB,EAAA;AAClDiB,UAAA,CAAWE,WAAc,GAAA,YAAA;;;;"}
1
+ {"version":3,"file":"PortalHost.js","sources":["../../../../../src/components/Portal/core/PortalHost.tsx"],"sourcesContent":["import React, { memo, useEffect } from \"react\";\nimport { View } from \"react-native\";\nimport { usePortalState } from \"./hooks/usePortalState\";\nimport { usePortal } from \"./hooks/usePortal\";\nimport { PortalHostProps } from \"../interface\";\n\nconst PortalHostComponent = ({ name }: PortalHostProps) => {\n const state = usePortalState(name);\n const { registerHost, deregisterHost } = usePortal(name);\n useEffect(() => {\n registerHost();\n return () => {\n deregisterHost();\n };\n }, []);\n\n return (\n <>\n {state.map((item, index) => {\n return React.cloneElement(item.node as any, {\n key: index,\n });\n })}\n </>\n );\n};\n\nexport const PortalHost = memo(PortalHostComponent);\nPortalHost.displayName = \"PortalHost\";\n"],"names":["PortalHostComponent","_ref","name","state","usePortalState","_usePortal","usePortal","registerHost","deregisterHost","useEffect","React","createElement","Fragment","map","item","index","cloneElement","node","key","PortalHost","memo","displayName"],"mappings":";;;;;;;;AAMA,IAAMA,mBAAsB,GAAA,SAAtBA,mBAAsBA,CAAAC,IAAA,EAA+B;AAAA,EAAA,IAA5BC,IAAA,GAAAD,IAAA,CAAAC,IAAA,CAAA;AACvB,EAAA,IAAAC,KAAA,GAAQC,2DAAeF,IAAI,CAAA,CAAA;AACjC,EAAA,IAAAG,UAAA,GAAyCC,iDAAUJ,IAAI,CAAA;IAA/CK,YAAA,GAAAF,UAAA,CAAAE,YAAA;IAAcC,cAAe,GAAAH,UAAA,CAAfG,cAAe,CAAA;AACrCC,EAAAA,eAAA,CAAU,YAAM;AACDF,IAAAA,YAAA,EAAA,CAAA;AACb,IAAA,OAAO,YAAM;AACIC,MAAAA,cAAA,EAAA,CAAA;KACjB,CAAA;GACF,EAAG,EAAE,CAAA,CAAA;AAEL,EAAA,sBAEKE,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAE,QAAA,EAAA,IAAA,EAAAT,KAAA,CAAMU,GAAI,CAAA,UAACC,MAAMC,KAAU,EAAA;AACnB,IAAA,oBAAAL,KAAA,CAAMM,YAAa,CAAAF,IAAA,CAAKG,IAAa,EAAA;AAC1CC,MAAAA,GAAK,EAAAH,KAAAA;AACP,KAAC,CAAA,CAAA;AACH,GAAC,CACH,CAAA,CAAA;AAEJ,CAAA,CAAA;IAEaI,UAAA,gBAAaC,WAAKpB,mBAAmB,EAAA;AAClDmB,UAAA,CAAWE,WAAc,GAAA,YAAA;;;;"}
@@ -173,11 +173,12 @@ var Image = function Image(_ref) {
173
173
  };
174
174
  var colorMode = useColorMode();
175
175
  return /* @__PURE__ */React.createElement(View, {
176
- style: _objectSpread2({
177
- borderRadius: borderRadius,
178
- height: height,
179
- width: width
180
- }, style)
176
+ style: _objectSpread2(_objectSpread2({
177
+ borderRadius: borderRadius || (style === null || style === void 0 ? void 0 : style.borderRadius)
178
+ }, style), {}, {
179
+ height: (height || (style === null || style === void 0 ? void 0 : style.height) || 0) + ((style === null || style === void 0 ? void 0 : style.borderWidth) || 0) * 2,
180
+ width: (width || (style === null || style === void 0 ? void 0 : style.width) || 0) + ((style === null || style === void 0 ? void 0 : style.borderWidth) || 0) * 2
181
+ })
181
182
  }, imageStatus !== IMAGE_STATUS.HIDE && /* @__PURE__ */React.createElement(Image$2, _objectSpread2(_objectSpread2({}, props), {}, {
182
183
  source: formatSource,
183
184
  onLoadStart: onLoadStart,
@@ -192,24 +193,24 @@ var Image = function Image(_ref) {
192
193
  style: {
193
194
  width: width || (style === null || style === void 0 ? void 0 : style.width),
194
195
  height: height || (style === null || style === void 0 ? void 0 : style.height),
195
- borderRadius: borderRadius
196
+ borderRadius: borderRadius || (style === null || style === void 0 ? void 0 : style.borderRadius)
196
197
  // opacity: imageStatus === IMAGE_STATUS.LOADED ? 1 : 0,
197
198
  },
198
199
  apmBiz: props.apmBiz
199
200
  })), imageStatus === IMAGE_STATUS.LOADING && loadStyle !== TLoadStyle.NONE && /* @__PURE__ */React.createElement(View, {
200
201
  style: _objectSpread2(_objectSpread2({
201
- width: width,
202
- height: height,
203
- borderRadius: borderRadius
202
+ width: width || (style === null || style === void 0 ? void 0 : style.width),
203
+ height: height || (style === null || style === void 0 ? void 0 : style.height),
204
+ borderRadius: borderRadius || (style === null || style === void 0 ? void 0 : style.borderRadius)
204
205
  }, styles.loadingContainer), {}, {
205
206
  backgroundColor: loadStyle === TLoadStyle.AVE ? aveColor : styles.loadingContainer.backgroundColor
206
- }, style)
207
+ })
207
208
  }, loadStyle === TLoadStyle.BLUR && /* @__PURE__ */React.createElement(Image$2, {
208
209
  source: blurSource,
209
210
  style: {
210
211
  width: width || (style === null || style === void 0 ? void 0 : style.width),
211
212
  height: height || (style === null || style === void 0 ? void 0 : style.height),
212
- borderRadius: borderRadius
213
+ borderRadius: borderRadius || (style === null || style === void 0 ? void 0 : style.borderRadius)
213
214
  },
214
215
  apmBiz: props.apmBiz
215
216
  }), loadStyle === TLoadStyle.LOADING && /* @__PURE__ */React.createElement(CircularProgress, {
@@ -221,8 +222,7 @@ var Image = function Image(_ref) {
221
222
  },
222
223
  style: _objectSpread2({
223
224
  width: width,
224
- height: height,
225
- borderRadius: borderRadius
225
+ height: height
226
226
  }, styles.loadingContainer)
227
227
  }, /* @__PURE__ */React.createElement(Image$2, {
228
228
  style: {
@@ -1 +1 @@
1
- {"version":3,"file":"Image.js","sources":["../../../../src/components/Image/Image.tsx"],"sourcesContent":["import React, { useState, memo, useMemo, useRef, useCallback, useEffect } from \"react\";\nimport {\n View,\n Image as RNImage,\n GestureResponderEvent,\n ImageProps,\n TouchableOpacity,\n ImageLoadEventData,\n NativeSyntheticEvent,\n ImageErrorEventData,\n ImageProgressEventDataIOS,\n ImageSourcePropType,\n ImageURISource,\n} from \"react-native\";\nimport {\n RedsImage,\n ImageDefaultProps,\n IMAGE_STATUS,\n TErrorStyle,\n TLoadStyle,\n ImageTrackerProps,\n} from \"./interface/index\";\nimport styles from \"./styles\";\nimport { useAveColor, useBlur } from \"./hook\";\nimport CircularProgress from \"./CircularProgress\";\nimport { useColorMode } from \"../ConfigProvider\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\nimport { lightColor } from \"@xhsreds/reds-token-next\";\nimport { formatUri, isDataUri, isLocalFile, convertKeysToSnakeCase } from \"./utils\";\nimport { apmPush } from \"./apm\";\nimport { queryCacheBatched } from \"./queryCacheBatcher\";\n\nconst imageReLoad = {\n light: \"https://picasso-static.xiaohongshu.com/fe-platform/06ae169b310c2926e541903b828486a80fcac404.png\",\n dark: \"https://picasso-static.xiaohongshu.com/fe-platform/4f9bfbf2358aa970f1ec3dbf4ba5ff9355b7a41e.png\",\n platformLight: \"https://picasso-static.xiaohongshu.com/fe-platform/06ae169b310c2926e541903b828486a80fcac404.png\",\n};\n\nconst imageError = {\n light: \"https://picasso-static.xiaohongshu.com/fe-platform/76fee5bba4ce3bbf3e9ff5fe1935b737bb27625a.png\",\n dark: \"https://picasso-static.xiaohongshu.com/fe-platform/7d8debb5e2c3a1f37299a292342b77d479be6f28.png\",\n platformLight: \"https://picasso-static.xiaohongshu.com/fe-platform/76fee5bba4ce3bbf3e9ff5fe1935b737bb27625a.png\",\n};\n\nconst Image = ({\n src,\n source: _source,\n width,\n height,\n borderRadius,\n errorStyle,\n loadStyle,\n style,\n abortApmCollection,\n fadeDuration,\n onFirstDrawFinished,\n ...props\n}: RedsImage & Omit<ImageProps, keyof RedsImage>) => {\n // useMounted(\"Image\");\n const [imageStatus, setImageStatus] = useState(IMAGE_STATUS.LOADING);\n const [progress, setProgress] = useState(0);\n const mountTimeRef = useRef<number>(Date.now());\n\n const formatSource = useMemo(() => {\n // @ts-ignore\n if (_source) return _source as ImageSourcePropType;\n // @ts-ignore\n return { uri: src } as ImageSourcePropType;\n }, [src, _source]);\n\n const aveColor = useAveColor({\n source: formatSource,\n defaultColor: lightColor.Fill1,\n loadingAve: loadStyle === TLoadStyle.AVE,\n });\n\n const blurSource = useBlur({ source: formatSource });\n\n // Visibility tracking removed: no longer needed for APM\n const apmDataRef = useRef<ImageTrackerProps>({\n imageUrl: \"\",\n imageHost: \"\",\n intersectTime: 0,\n imageSize: 0,\n isFirstScreen: \"false\",\n isPrefetch: \"\",\n isSuccess: \"false\",\n errorReason: \"\",\n loadedStartTime: 0,\n loadedTime: 0,\n loadDuration: 0,\n viewDuration: 0,\n });\n const apmDoneRef = useRef(false);\n\n useEffect(() => {\n if (abortApmCollection) return;\n try {\n const apmData = apmDataRef.current;\n if (\n typeof formatSource !== \"number\" &&\n !isLocalFile((formatSource as ImageURISource).uri as string) &&\n !isDataUri((formatSource as ImageURISource).uri as string)\n ) {\n const imageUrl = new URL((formatSource as ImageURISource).uri as string);\n apmData.imageHost = `${imageUrl.protocol}//${imageUrl.host}`;\n apmData.imageUrl = (formatSource as ImageURISource).uri as string;\n }\n } catch (error) {\n //\n }\n }, [formatSource, abortApmCollection]);\n\n useEffect(() => {\n if (abortApmCollection) return;\n const imageUrl = (formatSource as ImageURISource)?.uri || \"\";\n if (!imageUrl) return;\n let alive = true;\n queryCacheBatched(imageUrl)\n .then((isPrefetched) => {\n if (!alive) return;\n apmDataRef.current.isPrefetch = String(isPrefetched);\n })\n .catch(() => {\n if (!alive) return;\n apmDataRef.current.isPrefetch = \"false\";\n });\n return () => {\n alive = false;\n apmDataRef.current.isPrefetch = \"\";\n };\n }, [formatSource, abortApmCollection]);\n\n const pushApmData = useCallback(() => {\n if (abortApmCollection) return;\n const apmData = apmDataRef.current;\n // Simplify: do not track view duration/intersect time\n apmData.intersectTime = 0;\n apmData.viewDuration = 0;\n /**\n * 如果Image.queryCache未完成时,通过imageSize来判断\n * 如果image_size是-1,那么认为图片已有缓存\n */\n const imageSize = apmDataRef.current.imageSize || 0;\n if (!apmDataRef.current.isPrefetch) {\n apmDataRef.current.isPrefetch = String((imageSize || 0) <= 0);\n }\n if (!apmDoneRef.current && apmData.imageUrl && !abortApmCollection) {\n apmDoneRef.current = true;\n apmPush(convertKeysToSnakeCase(apmData));\n }\n }, [abortApmCollection]);\n\n // 判断首屏\n // isFirstScreen stays \"false\" and intersectTime stays 0 by design\n const onLoadEnd = () => {\n props?.onLoadEnd?.();\n if (abortApmCollection) return;\n // Push regardless of visibility/intersect time\n pushApmData();\n };\n\n const onProgress = (e: NativeSyntheticEvent<ImageProgressEventDataIOS>) => {\n const {\n nativeEvent: { total, loaded },\n } = e;\n if (total) {\n setProgress(((loaded / total) * 100) | 0);\n }\n !abortApmCollection && (apmDataRef.current.imageSize = total);\n props.onProgress?.(e);\n };\n const onLoad = (e: NativeSyntheticEvent<ImageLoadEventData>) => {\n if (!abortApmCollection) {\n const now = Date.now();\n let start = apmDataRef.current.loadedStartTime || mountTimeRef.current;\n if (start > now) start = now;\n apmDataRef.current.loadedStartTime = start;\n const loadDuration = now - start;\n apmDataRef.current.loadedTime = now;\n apmDataRef.current.loadDuration = loadDuration < 0 ? 0 : loadDuration;\n apmDataRef.current.isSuccess = \"true\";\n }\n props.onLoad?.(e);\n setImageStatus(IMAGE_STATUS.LOADED);\n };\n\n const onLoadStart = () => {\n !abortApmCollection && (apmDataRef.current.loadedStartTime = Date.now());\n };\n\n const onError = (e: NativeSyntheticEvent<ImageErrorEventData>) => {\n if (!abortApmCollection) {\n apmDataRef.current.isSuccess = \"false\";\n apmDataRef.current.errorReason = `${e.nativeEvent.error}`;\n }\n props.onError?.(e);\n setImageStatus(errorStyle === TErrorStyle.ERROR ? IMAGE_STATUS.LOADERROR : IMAGE_STATUS.RELOAD);\n };\n const onReload = (e: GestureResponderEvent) => {\n setImageStatus(IMAGE_STATUS.HIDE);\n props.onReload?.(e);\n setTimeout(() => {\n setImageStatus(IMAGE_STATUS.LOADING);\n });\n };\n\n const colorMode = useColorMode();\n\n return (\n <View style={{ borderRadius, height, width, ...(style as {}) }}>\n {imageStatus !== IMAGE_STATUS.HIDE && (\n <RNImage\n {...props}\n // @ts-ignore\n source={formatSource}\n onLoadStart={onLoadStart}\n onLoad={onLoad}\n onProgress={onProgress}\n onError={onError}\n onLoadEnd={onLoadEnd}\n fadeDuration={fadeDuration}\n // @ts-ignore\n onFirstDrawFinished={(e) => onFirstDrawFinished(e)}\n style={{\n width: width || style?.width,\n height: height || style?.height,\n borderRadius,\n // opacity: imageStatus === IMAGE_STATUS.LOADED ? 1 : 0,\n }}\n // @ts-ignore\n apmBiz={props.apmBiz}\n ></RNImage>\n )}\n {imageStatus === IMAGE_STATUS.LOADING && loadStyle !== TLoadStyle.NONE && (\n <View\n style={{\n width,\n height,\n borderRadius,\n ...styles.loadingContainer,\n backgroundColor: loadStyle === TLoadStyle.AVE ? aveColor : styles.loadingContainer.backgroundColor,\n ...style,\n }}\n >\n {loadStyle === TLoadStyle.BLUR && (\n <RNImage\n source={blurSource}\n style={{\n width: width || style?.width,\n height: height || style?.height,\n borderRadius,\n }}\n // @ts-ignore\n apmBiz={props.apmBiz}\n ></RNImage>\n )}\n {loadStyle === TLoadStyle.LOADING && <CircularProgress progress={progress}></CircularProgress>}\n </View>\n )}\n {(imageStatus === IMAGE_STATUS.LOADERROR || imageStatus === IMAGE_STATUS.RELOAD) &&\n errorStyle !== TErrorStyle.NONE && (\n <TouchableOpacity\n activeOpacity={1}\n onPress={(e) => {\n onReload(e);\n }}\n style={{ width, height, borderRadius, ...styles.loadingContainer }}\n >\n <RNImage\n style={{ width: 40, height: 40 }}\n source={{\n uri: imageStatus === IMAGE_STATUS.RELOAD ? imageReLoad[colorMode] : imageError[colorMode],\n }}\n // @ts-ignore\n apmBiz={props.apmBiz}\n />\n </TouchableOpacity>\n )}\n </View>\n );\n};\n\nImage.defaultProps = ImageDefaultProps;\n\nexport default memo(Image);\n"],"names":["imageReLoad","light","dark","platformLight","imageError","Image","src","_ref","_source","source","width","height","borderRadius","errorStyle","loadStyle","style","abortApmCollection","fadeDuration","onFirstDrawFinished","props","_objectWithoutProperties","_excluded","_useState","useState","IMAGE_STATUS","LOADING","_useState2","_slicedToArray","imageStatus","setImageStatus","_useState3","_useState4","progress","setProgress","mountTimeRef","useRef","Date","now","formatSource","useMemo","uri","aveColor","useAveColor","defaultColor","lightColor","Fill1","loadingAve","TLoadStyle","AVE","blurSource","useBlur","apmDataRef","imageUrl","imageHost","intersectTime","imageSize","isFirstScreen","isPrefetch","isSuccess","errorReason","loadedStartTime","loadedTime","loadDuration","viewDuration","apmDoneRef","useEffect","apmData","current","isLocalFile","isDataUri","URL","protocol","concat","host","error","alive","queryCacheBatched","then","isPrefetched","String","pushApmData","useCallback","apmPush","convertKeysToSnakeCase","onLoadEnd","_props$onLoadEnd","call","onProgress","e","_props$onProgress","_e$nativeEvent","nativeEvent","total","loaded","onLoad","_props$onLoad","start","LOADED","onLoadStart","onError","_props$onError","TErrorStyle","ERROR","LOADERROR","RELOAD","onReload","_props$onReload","HIDE","setTimeout","colorMode","useColorMode","React","createElement","View","_objectSpread","RNImage","apmBiz","NONE","styles","loadingContainer","backgroundColor","BLUR","CircularProgress","TouchableOpacity","activeOpacity","onPress","defaultProps","ImageDefaultProps","memo"],"mappings":"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"}
1
+ {"version":3,"file":"Image.js","sources":["../../../../src/components/Image/Image.tsx"],"sourcesContent":["import React, { useState, memo, useMemo, useRef, useCallback, useEffect } from \"react\";\nimport {\n View,\n Image as RNImage,\n GestureResponderEvent,\n ImageProps,\n TouchableOpacity,\n ImageLoadEventData,\n NativeSyntheticEvent,\n ImageErrorEventData,\n ImageProgressEventDataIOS,\n ImageSourcePropType,\n ImageURISource,\n} from \"react-native\";\nimport {\n RedsImage,\n ImageDefaultProps,\n IMAGE_STATUS,\n TErrorStyle,\n TLoadStyle,\n ImageTrackerProps,\n} from \"./interface/index\";\nimport styles from \"./styles\";\nimport { useAveColor, useBlur } from \"./hook\";\nimport CircularProgress from \"./CircularProgress\";\nimport { useColorMode } from \"../ConfigProvider\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\nimport { lightColor } from \"@xhsreds/reds-token-next\";\nimport { formatUri, isDataUri, isLocalFile, convertKeysToSnakeCase } from \"./utils\";\nimport { apmPush } from \"./apm\";\nimport { queryCacheBatched } from \"./queryCacheBatcher\";\n\nconst imageReLoad = {\n light: \"https://picasso-static.xiaohongshu.com/fe-platform/06ae169b310c2926e541903b828486a80fcac404.png\",\n dark: \"https://picasso-static.xiaohongshu.com/fe-platform/4f9bfbf2358aa970f1ec3dbf4ba5ff9355b7a41e.png\",\n platformLight: \"https://picasso-static.xiaohongshu.com/fe-platform/06ae169b310c2926e541903b828486a80fcac404.png\",\n};\n\nconst imageError = {\n light: \"https://picasso-static.xiaohongshu.com/fe-platform/76fee5bba4ce3bbf3e9ff5fe1935b737bb27625a.png\",\n dark: \"https://picasso-static.xiaohongshu.com/fe-platform/7d8debb5e2c3a1f37299a292342b77d479be6f28.png\",\n platformLight: \"https://picasso-static.xiaohongshu.com/fe-platform/76fee5bba4ce3bbf3e9ff5fe1935b737bb27625a.png\",\n};\n\nconst Image = ({\n src,\n source: _source,\n width,\n height,\n borderRadius,\n errorStyle,\n loadStyle,\n style,\n abortApmCollection,\n fadeDuration,\n onFirstDrawFinished,\n ...props\n}: RedsImage & Omit<ImageProps, keyof RedsImage>) => {\n // useMounted(\"Image\");\n const [imageStatus, setImageStatus] = useState(IMAGE_STATUS.LOADING);\n const [progress, setProgress] = useState(0);\n const mountTimeRef = useRef<number>(Date.now());\n\n const formatSource = useMemo(() => {\n // @ts-ignore\n if (_source) return _source as ImageSourcePropType;\n // @ts-ignore\n return { uri: src } as ImageSourcePropType;\n }, [src, _source]);\n\n const aveColor = useAveColor({\n source: formatSource,\n defaultColor: lightColor.Fill1,\n loadingAve: loadStyle === TLoadStyle.AVE,\n });\n\n const blurSource = useBlur({ source: formatSource });\n\n // Visibility tracking removed: no longer needed for APM\n const apmDataRef = useRef<ImageTrackerProps>({\n imageUrl: \"\",\n imageHost: \"\",\n intersectTime: 0,\n imageSize: 0,\n isFirstScreen: \"false\",\n isPrefetch: \"\",\n isSuccess: \"false\",\n errorReason: \"\",\n loadedStartTime: 0,\n loadedTime: 0,\n loadDuration: 0,\n viewDuration: 0,\n });\n const apmDoneRef = useRef(false);\n\n useEffect(() => {\n if (abortApmCollection) return;\n try {\n const apmData = apmDataRef.current;\n if (\n typeof formatSource !== \"number\" &&\n !isLocalFile((formatSource as ImageURISource).uri as string) &&\n !isDataUri((formatSource as ImageURISource).uri as string)\n ) {\n const imageUrl = new URL((formatSource as ImageURISource).uri as string);\n apmData.imageHost = `${imageUrl.protocol}//${imageUrl.host}`;\n apmData.imageUrl = (formatSource as ImageURISource).uri as string;\n }\n } catch (error) {\n //\n }\n }, [formatSource, abortApmCollection]);\n\n useEffect(() => {\n if (abortApmCollection) return;\n const imageUrl = (formatSource as ImageURISource)?.uri || \"\";\n if (!imageUrl) return;\n let alive = true;\n queryCacheBatched(imageUrl)\n .then((isPrefetched) => {\n if (!alive) return;\n apmDataRef.current.isPrefetch = String(isPrefetched);\n })\n .catch(() => {\n if (!alive) return;\n apmDataRef.current.isPrefetch = \"false\";\n });\n return () => {\n alive = false;\n apmDataRef.current.isPrefetch = \"\";\n };\n }, [formatSource, abortApmCollection]);\n\n const pushApmData = useCallback(() => {\n if (abortApmCollection) return;\n const apmData = apmDataRef.current;\n // Simplify: do not track view duration/intersect time\n apmData.intersectTime = 0;\n apmData.viewDuration = 0;\n /**\n * 如果Image.queryCache未完成时,通过imageSize来判断\n * 如果image_size是-1,那么认为图片已有缓存\n */\n const imageSize = apmDataRef.current.imageSize || 0;\n if (!apmDataRef.current.isPrefetch) {\n apmDataRef.current.isPrefetch = String((imageSize || 0) <= 0);\n }\n if (!apmDoneRef.current && apmData.imageUrl && !abortApmCollection) {\n apmDoneRef.current = true;\n apmPush(convertKeysToSnakeCase(apmData));\n }\n }, [abortApmCollection]);\n\n // 判断首屏\n // isFirstScreen stays \"false\" and intersectTime stays 0 by design\n const onLoadEnd = () => {\n props?.onLoadEnd?.();\n if (abortApmCollection) return;\n // Push regardless of visibility/intersect time\n pushApmData();\n };\n\n const onProgress = (e: NativeSyntheticEvent<ImageProgressEventDataIOS>) => {\n const {\n nativeEvent: { total, loaded },\n } = e;\n if (total) {\n setProgress(((loaded / total) * 100) | 0);\n }\n !abortApmCollection && (apmDataRef.current.imageSize = total);\n props.onProgress?.(e);\n };\n const onLoad = (e: NativeSyntheticEvent<ImageLoadEventData>) => {\n if (!abortApmCollection) {\n const now = Date.now();\n let start = apmDataRef.current.loadedStartTime || mountTimeRef.current;\n if (start > now) start = now;\n apmDataRef.current.loadedStartTime = start;\n const loadDuration = now - start;\n apmDataRef.current.loadedTime = now;\n apmDataRef.current.loadDuration = loadDuration < 0 ? 0 : loadDuration;\n apmDataRef.current.isSuccess = \"true\";\n }\n props.onLoad?.(e);\n setImageStatus(IMAGE_STATUS.LOADED);\n };\n\n const onLoadStart = () => {\n !abortApmCollection && (apmDataRef.current.loadedStartTime = Date.now());\n };\n\n const onError = (e: NativeSyntheticEvent<ImageErrorEventData>) => {\n if (!abortApmCollection) {\n apmDataRef.current.isSuccess = \"false\";\n apmDataRef.current.errorReason = `${e.nativeEvent.error}`;\n }\n props.onError?.(e);\n setImageStatus(errorStyle === TErrorStyle.ERROR ? IMAGE_STATUS.LOADERROR : IMAGE_STATUS.RELOAD);\n };\n const onReload = (e: GestureResponderEvent) => {\n setImageStatus(IMAGE_STATUS.HIDE);\n props.onReload?.(e);\n setTimeout(() => {\n setImageStatus(IMAGE_STATUS.LOADING);\n });\n };\n\n const colorMode = useColorMode();\n return (\n <View\n style={{\n borderRadius: borderRadius || style?.borderRadius,\n ...(style as {}),\n height: ((height || style?.height || 0) as number) + (style?.borderWidth || 0) * 2,\n width: ((width || style?.width || 0) as number) + (style?.borderWidth || 0) * 2,\n }}\n >\n {imageStatus !== IMAGE_STATUS.HIDE && (\n <RNImage\n {...props}\n // @ts-ignore\n source={formatSource}\n onLoadStart={onLoadStart}\n onLoad={onLoad}\n onProgress={onProgress}\n onError={onError}\n onLoadEnd={onLoadEnd}\n fadeDuration={fadeDuration}\n // @ts-ignore\n onFirstDrawFinished={(e) => onFirstDrawFinished(e)}\n style={{\n width: width || style?.width,\n height: height || style?.height,\n borderRadius: borderRadius || style?.borderRadius,\n // opacity: imageStatus === IMAGE_STATUS.LOADED ? 1 : 0,\n }}\n // @ts-ignore\n apmBiz={props.apmBiz}\n ></RNImage>\n )}\n {imageStatus === IMAGE_STATUS.LOADING && loadStyle !== TLoadStyle.NONE && (\n <View\n style={{\n width: width || style?.width,\n height: height || style?.height,\n borderRadius: borderRadius || style?.borderRadius,\n ...styles.loadingContainer,\n backgroundColor: loadStyle === TLoadStyle.AVE ? aveColor : styles.loadingContainer.backgroundColor,\n }}\n >\n {loadStyle === TLoadStyle.BLUR && (\n <RNImage\n source={blurSource}\n style={{\n width: width || style?.width,\n height: height || style?.height,\n borderRadius: borderRadius || style?.borderRadius,\n }}\n // @ts-ignore\n apmBiz={props.apmBiz}\n ></RNImage>\n )}\n {loadStyle === TLoadStyle.LOADING && <CircularProgress progress={progress}></CircularProgress>}\n </View>\n )}\n {(imageStatus === IMAGE_STATUS.LOADERROR || imageStatus === IMAGE_STATUS.RELOAD) &&\n errorStyle !== TErrorStyle.NONE && (\n <TouchableOpacity\n activeOpacity={1}\n onPress={(e) => {\n onReload(e);\n }}\n style={{ width, height, ...styles.loadingContainer }}\n >\n <RNImage\n style={{ width: 40, height: 40 }}\n source={{\n uri: imageStatus === IMAGE_STATUS.RELOAD ? imageReLoad[colorMode] : imageError[colorMode],\n }}\n // @ts-ignore\n apmBiz={props.apmBiz}\n />\n </TouchableOpacity>\n )}\n </View>\n );\n};\n\nImage.defaultProps = ImageDefaultProps;\n\nexport default memo(Image);\n"],"names":["imageReLoad","light","dark","platformLight","imageError","Image","src","_ref","_source","source","width","height","borderRadius","errorStyle","loadStyle","style","abortApmCollection","fadeDuration","onFirstDrawFinished","props","_objectWithoutProperties","_excluded","_useState","useState","IMAGE_STATUS","LOADING","_useState2","_slicedToArray","imageStatus","setImageStatus","_useState3","_useState4","progress","setProgress","mountTimeRef","useRef","Date","now","formatSource","useMemo","uri","aveColor","useAveColor","defaultColor","lightColor","Fill1","loadingAve","TLoadStyle","AVE","blurSource","useBlur","apmDataRef","imageUrl","imageHost","intersectTime","imageSize","isFirstScreen","isPrefetch","isSuccess","errorReason","loadedStartTime","loadedTime","loadDuration","viewDuration","apmDoneRef","useEffect","apmData","current","isLocalFile","isDataUri","URL","protocol","concat","host","error","alive","queryCacheBatched","then","isPrefetched","String","pushApmData","useCallback","apmPush","convertKeysToSnakeCase","onLoadEnd","_props$onLoadEnd","call","onProgress","e","_props$onProgress","_e$nativeEvent","nativeEvent","total","loaded","onLoad","_props$onLoad","start","LOADED","onLoadStart","onError","_props$onError","TErrorStyle","ERROR","LOADERROR","RELOAD","onReload","_props$onReload","HIDE","setTimeout","colorMode","useColorMode","React","createElement","View","_objectSpread","borderWidth","RNImage","apmBiz","NONE","styles","loadingContainer","backgroundColor","BLUR","CircularProgress","TouchableOpacity","activeOpacity","onPress","defaultProps","ImageDefaultProps","memo"],"mappings":"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"}
@@ -17,7 +17,9 @@ var PortalHostComponent = function PortalHostComponent(_ref) {
17
17
  };
18
18
  }, []);
19
19
  return /* @__PURE__ */React.createElement(React.Fragment, null, state.map(function (item, index) {
20
- return item.node;
20
+ return /*#__PURE__*/React.cloneElement(item.node, {
21
+ key: index
22
+ });
21
23
  }));
22
24
  };
23
25
  var PortalHost = /*#__PURE__*/memo(PortalHostComponent);
@@ -1 +1 @@
1
- {"version":3,"file":"PortalHost.js","sources":["../../../../../src/components/Portal/core/PortalHost.tsx"],"sourcesContent":["import React, { memo, useEffect } from \"react\";\nimport { usePortalState } from \"./hooks/usePortalState\";\nimport { usePortal } from \"./hooks/usePortal\";\nimport { PortalHostProps } from \"../interface\";\n\nconst PortalHostComponent = ({ name }: PortalHostProps) => {\n const state = usePortalState(name);\n const { registerHost, deregisterHost } = usePortal(name);\n useEffect(() => {\n registerHost();\n return () => {\n deregisterHost();\n };\n }, []);\n\n return (\n <>\n {state.map((item, index) => {\n return item.node;\n })}\n </>\n );\n};\n\nexport const PortalHost = memo(PortalHostComponent);\nPortalHost.displayName = \"PortalHost\";\n"],"names":["PortalHostComponent","_ref","name","state","usePortalState","_usePortal","usePortal","registerHost","deregisterHost","useEffect","React","createElement","Fragment","map","item","index","node","PortalHost","memo","displayName"],"mappings":";;;;;;AAKA,IAAMA,mBAAsB,GAAA,SAAtBA,mBAAsBA,CAAAC,IAAA,EAA+B;AAAA,EAAA,IAA5BC,IAAA,GAAAD,IAAA,CAAAC,IAAA,CAAA;AACvB,EAAA,IAAAC,KAAA,GAAQC,eAAeF,IAAI,CAAA,CAAA;AACjC,EAAA,IAAAG,UAAA,GAAyCC,UAAUJ,IAAI,CAAA;IAA/CK,YAAA,GAAAF,UAAA,CAAAE,YAAA;IAAcC,cAAe,GAAAH,UAAA,CAAfG,cAAe,CAAA;AACrCC,EAAAA,SAAA,CAAU,YAAM;AACDF,IAAAA,YAAA,EAAA,CAAA;AACb,IAAA,OAAO,YAAM;AACIC,MAAAA,cAAA,EAAA,CAAA;KACjB,CAAA;GACF,EAAG,EAAE,CAAA,CAAA;AAEL,EAAA,sBAEKE,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAE,QAAA,EAAA,IAAA,EAAAT,KAAA,CAAMU,GAAI,CAAA,UAACC,MAAMC,KAAU,EAAA;IAC1B,OAAOD,IAAK,CAAAE,IAAA,CAAA;AACd,GAAC,CACH,CAAA,CAAA;AAEJ,CAAA,CAAA;IAEaC,UAAA,gBAAaC,KAAKlB,mBAAmB,EAAA;AAClDiB,UAAA,CAAWE,WAAc,GAAA,YAAA;;;;"}
1
+ {"version":3,"file":"PortalHost.js","sources":["../../../../../src/components/Portal/core/PortalHost.tsx"],"sourcesContent":["import React, { memo, useEffect } from \"react\";\nimport { View } from \"react-native\";\nimport { usePortalState } from \"./hooks/usePortalState\";\nimport { usePortal } from \"./hooks/usePortal\";\nimport { PortalHostProps } from \"../interface\";\n\nconst PortalHostComponent = ({ name }: PortalHostProps) => {\n const state = usePortalState(name);\n const { registerHost, deregisterHost } = usePortal(name);\n useEffect(() => {\n registerHost();\n return () => {\n deregisterHost();\n };\n }, []);\n\n return (\n <>\n {state.map((item, index) => {\n return React.cloneElement(item.node as any, {\n key: index,\n });\n })}\n </>\n );\n};\n\nexport const PortalHost = memo(PortalHostComponent);\nPortalHost.displayName = \"PortalHost\";\n"],"names":["PortalHostComponent","_ref","name","state","usePortalState","_usePortal","usePortal","registerHost","deregisterHost","useEffect","React","createElement","Fragment","map","item","index","cloneElement","node","key","PortalHost","memo","displayName"],"mappings":";;;;;;AAMA,IAAMA,mBAAsB,GAAA,SAAtBA,mBAAsBA,CAAAC,IAAA,EAA+B;AAAA,EAAA,IAA5BC,IAAA,GAAAD,IAAA,CAAAC,IAAA,CAAA;AACvB,EAAA,IAAAC,KAAA,GAAQC,eAAeF,IAAI,CAAA,CAAA;AACjC,EAAA,IAAAG,UAAA,GAAyCC,UAAUJ,IAAI,CAAA;IAA/CK,YAAA,GAAAF,UAAA,CAAAE,YAAA;IAAcC,cAAe,GAAAH,UAAA,CAAfG,cAAe,CAAA;AACrCC,EAAAA,SAAA,CAAU,YAAM;AACDF,IAAAA,YAAA,EAAA,CAAA;AACb,IAAA,OAAO,YAAM;AACIC,MAAAA,cAAA,EAAA,CAAA;KACjB,CAAA;GACF,EAAG,EAAE,CAAA,CAAA;AAEL,EAAA,sBAEKE,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAE,QAAA,EAAA,IAAA,EAAAT,KAAA,CAAMU,GAAI,CAAA,UAACC,MAAMC,KAAU,EAAA;AACnB,IAAA,oBAAAL,KAAA,CAAMM,YAAa,CAAAF,IAAA,CAAKG,IAAa,EAAA;AAC1CC,MAAAA,GAAK,EAAAH,KAAAA;AACP,KAAC,CAAA,CAAA;AACH,GAAC,CACH,CAAA,CAAA;AAEJ,CAAA,CAAA;IAEaI,UAAA,gBAAaC,KAAKpB,mBAAmB,EAAA;AAClDmB,UAAA,CAAWE,WAAc,GAAA,YAAA;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xhsreds/reds-rn-next",
3
- "version": "0.10.1-beta202512021041",
3
+ "version": "0.10.1-beta202512022142",
4
4
  "author": "贾斌(呀哈) <jiabin@xiaohongshu.com>",
5
5
  "license": "ISC",
6
6
  "dependencies": {
@@ -26,7 +26,7 @@
26
26
  "react-native-fs": "2.20.0",
27
27
  "react-native-svg": "13.14.0",
28
28
  "@xhs/react-native-harmony": "*",
29
- "@xhsreds/reds-token-next": "0.10.1-beta202512021041"
29
+ "@xhsreds/reds-token-next": "0.10.1-beta202512022142"
30
30
  },
31
31
  "peerDependenciesMeta": {
32
32
  "ozone-schema-web": {
@@ -206,9 +206,15 @@ const Image = ({
206
206
  };
207
207
 
208
208
  const colorMode = useColorMode();
209
-
210
209
  return (
211
- <View style={{ borderRadius, height, width, ...(style as {}) }}>
210
+ <View
211
+ style={{
212
+ borderRadius: borderRadius || style?.borderRadius,
213
+ ...(style as {}),
214
+ height: ((height || style?.height || 0) as number) + (style?.borderWidth || 0) * 2,
215
+ width: ((width || style?.width || 0) as number) + (style?.borderWidth || 0) * 2,
216
+ }}
217
+ >
212
218
  {imageStatus !== IMAGE_STATUS.HIDE && (
213
219
  <RNImage
214
220
  {...props}
@@ -225,7 +231,7 @@ const Image = ({
225
231
  style={{
226
232
  width: width || style?.width,
227
233
  height: height || style?.height,
228
- borderRadius,
234
+ borderRadius: borderRadius || style?.borderRadius,
229
235
  // opacity: imageStatus === IMAGE_STATUS.LOADED ? 1 : 0,
230
236
  }}
231
237
  // @ts-ignore
@@ -235,12 +241,11 @@ const Image = ({
235
241
  {imageStatus === IMAGE_STATUS.LOADING && loadStyle !== TLoadStyle.NONE && (
236
242
  <View
237
243
  style={{
238
- width,
239
- height,
240
- borderRadius,
244
+ width: width || style?.width,
245
+ height: height || style?.height,
246
+ borderRadius: borderRadius || style?.borderRadius,
241
247
  ...styles.loadingContainer,
242
248
  backgroundColor: loadStyle === TLoadStyle.AVE ? aveColor : styles.loadingContainer.backgroundColor,
243
- ...style,
244
249
  }}
245
250
  >
246
251
  {loadStyle === TLoadStyle.BLUR && (
@@ -249,7 +254,7 @@ const Image = ({
249
254
  style={{
250
255
  width: width || style?.width,
251
256
  height: height || style?.height,
252
- borderRadius,
257
+ borderRadius: borderRadius || style?.borderRadius,
253
258
  }}
254
259
  // @ts-ignore
255
260
  apmBiz={props.apmBiz}
@@ -265,7 +270,7 @@ const Image = ({
265
270
  onPress={(e) => {
266
271
  onReload(e);
267
272
  }}
268
- style={{ width, height, borderRadius, ...styles.loadingContainer }}
273
+ style={{ width, height, ...styles.loadingContainer }}
269
274
  >
270
275
  <RNImage
271
276
  style={{ width: 40, height: 40 }}