@draftbit/core 50.1.1-1cea51.2 → 50.1.1-eb22bb.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.
Files changed (60) hide show
  1. package/lib/commonjs/components/Button.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/Picker/PickerCommon.js +1 -1
  6. package/lib/commonjs/components/Picker/dropdown/DropDownModalPicker.js +1 -0
  7. package/lib/commonjs/components/Picker/dropdown/DropDownPicker.js +1 -1
  8. package/lib/commonjs/components/Picker/index.js +1 -1
  9. package/lib/typescript/src/components/Button.js +4 -3
  10. package/lib/typescript/src/components/Button.js.map +1 -1
  11. package/lib/typescript/src/components/MediaPlayer/AudioPlayer/HeadlessAudioPlayer.js +3 -25
  12. package/lib/typescript/src/components/MediaPlayer/AudioPlayer/HeadlessAudioPlayer.js.map +1 -1
  13. package/lib/typescript/src/components/MediaPlayer/MediaPlayerCommon.d.ts +6 -0
  14. package/lib/typescript/src/components/MediaPlayer/MediaPlayerCommon.js +43 -0
  15. package/lib/typescript/src/components/MediaPlayer/MediaPlayerCommon.js.map +1 -1
  16. package/lib/typescript/src/components/MediaPlayer/VideoPlayer/VideoPlayer.js +11 -3
  17. package/lib/typescript/src/components/MediaPlayer/VideoPlayer/VideoPlayer.js.map +1 -1
  18. package/lib/typescript/src/components/Picker/PickerCommon.d.ts +4 -1
  19. package/lib/typescript/src/components/Picker/PickerCommon.js +11 -0
  20. package/lib/typescript/src/components/Picker/PickerCommon.js.map +1 -1
  21. package/lib/typescript/src/components/Picker/{modal/ModalPicker.d.ts → dropdown/DropDownModalPicker.d.ts} +3 -3
  22. package/lib/typescript/src/components/Picker/dropdown/DropDownModalPicker.js +70 -0
  23. package/lib/typescript/src/components/Picker/dropdown/DropDownModalPicker.js.map +1 -0
  24. package/lib/typescript/src/components/Picker/dropdown/DropDownPicker.js +3 -9
  25. package/lib/typescript/src/components/Picker/dropdown/DropDownPicker.js.map +1 -1
  26. package/lib/typescript/src/components/Picker/index.d.ts +3 -3
  27. package/lib/typescript/src/components/Picker/index.js +4 -4
  28. package/lib/typescript/src/components/Picker/index.js.map +1 -1
  29. package/lib/typescript/tsconfig.tsbuildinfo +1 -1
  30. package/package.json +6 -4
  31. package/src/components/Button.js +4 -3
  32. package/src/components/Button.js.map +1 -1
  33. package/src/components/Button.tsx +14 -2
  34. package/src/components/MediaPlayer/AudioPlayer/HeadlessAudioPlayer.js +3 -25
  35. package/src/components/MediaPlayer/AudioPlayer/HeadlessAudioPlayer.js.map +1 -1
  36. package/src/components/MediaPlayer/AudioPlayer/HeadlessAudioPlayer.tsx +8 -31
  37. package/src/components/MediaPlayer/MediaPlayerCommon.js +43 -0
  38. package/src/components/MediaPlayer/MediaPlayerCommon.js.map +1 -1
  39. package/src/components/MediaPlayer/MediaPlayerCommon.ts +56 -0
  40. package/src/components/MediaPlayer/VideoPlayer/VideoPlayer.js +11 -3
  41. package/src/components/MediaPlayer/VideoPlayer/VideoPlayer.js.map +1 -1
  42. package/src/components/MediaPlayer/VideoPlayer/VideoPlayer.tsx +18 -1
  43. package/src/components/Picker/PickerCommon.js +11 -0
  44. package/src/components/Picker/PickerCommon.js.map +1 -1
  45. package/src/components/Picker/PickerCommon.ts +19 -1
  46. package/src/components/Picker/dropdown/DropDownModalPicker.js +70 -0
  47. package/src/components/Picker/dropdown/DropDownModalPicker.js.map +1 -0
  48. package/src/components/Picker/dropdown/DropDownModalPicker.tsx +155 -0
  49. package/src/components/Picker/dropdown/DropDownPicker.js +3 -9
  50. package/src/components/Picker/dropdown/DropDownPicker.js.map +1 -1
  51. package/src/components/Picker/dropdown/DropDownPicker.tsx +3 -16
  52. package/src/components/Picker/index.js +4 -4
  53. package/src/components/Picker/index.js.map +1 -1
  54. package/src/components/Picker/index.tsx +7 -7
  55. package/lib/commonjs/components/Picker/modal/ModalPicker.js +0 -1
  56. package/lib/typescript/src/components/Picker/modal/ModalPicker.js +0 -88
  57. package/lib/typescript/src/components/Picker/modal/ModalPicker.js.map +0 -1
  58. package/src/components/Picker/modal/ModalPicker.js +0 -88
  59. package/src/components/Picker/modal/ModalPicker.js.map +0 -1
  60. package/src/components/Picker/modal/ModalPicker.tsx +0 -179
