@draftbit/core 50.6.1 → 50.6.2-88131d.2

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.
@@ -1 +1 @@
1
- import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["source","resizeMode","style"];var _this=this,_jsxFileName="/home/runner/work/react-native-jigsaw/react-native-jigsaw/packages/core/src/components/Image.tsx";import React from"react";import{Image as NativeImage,StyleSheet}from"react-native";import Config from"./Config";import AspectRatio from"./AspectRatio";import{jsx as _jsx}from"react/jsx-runtime";var generateDimensions=function generateDimensions(_ref){var aspectRatio=_ref.aspectRatio,width=_ref.width,height=_ref.height;if(aspectRatio&&!width&&!height){return{aspectRatio:aspectRatio,width:"100%"};}if(aspectRatio&&height){return{aspectRatio:aspectRatio,height:height,width:aspectRatio*height};}if(aspectRatio&&width){return{aspectRatio:aspectRatio,width:width,height:width/aspectRatio};}return{width:width,height:height};};var Image=function Image(_ref2){var source=_ref2.source,_ref2$resizeMode=_ref2.resizeMode,resizeMode=_ref2$resizeMode===void 0?"cover":_ref2$resizeMode,style=_ref2.style,props=_objectWithoutProperties(_ref2,_excluded);var imageSource=source===null||source===undefined?Config.placeholderImageURL:source;var styles=StyleSheet.flatten(style||{});var _generateDimensions=generateDimensions(styles),aspectRatio=_generateDimensions.aspectRatio,width=_generateDimensions.width,height=_generateDimensions.height;if(aspectRatio){return _jsx(AspectRatio,{style:[style,{width:width,height:height,aspectRatio:aspectRatio}],children:_jsx(NativeImage,Object.assign({},props,{source:imageSource,resizeMode:resizeMode,style:[style,{height:"100%",width:"100%"}]}))});}return _jsx(NativeImage,Object.assign({},props,{source:source,resizeMode:resizeMode,style:style}));};export default Image;
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["source","resizeMode","style","placeholder","transition","contentFit","contentPosition","cachePolicy","allowDownscaling","recyclingKey"];var _this=this,_jsxFileName="/home/runner/work/react-native-jigsaw/react-native-jigsaw/packages/core/src/components/Image.tsx";import React from"react";import{StyleSheet}from"react-native";import{Image as ExpoImage}from"expo-image";import Config from"./Config";import AspectRatio from"./AspectRatio";import{jsx as _jsx}from"react/jsx-runtime";var generateDimensions=function generateDimensions(_ref){var aspectRatio=_ref.aspectRatio,width=_ref.width,height=_ref.height;if(aspectRatio&&!width&&!height){return{aspectRatio:aspectRatio,width:"100%"};}if(aspectRatio&&height){return{aspectRatio:aspectRatio,height:height,width:aspectRatio*height};}if(aspectRatio&&width){return{aspectRatio:aspectRatio,width:width,height:width/aspectRatio};}return{width:width,height:height};};var resizeModeToContentFit=function resizeModeToContentFit(resizeMode){var _mapping$resizeMode;var mapping={cover:"cover",contain:"contain",stretch:"fill",repeat:"none",center:"scale-down"};return(_mapping$resizeMode=mapping[resizeMode])!=null?_mapping$resizeMode:"cover";};var Image=function Image(_ref2){var source=_ref2.source,_ref2$resizeMode=_ref2.resizeMode,resizeMode=_ref2$resizeMode===void 0?"cover":_ref2$resizeMode,style=_ref2.style,placeholder=_ref2.placeholder,_ref2$transition=_ref2.transition,transition=_ref2$transition===void 0?300:_ref2$transition,_ref2$contentFit=_ref2.contentFit,contentFit=_ref2$contentFit===void 0?"cover":_ref2$contentFit,_ref2$contentPosition=_ref2.contentPosition,contentPosition=_ref2$contentPosition===void 0?"center":_ref2$contentPosition,_ref2$cachePolicy=_ref2.cachePolicy,cachePolicy=_ref2$cachePolicy===void 0?"memory-disk":_ref2$cachePolicy,_ref2$allowDownscalin=_ref2.allowDownscaling,allowDownscaling=_ref2$allowDownscalin===void 0?true:_ref2$allowDownscalin,recyclingKey=_ref2.recyclingKey,props=_objectWithoutProperties(_ref2,_excluded);var imageSource=source===null||source===undefined?Config.placeholderImageURL:source;var styles=StyleSheet.flatten(style||{});var _generateDimensions=generateDimensions(styles),aspectRatio=_generateDimensions.aspectRatio,width=_generateDimensions.width,height=_generateDimensions.height;var finalContentFit=resizeMode?resizeModeToContentFit(resizeMode):contentFit;if(aspectRatio){return _jsx(AspectRatio,{style:[style,{width:width,height:height,aspectRatio:aspectRatio}],children:_jsx(ExpoImage,Object.assign({},props,{source:imageSource,contentFit:finalContentFit,placeholder:placeholder,transition:transition,contentPosition:contentPosition,cachePolicy:cachePolicy,allowDownscaling:allowDownscaling,recyclingKey:recyclingKey,style:[style,{height:"100%",width:"100%"}]}))});}return _jsx(ExpoImage,Object.assign({},props,{source:source,contentFit:finalContentFit,placeholder:placeholder,transition:transition,contentPosition:contentPosition,cachePolicy:cachePolicy,allowDownscaling:allowDownscaling,recyclingKey:recyclingKey,style:style}));};export default Image;
@@ -1,4 +1,20 @@
1
1
  import React from "react";
