@draftbit/core 50.2.1-94f681.2 → 50.2.1

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 (48) hide show
  1. package/lib/commonjs/components/KeyboardAvoidingView.js +1 -1
  2. package/lib/commonjs/components/MediaPlayer/AudioPlayer/HeadlessAudioPlayer.js +1 -1
  3. package/lib/commonjs/components/MediaPlayer/MediaPlayerCommon.js +1 -1
  4. package/lib/commonjs/components/MediaPlayer/VideoPlayer/VideoPlayer.js +1 -1
  5. package/lib/commonjs/components/Surface.js +1 -1
  6. package/lib/typescript/src/components/KeyboardAvoidingView.d.ts +1 -1
  7. package/lib/typescript/src/components/KeyboardAvoidingView.js +1 -1
  8. package/lib/typescript/src/components/KeyboardAvoidingView.js.map +1 -1
  9. package/lib/typescript/src/components/MediaPlayer/AudioPlayer/HeadlessAudioPlayer.js +1 -1
  10. package/lib/typescript/src/components/MediaPlayer/AudioPlayer/HeadlessAudioPlayer.js.map +1 -1
  11. package/lib/typescript/src/components/MediaPlayer/MediaPlayerCommon.d.ts +1 -1
  12. package/lib/typescript/src/components/MediaPlayer/MediaPlayerCommon.js +12 -7
  13. package/lib/typescript/src/components/MediaPlayer/MediaPlayerCommon.js.map +1 -1
  14. package/lib/typescript/src/components/MediaPlayer/VideoPlayer/VideoPlayer.js +1 -1
  15. package/lib/typescript/src/components/MediaPlayer/VideoPlayer/VideoPlayer.js.map +1 -1
  16. package/lib/typescript/src/components/Surface.js +32 -1
  17. package/lib/typescript/src/components/Surface.js.map +1 -1
  18. package/lib/typescript/tsconfig.tsbuildinfo +1 -1
  19. package/package.json +3 -3
  20. package/src/components/KeyboardAvoidingView.js +1 -1
  21. package/src/components/KeyboardAvoidingView.js.map +1 -1
  22. package/src/components/KeyboardAvoidingView.tsx +2 -2
  23. package/src/components/MediaPlayer/AudioPlayer/HeadlessAudioPlayer.js +1 -1
  24. package/src/components/MediaPlayer/AudioPlayer/HeadlessAudioPlayer.js.map +1 -1
  25. package/src/components/MediaPlayer/AudioPlayer/HeadlessAudioPlayer.tsx +1 -1
  26. package/src/components/MediaPlayer/MediaPlayerCommon.js +12 -7
  27. package/src/components/MediaPlayer/MediaPlayerCommon.js.map +1 -1
  28. package/src/components/MediaPlayer/MediaPlayerCommon.ts +23 -9
  29. package/src/components/MediaPlayer/VideoPlayer/VideoPlayer.js +1 -1
  30. package/src/components/MediaPlayer/VideoPlayer/VideoPlayer.js.map +1 -1
  31. package/src/components/MediaPlayer/VideoPlayer/VideoPlayer.tsx +1 -1
  32. package/src/components/Surface.js +32 -1
  33. package/src/components/Surface.js.map +1 -1
  34. package/src/components/Surface.tsx +36 -1
  35. package/lib/commonjs/components/Toast/Toast.js +0 -1
  36. package/lib/commonjs/components/Toast/index.js +0 -1
  37. package/lib/typescript/src/components/Toast/Toast.d.ts +0 -4
  38. package/lib/typescript/src/components/Toast/Toast.js +0 -8
  39. package/lib/typescript/src/components/Toast/Toast.js.map +0 -1
  40. package/lib/typescript/src/components/Toast/index.d.ts +0 -1
  41. package/lib/typescript/src/components/Toast/index.js +0 -2
  42. package/lib/typescript/src/components/Toast/index.js.map +0 -1
  43. package/src/components/Toast/Toast.js +0 -8
  44. package/src/components/Toast/Toast.js.map +0 -1
  45. package/src/components/Toast/Toast.tsx +0 -14
  46. package/src/components/Toast/index.js +0 -2
  47. package/src/components/Toast/index.js.map +0 -1
  48. package/src/components/Toast/index.ts +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@draftbit/core",