@@ -1 +1 @@
1
- import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/home/runner/work/react-native-jigsaw/react-native-jigsaw/packages/core/src/components/Button.tsx",_this=this;var _excluded=["Icon","icon","title","loading","disabled","style","activeOpacity","disabledOpacity"],_excluded2=["color","fontFamily","fontWeight","fontSize","lineHeight","letterSpacing","textTransform","textAlign","textDecorationLine","textDecorationColor","textDecorationStyle"],_excluded3=["style","theme"],_excluded4=["style","theme"];import*as React from"react";import{Text,Pressable,Platform,StyleSheet,ActivityIndicator}from"react-native";import{withTheme}from"../theming";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";var CONSTANTS={baseHeight:42,borderRadius:4,padding:8,icon:24};function Base(_ref){var Icon=_ref.Icon,icon=_ref.icon,title=_ref.title,loading=_ref.loading,disabled=_ref.disabled,style=_ref.style,_ref$activeOpacity=_ref.activeOpacity,activeOpacity=_ref$activeOpacity===void 0?0.8:_ref$activeOpacity,_ref$disabledOpacity=_ref.disabledOpacity,disabledOpacity=_ref$disabledOpacity===void 0?0.8:_ref$disabledOpacity,props=_objectWithoutProperties(_ref,_excluded);var _StyleSheet$flatten=StyleSheet.flatten(style||{}),color=_StyleSheet$flatten.color,fontFamily=_StyleSheet$flatten.fontFamily,fontWeight=_StyleSheet$flatten.fontWeight,fontSize=_StyleSheet$flatten.fontSize,lineHeight=_StyleSheet$flatten.lineHeight,letterSpacing=_StyleSheet$flatten.letterSpacing,textTransform=_StyleSheet$flatten.textTransform,textAlign=_StyleSheet$flatten.textAlign,textDecorationLine=_StyleSheet$flatten.textDecorationLine,textDecorationColor=_StyleSheet$flatten.textDecorationColor,textDecorationStyle=_StyleSheet$flatten.textDecorationStyle,buttonStyles=_objectWithoutProperties(_StyleSheet$flatten,_excluded2);var titleStyles={color:color,fontFamily:fontFamily,fontWeight:fontWeight,fontSize:fontSize,lineHeight:lineHeight,letterSpacing:letterSpacing,textTransform:textTransform,textAlign:textAlign,textDecorationLine:textDecorationLine,textDecorationColor:textDecorationColor,textDecorationStyle:textDecorationStyle};if(textAlign==="left"){buttonStyles.justifyContent="flex-start";}if(textAlign==="right"){buttonStyles.justifyContent="flex-end";}return _jsxs(Pressable,Object.assign({disabled:disabled||loading,style:function style(_ref2){var pressed=_ref2.pressed;return[styles.base,{opacity:pressed?activeOpacity:disabled?disabledOpacity:1},buttonStyles];}},props,{children:[loading?_jsx(ActivityIndicator,{size:"small",color:color,style:styles.loading}):null,icon&&!loading?_jsx(Icon,{name:icon,color:color,style:styles.icon,size:CONSTANTS.icon}):null,_jsx(Text,{style:titleStyles,children:title})]}));}var Solid=function Solid(_ref3){var style=_ref3.style,theme=_ref3.theme,props=_objectWithoutProperties(_ref3,_excluded3);return _jsx(Base,Object.assign({style:[{color:"#FFF",borderRadius:theme.roundness,backgroundColor:theme.colors.primary},style]},props));};var ButtonSolid=withTheme(Solid);export{ButtonSolid};var Button=withTheme(Solid);export{Button};var Outline=function Outline(_ref4){var style=_ref4.style,theme=_ref4.theme,props=_objectWithoutProperties(_ref4,_excluded4);return _jsx(Base,Object.assign({style:[styles.outline,{borderRadius:theme.roundness,borderColor:theme.colors.primary,color:theme.colors.primary},style]},props));};var ButtonOutline=withTheme(Outline);export{ButtonOutline};var styles=StyleSheet.create({base:Object.assign({position:"relative",flexDirection:"row",alignItems:"center",justifyContent:"center",minHeight:CONSTANTS.baseHeight,paddingHorizontal:12,fontFamily:"System",fontWeight:"700"},Platform.select({web:{cursor:"pointer",userSelect:"none"}})),outline:{backgroundColor:"transparent",borderWidth:1},bare:{backgroundColor:"transparent",padding:0,minHeight:undefined},loading:{marginRight:6},icon:Object.assign({},Platform.select({web:{marginTop:1,marginRight:4,alignSelf:"center"},default:{marginBottom:2,marginRight:4,alignSelf:"center"}}))});
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/home/runner/work/react-native-jigsaw/react-native-jigsaw/packages/core/src/components/Button.tsx",_this=this;var _excluded=["Icon","icon","iconPosition","iconSize","title","loading","disabled","style","activeOpacity","disabledOpacity"],_excluded2=["color","fontFamily","fontWeight","fontSize","lineHeight","letterSpacing","textTransform","textAlign","textDecorationLine","textDecorationColor","textDecorationStyle"],_excluded3=["style","theme"],_excluded4=["style","theme"];import*as React from"react";import{Text,Pressable,Platform,StyleSheet,ActivityIndicator}from"react-native";import{withTheme}from"../theming";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";var CONSTANTS={baseHeight:42,borderRadius:4,padding:8,icon:24};function Base(_ref){var Icon=_ref.Icon,icon=_ref.icon,_ref$iconPosition=_ref.iconPosition,iconPosition=_ref$iconPosition===void 0?"left":_ref$iconPosition,_ref$iconSize=_ref.iconSize,iconSize=_ref$iconSize===void 0?CONSTANTS.icon:_ref$iconSize,title=_ref.title,loading=_ref.loading,disabled=_ref.disabled,style=_ref.style,_ref$activeOpacity=_ref.activeOpacity,activeOpacity=_ref$activeOpacity===void 0?0.8:_ref$activeOpacity,_ref$disabledOpacity=_ref.disabledOpacity,disabledOpacity=_ref$disabledOpacity===void 0?0.8:_ref$disabledOpacity,props=_objectWithoutProperties(_ref,_excluded);var _StyleSheet$flatten=StyleSheet.flatten(style||{}),color=_StyleSheet$flatten.color,fontFamily=_StyleSheet$flatten.fontFamily,fontWeight=_StyleSheet$flatten.fontWeight,fontSize=_StyleSheet$flatten.fontSize,lineHeight=_StyleSheet$flatten.lineHeight,letterSpacing=_StyleSheet$flatten.letterSpacing,textTransform=_StyleSheet$flatten.textTransform,textAlign=_StyleSheet$flatten.textAlign,textDecorationLine=_StyleSheet$flatten.textDecorationLine,textDecorationColor=_StyleSheet$flatten.textDecorationColor,textDecorationStyle=_StyleSheet$flatten.textDecorationStyle,buttonStyles=_objectWithoutProperties(_StyleSheet$flatten,_excluded2);var titleStyles={color:color,fontFamily:fontFamily,fontWeight:fontWeight,fontSize:fontSize,lineHeight:lineHeight,letterSpacing:letterSpacing,textTransform:textTransform,textAlign:textAlign,textDecorationLine:textDecorationLine,textDecorationColor:textDecorationColor,textDecorationStyle:textDecorationStyle};if(textAlign==="left"){buttonStyles.justifyContent="flex-start";}if(textAlign==="right"){buttonStyles.justifyContent="flex-end";}return _jsxs(Pressable,Object.assign({disabled:disabled||loading,style:function style(_ref2){var pressed=_ref2.pressed;return[styles.base,{opacity:pressed?activeOpacity:disabled?disabledOpacity:1},buttonStyles];}},props,{children:[loading?_jsx(ActivityIndicator,{size:"small",color:color,style:styles.loading}):null,iconPosition==="left"&&icon&&!loading?_jsx(Icon,{name:icon,color:color,style:styles.icon,size:iconSize}):null,_jsx(Text,{style:titleStyles,children:title}),iconPosition==="right"&&icon&&!loading?_jsx(Icon,{name:icon,color:color,style:styles.icon,size:iconSize}):null]}));}var Solid=function Solid(_ref3){var style=_ref3.style,theme=_ref3.theme,props=_objectWithoutProperties(_ref3,_excluded3);return _jsx(Base,Object.assign({style:[{color:"#FFF",borderRadius:theme.roundness,backgroundColor:theme.colors.primary},style]},props));};var ButtonSolid=withTheme(Solid);export{ButtonSolid};var Button=withTheme(Solid);export{Button};var Outline=function Outline(_ref4){var style=_ref4.style,theme=_ref4.theme,props=_objectWithoutProperties(_ref4,_excluded4);return _jsx(Base,Object.assign({style:[styles.outline,{borderRadius:theme.roundness,borderColor:theme.colors.primary,color:theme.colors.primary},style]},props));};var ButtonOutline=withTheme(Outline);export{ButtonOutline};var styles=StyleSheet.create({base:Object.assign({position:"relative",flexDirection:"row",alignItems:"center",justifyContent:"center",minHeight:CONSTANTS.baseHeight,paddingHorizontal:12,fontFamily:"System",fontWeight:"700"},Platform.select({web:{cursor:"pointer",userSelect:"none"}})),outline:{backgroundColor:"transparent",borderWidth:1},bare:{backgroundColor:"transparent",padding:0,minHeight:undefined},loading:{marginRight:6},icon:Object.assign({},Platform.select({web:{marginTop:1,marginRight:4,alignSelf:"center"},default:{marginBottom:2,marginRight:4,alignSelf:"center"}}))});
@@ -1 +1 @@
1
- import _asyncToGenerator from"@babel/runtime/helpers/asyncToGenerator";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";var _this=this,_jsxFileName="/home/runner/work/react-native-jigsaw/react-native-jigsaw/packages/core/src/components/MediaPlayer/AudioPlayer/HeadlessAudioPlayer.tsx";import*as React from"react";import{Audio,InterruptionModeIOS,InterruptionModeAndroid}from"expo-av";import{mapToMediaPlayerStatus}from"../MediaPlayerCommon";import MediaPlaybackWrapper from"../MediaPlaybackWrapper";import{jsx as _jsx}from"react/jsx-runtime";var HeadlessAudioPlayer=React.forwardRef(function(_ref,ref){var source=_ref.source,_ref$interruptionMode=_ref.interruptionMode,interruptionMode=_ref$interruptionMode===void 0?"lower volume":_ref$interruptionMode,_ref$playsInBackgroun=_ref.playsInBackground,playsInBackground=_ref$playsInBackgroun===void 0?false:_ref$playsInBackgroun,_ref$playsInSilentMod=_ref.playsInSilentModeIOS,playsInSilentModeIOS=_ref$playsInSilentMod===void 0?false:_ref$playsInSilentMod,_ref$playThroughEarpi=_ref.playThroughEarpieceAndroid,playThroughEarpieceAndroid=_ref$playThroughEarpi===void 0?false:_ref$playThroughEarpi,onPlaybackStatusUpdateProp=_ref.onPlaybackStatusUpdate,onPlaybackFinish=_ref.onPlaybackFinish;var _React$useState=React.useState(),_React$useState2=_slicedToArray(_React$useState,2),currentSound=_React$useState2[0],setCurrentSound=_React$useState2[1];var _React$useState3=React.useState(false),_React$useState4=_slicedToArray(_React$useState3,2),isPlaying=_React$useState4[0],setIsPlaying=_React$useState4[1];var updateAudioMode=React.useCallback(_asyncToGenerator(function*(){try{yield Audio.setAudioModeAsync({staysActiveInBackground:playsInBackground,interruptionModeIOS:interruptionMode==="lower volume"?InterruptionModeIOS.DuckOthers:InterruptionModeIOS.DoNotMix,interruptionModeAndroid:interruptionMode==="lower volume"?InterruptionModeAndroid.DuckOthers:InterruptionModeAndroid.DoNotMix,playsInSilentModeIOS:playsInSilentModeIOS,playThroughEarpieceAndroid:playThroughEarpieceAndroid});}catch(e){console.error("Failed to set audio mode. interruptionMode, playsInBackground, playsInSilentModeIOS, playThroughEarpieceAndroid might not be set. Failed with",e);}}),[interruptionMode,playsInBackground,playsInSilentModeIOS,playThroughEarpieceAndroid]);var onPlaybackStatusUpdate=function onPlaybackStatusUpdate(status){var mappedStatus=mapToMediaPlayerStatus(status);onPlaybackStatusUpdateProp==null?void 0:onPlaybackStatusUpdateProp(mappedStatus);if(status.isLoaded){if(status.didJustFinish){onPlaybackFinish==null?void 0:onPlaybackFinish();}setIsPlaying(status.isPlaying);}};var onTogglePlayback=function onTogglePlayback(){updateAudioMode();};var loadAudio=function(){var _ref3=_asyncToGenerator(function*(){onPlaybackStatusUpdateProp==null?void 0:onPlaybackStatusUpdateProp({isPlaying:false,isLoading:true,isBuffering:false,currentPositionMillis:0,durationMillis:0,bufferedDurationMillis:0,isError:false});var _yield$Audio$Sound$cr=yield Audio.Sound.createAsync(source),sound=_yield$Audio$Sound$cr.sound;setCurrentSound(sound);sound.setOnPlaybackStatusUpdate(onPlaybackStatusUpdate);});return function loadAudio(){return _ref3.apply(this,arguments);};}();useSourceDeepCompareEffect(function(){loadAudio();},[source]);return _jsx(MediaPlaybackWrapper,{ref:ref,isPlaying:isPlaying,media:currentSound,onTogglePlayback:onTogglePlayback});});function sourceDeepCompareEquals(a,b){if(a!=null&&a.uri&&b!=null&&b.uri){return a.uri===b.uri;}return a===b;}function useSourceDeepCompareMemoize(value){var ref=React.useRef();if(!sourceDeepCompareEquals(value,ref.current)){ref.current=value;}return ref.current;}function useSourceDeepCompareEffect(callback,dependencies){React.useEffect(callback,dependencies.map(useSourceDeepCompareMemoize));}export default HeadlessAudioPlayer;
1
+ import _asyncToGenerator from"@babel/runtime/helpers/asyncToGenerator";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";var _this=this,_jsxFileName="/home/runner/work/react-native-jigsaw/react-native-jigsaw/packages/core/src/components/MediaPlayer/AudioPlayer/HeadlessAudioPlayer.tsx";import*as React from"react";import{Audio,InterruptionModeIOS,InterruptionModeAndroid}from"expo-av";import{mapToMediaPlayerStatus,normalizeBase64Source,useSourceDeepCompareEffect}from"../MediaPlayerCommon";import MediaPlaybackWrapper from"../MediaPlaybackWrapper";import{jsx as _jsx}from"react/jsx-runtime";var HeadlessAudioPlayer=React.forwardRef(function(_ref,ref){var source=_ref.source,_ref$interruptionMode=_ref.interruptionMode,interruptionMode=_ref$interruptionMode===void 0?"lower volume":_ref$interruptionMode,_ref$playsInBackgroun=_ref.playsInBackground,playsInBackground=_ref$playsInBackgroun===void 0?false:_ref$playsInBackgroun,_ref$playsInSilentMod=_ref.playsInSilentModeIOS,playsInSilentModeIOS=_ref$playsInSilentMod===void 0?false:_ref$playsInSilentMod,_ref$playThroughEarpi=_ref.playThroughEarpieceAndroid,playThroughEarpieceAndroid=_ref$playThroughEarpi===void 0?false:_ref$playThroughEarpi,onPlaybackStatusUpdateProp=_ref.onPlaybackStatusUpdate,onPlaybackFinish=_ref.onPlaybackFinish;var _React$useState=React.useState(),_React$useState2=_slicedToArray(_React$useState,2),currentSound=_React$useState2[0],setCurrentSound=_React$useState2[1];var _React$useState3=React.useState(false),_React$useState4=_slicedToArray(_React$useState3,2),isPlaying=_React$useState4[0],setIsPlaying=_React$useState4[1];var updateAudioMode=React.useCallback(_asyncToGenerator(function*(){try{yield Audio.setAudioModeAsync({staysActiveInBackground:playsInBackground,interruptionModeIOS:interruptionMode==="lower volume"?InterruptionModeIOS.DuckOthers:InterruptionModeIOS.DoNotMix,interruptionModeAndroid:interruptionMode==="lower volume"?InterruptionModeAndroid.DuckOthers:InterruptionModeAndroid.DoNotMix,playsInSilentModeIOS:playsInSilentModeIOS,playThroughEarpieceAndroid:playThroughEarpieceAndroid});}catch(e){console.error("Failed to set audio mode. interruptionMode, playsInBackground, playsInSilentModeIOS, playThroughEarpieceAndroid might not be set. Failed with",e);}}),[interruptionMode,playsInBackground,playsInSilentModeIOS,playThroughEarpieceAndroid]);var onPlaybackStatusUpdate=function onPlaybackStatusUpdate(status){var mappedStatus=mapToMediaPlayerStatus(status);onPlaybackStatusUpdateProp==null?void 0:onPlaybackStatusUpdateProp(mappedStatus);if(status.isLoaded){if(status.didJustFinish){onPlaybackFinish==null?void 0:onPlaybackFinish();}setIsPlaying(status.isPlaying);}};var onTogglePlayback=function onTogglePlayback(){updateAudioMode();};var loadAudio=function(){var _ref3=_asyncToGenerator(function*(){onPlaybackStatusUpdateProp==null?void 0:onPlaybackStatusUpdateProp({isPlaying:false,isLoading:true,isBuffering:false,currentPositionMillis:0,durationMillis:0,bufferedDurationMillis:0,isError:false});var finalSource=yield normalizeBase64Source(source);var _yield$Audio$Sound$cr=yield Audio.Sound.createAsync(finalSource),sound=_yield$Audio$Sound$cr.sound;setCurrentSound(sound);sound.setOnPlaybackStatusUpdate(onPlaybackStatusUpdate);});return function loadAudio(){return _ref3.apply(this,arguments);};}();useSourceDeepCompareEffect(function(){loadAudio();},[source]);return _jsx(MediaPlaybackWrapper,{ref:ref,isPlaying:isPlaying,media:currentSound,onTogglePlayback:onTogglePlayback});});export default HeadlessAudioPlayer;
@@ -1 +1 @@
1
- export function mapToMediaPlayerStatus(status){if(status.isLoaded){return{isPlaying:status.isPlaying,isLoading:false,isBuffering:status.isBuffering,currentPositionMillis:status.positionMillis||0,durationMillis:status.durationMillis||0,bufferedDurationMillis:status.playableDurationMillis||0,isError:false};}return{isPlaying:false,isLoading:false,isBuffering:false,currentPositionMillis:0,durationMillis:0,bufferedDurationMillis:0,isError:true,error:status.error};}
1
+ import _asyncToGenerator from"@babel/runtime/helpers/asyncToGenerator";import*as FileSystem from"expo-file-system";import{v4 as uuid}from"uuid";import{Platform}from"react-native";import React from"react";export function mapToMediaPlayerStatus(status){if(status.isLoaded){return{isPlaying:status.isPlaying,isLoading:false,isBuffering:status.isBuffering,currentPositionMillis:status.positionMillis||0,durationMillis:status.durationMillis||0,bufferedDurationMillis:status.playableDurationMillis||0,isError:false};}return{isPlaying:false,isLoading:false,isBuffering:false,currentPositionMillis:0,durationMillis:0,bufferedDurationMillis:0,isError:true,error:status.error};}var BASE_64_REGEX=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/;export function normalizeBase64Source(_x){return _normalizeBase64Source.apply(this,arguments);}function _normalizeBase64Source(){_normalizeBase64Source=_asyncToGenerator(function*(source){var uri=source==null?void 0:source.uri;if(Platform.OS==="ios"&&uri&&uri.match(BASE_64_REGEX)){var fileName=`${FileSystem.cacheDirectory}${uuid()}`;yield FileSystem.writeAsStringAsync(fileName,uri,{encoding:FileSystem.EncodingType.Base64});return{uri:fileName};}return source;});return _normalizeBase64Source.apply(this,arguments);}function sourceDeepCompareEquals(a,b){if(a!=null&&a.uri&&b!=null&&b.uri){return a.uri===b.uri;}return a===b;}function useSourceDeepCompareMemoize(value){var ref=React.useRef();if(!sourceDeepCompareEquals(value,ref.current)){ref.current=value;}return ref.current;}export function useSourceDeepCompareEffect(callback,dependencies){React.useEffect(callback,dependencies.map(useSourceDeepCompareMemoize));}
@@ -1 +1 @@
1
- import _asyncToGenerator from"@babel/runtime/helpers/asyncToGenerator";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["style","resizeMode","posterResizeMode","onPlaybackStatusUpdate","onPlaybackFinish"];var _this=this,_jsxFileName="/home/runner/work/react-native-jigsaw/react-native-jigsaw/packages/core/src/components/MediaPlayer/VideoPlayer/VideoPlayer.tsx";import React from"react";import{Video as VideoPlayerComponent,ResizeMode as ExpoResizeMode,VideoFullscreenUpdate}from"expo-av";import{extractSizeStyles}from"../../../utilities";import MediaPlaybackWrapper from"../MediaPlaybackWrapper";import{mapToMediaPlayerStatus}from"../MediaPlayerCommon";import{jsx as _jsx}from"react/jsx-runtime";var VideoPlayer=React.forwardRef(function(_ref,ref){var style=_ref.style,_ref$resizeMode=_ref.resizeMode,resizeMode=_ref$resizeMode===void 0?"contain":_ref$resizeMode,_ref$posterResizeMode=_ref.posterResizeMode,posterResizeMode=_ref$posterResizeMode===void 0?"cover":_ref$posterResizeMode,onPlaybackStatusUpdateProp=_ref.onPlaybackStatusUpdate,onPlaybackFinish=_ref.onPlaybackFinish,rest=_objectWithoutProperties(_ref,_excluded);var _React$useState=React.useState(),_React$useState2=_slicedToArray(_React$useState,2),videoMediaObject=_React$useState2[0],setVideoMediaObject=_React$useState2[1];var _React$useState3=React.useState(false),_React$useState4=_slicedToArray(_React$useState3,2),isPlaying=_React$useState4[0],setIsPlaying=_React$useState4[1];var _React$useState5=React.useState(false),_React$useState6=_slicedToArray(_React$useState5,2),isFullscreen=_React$useState6[0],setIsFullscreen=_React$useState6[1];var mediaPlaybackWrapperRef=React.useRef(null);var sizeStyles=extractSizeStyles(style);var mappedResizeMode;switch(resizeMode){case"contain":mappedResizeMode=ExpoResizeMode.CONTAIN;break;case"cover":mappedResizeMode=ExpoResizeMode.COVER;break;case"stretch":mappedResizeMode=ExpoResizeMode.STRETCH;break;}var onPlaybackStatusUpdate=function onPlaybackStatusUpdate(status){var mappedStatus=mapToMediaPlayerStatus(status);onPlaybackStatusUpdateProp==null?void 0:onPlaybackStatusUpdateProp(mappedStatus);if(status.isLoaded){if(status.didJustFinish){onPlaybackFinish==null?void 0:onPlaybackFinish();}setIsPlaying(status.isPlaying);}};var _onFullscreenUpdate=function onFullscreenUpdate(fullscreenUpdate){switch(fullscreenUpdate){case VideoFullscreenUpdate.PLAYER_DID_PRESENT:case VideoFullscreenUpdate.PLAYER_WILL_PRESENT:setIsFullscreen(true);break;case VideoFullscreenUpdate.PLAYER_DID_DISMISS:case VideoFullscreenUpdate.PLAYER_WILL_DISMISS:setIsFullscreen(false);break;}};var toggleFullscreen=React.useCallback(_asyncToGenerator(function*(){if(isFullscreen){yield videoMediaObject==null?void 0:videoMediaObject.dismissFullscreenPlayer();}else{yield videoMediaObject==null?void 0:videoMediaObject.presentFullscreenPlayer();}}),[isFullscreen,videoMediaObject]);React.useImperativeHandle(ref,function(){var _mediaPlaybackWrapper,_mediaPlaybackWrapper2,_mediaPlaybackWrapper3,_mediaPlaybackWrapper4;return{toggleFullscreen:toggleFullscreen,seekToPosition:((_mediaPlaybackWrapper=mediaPlaybackWrapperRef.current)==null?void 0:_mediaPlaybackWrapper.seekToPosition)||function(){},togglePlayback:((_mediaPlaybackWrapper2=mediaPlaybackWrapperRef.current)==null?void 0:_mediaPlaybackWrapper2.togglePlayback)||function(){},pause:((_mediaPlaybackWrapper3=mediaPlaybackWrapperRef.current)==null?void 0:_mediaPlaybackWrapper3.pause)||function(){},play:((_mediaPlaybackWrapper4=mediaPlaybackWrapperRef.current)==null?void 0:_mediaPlaybackWrapper4.play)||function(){}};},[toggleFullscreen,isPlaying]);return _jsx(MediaPlaybackWrapper,{media:videoMediaObject,isPlaying:isPlaying,ref:mediaPlaybackWrapperRef,children:_jsx(VideoPlayerComponent,Object.assign({ref:function ref(component){return setVideoMediaObject(component);},style:style,videoStyle:sizeStyles,resizeMode:mappedResizeMode,posterStyle:[sizeStyles,{resizeMode:posterResizeMode}],onPlaybackStatusUpdate:onPlaybackStatusUpdate,onFullscreenUpdate:function onFullscreenUpdate(e){return _onFullscreenUpdate(e.fullscreenUpdate);}},rest))});});export default VideoPlayer;
1
+ import _asyncToGenerator from"@babel/runtime/helpers/asyncToGenerator";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["style","resizeMode","posterResizeMode","onPlaybackStatusUpdate","onPlaybackFinish","source"];var _this=this,_jsxFileName="/home/runner/work/react-native-jigsaw/react-native-jigsaw/packages/core/src/components/MediaPlayer/VideoPlayer/VideoPlayer.tsx";import React from"react";import{Video as VideoPlayerComponent,ResizeMode as ExpoResizeMode,VideoFullscreenUpdate}from"expo-av";import{extractSizeStyles}from"../../../utilities";import MediaPlaybackWrapper from"../MediaPlaybackWrapper";import{mapToMediaPlayerStatus,normalizeBase64Source,useSourceDeepCompareEffect}from"../MediaPlayerCommon";import{jsx as _jsx}from"react/jsx-runtime";var VideoPlayer=React.forwardRef(function(_ref,ref){var style=_ref.style,_ref$resizeMode=_ref.resizeMode,resizeMode=_ref$resizeMode===void 0?"contain":_ref$resizeMode,_ref$posterResizeMode=_ref.posterResizeMode,posterResizeMode=_ref$posterResizeMode===void 0?"cover":_ref$posterResizeMode,onPlaybackStatusUpdateProp=_ref.onPlaybackStatusUpdate,onPlaybackFinish=_ref.onPlaybackFinish,source=_ref.source,rest=_objectWithoutProperties(_ref,_excluded);var _React$useState=React.useState(),_React$useState2=_slicedToArray(_React$useState,2),videoMediaObject=_React$useState2[0],setVideoMediaObject=_React$useState2[1];var _React$useState3=React.useState(false),_React$useState4=_slicedToArray(_React$useState3,2),isPlaying=_React$useState4[0],setIsPlaying=_React$useState4[1];var _React$useState5=React.useState(false),_React$useState6=_slicedToArray(_React$useState5,2),isFullscreen=_React$useState6[0],setIsFullscreen=_React$useState6[1];var _React$useState7=React.useState(),_React$useState8=_slicedToArray(_React$useState7,2),currentSource=_React$useState8[0],setCurrentSource=_React$useState8[1];var mediaPlaybackWrapperRef=React.useRef(null);var sizeStyles=extractSizeStyles(style);var mappedResizeMode;switch(resizeMode){case"contain":mappedResizeMode=ExpoResizeMode.CONTAIN;break;case"cover":mappedResizeMode=ExpoResizeMode.COVER;break;case"stretch":mappedResizeMode=ExpoResizeMode.STRETCH;break;}var onPlaybackStatusUpdate=function onPlaybackStatusUpdate(status){var mappedStatus=mapToMediaPlayerStatus(status);onPlaybackStatusUpdateProp==null?void 0:onPlaybackStatusUpdateProp(mappedStatus);if(status.isLoaded){if(status.didJustFinish){onPlaybackFinish==null?void 0:onPlaybackFinish();}setIsPlaying(status.isPlaying);}};var _onFullscreenUpdate=function onFullscreenUpdate(fullscreenUpdate){switch(fullscreenUpdate){case VideoFullscreenUpdate.PLAYER_DID_PRESENT:case VideoFullscreenUpdate.PLAYER_WILL_PRESENT:setIsFullscreen(true);break;case VideoFullscreenUpdate.PLAYER_DID_DISMISS:case VideoFullscreenUpdate.PLAYER_WILL_DISMISS:setIsFullscreen(false);break;}};var toggleFullscreen=React.useCallback(_asyncToGenerator(function*(){if(isFullscreen){yield videoMediaObject==null?void 0:videoMediaObject.dismissFullscreenPlayer();}else{yield videoMediaObject==null?void 0:videoMediaObject.presentFullscreenPlayer();}}),[isFullscreen,videoMediaObject]);React.useImperativeHandle(ref,function(){var _mediaPlaybackWrapper,_mediaPlaybackWrapper2,_mediaPlaybackWrapper3,_mediaPlaybackWrapper4;return{toggleFullscreen:toggleFullscreen,seekToPosition:((_mediaPlaybackWrapper=mediaPlaybackWrapperRef.current)==null?void 0:_mediaPlaybackWrapper.seekToPosition)||function(){},togglePlayback:((_mediaPlaybackWrapper2=mediaPlaybackWrapperRef.current)==null?void 0:_mediaPlaybackWrapper2.togglePlayback)||function(){},pause:((_mediaPlaybackWrapper3=mediaPlaybackWrapperRef.current)==null?void 0:_mediaPlaybackWrapper3.pause)||function(){},play:((_mediaPlaybackWrapper4=mediaPlaybackWrapperRef.current)==null?void 0:_mediaPlaybackWrapper4.play)||function(){}};},[toggleFullscreen,isPlaying]);useSourceDeepCompareEffect(function(){var updateSource=function(){var _ref3=_asyncToGenerator(function*(){var finalSource=yield normalizeBase64Source(source);setCurrentSource(finalSource);});return function updateSource(){return _ref3.apply(this,arguments);};}();updateSource();},[source]);return _jsx(MediaPlaybackWrapper,{media:videoMediaObject,isPlaying:isPlaying,ref:mediaPlaybackWrapperRef,children:_jsx(VideoPlayerComponent,Object.assign({ref:function ref(component){return setVideoMediaObject(component);},style:style,videoStyle:sizeStyles,resizeMode:mappedResizeMode,posterStyle:[sizeStyles,{resizeMode:posterResizeMode}],onPlaybackStatusUpdate:onPlaybackStatusUpdate,onFullscreenUpdate:function onFullscreenUpdate(e){return _onFullscreenUpdate(e.fullscreenUpdate);},source:currentSource},rest))});});export default VideoPlayer;
@@ -1 +1 @@
1
- import{isObject}from"lodash";export function normalizeToPickerOptions(options){if(options.length===0){return[];}var firstOption=options[0];if(typeof firstOption==="string"||typeof firstOption==="number"){return options.map(function(option){return{label:option,value:option};});}if(isObject(firstOption)&&firstOption.value!==undefined&&firstOption.label!==undefined){return options.map(function(option){return{label:option.label,value:option.value};});}throw new Error('Picker options must be either an array of strings, numbers, or an array of { "label": string | number; "value": string | number; } objects.');}
1
+ import{isObject}from"lodash";import React from"react";import{flattenReactFragments}from"../../utilities";import PickerItem from"./dropdown/PickerItem";export function normalizeToPickerOptions(options){if(options.length===0){return[];}var firstOption=options[0];if(typeof firstOption==="string"||typeof firstOption==="number"){return options.map(function(option){return{label:option,value:option};});}if(isObject(firstOption)&&firstOption.value!==undefined&&firstOption.label!==undefined){return options.map(function(option){return{label:option.label,value:option.value};});}throw new Error('Picker options must be either an array of strings, numbers, or an array of { "label": string | number; "value": string | number; } objects.');}export function usePickerItemProps(childrenProp){return React.useMemo(function(){var children=flattenReactFragments(React.Children.toArray(childrenProp));var firstPickerItem=children.find(function(child){return child.type===PickerItem;});return(firstPickerItem==null?void 0:firstPickerItem.props)||{};},[childrenProp]);}
@@ -0,0 +1 @@
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["theme","options","onValueChange","Icon","placeholder","value","autoDismissKeyboard","selectedIconName","selectedIconColor","selectedIconSize","dropDownBackgroundColor","dropDownBorderColor","dropDownTextColor","dropDownBorderWidth","dropDownBorderRadius","children","disabled","dropdownOverlayColor"];var _this=this,_jsxFileName="/home/runner/work/react-native-jigsaw/react-native-jigsaw/packages/core/src/components/Picker/dropdown/DropDownModalPicker.tsx";import*as React from"react";import{View,Text,Keyboard}from"react-native";import{extractStyles,useDeepCompareMemo}from"../../../utilities";import{normalizeToPickerOptions,usePickerItemProps}from"../PickerCommon";import PickerInputContainer from"../PickerInputContainer";import ModalPickerComponent from"react-native-select-dropdown";import{withTheme}from"../../../theming";import{useOnUpdate}from"../../../hooks";import{Fragment as _Fragment,jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";var ModalPicker=function ModalPicker(_ref){var theme=_ref.theme,_ref$options=_ref.options,optionsProp=_ref$options===void 0?[]:_ref$options,onValueChange=_ref.onValueChange,Icon=_ref.Icon,placeholder=_ref.placeholder,value=_ref.value,_ref$autoDismissKeybo=_ref.autoDismissKeyboard,autoDismissKeyboard=_ref$autoDismissKeybo===void 0?true:_ref$autoDismissKeybo,_ref$selectedIconName=_ref.selectedIconName,selectedIconName=_ref$selectedIconName===void 0?"Feather/check":_ref$selectedIconName,_ref$selectedIconColo=_ref.selectedIconColor,selectedIconColor=_ref$selectedIconColo===void 0?theme.colors.strong:_ref$selectedIconColo,_ref$selectedIconSize=_ref.selectedIconSize,selectedIconSize=_ref$selectedIconSize===void 0?20:_ref$selectedIconSize,_ref$dropDownBackgrou=_ref.dropDownBackgroundColor,dropDownBackgroundColor=_ref$dropDownBackgrou===void 0?theme.colors.background:_ref$dropDownBackgrou,_ref$dropDownBorderCo=_ref.dropDownBorderColor,dropDownBorderColor=_ref$dropDownBorderCo===void 0?theme.colors.divider:_ref$dropDownBorderCo,_ref$dropDownTextColo=_ref.dropDownTextColor,dropDownTextColor=_ref$dropDownTextColo===void 0?theme.colors.strong:_ref$dropDownTextColo,_ref$dropDownBorderWi=_ref.dropDownBorderWidth,dropDownBorderWidth=_ref$dropDownBorderWi===void 0?1:_ref$dropDownBorderWi,_ref$dropDownBorderRa=_ref.dropDownBorderRadius,dropDownBorderRadius=_ref$dropDownBorderRa===void 0?8:_ref$dropDownBorderRa,childrenProp=_ref.children,disabled=_ref.disabled,dropdownOverlayColor=_ref.dropdownOverlayColor,rest=_objectWithoutProperties(_ref,_excluded);var dropdownRef=React.useRef();var _React$useState=React.useState(value),_React$useState2=_slicedToArray(_React$useState,2),internalValue=_React$useState2[0],setInternalValue=_React$useState2[1];var pickerItemProps=usePickerItemProps(childrenProp);var _extractStyles=extractStyles(pickerItemProps.style),pickerItemViewStyles=_extractStyles.viewStyles,pickerItemTextStyles=_extractStyles.textStyles;var options=useDeepCompareMemo(function(){return normalizeToPickerOptions(optionsProp).map(function(option){return{label:option.label.toString(),value:option.value};});},[optionsProp]);useOnUpdate(function(){onValueChange==null?void 0:onValueChange(internalValue!=null?internalValue:"");},[internalValue]);return _jsx(PickerInputContainer,Object.assign({testID:"dropdown-modal-picker",Icon:Icon,placeholder:placeholder,selectedValue:value,options:options,onPress:function onPress(){var _dropdownRef$current;(_dropdownRef$current=dropdownRef.current)==null?void 0:_dropdownRef$current.openDropdown();if(autoDismissKeyboard){Keyboard.dismiss();}},disabled:disabled},rest,{children:_jsx(ModalPickerComponent,{ref:dropdownRef,data:options,defaultValue:internalValue,onSelect:function onSelect(selectedItem){setInternalValue(selectedItem.value);},renderButton:function renderButton(){return _jsx(_Fragment,{});},renderItem:function renderItem(item,_,isSelected){var _pickerItemProps$sele,_pickerItemProps$sele2,_pickerItemProps$sele3;var backgroundColor=isSelected?(_pickerItemProps$sele=pickerItemProps.selectedBackgroundColor)!=null?_pickerItemProps$sele:pickerItemViewStyles.backgroundColor:pickerItemViewStyles.backgroundColor;var textColor=isSelected?(_pickerItemProps$sele2=pickerItemProps.selectedTextColor)!=null?_pickerItemProps$sele2:dropDownTextColor:dropDownTextColor;var textSize=isSelected?(_pickerItemProps$sele3=pickerItemProps.selectedTextSize)!=null?_pickerItemProps$sele3:14:14;return _jsxs(View,{style:[{padding:10,flexDirection:"row",alignItems:"center",backgroundColor:backgroundColor},pickerItemViewStyles],children:[_jsx(Text,{style:[{color:textColor,fontSize:textSize,flex:1},pickerItemTextStyles],children:item.label}),isSelected?_jsx(Icon,{name:selectedIconName,size:selectedIconSize,color:selectedIconColor}):null]});},showsVerticalScrollIndicator:false,dropdownOverlayColor:dropdownOverlayColor,dropdownStyle:{borderColor:dropDownBorderColor,borderWidth:dropDownBorderWidth,borderRadius:dropDownBorderRadius,backgroundColor:dropDownBackgroundColor},disableAutoScroll:true,statusBarTranslucent:true})}));};export default withTheme(ModalPicker);
@@ -1 +1 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["theme","options","onValueChange","Icon","placeholder","value","autoDismissKeyboard","selectedIconName","selectedIconColor","selectedIconSize","dropDownBackgroundColor","dropDownBorderColor","dropDownTextColor","dropDownBorderWidth","dropDownBorderRadius","children","disabled"];var _this=this,_jsxFileName="/home/runner/work/react-native-jigsaw/react-native-jigsaw/packages/core/src/components/Picker/dropdown/DropDownPicker.tsx";import*as React from"react";import{Keyboard}from"react-native";import{extractStyles,flattenReactFragments,useDeepCompareMemo}from"../../../utilities";import{normalizeToPickerOptions}from"../PickerCommon";import PickerInputContainer from"../PickerInputContainer";import DropDownPickerComponent from"react-native-dropdown-picker";import{withTheme}from"../../../theming";import PickerItem from"./PickerItem";import{useOnUpdate}from"../../../hooks";import{jsx as _jsx}from"react/jsx-runtime";var DropDownPicker=function DropDownPicker(_ref){var theme=_ref.theme,_ref$options=_ref.options,optionsProp=_ref$options===void 0?[]:_ref$options,onValueChange=_ref.onValueChange,Icon=_ref.Icon,placeholder=_ref.placeholder,value=_ref.value,_ref$autoDismissKeybo=_ref.autoDismissKeyboard,autoDismissKeyboard=_ref$autoDismissKeybo===void 0?true:_ref$autoDismissKeybo,_ref$selectedIconName=_ref.selectedIconName,selectedIconName=_ref$selectedIconName===void 0?"Feather/check":_ref$selectedIconName,_ref$selectedIconColo=_ref.selectedIconColor,selectedIconColor=_ref$selectedIconColo===void 0?theme.colors.strong:_ref$selectedIconColo,_ref$selectedIconSize=_ref.selectedIconSize,selectedIconSize=_ref$selectedIconSize===void 0?20:_ref$selectedIconSize,_ref$dropDownBackgrou=_ref.dropDownBackgroundColor,dropDownBackgroundColor=_ref$dropDownBackgrou===void 0?theme.colors.background:_ref$dropDownBackgrou,_ref$dropDownBorderCo=_ref.dropDownBorderColor,dropDownBorderColor=_ref$dropDownBorderCo===void 0?theme.colors.divider:_ref$dropDownBorderCo,_ref$dropDownTextColo=_ref.dropDownTextColor,dropDownTextColor=_ref$dropDownTextColo===void 0?theme.colors.strong:_ref$dropDownTextColo,_ref$dropDownBorderWi=_ref.dropDownBorderWidth,dropDownBorderWidth=_ref$dropDownBorderWi===void 0?1:_ref$dropDownBorderWi,_ref$dropDownBorderRa=_ref.dropDownBorderRadius,dropDownBorderRadius=_ref$dropDownBorderRa===void 0?8:_ref$dropDownBorderRa,childrenProp=_ref.children,disabled=_ref.disabled,rest=_objectWithoutProperties(_ref,_excluded);var _React$useState=React.useState(false),_React$useState2=_slicedToArray(_React$useState,2),pickerVisible=_React$useState2[0],setPickerVisible=_React$useState2[1];var _React$useState3=React.useState(value),_React$useState4=_slicedToArray(_React$useState3,2),internalValue=_React$useState4[0],setInternalValue=_React$useState4[1];var isMultiSelect=Array.isArray(value);var pickerItemProps=React.useMemo(function(){var children=flattenReactFragments(React.Children.toArray(childrenProp));var firstPickerItem=children.find(function(child){return child.type===PickerItem;});return(firstPickerItem==null?void 0:firstPickerItem.props)||{};},[childrenProp]);var _extractStyles=extractStyles(pickerItemProps.style),pickerItemViewStyles=_extractStyles.viewStyles,pickerItemTextStyles=_extractStyles.textStyles;var options=useDeepCompareMemo(function(){return normalizeToPickerOptions(optionsProp).map(function(option){return{label:option.label.toString(),value:option.value};});},[optionsProp]);useOnUpdate(function(){onValueChange==null?void 0:onValueChange(isMultiSelect?internalValue!=null?internalValue:[]:internalValue!=null?internalValue:"");},[internalValue]);React.useEffect(function(){if(pickerVisible&&autoDismissKeyboard){Keyboard.dismiss();}},[pickerVisible,autoDismissKeyboard]);React.useEffect(function(){if(disabled){setPickerVisible(false);}},[disabled]);return _jsx(PickerInputContainer,Object.assign({testID:"dropdown-picker",Icon:Icon,placeholder:placeholder,selectedValue:value,options:options,onPress:function onPress(){return setPickerVisible(!pickerVisible);},zIndex:pickerVisible?100:undefined,disabled:disabled},rest,{children:_jsx(DropDownPickerComponent,{open:pickerVisible,setOpen:setPickerVisible,value:value||null,setValue:setInternalValue,items:options,placeholder:placeholder,listMode:"SCROLLVIEW",multiple:isMultiSelect,style:{display:"none"},listItemLabelStyle:[{color:dropDownTextColor,fontSize:14},pickerItemTextStyles],selectedItemLabelStyle:[pickerItemProps.selectedTextColor?{color:pickerItemProps.selectedTextColor}:{},pickerItemProps.selectedTextSize?{fontSize:pickerItemProps.selectedTextSize}:{}],listItemContainerStyle:pickerItemViewStyles,selectedItemContainerStyle:pickerItemProps.selectedBackgroundColor?{backgroundColor:pickerItemProps.selectedBackgroundColor}:{},dropDownContainerStyle:{borderColor:dropDownBorderColor,borderWidth:dropDownBorderWidth,borderRadius:dropDownBorderRadius,backgroundColor:dropDownBackgroundColor},TickIconComponent:function TickIconComponent(){return _jsx(Icon,{name:selectedIconName,size:selectedIconSize,color:selectedIconColor});}})}));};export default withTheme(DropDownPicker);
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["theme","options","onValueChange","Icon","placeholder","value","autoDismissKeyboard","selectedIconName","selectedIconColor","selectedIconSize","dropDownBackgroundColor","dropDownBorderColor","dropDownTextColor","dropDownBorderWidth","dropDownBorderRadius","children","disabled"];var _this=this,_jsxFileName="/home/runner/work/react-native-jigsaw/react-native-jigsaw/packages/core/src/components/Picker/dropdown/DropDownPicker.tsx";import*as React from"react";import{Keyboard}from"react-native";import{extractStyles,useDeepCompareMemo}from"../../../utilities";import{normalizeToPickerOptions,usePickerItemProps}from"../PickerCommon";import PickerInputContainer from"../PickerInputContainer";import DropDownPickerComponent from"react-native-dropdown-picker";import{withTheme}from"../../../theming";import{useOnUpdate}from"../../../hooks";import{jsx as _jsx}from"react/jsx-runtime";var DropDownPicker=function DropDownPicker(_ref){var theme=_ref.theme,_ref$options=_ref.options,optionsProp=_ref$options===void 0?[]:_ref$options,onValueChange=_ref.onValueChange,Icon=_ref.Icon,placeholder=_ref.placeholder,value=_ref.value,_ref$autoDismissKeybo=_ref.autoDismissKeyboard,autoDismissKeyboard=_ref$autoDismissKeybo===void 0?true:_ref$autoDismissKeybo,_ref$selectedIconName=_ref.selectedIconName,selectedIconName=_ref$selectedIconName===void 0?"Feather/check":_ref$selectedIconName,_ref$selectedIconColo=_ref.selectedIconColor,selectedIconColor=_ref$selectedIconColo===void 0?theme.colors.strong:_ref$selectedIconColo,_ref$selectedIconSize=_ref.selectedIconSize,selectedIconSize=_ref$selectedIconSize===void 0?20:_ref$selectedIconSize,_ref$dropDownBackgrou=_ref.dropDownBackgroundColor,dropDownBackgroundColor=_ref$dropDownBackgrou===void 0?theme.colors.background:_ref$dropDownBackgrou,_ref$dropDownBorderCo=_ref.dropDownBorderColor,dropDownBorderColor=_ref$dropDownBorderCo===void 0?theme.colors.divider:_ref$dropDownBorderCo,_ref$dropDownTextColo=_ref.dropDownTextColor,dropDownTextColor=_ref$dropDownTextColo===void 0?theme.colors.strong:_ref$dropDownTextColo,_ref$dropDownBorderWi=_ref.dropDownBorderWidth,dropDownBorderWidth=_ref$dropDownBorderWi===void 0?1:_ref$dropDownBorderWi,_ref$dropDownBorderRa=_ref.dropDownBorderRadius,dropDownBorderRadius=_ref$dropDownBorderRa===void 0?8:_ref$dropDownBorderRa,childrenProp=_ref.children,disabled=_ref.disabled,rest=_objectWithoutProperties(_ref,_excluded);var _React$useState=React.useState(false),_React$useState2=_slicedToArray(_React$useState,2),pickerVisible=_React$useState2[0],setPickerVisible=_React$useState2[1];var _React$useState3=React.useState(value),_React$useState4=_slicedToArray(_React$useState3,2),internalValue=_React$useState4[0],setInternalValue=_React$useState4[1];var isMultiSelect=Array.isArray(value);var pickerItemProps=usePickerItemProps(childrenProp);var _extractStyles=extractStyles(pickerItemProps.style),pickerItemViewStyles=_extractStyles.viewStyles,pickerItemTextStyles=_extractStyles.textStyles;var options=useDeepCompareMemo(function(){return normalizeToPickerOptions(optionsProp).map(function(option){return{label:option.label.toString(),value:option.value};});},[optionsProp]);useOnUpdate(function(){onValueChange==null?void 0:onValueChange(isMultiSelect?internalValue!=null?internalValue:[]:internalValue!=null?internalValue:"");},[internalValue]);React.useEffect(function(){if(pickerVisible&&autoDismissKeyboard){Keyboard.dismiss();}},[pickerVisible,autoDismissKeyboard]);React.useEffect(function(){if(disabled){setPickerVisible(false);}},[disabled]);return _jsx(PickerInputContainer,Object.assign({testID:"dropdown-picker",Icon:Icon,placeholder:placeholder,selectedValue:value,options:options,onPress:function onPress(){return setPickerVisible(!pickerVisible);},zIndex:pickerVisible?100:undefined,disabled:disabled},rest,{children:_jsx(DropDownPickerComponent,{open:pickerVisible,setOpen:setPickerVisible,value:value||null,setValue:setInternalValue,items:options,placeholder:placeholder,listMode:"SCROLLVIEW",multiple:isMultiSelect,style:{display:"none"},listItemLabelStyle:[{color:dropDownTextColor,fontSize:14},pickerItemTextStyles],selectedItemLabelStyle:[pickerItemProps.selectedTextColor?{color:pickerItemProps.selectedTextColor}:{},pickerItemProps.selectedTextSize?{fontSize:pickerItemProps.selectedTextSize}:{}],listItemContainerStyle:pickerItemViewStyles,selectedItemContainerStyle:pickerItemProps.selectedBackgroundColor?{backgroundColor:pickerItemProps.selectedBackgroundColor}:{},dropDownContainerStyle:{borderColor:dropDownBorderColor,borderWidth:dropDownBorderWidth,borderRadius:dropDownBorderRadius,backgroundColor:dropDownBackgroundColor},TickIconComponent:function TickIconComponent(){return _jsx(Icon,{name:selectedIconName,size:selectedIconSize,color:selectedIconColor});}})}));};export default withTheme(DropDownPicker);
@@ -1 +1 @@
1
- import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["mode"];var _this=this,_jsxFileName="/home/runner/work/react-native-jigsaw/react-native-jigsaw/packages/core/src/components/Picker/index.tsx";import React from"react";import NativePicker from"./NativePicker";import DropDownPicker from"./dropdown/DropDownPicker";import ModalPicker from"./modal/ModalPicker";import{withTheme}from"../../theming";import{jsx as _jsx}from"react/jsx-runtime";var SinglePicker=function SinglePicker(_ref){var _ref$mode=_ref.mode,mode=_ref$mode===void 0?"native":_ref$mode,rest=_objectWithoutProperties(_ref,_excluded);switch(mode){case"native":return _jsx(NativePicker,Object.assign({},rest));case"dropdown":return _jsx(DropDownPicker,Object.assign({},rest));case"modal":return _jsx(ModalPicker,Object.assign({},rest));}};export var Picker=withTheme(SinglePicker);export{default as MultiSelectPicker}from"./dropdown/MultiSelectPicker";export{default as PickerItem}from"./dropdown/PickerItem";
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["mode"];var _this=this,_jsxFileName="/home/runner/work/react-native-jigsaw/react-native-jigsaw/packages/core/src/components/Picker/index.tsx";import React from"react";import NativePicker from"./NativePicker";import DropDownPicker from"./dropdown/DropDownPicker";import DropDownModalPicker from"./dropdown/DropDownModalPicker";import{withTheme}from"../../theming";import{jsx as _jsx}from"react/jsx-runtime";var SinglePicker=function SinglePicker(_ref){var _ref$mode=_ref.mode,mode=_ref$mode===void 0?"native":_ref$mode,rest=_objectWithoutProperties(_ref,_excluded);switch(mode){case"native":return _jsx(NativePicker,Object.assign({},rest));case"dropdown":return _jsx(DropDownPicker,Object.assign({},rest));case"dropdown-modal":return _jsx(DropDownModalPicker,Object.assign({},rest));}};export var Picker=withTheme(SinglePicker);export{default as MultiSelectPicker}from"./dropdown/MultiSelectPicker";export{default as PickerItem}from"./dropdown/PickerItem";
@@ -7,7 +7,7 @@ const CONSTANTS = {
7
7
  padding: 8,
8
8
  icon: 24,
9
9
  };
10
- function Base({ Icon, icon, title, loading, disabled, style, activeOpacity = 0.8, disabledOpacity = 0.8, ...props }) {
10
+ function Base({ Icon, icon, iconPosition = "left", iconSize = CONSTANTS.icon, title, loading, disabled, style, activeOpacity = 0.8, disabledOpacity = 0.8, ...props }) {
11
11
  const { color, fontFamily, fontWeight, fontSize, lineHeight, letterSpacing, textTransform, textAlign, textDecorationLine, textDecorationColor, textDecorationStyle, ...buttonStyles } = StyleSheet.flatten(style || {});
12
12
  const titleStyles = {
13
13
  color,
@@ -38,8 +38,9 @@ function Base({ Icon, icon, title, loading, disabled, style, activeOpacity = 0.8
38
38
  ];
39
39
  }, ...props },
40
40
  loading ? (React.createElement(ActivityIndicator, { size: "small", color: color, style: styles.loading })) : null,
41
- icon && !loading ? (React.createElement(Icon, { name: icon, color: color, style: styles.icon, size: CONSTANTS.icon })) : null,
42
- React.createElement(Text, { style: titleStyles }, title)));
41
+ iconPosition === "left" && icon && !loading ? (React.createElement(Icon, { name: icon, color: color, style: styles.icon, size: iconSize })) : null,
42
+ React.createElement(Text, { style: titleStyles }, title),
43
+ iconPosition === "right" && icon && !loading ? (React.createElement(Icon, { name: icon, color: color, style: styles.icon, size: iconSize })) : null));
43
44
  }
