@draftbit/core 50.0.3-c6a8a2.2 → 50.1.1-1cea51.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.
- package/lib/commonjs/components/Markdown.js +1 -1
- package/lib/commonjs/components/Picker/index.js +1 -1
- package/lib/commonjs/components/Picker/modal/ModalPicker.js +1 -0
- package/lib/commonjs/components/ScreenContainer.js +1 -1
- package/lib/typescript/src/components/Markdown.d.ts +2 -2
- package/lib/typescript/src/components/Markdown.js +11 -2
- package/lib/typescript/src/components/Markdown.js.map +1 -1
- package/lib/typescript/src/components/Picker/PickerCommon.d.ts +3 -0
- package/lib/typescript/src/components/Picker/PickerCommon.js.map +1 -1
- package/lib/typescript/src/components/Picker/index.d.ts +3 -3
- package/lib/typescript/src/components/Picker/index.js +4 -0
- package/lib/typescript/src/components/Picker/index.js.map +1 -1
- package/lib/typescript/src/components/Picker/modal/ModalPicker.d.ts +6 -0
- package/lib/typescript/src/components/Picker/modal/ModalPicker.js +88 -0
- package/lib/typescript/src/components/Picker/modal/ModalPicker.js.map +1 -0
- package/lib/typescript/src/components/ScreenContainer.d.ts +3 -1
- package/lib/typescript/src/components/ScreenContainer.js +8 -2
- package/lib/typescript/src/components/ScreenContainer.js.map +1 -1
- package/lib/typescript/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -3
- package/src/components/Markdown.js +11 -2
- package/src/components/Markdown.js.map +1 -1
- package/src/components/Markdown.tsx +29 -3
- package/src/components/Picker/PickerCommon.js.map +1 -1
- package/src/components/Picker/PickerCommon.ts +4 -0
- package/src/components/Picker/index.js +4 -0
- package/src/components/Picker/index.js.map +1 -1
- package/src/components/Picker/index.tsx +14 -3
- package/src/components/Picker/modal/ModalPicker.js +88 -0
- package/src/components/Picker/modal/ModalPicker.js.map +1 -0
- package/src/components/Picker/modal/ModalPicker.tsx +179 -0
- package/src/components/ScreenContainer.js +8 -2
- package/src/components/ScreenContainer.js.map +1 -1
- package/src/components/ScreenContainer.tsx +13 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
var _this=this,_jsxFileName="/home/runner/work/react-native-jigsaw/react-native-jigsaw/packages/core/src/components/Markdown.tsx";import*as React from"react";import{StyleSheet}from"react-native";import MarkdownComponent from"react-native-markdown-display";import{jsx as _jsx}from"react/jsx-runtime";var childToString=function childToString(child){if(typeof child==="undefined"||child===null||typeof child==="boolean"){return"";}if(JSON.stringify(child)==="{}"){return"";}return child.toString();};var Markdown=function Markdown(_ref){var childrenProp=_ref.children,style=_ref.style;var children=React.Children.toArray(childrenProp);var text=children.map(childToString).join("");return _jsx(MarkdownComponent,{style:{body:
|
|
1
|
+
var _this=this,_jsxFileName="/home/runner/work/react-native-jigsaw/react-native-jigsaw/packages/core/src/components/Markdown.tsx";import*as React from"react";import{Text,StyleSheet}from"react-native";import MarkdownComponent from"react-native-markdown-display";import{extractStyles}from"../utilities";import{jsx as _jsx}from"react/jsx-runtime";var childToString=function childToString(child){if(typeof child==="undefined"||child===null||typeof child==="boolean"){return"";}if(JSON.stringify(child)==="{}"){return"";}return child.toString();};var Markdown=function Markdown(_ref){var childrenProp=_ref.children,style=_ref.style;var children=React.Children.toArray(childrenProp);var text=children.map(childToString).join("");var bodyStyle=StyleSheet.flatten(style);var _extractStyles=extractStyles(bodyStyle),textStyles=_extractStyles.textStyles;return _jsx(MarkdownComponent,{style:{body:bodyStyle},rules:{strong:function strong(node){return _jsx(Text,{style:Object.assign({},textStyles,{fontWeight:"bold"}),children:node.children[0].content},node.key);}},children:text});};export default Markdown;
|
|
@@ -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{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));}};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 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";
|
|
@@ -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/modal/ModalPicker.tsx";import*as React from"react";import{View,Text,Keyboard}from"react-native";import{extractStyles,flattenReactFragments,useDeepCompareMemo}from"../../../utilities";import{normalizeToPickerOptions}from"../PickerCommon";import PickerInputContainer from"../PickerInputContainer";import ModalPickerComponent from"react-native-select-dropdown";import{withTheme}from"../../../theming";import PickerItem from"../dropdown/PickerItem";import{useOnUpdate}from"../../../hooks";import{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(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]);var defaultValue=options.find(function(item){return item.value===value;});return _jsx(PickerInputContainer,Object.assign({testID:"dropdown-picker",Icon:Icon,placeholder:placeholder,selectedValue:value,options:options,onPress:function onPress(){setPickerVisible(!pickerVisible);dropdownRef.current.openDropdown();},zIndex:pickerVisible?100:undefined,disabled:disabled},rest,{children:_jsx(ModalPickerComponent,{ref:dropdownRef,data:options,defaultValue:defaultValue,onSelect:function onSelect(selectedItem,index){console.log(selectedItem,index);setInternalValue(selectedItem.value);},renderButton:function renderButton(){return _jsx(View,{});},renderItem:function renderItem(item,_index,isSelected){var selectedBackgroundColor=isSelected?pickerItemProps.selectedBackgroundColor:pickerItemViewStyles.backgroundColor;var selectedTextColor=isSelected?pickerItemProps.selectedTextColor||dropDownTextColor:dropDownTextColor;var selectedTextSize=isSelected?pickerItemProps.selectedTextSize||14:14;var iconColor=isSelected?selectedIconColor:"transparent";return _jsxs(View,{style:{padding:10,flexDirection:"row",alignItems:"center",backgroundColor:selectedBackgroundColor},children:[_jsx(Text,{style:Object.assign({color:selectedTextColor,fontSize:selectedTextSize,flex:1},pickerItemTextStyles),children:item.label}),_jsx(Icon,{name:selectedIconName,size:selectedIconSize,color:iconColor})]});},showsVerticalScrollIndicator:false,dropdownOverlayColor:dropdownOverlayColor,dropdownStyle:{borderColor:dropDownBorderColor,borderWidth:dropDownBorderWidth,borderRadius:dropDownBorderRadius,backgroundColor:dropDownBackgroundColor},disableAutoScroll:true})}));};export default withTheme(ModalPicker);
|
|
@@ -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/ScreenContainer.tsx";var _excluded=["scrollable","hasSafeArea","hasBottomSafeArea","hasTopSafeArea","theme","style","children"];import*as React from"react";import{StyleSheet,ScrollView,View}from"react-native";import{SafeAreaView}from"react-native-safe-area-context";import{withTheme}from"../theming";import{jsx as _jsx}from"react/jsx-runtime";function ScreenContainer(_ref){var _StyleSheet$flatten;var _ref$scrollable=_ref.scrollable,scrollable=_ref$scrollable===void 0?false:_ref$scrollable,_ref$hasSafeArea=_ref.hasSafeArea,hasSafeArea=_ref$hasSafeArea===void 0?false:_ref$hasSafeArea,_ref$hasBottomSafeAre=_ref.hasBottomSafeArea,hasBottomSafeArea=_ref$hasBottomSafeAre===void 0?false:_ref$hasBottomSafeAre,_ref$hasTopSafeArea=_ref.hasTopSafeArea,hasTopSafeArea=_ref$hasTopSafeArea===void 0?false:_ref$hasTopSafeArea,theme=_ref.theme,style=_ref.style,children=_ref.children,rest=_objectWithoutProperties(_ref,_excluded);var backgroundColor=((_StyleSheet$flatten=StyleSheet.flatten(style))==null?void 0:_StyleSheet$flatten.backgroundColor)||theme.colors.background;var edges=[
|
|
1
|
+
import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/home/runner/work/react-native-jigsaw/react-native-jigsaw/packages/core/src/components/ScreenContainer.tsx";var _excluded=["scrollable","hasSafeArea","hasBottomSafeArea","hasTopSafeArea","hasLeftSafeArea","hasRightSafeArea","theme","style","children"];import*as React from"react";import{StyleSheet,ScrollView,View}from"react-native";import{SafeAreaView}from"react-native-safe-area-context";import{withTheme}from"../theming";import{jsx as _jsx}from"react/jsx-runtime";function ScreenContainer(_ref){var _StyleSheet$flatten;var _ref$scrollable=_ref.scrollable,scrollable=_ref$scrollable===void 0?false:_ref$scrollable,_ref$hasSafeArea=_ref.hasSafeArea,hasSafeArea=_ref$hasSafeArea===void 0?false:_ref$hasSafeArea,_ref$hasBottomSafeAre=_ref.hasBottomSafeArea,hasBottomSafeArea=_ref$hasBottomSafeAre===void 0?false:_ref$hasBottomSafeAre,_ref$hasTopSafeArea=_ref.hasTopSafeArea,hasTopSafeArea=_ref$hasTopSafeArea===void 0?false:_ref$hasTopSafeArea,_ref$hasLeftSafeArea=_ref.hasLeftSafeArea,hasLeftSafeArea=_ref$hasLeftSafeArea===void 0?true:_ref$hasLeftSafeArea,_ref$hasRightSafeArea=_ref.hasRightSafeArea,hasRightSafeArea=_ref$hasRightSafeArea===void 0?true:_ref$hasRightSafeArea,theme=_ref.theme,style=_ref.style,children=_ref.children,rest=_objectWithoutProperties(_ref,_excluded);var backgroundColor=((_StyleSheet$flatten=StyleSheet.flatten(style))==null?void 0:_StyleSheet$flatten.backgroundColor)||theme.colors.background;var edges=[];if(hasSafeArea||hasTopSafeArea){edges.push("top");}if(hasSafeArea||hasBottomSafeArea){edges.push("bottom");}if(hasSafeArea||hasLeftSafeArea){edges.push("left");}if(hasSafeArea||hasRightSafeArea){edges.push("right");}return _jsx(SafeAreaView,Object.assign({edges:edges,style:[styles.container,{backgroundColor:backgroundColor}]},rest,{children:scrollable?_jsx(ScrollView,{contentContainerStyle:[styles.scrollViewContainer,{backgroundColor:backgroundColor},style],children:children}):_jsx(View,{style:[styles.container,{backgroundColor:backgroundColor},style],children:children})}));}var styles=StyleSheet.create({container:{flex:1},scrollViewContainer:{flexGrow:1,flex:undefined}});export default withTheme(ScreenContainer);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { StyleProp, ViewStyle } from "react-native";
|
|
2
|
+
import { StyleProp, ViewStyle, TextStyle } from "react-native";
|
|
3
3
|
declare type MarkdownProps = {
|
|
4
|
-
style?: StyleProp<ViewStyle>;
|
|
4
|
+
style?: StyleProp<ViewStyle & TextStyle>;
|
|
5
5
|
};
|
|
6
6
|
declare const Markdown: React.FC<React.PropsWithChildren<MarkdownProps>>;
|
|
7
7
|
export default Markdown;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { StyleSheet } from "react-native";
|
|
2
|
+
import { Text, StyleSheet, } from "react-native";
|
|
3
3
|
import MarkdownComponent from "react-native-markdown-display";
|
|
4
|
+
import { extractStyles } from "../utilities";
|
|
4
5
|
const childToString = (child) => {
|
|
5
6
|
if (typeof child === "undefined" ||
|
|
6
7
|
child === null ||
|
|
@@ -15,10 +16,18 @@ const childToString = (child) => {
|
|
|
15
16
|
const Markdown = ({ children: childrenProp, style, }) => {
|
|
16
17
|
const children = React.Children.toArray(childrenProp);
|
|
17
18
|
const text = children.map(childToString).join("");
|
|
19
|
+
const bodyStyle = StyleSheet.flatten(style);
|
|
20
|
+
const { textStyles } = extractStyles(bodyStyle);
|
|
18
21
|
return (
|
|
19
22
|
//'body' style applies to all markdown components
|
|
20
23
|
//@ts-ignore TS does not like the type of this named style for some reason
|
|
21
|
-
React.createElement(MarkdownComponent, { style: { body:
|
|
24
|
+
React.createElement(MarkdownComponent, { style: { body: bodyStyle }, rules: {
|
|
25
|
+
// By default, strong does not work with custom fonts on iOS. This addresses the issue
|
|
26
|
+
strong: (node) => (React.createElement(Text, { key: node.key, style: {
|
|
27
|
+
...textStyles,
|
|
28
|
+
fontWeight: "bold",
|
|
29
|
+
} }, node.children[0].content)),
|
|
30
|
+
} }, text));
|
|
22
31
|
};
|
|
23
32
|
export default Markdown;
|
|
24
33
|
//# sourceMappingURL=Markdown.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Markdown.js","sourceRoot":"","sources":["../../../../src/components/Markdown.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,
|
|
1
|
+
{"version":3,"file":"Markdown.js","sourceRoot":"","sources":["../../../../src/components/Markdown.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,IAAI,EAIJ,UAAU,GACX,MAAM,cAAc,CAAC;AACtB,OAAO,iBAAiB,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAM7C,MAAM,aAAa,GAAG,CAAC,KAAuB,EAAU,EAAE;IACxD,IACE,OAAO,KAAK,KAAK,WAAW;QAC5B,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,SAAS,EAC1B;QACA,OAAO,EAAE,CAAC;KACX;IAED,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE;QAClC,OAAO,EAAE,CAAC;KACX;IAED,OAAQ,KAAyB,CAAC,QAAQ,EAAE,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAqD,CAAC,EAClE,QAAQ,EAAE,YAAY,EACtB,KAAK,GACN,EAAE,EAAE;IACH,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAElD,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,EAAE,UAAU,EAAE,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IAEhD,OAAO;IACL,iDAAiD;IACjD,0EAA0E;IAC1E,oBAAC,iBAAiB,IAChB,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAC1B,KAAK,EAAE;YACL,sFAAsF;YACtF,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAChB,oBAAC,IAAI,IACH,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,KAAK,EAAE;oBACL,GAAG,UAAU;oBACb,UAAU,EAAE,MAAM;iBACnB,IAEA,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CACpB,CACR;SACF,IAEA,IAAI,CACa,CACrB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -33,6 +33,9 @@ export interface MultiSelectPickerProps {
|
|
|
33
33
|
value?: (string | number)[];
|
|
34
34
|
onValueChange: (value: (string | number)[]) => void;
|
|
35
35
|
}
|
|
36
|
+
export interface ModalPickerProps {
|
|
37
|
+
dropdownOverlayColor?: string;
|
|
38
|
+
}
|
|
36
39
|
export interface CommonDropDownPickerProps extends CommonPickerProps {
|
|
37
40
|
selectedIconName?: string;
|
|
38
41
|
selectedIconColor?: string;
|
|
@@ -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;
|
|
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,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { CommonDropDownPickerProps, SinglePickerProps } from "./PickerCommon";
|
|
3
|
-
interface PickerProps extends CommonDropDownPickerProps, SinglePickerProps {
|
|
4
|
-
mode?: "native" | "dropdown";
|
|
2
|
+
import { CommonDropDownPickerProps, ModalPickerProps, SinglePickerProps } from "./PickerCommon";
|
|
3
|
+
interface PickerProps extends CommonDropDownPickerProps, SinglePickerProps, ModalPickerProps {
|
|
4
|
+
mode?: "native" | "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;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import NativePicker from "./NativePicker";
|
|
3
3
|
import DropDownPicker from "./dropdown/DropDownPicker";
|
|
4
|
+
import ModalPicker from "./modal/ModalPicker";
|
|
4
5
|
import { withTheme } from "../../theming";
|
|
5
6
|
const SinglePicker = ({ mode = "native", ...rest }) => {
|
|
6
7
|
switch (mode) {
|
|
@@ -10,6 +11,9 @@ const SinglePicker = ({ mode = "native", ...rest }) => {
|
|
|
10
11
|
case "dropdown":
|
|
11
12
|
//@ts-ignore
|
|
12
13
|
return React.createElement(DropDownPicker, { ...rest });
|
|
14
|
+
case "modal":
|
|
15
|
+
//@ts-ignore Ignore theme type issues
|
|
16
|
+
return React.createElement(ModalPicker, { ...rest });
|
|
13
17
|
}
|
|
14
18
|
};
|
|
15
19
|
export const Picker = withTheme(SinglePicker);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/Picker/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/Picker/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,cAAc,MAAM,2BAA2B,CAAC;AACvD,OAAO,WAAW,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAS1C,MAAM,YAAY,GAAmD,CAAC,EACpE,IAAI,GAAG,QAAQ,EACf,GAAG,IAAI,EACR,EAAE,EAAE;IACH,QAAQ,IAAI,EAAE;QACZ,KAAK,QAAQ;YACX,qCAAqC;YACrC,OAAO,oBAAC,YAAY,OAAK,IAAI,GAAI,CAAC;QACpC,KAAK,UAAU;YACb,YAAY;YACZ,OAAO,oBAAC,cAAc,OAAK,IAAI,GAAI,CAAC;QACtC,KAAK,OAAO;YACV,qCAAqC;YACrC,OAAO,oBAAC,WAAW,OAAK,IAAI,GAAI,CAAC;KACpC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
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"> & {
|
|
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>>, {}>;
|
|
6
|
+
export default _default;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { View, Text, Keyboard } from "react-native";
|
|
3
|
+
import { extractStyles, flattenReactFragments, useDeepCompareMemo, } from "../../../utilities";
|
|
4
|
+
import { normalizeToPickerOptions, } from "../PickerCommon";
|
|
5
|
+
import PickerInputContainer from "../PickerInputContainer";
|
|
6
|
+
import ModalPickerComponent from "react-native-select-dropdown";
|
|
7
|
+
import { withTheme } from "../../../theming";
|
|
8
|
+
import PickerItem from "../dropdown/PickerItem";
|
|
9
|
+
import { useOnUpdate } from "../../../hooks";
|
|
10
|
+
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 }) => {
|
|
11
|
+
const dropdownRef = React.useRef();
|
|
12
|
+
const [pickerVisible, setPickerVisible] = React.useState(false);
|
|
13
|
+
const [internalValue, setInternalValue] = React.useState(value);
|
|
14
|
+
const isMultiSelect = Array.isArray(value);
|
|
15
|
+
const pickerItemProps = React.useMemo(() => {
|
|
16
|
+
const children = flattenReactFragments(React.Children.toArray(childrenProp));
|
|
17
|
+
// Only the props of the first PickerItem are used, any others are ignored
|
|
18
|
+
const firstPickerItem = children.find((child) => child.type === PickerItem);
|
|
19
|
+
return (firstPickerItem === null || firstPickerItem === void 0 ? void 0 : firstPickerItem.props) || {};
|
|
20
|
+
}, [childrenProp]);
|
|
21
|
+
const { viewStyles: pickerItemViewStyles, textStyles: pickerItemTextStyles } = extractStyles(pickerItemProps.style);
|
|
22
|
+
const options = useDeepCompareMemo(() => normalizeToPickerOptions(optionsProp).map((option) => ({
|
|
23
|
+
label: option.label.toString(),
|
|
24
|
+
value: option.value,
|
|
25
|
+
})), [optionsProp]);
|
|
26
|
+
useOnUpdate(() => {
|
|
27
|
+
onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange((isMultiSelect ? internalValue !== null && internalValue !== void 0 ? internalValue : [] : internalValue !== null && internalValue !== void 0 ? internalValue : "") // cannot determine if multiselect or not on compile time
|
|
28
|
+
);
|
|
29
|
+
// onValueChange excluded to prevent running on every re-render when using an anoymous function, which is the common case
|
|
30
|
+
}, [internalValue]);
|
|
31
|
+
React.useEffect(() => {
|
|
32
|
+
if (pickerVisible && autoDismissKeyboard) {
|
|
33
|
+
Keyboard.dismiss();
|
|
34
|
+
}
|
|
35
|
+
}, [pickerVisible, autoDismissKeyboard]);
|
|
36
|
+
React.useEffect(() => {
|
|
37
|
+
if (disabled) {
|
|
38
|
+
setPickerVisible(false);
|
|
39
|
+
}
|
|
40
|
+
}, [disabled]);
|
|
41
|
+
const defaultValue = options.find((item) => item.value === value);
|
|
42
|
+
return (React.createElement(PickerInputContainer, { testID: "dropdown-picker", Icon: Icon, placeholder: placeholder, selectedValue: value, options: options, onPress: () => {
|
|
43
|
+
setPickerVisible(!pickerVisible);
|
|
44
|
+
// @ts-ignore
|
|
45
|
+
dropdownRef.current.openDropdown();
|
|
46
|
+
}, zIndex: pickerVisible ? 100 : undefined, disabled: disabled, ...rest },
|
|
47
|
+
React.createElement(ModalPickerComponent
|
|
48
|
+
// @ts-ignore
|
|
49
|
+
, {
|
|
50
|
+
// @ts-ignore
|
|
51
|
+
ref: dropdownRef, data: options, defaultValue: defaultValue, onSelect: (selectedItem, index) => {
|
|
52
|
+
console.log(selectedItem, index);
|
|
53
|
+
setInternalValue(selectedItem.value);
|
|
54
|
+
}, renderButton: () => {
|
|
55
|
+
return React.createElement(View, null);
|
|
56
|
+
}, renderItem: (item, _index, isSelected) => {
|
|
57
|
+
const selectedBackgroundColor = isSelected
|
|
58
|
+
? pickerItemProps.selectedBackgroundColor
|
|
59
|
+
: pickerItemViewStyles.backgroundColor;
|
|
60
|
+
const selectedTextColor = isSelected
|
|
61
|
+
? pickerItemProps.selectedTextColor || dropDownTextColor
|
|
62
|
+
: dropDownTextColor;
|
|
63
|
+
const selectedTextSize = isSelected
|
|
64
|
+
? pickerItemProps.selectedTextSize || 14
|
|
65
|
+
: 14;
|
|
66
|
+
const iconColor = isSelected ? selectedIconColor : "transparent";
|
|
67
|
+
return (React.createElement(View, { style: {
|
|
68
|
+
padding: 10,
|
|
69
|
+
flexDirection: "row",
|
|
70
|
+
alignItems: "center",
|
|
71
|
+
backgroundColor: selectedBackgroundColor,
|
|
72
|
+
} },
|
|
73
|
+
React.createElement(Text, { style: {
|
|
74
|
+
color: selectedTextColor,
|
|
75
|
+
fontSize: selectedTextSize,
|
|
76
|
+
flex: 1,
|
|
77
|
+
...pickerItemTextStyles,
|
|
78
|
+
} }, item.label),
|
|
79
|
+
React.createElement(Icon, { name: selectedIconName, size: selectedIconSize, color: iconColor })));
|
|
80
|
+
}, showsVerticalScrollIndicator: false, dropdownOverlayColor: dropdownOverlayColor, dropdownStyle: {
|
|
81
|
+
borderColor: dropDownBorderColor,
|
|
82
|
+
borderWidth: dropDownBorderWidth,
|
|
83
|
+
borderRadius: dropDownBorderRadius,
|
|
84
|
+
backgroundColor: dropDownBackgroundColor,
|
|
85
|
+
}, disableAutoScroll: true })));
|
|
86
|
+
};
|
|
87
|
+
export default withTheme(ModalPicker);
|
|
88
|
+
//# sourceMappingURL=ModalPicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModalPicker.js","sourceRoot":"","sources":["../../../../../../src/components/Picker/modal/ModalPicker.tsx"],"names":[],"mappings":"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"}
|
|
@@ -6,11 +6,13 @@ declare type ScreenContainerProps = {
|
|
|
6
6
|
hasSafeArea?: boolean;
|
|
7
7
|
hasTopSafeArea?: boolean;
|
|
8
8
|
hasBottomSafeArea?: boolean;
|
|
9
|
+
hasLeftSafeArea?: boolean;
|
|
10
|
+
hasRightSafeArea?: boolean;
|
|
9
11
|
theme: Theme;
|
|
10
12
|
style?: StyleProp<ViewStyle>;
|
|
11
13
|
children?: React.ReactNode;
|
|
12
14
|
};
|
|
13
|
-
declare function ScreenContainer({ scrollable, hasSafeArea, hasBottomSafeArea, hasTopSafeArea, theme, style, children, ...rest }: ScreenContainerProps): React.JSX.Element;
|
|
15
|
+
declare function ScreenContainer({ scrollable, hasSafeArea, hasBottomSafeArea, hasTopSafeArea, hasLeftSafeArea, hasRightSafeArea, theme, style, children, ...rest }: ScreenContainerProps): React.JSX.Element;
|
|
14
16
|
declare const _default: React.ComponentType<import("@draftbit/react-theme-provider").$Without<ScreenContainerProps, "theme"> & {
|
|
15
17
|
theme?: import("@draftbit/react-theme-provider").$DeepPartial<any> | undefined;
|
|
16
18
|
}> & import("@draftbit/react-theme-provider/typings/hoist-non-react-statics").NonReactStatics<React.ComponentType<ScreenContainerProps> & typeof ScreenContainer, {}>;
|
|
@@ -2,16 +2,22 @@ import * as React from "react";
|
|
|
2
2
|
import { StyleSheet, ScrollView, View, } from "react-native";
|
|
3
3
|
import { SafeAreaView } from "react-native-safe-area-context";
|
|
4
4
|
import { withTheme } from "../theming";
|
|
5
|
-
function ScreenContainer({ scrollable = false, hasSafeArea = false, hasBottomSafeArea = false, hasTopSafeArea = false, theme, style, children, ...rest }) {
|
|
5
|
+
function ScreenContainer({ scrollable = false, hasSafeArea = false, hasBottomSafeArea = false, hasTopSafeArea = false, hasLeftSafeArea = true, hasRightSafeArea = true, theme, style, children, ...rest }) {
|
|
6
6
|
var _a;
|
|
7
7
|
const backgroundColor = ((_a = StyleSheet.flatten(style)) === null || _a === void 0 ? void 0 : _a.backgroundColor) || theme.colors.background;
|
|
8
|
-
const edges = [
|
|
8
|
+
const edges = [];
|
|
9
9
|
if (hasSafeArea || hasTopSafeArea) {
|
|
10
10
|
edges.push("top");
|
|
11
11
|
}
|
|
12
12
|
if (hasSafeArea || hasBottomSafeArea) {
|
|
13
13
|
edges.push("bottom");
|
|
14
14
|
}
|
|
15
|
+
if (hasSafeArea || hasLeftSafeArea) {
|
|
16
|
+
edges.push("left");
|
|
17
|
+
}
|
|
18
|
+
if (hasSafeArea || hasRightSafeArea) {
|
|
19
|
+
edges.push("right");
|
|
20
|
+
}
|
|
15
21
|
return (React.createElement(SafeAreaView, { edges: edges, style: [
|
|
16
22
|
styles.container,
|
|
17
23
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScreenContainer.js","sourceRoot":"","sources":["../../../../src/components/ScreenContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,UAAU,EACV,UAAU,EAGV,IAAI,GACL,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"ScreenContainer.js","sourceRoot":"","sources":["../../../../src/components/ScreenContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,UAAU,EACV,UAAU,EAGV,IAAI,GACL,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAevC,SAAS,eAAe,CAAC,EACvB,UAAU,GAAG,KAAK,EAClB,WAAW,GAAG,KAAK,EACnB,iBAAiB,GAAG,KAAK,EACzB,cAAc,GAAG,KAAK,EACtB,eAAe,GAAG,IAAI,EACtB,gBAAgB,GAAG,IAAI,EACvB,KAAK,EACL,KAAK,EACL,QAAQ,EACR,GAAG,IAAI,EACc;;IACrB,MAAM,eAAe,GACnB,CAAA,MAAA,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,0CAAE,eAAe,KAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC;IAExE,MAAM,KAAK,GAAW,EAAE,CAAC;IACzB,IAAI,WAAW,IAAI,cAAc,EAAE;QACjC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACnB;IAED,IAAI,WAAW,IAAI,iBAAiB,EAAE;QACpC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACtB;IAED,IAAI,WAAW,IAAI,eAAe,EAAE;QAClC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACpB;IAED,IAAI,WAAW,IAAI,gBAAgB,EAAE;QACnC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACrB;IAED,OAAO,CACL,oBAAC,YAAY,IACX,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE;YACL,MAAM,CAAC,SAAS;YAChB;gBACE,eAAe;aAChB;SACF,KACG,IAAI,IAEP,UAAU,CAAC,CAAC,CAAC,CACZ,oBAAC,UAAU,IACT,qBAAqB,EAAE;YACrB,MAAM,CAAC,mBAAmB;YAC1B,EAAE,eAAe,EAAE;YACnB,KAAK;SACN,IAEA,QAAQ,CACE,CACd,CAAC,CAAC,CAAC,CACF,oBAAC,IAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,eAAe,EAAE,EAAE,KAAK,CAAC,IACxD,QAAQ,CACJ,CACR,CACY,CAChB,CAAC;AACJ,CAAC;AAED,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,SAAS,EAAE;QACT,IAAI,EAAE,CAAC;KACR;IACD,mBAAmB,EAAE;QACnB,QAAQ,EAAE,CAAC;QACX,IAAI,EAAE,SAAS;KAChB;CACF,CAAC,CAAC;AAEH,eAAe,SAAS,CAAC,eAAe,CAAC,CAAC"}
|