3
- "version": "50.2.1-94f681.2+94f6815",
3
+ "version": "50.2.1",
4
4
  "description": "Core (non-native) Components",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "types": "lib/typescript/src/index.d.ts",
@@ -41,7 +41,7 @@
41
41
  "dependencies": {
42
42
  "@date-io/date-fns": "^1.3.13",
43
43
  "@draftbit/react-theme-provider": "^2.1.1",
44
- "@draftbit/theme": "^50.2.1-94f681.2+94f6815",
44
+ "@draftbit/theme": "50.2.1",
45
45
  "@expo/vector-icons": "^14.0.0",
46
46
  "@gorhom/bottom-sheet": "5.0.0-alpha.7",
47
47
  "@material-ui/core": "^4.11.0",
@@ -117,5 +117,5 @@
117
117
  ],
118
118
  "testEnvironment": "node"
119
119
  },
120
- "gitHead": "94f68151c471f630e71ed76625873edd647621ee"
120
+ "gitHead": "61e1fefd75c19101d867a7c9ceae6577444d3017"
121
121
  }
@@ -23,7 +23,7 @@ const KeyboardAvoidingView = ({ behavior = "padding", keyboardVerticalOffset = 0
23
23
  else {
24
24
  keyboardVerticalOffsetResult = keyboardVerticalOffset;
25
25
  }
26
- return (React.createElement(KeyboardAvoidingViewComponent, { behavior: behaviorResult, keyboardVerticalOffset: keyboardVerticalOffsetResult, ...rest }));
26
+ return (React.createElement(KeyboardAvoidingViewComponent, { behavior: behaviorResult !== null && behaviorResult !== void 0 ? behaviorResult : undefined, keyboardVerticalOffset: keyboardVerticalOffsetResult, ...rest }));
27
27
  };
28
28
  export default KeyboardAvoidingView;
29
29
  //# sourceMappingURL=KeyboardAvoidingView.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"KeyboardAvoidingView.js","sourceRoot":"","sources":["KeyboardAvoidingView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,oBAAoB,IAAI,6BAA6B,EACrD,QAAQ,GAET,MAAM,cAAc,CAAC;AAEtB,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,KAAK,KAAK,CAAC;AACpC,MAAM,SAAS,GAAG,QAAQ,CAAC,EAAE,KAAK,SAAS,CAAC;AAc5C,MAAM,oBAAoB,GAAwC,CAAC,EACjE,QAAQ,GAAG,SAAS,EACpB,sBAAsB,GAAG,CAAC,EAC1B,eAAe,EACf,6BAA6B,EAC7B,WAAW,EACX,yBAAyB,EACzB,GAAG,IAAI,EACR,EAAE,EAAE;IACH,IAAI,cAA4C,CAAC;IAEjD,IAAI,KAAK,IAAI,WAAW,KAAK,SAAS,EAAE;QACtC,cAAc,GAAG,WAAW,CAAC;KAC9B;SAAM,IAAI,SAAS,IAAI,eAAe,KAAK,SAAS,EAAE;QACrD,cAAc,GAAG,eAAe,CAAC;KAClC;SAAM;QACL,cAAc,GAAG,QAAQ,CAAC;KAC3B;IAED,IAAI,4BAAoC,CAAC;IAEzC,IAAI,KAAK,IAAI,yBAAyB,KAAK,SAAS,EAAE;QACpD,4BAA4B,GAAG,yBAAyB,CAAC;KAC1D;SAAM,IAAI,SAAS,IAAI,6BAA6B,KAAK,SAAS,EAAE;QACnE,4BAA4B,GAAG,6BAA6B,CAAC;KAC9D;SAAM;QACL,4BAA4B,GAAG,sBAAsB,CAAC;KACvD;IAED,OAAO,CACL,oBAAC,6BAA6B,IAC5B,QAAQ,EAAE,cAAc,EACxB,sBAAsB,EAAE,4BAA4B,KAChD,IAAI,GACR,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"KeyboardAvoidingView.js","sourceRoot":"","sources":["KeyboardAvoidingView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,oBAAoB,IAAI,6BAA6B,EACrD,QAAQ,GAET,MAAM,cAAc,CAAC;AAEtB,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,KAAK,KAAK,CAAC;AACpC,MAAM,SAAS,GAAG,QAAQ,CAAC,EAAE,KAAK,SAAS,CAAC;AAc5C,MAAM,oBAAoB,GAAwC,CAAC,EACjE,QAAQ,GAAG,SAAS,EACpB,sBAAsB,GAAG,CAAC,EAC1B,eAAe,EACf,6BAA6B,EAC7B,WAAW,EACX,yBAAyB,EACzB,GAAG,IAAI,EACR,EAAE,EAAE;IACH,IAAI,cAA4C,CAAC;IAEjD,IAAI,KAAK,IAAI,WAAW,KAAK,SAAS,EAAE;QACtC,cAAc,GAAG,WAAW,CAAC;KAC9B;SAAM,IAAI,SAAS,IAAI,eAAe,KAAK,SAAS,EAAE;QACrD,cAAc,GAAG,eAAe,CAAC;KAClC;SAAM;QACL,cAAc,GAAG,QAAQ,CAAC;KAC3B;IAED,IAAI,4BAAoC,CAAC;IAEzC,IAAI,KAAK,IAAI,yBAAyB,KAAK,SAAS,EAAE;QACpD,4BAA4B,GAAG,yBAAyB,CAAC;KAC1D;SAAM,IAAI,SAAS,IAAI,6BAA6B,KAAK,SAAS,EAAE;QACnE,4BAA4B,GAAG,6BAA6B,CAAC;KAC9D;SAAM;QACL,4BAA4B,GAAG,sBAAsB,CAAC;KACvD;IAED,OAAO,CACL,oBAAC,6BAA6B,IAC5B,QAAQ,EAAE,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,SAAS,EACrC,sBAAsB,EAAE,4BAA4B,KAChD,IAAI,GACR,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -8,7 +8,7 @@ import {
8
8
  const isIos = Platform.OS === "ios";
9
9
  const isAndroid = Platform.OS === "android";
10
10
 
11
- type KeyboardAvoidingViewBehavior = "height" | "position" | "padding";
11
+ type KeyboardAvoidingViewBehavior = "height" | "position" | "padding" | null;
12
12
 
13
13
  interface KeyboardAvoidingViewProps extends ViewProps {
14
14
  enabled?: boolean;
@@ -51,7 +51,7 @@ const KeyboardAvoidingView: React.FC<KeyboardAvoidingViewProps> = ({
51
51
 
52
52
  return (
53
53
  <KeyboardAvoidingViewComponent
54
- behavior={behaviorResult}
54
+ behavior={behaviorResult ?? undefined}
55
55
  keyboardVerticalOffset={keyboardVerticalOffsetResult}
56
56
  {...rest}
57
57
  />
@@ -56,7 +56,7 @@ const HeadlessAudioPlayer = React.forwardRef(({ source, interruptionMode = "lowe
56
56
  bufferedDurationMillis: 0,
57
57
  isError: false,
58
58
  });
59
- let finalSource = await normalizeBase64Source(source);
59
+ let finalSource = await normalizeBase64Source(source, "audio");
60
60
  const { sound } = await Audio.Sound.createAsync(finalSource);
61
61
  setCurrentSound(sound);
62
62
  sound.setOnPlaybackStatusUpdate(onPlaybackStatusUpdate);
@@ -1 +1 @@
1
- {"version":3,"file":"HeadlessAudioPlayer.js","sourceRoot":"","sources":["HeadlessAudioPlayer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HeadlessAudioPlayer.js","sourceRoot":"","sources":["HeadlessAudioPlayer.tsx"],"names":[],"mappings":"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"}
@@ -93,7 +93,7 @@ const HeadlessAudioPlayer = React.forwardRef<
93
93
  isError: false,
94
94
  });
95
95
 
96
- let finalSource = await normalizeBase64Source(source);
96
+ let finalSource = await normalizeBase64Source(source, "audio");
97
97
 
98
98
  const { sound } = await Audio.Sound.createAsync(finalSource);
99
99
  setCurrentSound(sound);
@@ -25,17 +25,22 @@ export function mapToMediaPlayerStatus(status) {
25
25
  error: status.error,
26
26
  };
27
27
  }
28
- // https://stackoverflow.com/a/7874175/8805150
29
- const BASE_64_REGEX = /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/;
28
+ const URL_REGEX = /[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)/;
30
29
  /**
31
30
  * Base64 strings are not playable on iOS and needs to be saved to a file before playing
32
31
  */
33
- export async function normalizeBase64Source(source) {
32
+ export async function normalizeBase64Source(source, type) {
34
33
  const uri = source === null || source === void 0 ? void 0 : source.uri;
35
- if (Platform.OS === "ios" && uri && uri.match(BASE_64_REGEX)) {
36
- const fileName = `${FileSystem.cacheDirectory}${uuid()}`;
37
- await FileSystem.writeAsStringAsync(fileName, uri, {
38
- encoding: FileSystem.EncodingType.Base64,
34
+ if (Platform.OS === "ios" && uri && !uri.match(URL_REGEX)) {
35
+ const defaultMimeType = type === "audio" ? "wav" : "mp4";
36
+ const mimeType = uri.startsWith(`data:${type}/`)
37
+ ? uri.substring(`data:${type}/`.length, uri.indexOf(";")) //Ex: extract 'mp4' from 'data:video/mp4;base64,....'
38
+ : defaultMimeType;
39
+ const fileName = `${FileSystem.cacheDirectory}${uuid()}.${mimeType.toLowerCase()}`;
40
+ await FileSystem.writeAsStringAsync(fileName, uri.includes("base64,")
41
+ ? uri.substring(uri.indexOf("base64,") + "base64,".length) // skip header portion of base64 string
42
+ : uri, {
43
+ encoding: "base64",
39
44
  });
40
45
  return { uri: fileName };
41
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MediaPlayerCommon.js","sourceRoot":"","sources":["MediaPlayerCommon.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,MAAM,OAAO,CAAC;AA0B1B,MAAM,UAAU,sBAAsB,CACpC,MAAwB;IAExB,IAAI,MAAM,CAAC,QAAQ,EAAE;QACnB,OAAO;YACL,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,SAAS,EAAE,KAAK;YAChB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,qBAAqB,EAAE,MAAM,CAAC,cAAc,IAAI,CAAC;YACjD,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,CAAC;YAC1C,sBAAsB,EAAE,MAAM,CAAC,sBAAsB,IAAI,CAAC;YAC1D,OAAO,EAAE,KAAK;SACf,CAAC;KACH;IAED,OAAO;QACL,SAAS,EAAE,KAAK;QAChB,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,KAAK;QAClB,qBAAqB,EAAE,CAAC;QACxB,cAAc,EAAE,CAAC;QACjB,sBAAsB,EAAE,CAAC;QACzB,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC;AACJ,CAAC;AAED,8CAA8C;AAC9C,MAAM,aAAa,GACjB,kEAAkE,CAAC;AAErE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAAwB;IAExB,MAAM,GAAG,GAAwB,MAAc,aAAd,MAAM,uBAAN,MAAM,CAAU,GAAG,CAAC;IAErD,IAAI,QAAQ,CAAC,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE;QAC5D,MAAM,QAAQ,GAAG,GAAG,UAAU,CAAC,cAAc,GAAG,IAAI,EAAE,EAAE,CAAC;QACzD,MAAM,UAAU,CAAC,kBAAkB,CAAC,QAAQ,EAAE,GAAG,EAAE;YACjD,QAAQ,EAAE,UAAU,CAAC,YAAY,CAAC,MAAM;SACzC,CAAC,CAAC;QACH,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;KAC1B;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,4EAA4E;AAC5E,2IAA2I;AAC3I,0DAA0D;AAC1D,EAAE;AACF,kHAAkH;AAClH,gDAAgD;AAChD,SAAS,uBAAuB,CAAC,CAAM,EAAE,CAAM;IAC7C,IAAI,CAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,GAAG,MAAI,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,GAAG,CAAA,EAAE;QACpB,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC;KACxB;IACD,OAAO,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,2BAA2B,CAAC,KAAU;IAC7C,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;IAC3B,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE;QAChD,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC;KACrB;IACD,OAAO,GAAG,CAAC,OAAO,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,QAA8B,EAC9B,YAAkC;IAElC,uDAAuD;IACvD,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC;AAC3E,CAAC"}
1
+ {"version":3,"file":"MediaPlayerCommon.js","sourceRoot":"","sources":["MediaPlayerCommon.ts"],"names":[],"mappings":"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"}
@@ -55,23 +55,37 @@ export function mapToMediaPlayerStatus(
55
55
  };
56
56
  }
57
57
 
58
- // https://stackoverflow.com/a/7874175/8805150
59
- const BASE_64_REGEX =
60
- /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/;
58
+ const URL_REGEX =
59
+ /[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)/;
61
60
 
62
61
  /**
63
62
  * Base64 strings are not playable on iOS and needs to be saved to a file before playing
64
63
  */
65
64
  export async function normalizeBase64Source(
66
- source: AVPlaybackSource
65
+ source: AVPlaybackSource,
66
+ type: "audio" | "video"
67
67
  ): Promise<AVPlaybackSource> {
68
68
  const uri: string | undefined = (source as any)?.uri;
69
69
 
70
- if (Platform.OS === "ios" && uri && uri.match(BASE_64_REGEX)) {
71
- const fileName = `${FileSystem.cacheDirectory}${uuid()}`;
72
- await FileSystem.writeAsStringAsync(fileName, uri, {
73
- encoding: FileSystem.EncodingType.Base64,
74
- });
70
+ if (Platform.OS === "ios" && uri && !uri.match(URL_REGEX)) {
71
+ const defaultMimeType = type === "audio" ? "wav" : "mp4";
72
+ const mimeType = uri.startsWith(`data:${type}/`)
73
+ ? uri.substring(`data:${type}/`.length, uri.indexOf(";")) //Ex: extract 'mp4' from 'data:video/mp4;base64,....'
74
+ : defaultMimeType;
75
+
76
+ const fileName = `${
77
+ FileSystem.cacheDirectory
78
+ }${uuid()}.${mimeType.toLowerCase()}`;
79
+
80
+ await FileSystem.writeAsStringAsync(
81
+ fileName,
82
+ uri.includes("base64,")
83
+ ? uri.substring(uri.indexOf("base64,") + "base64,".length) // skip header portion of base64 string
84
+ : uri,
85
+ {
86
+ encoding: "base64",
87
+ }
88
+ );
75
89
  return { uri: fileName };
76
90
  }
77
91
 
@@ -67,7 +67,7 @@ const VideoPlayer = React.forwardRef(({ style, resizeMode = "contain", posterRes
67
67
  [toggleFullscreen, isPlaying]);
68
68
  useSourceDeepCompareEffect(() => {
69
69
  const updateSource = async () => {
70
- const finalSource = await normalizeBase64Source(source);
70
+ const finalSource = await normalizeBase64Source(source, "video");
71
71
  setCurrentSource(finalSource);
72
72
  };
73
73
  updateSource();
@@ -1 +1 @@
1
- {"version":3,"file":"VideoPlayer.js","sourceRoot":"","sources":["VideoPlayer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VideoPlayer.js","sourceRoot":"","sources":["VideoPlayer.tsx"],"names":[],"mappings":"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"}
@@ -120,7 +120,7 @@ const VideoPlayer = React.forwardRef<VideoPlayerRef, VideoPlayerProps>(
120
120
 
121
121
  useSourceDeepCompareEffect(() => {
122
122
  const updateSource = async () => {
123
- const finalSource = await normalizeBase64Source(source);
123
+ const finalSource = await normalizeBase64Source(source, "video");
124
124
  setCurrentSource(finalSource);
125
125
  };
126
126
  updateSource();
@@ -17,10 +17,41 @@ const Surface = ({ elevation: propElevation, style, theme, children, ...rest })
17
17
  return (React.createElement(Animated.View, { ...rest, style: [
18
18
  {
19
19
  backgroundColor: getBackgroundColor(),
20
- elevation,
20
+ ...shadow(elevation),
21
21
  ...restStyle,
22
22
  },
23
23
  ] }, children));
24
24
  };
25
+ const SHADOW_COLOR = "#000";
26
+ const SHADOW_OPACITY = 0.24;
27
+ function shadow(elevation) {
28
+ if (elevation === 0) {
29
+ return {};
30
+ }
31
+ let height, radius;
32
+ switch (elevation) {
33
+ case 1:
34
+ height = 0.5;
35
+ radius = 0.75;
36
+ break;
37
+ case 2:
38
+ height = 0.75;
39
+ radius = 1.5;
40
+ break;
41
+ default:
42
+ height = elevation - 1;
43
+ radius = elevation;
44
+ }
45
+ return {
46
+ shadowColor: SHADOW_COLOR,
47
+ shadowOffset: {
48
+ width: 0,
49
+ height,
50
+ },
51
+ shadowOpacity: SHADOW_OPACITY,
52
+ shadowRadius: radius,
53
+ elevation,
54
+ };
55
+ }
25
56
  export default withTheme(Surface);
26
57
  //# sourceMappingURL=Surface.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Surface.js","sourceRoot":"","sources":["Surface.tsx"],"names":[],"mappings":"AAAA,sGAAsG;AACtG,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,QAAQ,EACR,UAAU,GAIX,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAS5C,MAAM,OAAO,GAA6C,CAAC,EACzD,SAAS,EAAE,aAAa,EACxB,KAAK,EACL,KAAK,EACL,QAAQ,EACR,GAAG,IAAI,EACR,EAAE,EAAE;IACH,MAAM,EACJ,SAAS,EAAE,cAAc,GAAG,CAAC,EAC7B,eAAe,EACf,GAAG,SAAS,EACb,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAc,CAAC;IAEnD,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAEzB,MAAM,SAAS,GAAG,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,cAAc,CAAC;IAElD,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC9B,IAAI,eAAe,EAAE;YACnB,OAAO,eAAe,CAAC;SACxB;aAAM;YACL,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC;SAChC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,oBAAC,QAAQ,CAAC,IAAI,OACR,IAAI,EACR,KAAK,EAAE;YACL;gBACE,eAAe,EAAE,kBAAkB,EAAE;gBACrC,SAAS;gBACT,GAAG,SAAS;aACb;SACF,IAEA,QAAQ,CACK,CACjB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"Surface.js","sourceRoot":"","sources":["Surface.tsx"],"names":[],"mappings":"AAAA,sGAAsG;AACtG,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,QAAQ,EACR,UAAU,GAIX,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAS5C,MAAM,OAAO,GAA6C,CAAC,EACzD,SAAS,EAAE,aAAa,EACxB,KAAK,EACL,KAAK,EACL,QAAQ,EACR,GAAG,IAAI,EACR,EAAE,EAAE;IACH,MAAM,EACJ,SAAS,EAAE,cAAc,GAAG,CAAC,EAC7B,eAAe,EACf,GAAG,SAAS,EACb,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAc,CAAC;IAEnD,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAEzB,MAAM,SAAS,GAAG,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,cAAc,CAAC;IAElD,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC9B,IAAI,eAAe,EAAE;YACnB,OAAO,eAAe,CAAC;SACxB;aAAM;YACL,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC;SAChC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,oBAAC,QAAQ,CAAC,IAAI,OACR,IAAI,EACR,KAAK,EAAE;YACL;gBACE,eAAe,EAAE,kBAAkB,EAAE;gBACrC,GAAG,MAAM,CAAC,SAAS,CAAC;gBACpB,GAAG,SAAS;aACb;SACF,IAEA,QAAQ,CACK,CACjB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,MAAM,CAAC;AAC5B,MAAM,cAAc,GAAG,IAAI,CAAC;AAE5B,SAAS,MAAM,CAAC,SAAiB;IAC/B,IAAI,SAAS,KAAK,CAAC,EAAE;QACnB,OAAO,EAAE,CAAC;KACX;IAED,IAAI,MAAM,EAAE,MAAM,CAAC;IACnB,QAAQ,SAAS,EAAE;QACjB,KAAK,CAAC;YACJ,MAAM,GAAG,GAAG,CAAC;YACb,MAAM,GAAG,IAAI,CAAC;YACd,MAAM;QACR,KAAK,CAAC;YACJ,MAAM,GAAG,IAAI,CAAC;YACd,MAAM,GAAG,GAAG,CAAC;YACb,MAAM;QACR;YACE,MAAM,GAAG,SAAS,GAAG,CAAC,CAAC;YACvB,MAAM,GAAG,SAAS,CAAC;KACtB;IAED,OAAO;QACL,WAAW,EAAE,YAAY;QACzB,YAAY,EAAE;YACZ,KAAK,EAAE,CAAC;YACR,MAAM;SACP;QACD,aAAa,EAAE,cAAc;QAC7B,YAAY,EAAE,MAAM;QACpB,SAAS;KACV,CAAC;AACJ,CAAC;AAED,eAAe,SAAS,CAAC,OAAO,CAAC,CAAC"}
@@ -48,7 +48,7 @@ const Surface: React.FC<React.PropsWithChildren<Props>> = ({
48
48
  style={[
49
49
  {
50
50
  backgroundColor: getBackgroundColor(),
51
- elevation,
51
+ ...shadow(elevation),
52
52
  ...restStyle,
53
53
  },
54
54
  ]}
@@ -58,4 +58,39 @@ const Surface: React.FC<React.PropsWithChildren<Props>> = ({
58
58
  );
59
59
  };
60
60
 
61
+ const SHADOW_COLOR = "#000";
62
+ const SHADOW_OPACITY = 0.24;
63
+
64
+ function shadow(elevation: number) {
65
+ if (elevation === 0) {
66
+ return {};
67
+ }
68
+
69
+ let height, radius;
70
+ switch (elevation) {
71
+ case 1:
72
+ height = 0.5;
73
+ radius = 0.75;
74
+ break;
75
+ case 2:
76
+ height = 0.75;
77
+ radius = 1.5;
78
+ break;
79
+ default:
80
+ height = elevation - 1;
81
+ radius = elevation;
82
+ }
83
+
84
+ return {
85
+ shadowColor: SHADOW_COLOR,
86
+ shadowOffset: {
87
+ width: 0,
88
+ height,
89
+ },
90
+ shadowOpacity: SHADOW_OPACITY,
91
+ shadowRadius: radius,
92
+ elevation,
93
+ };
94
+ }
95
+
61
96
  export default withTheme(Surface);
@@ -1 +0,0 @@
1
- import _objectDestructuringEmpty from"@babel/runtime/helpers/objectDestructuringEmpty";var _this=this,_jsxFileName="/home/runner/work/react-native-jigsaw/react-native-jigsaw/packages/core/src/components/Toast/Toast.tsx";import React from"react";import{View,Text}from"react-native";import{jsx as _jsx}from"react/jsx-runtime";var Toast=function Toast(_ref){_objectDestructuringEmpty(_ref);return _jsx(View,{children:_jsx(Text,{children:"Test"})});};export default Toast;
@@ -1 +0,0 @@
1
- export{default as Toast}from"./Toast";
@@ -1,4 +0,0 @@
1
- import React from "react";
2
- declare type Props = {};
3
- declare const Toast: React.FC<React.PropsWithChildren<Props>>;
4
- export default Toast;
@@ -1,8 +0,0 @@
1
- import React from "react";
2
- import { View, Text } from "react-native";
3
- const Toast = ({}) => {
4
- return (React.createElement(View, null,
5
- React.createElement(Text, null, "Test")));
6
- };
7
- export default Toast;
8
- //# sourceMappingURL=Toast.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Toast.js","sourceRoot":"","sources":["../../../../../src/components/Toast/Toast.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAI1C,MAAM,KAAK,GAA6C,CAAC,EAAE,EAAE,EAAE;IAC7D,OAAO,CACL,oBAAC,IAAI;QACH,oBAAC,IAAI,eAAY,CACZ,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -1 +0,0 @@
1
- export { default as Toast } from "./Toast";
@@ -1,2 +0,0 @@
1
- export { default as Toast } from "./Toast";
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/Toast/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC"}
@@ -1,8 +0,0 @@
1
- import React from "react";
2
- import { View, Text } from "react-native";
3
- const Toast = ({}) => {
4
- return (React.createElement(View, null,
5
- React.createElement(Text, null, "Test")));
6
- };
7
- export default Toast;
8
- //# sourceMappingURL=Toast.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Toast.js","sourceRoot":"","sources":["Toast.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAI1C,MAAM,KAAK,GAA6C,CAAC,EAAE,EAAE,EAAE;IAC7D,OAAO,CACL,oBAAC,IAAI;QACH,oBAAC,IAAI,eAAY,CACZ,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -1,14 +0,0 @@
1
- import React from "react";
2
- import { View, Text } from "react-native";
3
-
4
- type Props = {};
5
-
6
- const Toast: React.FC<React.PropsWithChildren<Props>> = ({}) => {
7
- return (
8
- <View>
9
- <Text>Test</Text>
10
- </View>
11
- );
12
- };
13
-
14
- export default Toast;
@@ -1,2 +0,0 @@
1
- export { default as Toast } from "./Toast";
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC"}
@@ -1 +0,0 @@
1
- export { default as Toast } from "./Toast";