2
- import { ImageProps } from "react-native";
3
- declare const Image: React.FC<ImageProps>;
2
+ import { ImageContentPosition, ImageProps as ExpoImageProps } from "expo-image";
3
+ interface ExtendedImageProps extends ExpoImageProps {
4
+ placeholder?: {
5
+ blurhash?: string;
6
+ thumbhash?: string;
7
+ };
8
+ transition?: number | {
9
+ duration?: number;
10
+ effect?: "cross-dissolve" | "flip-from-top" | "flip-from-right" | "flip-from-bottom" | "flip-from-left" | "curl-up" | "curl-down";
11
+ timing?: "ease-in-out" | "ease-in" | "ease-out" | "linear";
12
+ };
13
+ contentFit?: "cover" | "contain" | "fill" | "none" | "scale-down";
14
+ contentPosition?: ImageContentPosition;
15
+ cachePolicy?: "none" | "disk" | "memory" | "memory-disk";
16
+ allowDownscaling?: boolean;
17
+ recyclingKey?: string;
18
+ }
19
+ declare const Image: React.FC<ExtendedImageProps>;
4
20
  export default Image;
@@ -1,6 +1,7 @@
1
1
  /* README: Internal Image component used for stuff like Card. DO NOT EXPORT! */
2
2
  import React from "react";
3
- import { Image as NativeImage, StyleSheet, } from "react-native";
3
+ import { StyleSheet } from "react-native";
4
+ import { Image as ExpoImage, } from "expo-image";
4
5
  import Config from "./Config";
5
6
  import AspectRatio from "./AspectRatio";
6
7
  const generateDimensions = ({ aspectRatio, width, height, }) => {
@@ -26,15 +27,29 @@ const generateDimensions = ({ aspectRatio, width, height, }) => {
26
27
  }
27
28
  return { width, height };
28
29
  };