44
45
  const Solid = ({ style, theme, ...props }) => {
45
46
  return (React.createElement(Base, { style: [
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../../src/components/Button.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../../src/components/Button.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as React from "react";
2
2
  import { Audio, InterruptionModeIOS, InterruptionModeAndroid, } from "expo-av";
3
- import { mapToMediaPlayerStatus } from "../MediaPlayerCommon";
3
+ import { mapToMediaPlayerStatus, normalizeBase64Source, useSourceDeepCompareEffect, } from "../MediaPlayerCommon";
4
4
  import MediaPlaybackWrapper from "../MediaPlaybackWrapper";
5
5
  /**
6
6
  * Audio Player component without an interface (UI).
@@ -56,7 +56,8 @@ const HeadlessAudioPlayer = React.forwardRef(({ source, interruptionMode = "lowe
56
56
  bufferedDurationMillis: 0,
57
57
  isError: false,
58
58
  });
59
- const { sound } = await Audio.Sound.createAsync(source);
59
+ let finalSource = await normalizeBase64Source(source);
60
+ const { sound } = await Audio.Sound.createAsync(finalSource);
60
61
  setCurrentSound(sound);
61
62
  sound.setOnPlaybackStatusUpdate(onPlaybackStatusUpdate);
62
63
  };
@@ -66,28 +67,5 @@ const HeadlessAudioPlayer = React.forwardRef(({ source, interruptionMode = "lowe
66
67
  }, [source]);
67
68
  return (React.createElement(MediaPlaybackWrapper, { ref: ref, isPlaying: isPlaying, media: currentSound, onTogglePlayback: onTogglePlayback }));
68
69
  });
69
- // The source provided into the AudioPlayer can be of type {uri: "some uri"}
70
- // In the case that this object is created inline, each rerender provides a new source object because a new object is initialized everytime
71
- // This creates an issue with being a useEffect dependency
72
- //
73
- // This creates variants of useEffect that checks deep equality of 'uri' to determine if dependency changed or not
74
- // Follows: https://stackoverflow.com/a/54096391
75
- function sourceDeepCompareEquals(a, b) {
76
- if ((a === null || a === void 0 ? void 0 : a.uri) && (b === null || b === void 0 ? void 0 : b.uri)) {
77
- return a.uri === b.uri;
78
- }
79
- return a === b;
80
- }
81
- function useSourceDeepCompareMemoize(value) {
82
- const ref = React.useRef();
83
- if (!sourceDeepCompareEquals(value, ref.current)) {
84
- ref.current = value;
85
- }
86
- return ref.current;
87
- }
88
- function useSourceDeepCompareEffect(callback, dependencies) {
89
- // eslint-disable-next-line react-hooks/exhaustive-deps
90
- React.useEffect(callback, dependencies.map(useSourceDeepCompareMemoize));
91
- }
92
70
  export default HeadlessAudioPlayer;
93
71
  //# sourceMappingURL=HeadlessAudioPlayer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HeadlessAudioPlayer.js","sourceRoot":"","sources":["../../../../../../src/components/MediaPlayer/AudioPlayer/HeadlessAudioPlayer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HeadlessAudioPlayer.js","sourceRoot":"","sources":["../../../../../../src/components/MediaPlayer/AudioPlayer/HeadlessAudioPlayer.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { AVPlaybackSource, AVPlaybackStatus } from "expo-av";
2
+ import React from "react";
2
3
  export interface MediaPlayerStatus {
3
4
  isPlaying: boolean;
4
5
  isLoading: boolean;
@@ -21,3 +22,8 @@ export interface MediaPlayerProps {
21
22
  source: AVPlaybackSource;
22
23
  }
23
24
  export declare function mapToMediaPlayerStatus(status: AVPlaybackStatus): MediaPlayerStatus;
25
+ /**
26
+ * Base64 strings are not playable on iOS and needs to be saved to a file before playing
27
+ */
28
+ export declare function normalizeBase64Source(source: AVPlaybackSource): Promise<AVPlaybackSource>;
29
+ export declare function useSourceDeepCompareEffect(callback: React.EffectCallback, dependencies: React.DependencyList): void;
@@ -1,3 +1,7 @@
1
+ import * as FileSystem from "expo-file-system";
2
+ import { v4 as uuid } from "uuid";
3
+ import { Platform } from "react-native";
4
+ import React from "react";
1
5
  export function mapToMediaPlayerStatus(status) {
2
6
  if (status.isLoaded) {
3
7
  return {
@@ -21,4 +25,43 @@ export function mapToMediaPlayerStatus(status) {
21
25
  error: status.error,
22
26
  };
23
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}=))?$/;
30
+ /**
31
+ * Base64 strings are not playable on iOS and needs to be saved to a file before playing
32
+ */
33
+ export async function normalizeBase64Source(source) {
34
+ 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,
39
+ });
40
+ return { uri: fileName };
41
+ }
42
+ return source;
43
+ }
44
+ // The source provided into the AudioPlayer can be of type {uri: "some uri"}
45
+ // In the case that this object is created inline, each rerender provides a new source object because a new object is initialized everytime
46
+ // This creates an issue with being a useEffect dependency
47
+ //
48
+ // This creates variants of useEffect that checks deep equality of 'uri' to determine if dependency changed or not
49
+ // Follows: https://stackoverflow.com/a/54096391
50
+ function sourceDeepCompareEquals(a, b) {
51
+ if ((a === null || a === void 0 ? void 0 : a.uri) && (b === null || b === void 0 ? void 0 : b.uri)) {
52
+ return a.uri === b.uri;
53
+ }
54
+ return a === b;
55
+ }
56
+ function useSourceDeepCompareMemoize(value) {
57
+ const ref = React.useRef();
58
+ if (!sourceDeepCompareEquals(value, ref.current)) {
59
+ ref.current = value;
60
+ }
61
+ return ref.current;
62
+ }
63
+ export function useSourceDeepCompareEffect(callback, dependencies) {
64
+ // eslint-disable-next-line react-hooks/exhaustive-deps
65
+ React.useEffect(callback, dependencies.map(useSourceDeepCompareMemoize));
66
+ }
24
67
  //# sourceMappingURL=MediaPlayerCommon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MediaPlayerCommon.js","sourceRoot":"","sources":["../../../../../src/components/MediaPlayer/MediaPlayerCommon.ts"],"names":[],"mappings":"AA0BA,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"}
1
+ {"version":3,"file":"MediaPlayerCommon.js","sourceRoot":"","sources":["../../../../../src/components/MediaPlayer/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"}
@@ -2,11 +2,12 @@ import React from "react";
2
2
  import { Video as VideoPlayerComponent, ResizeMode as ExpoResizeMode, VideoFullscreenUpdate, } from "expo-av";
3
3
  import { extractSizeStyles } from "../../../utilities";
4
4
  import MediaPlaybackWrapper from "../MediaPlaybackWrapper";
5
- import { mapToMediaPlayerStatus } from "../MediaPlayerCommon";
6
- const VideoPlayer = React.forwardRef(({ style, resizeMode = "contain", posterResizeMode = "cover", onPlaybackStatusUpdate: onPlaybackStatusUpdateProp, onPlaybackFinish, ...rest }, ref) => {
5
+ import { mapToMediaPlayerStatus, normalizeBase64Source, useSourceDeepCompareEffect, } from "../MediaPlayerCommon";
6
+ const VideoPlayer = React.forwardRef(({ style, resizeMode = "contain", posterResizeMode = "cover", onPlaybackStatusUpdate: onPlaybackStatusUpdateProp, onPlaybackFinish, source, ...rest }, ref) => {
7
7
  const [videoMediaObject, setVideoMediaObject] = React.useState();
8
8
  const [isPlaying, setIsPlaying] = React.useState(false);
9
9
  const [isFullscreen, setIsFullscreen] = React.useState(false);
10
+ const [currentSource, setCurrentSource] = React.useState();
10
11
  const mediaPlaybackWrapperRef = React.useRef(null);
11
12
  const sizeStyles = extractSizeStyles(style);
12
13
  let mappedResizeMode;
@@ -64,12 +65,19 @@ const VideoPlayer = React.forwardRef(({ style, resizeMode = "contain", posterRes
64
65
  // Include 'isPlaying' as dependency because 'togglePlayback' changes when it changes
65
66
  // eslint-disable-next-line react-hooks/exhaustive-deps
66
67
  [toggleFullscreen, isPlaying]);
68
+ useSourceDeepCompareEffect(() => {
69
+ const updateSource = async () => {
70
+ const finalSource = await normalizeBase64Source(source);
71
+ setCurrentSource(finalSource);
72
+ };
73
+ updateSource();
74
+ }, [source]);
67
75
  return (React.createElement(MediaPlaybackWrapper, { media: videoMediaObject, isPlaying: isPlaying, ref: mediaPlaybackWrapperRef },
68
76
  React.createElement(VideoPlayerComponent
69
77
  // https://docs.expo.dev/versions/latest/sdk/av/#example-video to see why ref is handled this way
70
78
  , {
71
79
  // https://docs.expo.dev/versions/latest/sdk/av/#example-video to see why ref is handled this way
72
- ref: (component) => setVideoMediaObject(component), style: style, videoStyle: sizeStyles, resizeMode: mappedResizeMode, posterStyle: [sizeStyles, { resizeMode: posterResizeMode }], onPlaybackStatusUpdate: onPlaybackStatusUpdate, onFullscreenUpdate: (e) => onFullscreenUpdate(e.fullscreenUpdate), ...rest })));
80
+ ref: (component) => setVideoMediaObject(component), style: style, videoStyle: sizeStyles, resizeMode: mappedResizeMode, posterStyle: [sizeStyles, { resizeMode: posterResizeMode }], onPlaybackStatusUpdate: onPlaybackStatusUpdate, onFullscreenUpdate: (e) => onFullscreenUpdate(e.fullscreenUpdate), source: currentSource, ...rest })));
73
81
  });
74
82
  export default VideoPlayer;
75
83
  //# sourceMappingURL=VideoPlayer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VideoPlayer.js","sourceRoot":"","sources":["../../../../../../src/components/MediaPlayer/VideoPlayer/VideoPlayer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VideoPlayer.js","sourceRoot":"","sources":["../../../../../../src/components/MediaPlayer/VideoPlayer/VideoPlayer.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import { StyleProp, ViewStyle, TextStyle } from "react-native";
2
2
  import { IconSlot } from "../../interfaces/Icon";
3
3
  import { Theme } from "../../styles/DefaultTheme";
4
+ import React from "react";
5
+ import { PickerItemProps } from "./dropdown/PickerItem";
4
6
  export interface PickerOption {
5
7
  value: string | number;
6
8
  label: string | number;
@@ -33,7 +35,7 @@ export interface MultiSelectPickerProps {
33
35
  value?: (string | number)[];
34
36
  onValueChange: (value: (string | number)[]) => void;
35
37
  }
36
- export interface ModalPickerProps {
38
+ export interface DropDownModalPickerProps {
37
39
  dropdownOverlayColor?: string;
38
40
  }
39
41
  export interface CommonDropDownPickerProps extends CommonPickerProps {
@@ -47,3 +49,4 @@ export interface CommonDropDownPickerProps extends CommonPickerProps {
47
49
  dropDownBorderRadius?: number;
48
50
  }
49
51
  export declare function normalizeToPickerOptions(options: PickerOption[] | string[] | number[]): PickerOption[];
52
+ export declare function usePickerItemProps(childrenProp: React.ReactNode): PickerItemProps;
@@ -1,4 +1,7 @@
1
1
  import { isObject } from "lodash";
2
+ import React from "react";
3
+ import { flattenReactFragments } from "../../utilities";
4
+ import PickerItem from "./dropdown/PickerItem";
2
5
  export function normalizeToPickerOptions(options) {
3
6
  if (options.length === 0) {
4
7
  return [];
@@ -22,4 +25,12 @@ export function normalizeToPickerOptions(options) {
22
25
  }
23
26
  throw new Error('Picker options must be either an array of strings, numbers, or an array of { "label": string | number; "value": string | number; } objects.');
24
27
  }
28
+ export function usePickerItemProps(childrenProp) {
29
+ return React.useMemo(() => {
30
+ const children = flattenReactFragments(React.Children.toArray(childrenProp));
31
+ // Only the props of the first PickerItem are used, any others are ignored
32
+ const firstPickerItem = children.find((child) => child.type === PickerItem);
33
+ return (firstPickerItem === null || firstPickerItem === void 0 ? void 0 : firstPickerItem.props) || {};
34
+ }, [childrenProp]);
35
+ }
25
36
  //# sourceMappingURL=PickerCommon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PickerCommon.js","sourceRoot":"","sources":["../../../../../src/components/Picker/PickerCommon.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAuDlC,MAAM,UAAU,wBAAwB,CACtC,OAA6C;IAE7C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACxB,OAAO,EAAE,CAAC;KACX;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAE/B,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;QACtE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC9B,KAAK,EAAE,MAAyB;YAChC,KAAK,EAAE,MAAyB;SACjC,CAAC,CAAC,CAAC;KACL;IAED,IACE,QAAQ,CAAC,WAAW,CAAC;QACrB,WAAW,CAAC,KAAK,KAAK,SAAS;QAC/B,WAAW,CAAC,KAAK,KAAK,SAAS,EAC/B;QACA,OAAQ,OAA0B,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAChD,OAAO;gBACL,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB,CAAC;QACJ,CAAC,CAAC,CAAC;KACJ;IAED,MAAM,IAAI,KAAK,CACb,6IAA6I,CAC9I,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"PickerCommon.js","sourceRoot":"","sources":["../../../../../src/components/Picker/PickerCommon.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,UAA+B,MAAM,uBAAuB,CAAC;AAsDpE,MAAM,UAAU,wBAAwB,CACtC,OAA6C;IAE7C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACxB,OAAO,EAAE,CAAC;KACX;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAE/B,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;QACtE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC9B,KAAK,EAAE,MAAyB;YAChC,KAAK,EAAE,MAAyB;SACjC,CAAC,CAAC,CAAC;KACL;IAED,IACE,QAAQ,CAAC,WAAW,CAAC;QACrB,WAAW,CAAC,KAAK,KAAK,SAAS;QAC/B,WAAW,CAAC,KAAK,KAAK,SAAS,EAC/B;QACA,OAAQ,OAA0B,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAChD,OAAO;gBACL,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB,CAAC;QACJ,CAAC,CAAC,CAAC;KACJ;IAED,MAAM,IAAI,KAAK,CACb,6IAA6I,CAC9I,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,YAA6B;IAE7B,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACxB,MAAM,QAAQ,GAAG,qBAAqB,CACpC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAyB,CAC7D,CAAC;QAEF,0EAA0E;QAC1E,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;QAE5E,OAAO,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,KAAK,KAAI,EAAE,CAAC;IACtC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;AACrB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import * as React from "react";
2
- import { CommonDropDownPickerProps, ModalPickerProps, SinglePickerProps } from "../PickerCommon";
3
- declare const _default: React.ComponentType<import("@draftbit/react-theme-provider").$Without<React.PropsWithChildren<CommonDropDownPickerProps & SinglePickerProps & ModalPickerProps>, "theme"> & {
2
+ import { CommonDropDownPickerProps, DropDownModalPickerProps, SinglePickerProps } from "../PickerCommon";
3
+ declare const _default: React.ComponentType<import("@draftbit/react-theme-provider").$Without<React.PropsWithChildren<CommonDropDownPickerProps & SinglePickerProps & DropDownModalPickerProps>, "theme"> & {
4
4
  theme?: import("@draftbit/react-theme-provider").$DeepPartial<any> | undefined;
5
- }> & import("@draftbit/react-theme-provider/typings/hoist-non-react-statics").NonReactStatics<React.ComponentType<React.PropsWithChildren<CommonDropDownPickerProps & SinglePickerProps & ModalPickerProps>> & React.FC<React.PropsWithChildren<CommonDropDownPickerProps & SinglePickerProps & ModalPickerProps>>, {}>;
5
+ }> & import("@draftbit/react-theme-provider/typings/hoist-non-react-statics").NonReactStatics<React.ComponentType<React.PropsWithChildren<CommonDropDownPickerProps & SinglePickerProps & DropDownModalPickerProps>> & React.FC<React.PropsWithChildren<CommonDropDownPickerProps & SinglePickerProps & DropDownModalPickerProps>>, {}>;
6
6
  export default _default;
@@ -0,0 +1,70 @@
1
+ import * as React from "react";
2
+ import { View, Text, Keyboard } from "react-native";
3
+ import { extractStyles, useDeepCompareMemo } from "../../../utilities";
4
+ import { normalizeToPickerOptions, usePickerItemProps, } from "../PickerCommon";
5
+ import PickerInputContainer from "../PickerInputContainer";
6
+ import ModalPickerComponent from "react-native-select-dropdown";
7
+ import { withTheme } from "../../../theming";
8
+ import { useOnUpdate } from "../../../hooks";
9
+ const ModalPicker = ({ theme, options: optionsProp = [], onValueChange, Icon, placeholder, value, autoDismissKeyboard = true, selectedIconName = "Feather/check", selectedIconColor = theme.colors.strong, selectedIconSize = 20, dropDownBackgroundColor = theme.colors.background, dropDownBorderColor = theme.colors.divider, dropDownTextColor = theme.colors.strong, dropDownBorderWidth = 1, dropDownBorderRadius = 8, children: childrenProp, disabled, dropdownOverlayColor, ...rest }) => {
10
+ const dropdownRef = React.useRef();
11
+ const [internalValue, setInternalValue] = React.useState(value);
12
+ const pickerItemProps = usePickerItemProps(childrenProp);
13
+ const { viewStyles: pickerItemViewStyles, textStyles: pickerItemTextStyles } = extractStyles(pickerItemProps.style);
14
+ const options = useDeepCompareMemo(() => normalizeToPickerOptions(optionsProp).map((option) => ({
15
+ label: option.label.toString(),
16
+ value: option.value,
17
+ })), [optionsProp]);
18
+ useOnUpdate(() => {
19
+ onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange(internalValue !== null && internalValue !== void 0 ? internalValue : "");
20
+ // onValueChange excluded to prevent running on every re-render when using an anoymous function, which is the common case
21
+ }, [internalValue]);
22
+ return (React.createElement(PickerInputContainer, { testID: "dropdown-modal-picker", Icon: Icon, placeholder: placeholder, selectedValue: value, options: options, onPress: () => {
23
+ var _a;
24
+ (_a = dropdownRef.current) === null || _a === void 0 ? void 0 : _a.openDropdown();
25
+ if (autoDismissKeyboard) {
26
+ Keyboard.dismiss();
27
+ }
28
+ }, disabled: disabled, ...rest },
29
+ React.createElement(ModalPickerComponent, { ref: dropdownRef, data: options, defaultValue: internalValue, onSelect: (selectedItem) => {
30
+ setInternalValue(selectedItem.value);
31
+ }, renderButton: () => {
32
+ return React.createElement(React.Fragment, null);
33
+ }, renderItem: (item, _, isSelected) => {
34
+ var _a, _b, _c;
35
+ const backgroundColor = isSelected
36
+ ? (_a = pickerItemProps.selectedBackgroundColor) !== null && _a !== void 0 ? _a : pickerItemViewStyles.backgroundColor
37
+ : pickerItemViewStyles.backgroundColor;
38
+ const textColor = isSelected
39
+ ? (_b = pickerItemProps.selectedTextColor) !== null && _b !== void 0 ? _b : dropDownTextColor
40
+ : dropDownTextColor;
41
+ const textSize = isSelected
42
+ ? (_c = pickerItemProps.selectedTextSize) !== null && _c !== void 0 ? _c : 14
43
+ : 14;
44
+ return (React.createElement(View, { style: [
45
+ {
46
+ padding: 10,
47
+ flexDirection: "row",
48
+ alignItems: "center",
49
+ backgroundColor: backgroundColor,
50
+ },
51
+ pickerItemViewStyles,
52
+ ] },
53
+ React.createElement(Text, { style: [
54
+ {
55
+ color: textColor,
56
+ fontSize: textSize,
57
+ flex: 1,
58
+ },
59
+ pickerItemTextStyles,
60
+ ] }, item.label),
61
+ isSelected ? (React.createElement(Icon, { name: selectedIconName, size: selectedIconSize, color: selectedIconColor })) : null));
62
+ }, showsVerticalScrollIndicator: false, dropdownOverlayColor: dropdownOverlayColor, dropdownStyle: {
63
+ borderColor: dropDownBorderColor,
64
+ borderWidth: dropDownBorderWidth,
65
+ borderRadius: dropDownBorderRadius,
66
+ backgroundColor: dropDownBackgroundColor,
67
+ }, disableAutoScroll: true, statusBarTranslucent: true })));
68
+ };
69
+ export default withTheme(ModalPicker);
70
+ //# sourceMappingURL=DropDownModalPicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DropDownModalPicker.js","sourceRoot":"","sources":["../../../../../../src/components/Picker/dropdown/DropDownModalPicker.tsx"],"names":[],"mappings":"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"}
@@ -1,22 +1,16 @@
1
1
  import * as React from "react";
2
2
  import { Keyboard } from "react-native";
3
- import { extractStyles, flattenReactFragments, useDeepCompareMemo, } from "../../../utilities";
4
- import { normalizeToPickerOptions, } from "../PickerCommon";
3
+ import { extractStyles, useDeepCompareMemo } from "../../../utilities";
4
+ import { normalizeToPickerOptions, usePickerItemProps, } from "../PickerCommon";
5
5
  import PickerInputContainer from "../PickerInputContainer";
6
6
  import DropDownPickerComponent from "react-native-dropdown-picker";
7
7
  import { withTheme } from "../../../theming";
8
- import PickerItem from "./PickerItem";
9
8
  import { useOnUpdate } from "../../../hooks";
10
9
  const DropDownPicker = ({ theme, options: optionsProp = [], onValueChange, Icon, placeholder, value, autoDismissKeyboard = true, selectedIconName = "Feather/check", selectedIconColor = theme.colors.strong, selectedIconSize = 20, dropDownBackgroundColor = theme.colors.background, dropDownBorderColor = theme.colors.divider, dropDownTextColor = theme.colors.strong, dropDownBorderWidth = 1, dropDownBorderRadius = 8, children: childrenProp, disabled, ...rest }) => {
11
10
  const [pickerVisible, setPickerVisible] = React.useState(false);
12
11
  const [internalValue, setInternalValue] = React.useState(value);
13
12
  const isMultiSelect = Array.isArray(value);
14
- const pickerItemProps = React.useMemo(() => {
15
- const children = flattenReactFragments(React.Children.toArray(childrenProp));
16
- // Only the props of the first PickerItem are used, any others are ignored
17
- const firstPickerItem = children.find((child) => child.type === PickerItem);
18
- return (firstPickerItem === null || firstPickerItem === void 0 ? void 0 : firstPickerItem.props) || {};
19
- }, [childrenProp]);
13
+ const pickerItemProps = usePickerItemProps(childrenProp);
20
14
  const { viewStyles: pickerItemViewStyles, textStyles: pickerItemTextStyles } = extractStyles(pickerItemProps.style);
21
15
  const options = useDeepCompareMemo(() => normalizeToPickerOptions(optionsProp).map((option) => ({
22
16
  label: option.label.toString(),
@@ -1 +1 @@
1
- {"version":3,"file":"DropDownPicker.js","sourceRoot":"","sources":["../../../../../../src/components/Picker/dropdown/DropDownPicker.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DropDownPicker.js","sourceRoot":"","sources":["../../../../../../src/components/Picker/dropdown/DropDownPicker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAIL,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,oBAAoB,MAAM,yBAAyB,CAAC;AAC3D,OAAO,uBAAuB,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,cAAc,GAIhB,CAAC,EACH,KAAK,EACL,OAAO,EAAE,WAAW,GAAG,EAAE,EACzB,aAAa,EACb,IAAI,EACJ,WAAW,EACX,KAAK,EACL,mBAAmB,GAAG,IAAI,EAC1B,gBAAgB,GAAG,eAAe,EAClC,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EACvC,gBAAgB,GAAG,EAAE,EACrB,uBAAuB,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,EACjD,mBAAmB,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,EAC1C,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EACvC,mBAAmB,GAAG,CAAC,EACvB,oBAAoB,GAAG,CAAC,EACxB,QAAQ,EAAE,YAAY,EACtB,QAAQ,EACR,GAAG,IAAI,EACR,EAAE,EAAE;IACH,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAEtD,KAAK,CAAC,CAAC;IAET,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAE3C,MAAM,eAAe,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAEzD,MAAM,EAAE,UAAU,EAAE,oBAAoB,EAAE,UAAU,EAAE,oBAAoB,EAAE,GAC1E,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAEvC,MAAM,OAAO,GAAG,kBAAkB,CAChC,GAAG,EAAE,CACH,wBAAwB,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACrD,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE;QAC9B,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC,CAAC,EACL,CAAC,WAAW,CAAC,CACd,CAAC;IAEF,WAAW,CAAC,GAAG,EAAE;QACf,aAAa,aAAb,aAAa,uBAAb,aAAa,CACX,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,EAAE,CAAC,CAAC,CAAC,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,EAAE,CAAQ,CAAC,yDAAyD;SAC7H,CAAC;QACF,yHAAyH;IAC3H,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,aAAa,IAAI,mBAAmB,EAAE;YACxC,QAAQ,CAAC,OAAO,EAAE,CAAC;SACpB;IACH,CAAC,EAAE,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAEzC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,QAAQ,EAAE;YACZ,gBAAgB,CAAC,KAAK,CAAC,CAAC;SACzB;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,OAAO,CACL,oBAAC,oBAAoB,IACnB,MAAM,EAAC,iBAAiB,EACxB,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,KAAK,EACpB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,CAAC,aAAa,CAAC,EAC/C,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EACvC,QAAQ,EAAE,QAAQ,KACd,IAAI;QAER,oBAAC,uBAAuB,IACtB,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,CAAC,KAAK,IAAI,IAAI,CAAQ,EAC7B,QAAQ,EAAE,gBAAgB,EAC1B,KAAK,EAAE,OAAO,EACd,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAC,YAAY,EACrB,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAC1B,kBAAkB,EAAE;gBAClB,EAAE,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,EAAE,EAAE;gBAC1C,oBAAoB;aACrB,EACD,sBAAsB,EAAE;gBACtB,eAAe,CAAC,iBAAiB;oBAC/B,CAAC,CAAC;wBACE,KAAK,EAAE,eAAe,CAAC,iBAAiB;qBACzC;oBACH,CAAC,CAAC,EAAE;gBACN,eAAe,CAAC,gBAAgB;oBAC9B,CAAC,CAAC;wBACE,QAAQ,EAAE,eAAe,CAAC,gBAAgB;qBAC3C;oBACH,CAAC,CAAC,EAAE;aACP,EACD,sBAAsB,EAAE,oBAAoB,EAC5C,0BAA0B,EACxB,eAAe,CAAC,uBAAuB;gBACrC,CAAC,CAAC;oBACE,eAAe,EAAE,eAAe,CAAC,uBAAuB;iBACzD;gBACH,CAAC,CAAC,EAAE,EAER,sBAAsB,EAAE;gBACtB,WAAW,EAAE,mBAAmB;gBAChC,WAAW,EAAE,mBAAmB;gBAChC,YAAY,EAAE,oBAAoB;gBAClC,eAAe,EAAE,uBAAuB;aACzC,EACD,iBAAiB,EAAE,GAAG,EAAE,CAAC,CACvB,oBAAC,IAAI,IACH,IAAI,EAAE,gBAAgB,EACtB,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,iBAAiB,GACxB,CACH,GACD,CACmB,CACxB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC,cAAc,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
- import { CommonDropDownPickerProps, ModalPickerProps, SinglePickerProps } from "./PickerCommon";
3
- interface PickerProps extends CommonDropDownPickerProps, SinglePickerProps, ModalPickerProps {
4
- mode?: "native" | "dropdown" | "modal";
2
+ import { CommonDropDownPickerProps, DropDownModalPickerProps, SinglePickerProps } from "./PickerCommon";
3
+ interface PickerProps extends CommonDropDownPickerProps, SinglePickerProps, DropDownModalPickerProps {
4
+ mode?: "native" | "dropdown" | "dropdown-modal";
5
5
  }
6
6
  export declare const Picker: React.ComponentType<import("@draftbit/react-theme-provider").$Without<React.PropsWithChildren<PickerProps>, "theme"> & {
7
7
  theme?: import("@draftbit/react-theme-provider").$DeepPartial<any> | undefined;