29
- const Image = ({ source, resizeMode = "cover", style, ...props }) => {
30
+ const resizeModeToContentFit = (resizeMode) => {
31
+ var _a;
32
+ const mapping = {
33
+ cover: "cover",
34
+ contain: "contain",
35
+ stretch: "fill",
36
+ repeat: "none",
37
+ center: "scale-down",
38
+ };
39
+ return (_a = mapping[resizeMode]) !== null && _a !== void 0 ? _a : "cover";
40
+ };
41
+ const Image = ({ source, resizeMode = "cover", style, placeholder, transition = 300, contentFit = "cover", contentPosition = "center", cachePolicy = "memory-disk", allowDownscaling = true, recyclingKey, ...props }) => {
30
42
  let imageSource = source === null || source === undefined
31
43
  ? Config.placeholderImageURL
32
44
  : source;
33
45
  const styles = StyleSheet.flatten(style || {});
34
46
  const { aspectRatio, width, height } = generateDimensions(styles);
47
+ const finalContentFit = resizeMode
48
+ ? resizeModeToContentFit(resizeMode)
49
+ : contentFit;
35
50
  if (aspectRatio) {
36
51
  return (React.createElement(AspectRatio, { style: [style, { width, height, aspectRatio }] },
37
- React.createElement(NativeImage, { ...props, source: imageSource, resizeMode: resizeMode, style: [
52
+ React.createElement(ExpoImage, { ...props, source: imageSource, contentFit: finalContentFit, placeholder: placeholder, transition: transition, contentPosition: contentPosition, cachePolicy: cachePolicy, allowDownscaling: allowDownscaling, recyclingKey: recyclingKey, style: [
38
53
  style,
39
54
  {
40
55
  height: "100%",
@@ -42,7 +57,7 @@ const Image = ({ source, resizeMode = "cover", style, ...props }) => {
42
57
  },
43
58
  ] })));
44
59
  }
45
- return (React.createElement(NativeImage, { ...props, source: source, resizeMode: resizeMode, style: style }));
60
+ return (React.createElement(ExpoImage, { ...props, source: source, contentFit: finalContentFit, placeholder: placeholder, transition: transition, contentPosition: contentPosition, cachePolicy: cachePolicy, allowDownscaling: allowDownscaling, recyclingKey: recyclingKey, style: style }));
46
61
  };
47
62
  export default Image;
48
63
  //# sourceMappingURL=Image.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Image.js","sourceRoot":"","sources":["../../../../src/components/Image.tsx"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,KAAK,IAAI,WAAW,EAEpB,UAAU,GAGX,MAAM,cAAc,CAAC;AACtB,OAAO,MAAM,MAAM,UAAU,CAAC;AAE9B,OAAO,WAAW,MAAM,eAAe,CAAC;AAQxC,MAAM,kBAAkB,GAAG,CAAC,EAC1B,WAAW,EACX,KAAK,EACL,MAAM,GACS,EAIf,EAAE;IACF,IAAI,WAAW,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE;QACpC,OAAO;YACL,WAAW;YACX,KAAK,EAAE,MAAM;SACd,CAAC;KACH;IAED,IAAI,WAAW,IAAI,MAAM,EAAE;QACzB,OAAO;YACL,WAAW;YACX,MAAM;YACN,KAAK,EAAE,WAAW,GAAG,MAAM;SAC5B,CAAC;KACH;IAED,IAAI,WAAW,IAAI,KAAK,EAAE;QACxB,OAAO;YACL,WAAW;YACX,KAAK;YACL,MAAM,EAAE,KAAK,GAAG,WAAW;SAC5B,CAAC;KACH;IAED,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,KAAK,GAAyB,CAAC,EACnC,MAAM,EACN,UAAU,GAAG,OAAO,EACpB,KAAK,EACL,GAAG,KAAK,EACT,EAAE,EAAE;IACH,IAAI,WAAW,GACb,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS;QACrC,CAAC,CAAC,MAAM,CAAC,mBAAmB;QAC5B,CAAC,CAAC,MAAM,CAAC;IAEb,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAC/C,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,kBAAkB,CACvD,MAAwB,CACzB,CAAC;IAEF,IAAI,WAAW,EAAE;QACf,OAAO,CACL,oBAAC,WAAW,IAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;YACzD,oBAAC,WAAW,OACN,KAAK,EACT,MAAM,EAAE,WAAkC,EAC1C,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE;oBACL,KAAK;oBACL;wBACE,MAAM,EAAE,MAAM;wBACd,KAAK,EAAE,MAAM;qBACd;iBACF,GACD,CACU,CACf,CAAC;KACH;IAED,OAAO,CACL,oBAAC,WAAW,OACN,KAAK,EACT,MAAM,EAAE,MAA6B,EACrC,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,KAAK,GACZ,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"Image.js","sourceRoot":"","sources":["../../../../src/components/Image.tsx"],"names":[],"mappings":"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"}