@draftbit/core 44.1.13-9a8dff.0 → 44.1.13-c10e64.0

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 (57) hide show
  1. package/lib/commonjs/components/CircularProgress.js.map +1 -1
  2. package/lib/commonjs/components/DatePicker/DatePickerComponent.web.js.map +1 -1
  3. package/lib/commonjs/components/DeprecatedButton.js +4 -19
  4. package/lib/commonjs/components/DeprecatedButton.js.map +1 -1
  5. package/lib/commonjs/components/Picker/Picker.js +27 -266
  6. package/lib/commonjs/components/Picker/Picker.js.map +1 -1
  7. package/lib/commonjs/components/Picker/PickerComponent.android.js +120 -19
  8. package/lib/commonjs/components/Picker/PickerComponent.android.js.map +1 -1
  9. package/lib/commonjs/components/Picker/PickerComponent.ios.js +146 -35
  10. package/lib/commonjs/components/Picker/PickerComponent.ios.js.map +1 -1
  11. package/lib/commonjs/components/Picker/PickerComponent.web.js +121 -19
  12. package/lib/commonjs/components/Picker/PickerComponent.web.js.map +1 -1
  13. package/lib/commonjs/components/Picker/PickerTypes.js +6 -0
  14. package/lib/commonjs/components/Picker/PickerTypes.js.map +1 -0
  15. package/lib/commonjs/mappings/Picker.js +1 -7
  16. package/lib/commonjs/mappings/Picker.js.map +1 -1
  17. package/lib/commonjs/utilities.js +0 -19
  18. package/lib/commonjs/utilities.js.map +1 -1
  19. package/lib/module/components/Carousel.js +5 -20
  20. package/lib/module/components/Carousel.js.map +1 -1
  21. package/lib/module/components/Picker/Picker.js +28 -260
  22. package/lib/module/components/Picker/Picker.js.map +1 -1
  23. package/lib/module/components/Picker/PickerComponent.android.js +109 -18
  24. package/lib/module/components/Picker/PickerComponent.android.js.map +1 -1
  25. package/lib/module/components/Picker/PickerComponent.ios.js +132 -35
  26. package/lib/module/components/Picker/PickerComponent.ios.js.map +1 -1
  27. package/lib/module/components/Picker/PickerComponent.web.js +110 -18
  28. package/lib/module/components/Picker/PickerComponent.web.js.map +1 -1
  29. package/lib/module/components/Picker/PickerTypes.js +2 -0
  30. package/lib/module/components/Picker/PickerTypes.js.map +1 -0
  31. package/lib/module/mappings/CheckboxRow.js.map +1 -1
  32. package/lib/module/mappings/Picker.js +2 -8
  33. package/lib/module/mappings/Picker.js.map +1 -1
  34. package/lib/module/utilities.js +1 -12
  35. package/lib/module/utilities.js.map +1 -1
  36. package/lib/typescript/src/components/Picker/Picker.d.ts +4 -28
  37. package/lib/typescript/src/components/Picker/PickerComponent.android.d.ts +5 -12
  38. package/lib/typescript/src/components/Picker/PickerComponent.ios.d.ts +5 -11
  39. package/lib/typescript/src/components/Picker/PickerComponent.web.d.ts +5 -12
  40. package/lib/typescript/src/components/Picker/PickerTypes.d.ts +18 -0
  41. package/lib/typescript/src/mappings/Picker.d.ts +0 -21
  42. package/lib/typescript/src/utilities.d.ts +0 -7
  43. package/package.json +2 -2
  44. package/src/components/Picker/Picker.js +17 -229
  45. package/src/components/Picker/Picker.tsx +34 -434
  46. package/src/components/Picker/PickerComponent.android.js +66 -16
  47. package/src/components/Picker/PickerComponent.android.tsx +107 -28
  48. package/src/components/Picker/PickerComponent.ios.js +76 -32
  49. package/src/components/Picker/PickerComponent.ios.tsx +137 -49
  50. package/src/components/Picker/PickerComponent.web.js +67 -16
  51. package/src/components/Picker/PickerComponent.web.tsx +108 -28
  52. package/src/components/Picker/PickerTypes.js +1 -0
  53. package/src/components/Picker/PickerTypes.ts +18 -0
  54. package/src/mappings/Picker.js +1 -3
  55. package/src/mappings/Picker.ts +0 -4
  56. package/src/utilities.js +1 -49
  57. package/src/utilities.ts +1 -65
@@ -1 +1 @@
1
- {"version":3,"sources":["Picker.ts"],"names":["COMPONENT_TYPES","Triggers","GROUPS","FORM_TYPES","PROP_TYPES","FIELD_NAME","createIconSizeProp","createColorProp","SEED_DATA_PROPS","label","group","data","description","formType","string","propType","STRING","defaultValue","editable","required","placeholder","basic","placeholderTextColor","color","assistiveText","options","array","OBJECT","disabled","boolean","BOOLEAN","error","leftIconName","icon","ASSET","leftIconMode","flatArray","rightIconName","fieldName","handlerPropName","SEED_DATA_TRIGGERS","OnValueChange","SEED_DATA","name","tag","category","input","preview_image_url","supports_list_render","triggers","props","type","iconSize","iconColor","layout"],"mappings":"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","sourcesContent":["import {\n COMPONENT_TYPES,\n Triggers,\n GROUPS,\n FORM_TYPES,\n PROP_TYPES,\n FIELD_NAME,\n createIconSizeProp,\n createColorProp,\n} from \"@draftbit/types\";\n\nconst SEED_DATA_PROPS = {\n label: {\n group: GROUPS.data,\n label: \"Label\",\n description: \"The label to be displayed on the picker\",\n formType: FORM_TYPES.string,\n propType: PROP_TYPES.STRING,\n defaultValue: null,\n editable: true,\n required: true,\n },\n placeholder: {\n group: GROUPS.basic,\n label: \"Placeholder\",\n description: \"The placeholder text of the picker\",\n formType: FORM_TYPES.string,\n propType: PROP_TYPES.STRING,\n defaultValue: \"Select an option\",\n editable: true,\n required: false,\n },\n placeholderTextColor: {\n group: GROUPS.basic,\n label: \"Placeholder Text Color\",\n description: \"The color of the placeholder text.\",\n editable: true,\n required: false,\n defaultValue: null,\n formType: FORM_TYPES.color,\n propType: PROP_TYPES.STRING,\n },\n assistiveText: {\n group: GROUPS.basic,\n label: \"Assistive text\",\n description: \"Helper text to display below the picker\",\n formType: FORM_TYPES.string,\n propType: PROP_TYPES.STRING,\n defaultValue: null,\n editable: true,\n required: false,\n },\n options: {\n group: GROUPS.data,\n label: \"Options\",\n description:\n \"Array of picker options. An array of objects containing a label and value.\",\n editable: true,\n required: false,\n formType: FORM_TYPES.array,\n propType: PROP_TYPES.OBJECT,\n options: [],\n defaultValue: null,\n },\n disabled: {\n group: GROUPS.basic,\n label: \"Disabled\",\n description:\n \"Whether the picker should be disabled. Will prevent selection and show a greyed out state.\",\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n defaultValue: false,\n editable: true,\n required: false,\n },\n error: {\n group: GROUPS.data,\n label: \"Error\",\n description: \"Whether the picker should display the error state\",\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n defaultValue: false,\n editable: true,\n required: false,\n },\n leftIconName: {\n group: GROUPS.basic,\n label: \"Left icon name\",\n description: \"The icon to display on the left\",\n formType: FORM_TYPES.icon,\n propType: PROP_TYPES.ASSET,\n defaultValue: null,\n editable: true,\n required: false,\n },\n leftIconMode: {\n group: GROUPS.basic,\n label: \"Left icon mode\",\n description:\n \"The mode of the icon to display on the left. 'inset' or 'outset'.\",\n formType: FORM_TYPES.flatArray,\n propType: PROP_TYPES.STRING,\n defaultValue: \"inset\",\n options: [\"inset\", \"outset\"],\n editable: true,\n required: true,\n },\n rightIconName: {\n group: GROUPS.basic,\n label: \"Right icon name\",\n description: \"The icon to display on the right\",\n formType: FORM_TYPES.icon,\n propType: PROP_TYPES.ASSET,\n defaultValue: null,\n editable: true,\n required: false,\n },\n fieldName: {\n ...FIELD_NAME,\n defaultValue: \"pickerValue\",\n handlerPropName: \"onValueChange\",\n },\n};\n\nconst SEED_DATA_TRIGGERS = [Triggers.OnValueChange];\nexport const SEED_DATA = [\n {\n name: \"Picker\",\n tag: \"Picker\",\n description: \"A component used to pick a value from a set of options\",\n category: COMPONENT_TYPES.input,\n preview_image_url: \"{CLOUDINARY_URL}/Picker.png\",\n supports_list_render: false,\n triggers: SEED_DATA_TRIGGERS,\n props: {\n ...SEED_DATA_PROPS,\n type: {\n label: \"Appearance\",\n description: \"Type of Picker\",\n formType: FORM_TYPES.flatArray,\n propType: PROP_TYPES.STRING,\n defaultValue: \"solid\",\n options: [\"solid\", \"underline\"],\n editable: true,\n required: true,\n group: GROUPS.basic,\n },\n iconSize: createIconSizeProp({ defaultValue: 24 }),\n iconColor: createColorProp({ label: \"Icon Color\" }),\n },\n layout: {},\n },\n];\n"]}
1
+ {"version":3,"sources":["Picker.ts"],"names":["COMPONENT_TYPES","Triggers","GROUPS","FORM_TYPES","PROP_TYPES","FIELD_NAME","SEED_DATA_PROPS","label","group","data","description","formType","string","propType","STRING","defaultValue","editable","required","placeholder","basic","placeholderTextColor","color","assistiveText","options","array","OBJECT","disabled","boolean","BOOLEAN","error","leftIconName","icon","ASSET","leftIconMode","flatArray","rightIconName","fieldName","handlerPropName","SEED_DATA_TRIGGERS","OnValueChange","SEED_DATA","name","tag","category","input","preview_image_url","supports_list_render","triggers","props","type","layout"],"mappings":"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","sourcesContent":["import {\n COMPONENT_TYPES,\n Triggers,\n GROUPS,\n FORM_TYPES,\n PROP_TYPES,\n FIELD_NAME,\n} from \"@draftbit/types\";\n\nconst SEED_DATA_PROPS = {\n label: {\n group: GROUPS.data,\n label: \"Label\",\n description: \"The label to be displayed on the picker\",\n formType: FORM_TYPES.string,\n propType: PROP_TYPES.STRING,\n defaultValue: null,\n editable: true,\n required: true,\n },\n placeholder: {\n group: GROUPS.basic,\n label: \"Placeholder\",\n description: \"The placeholder text of the picker\",\n formType: FORM_TYPES.string,\n propType: PROP_TYPES.STRING,\n defaultValue: \"Select an option\",\n editable: true,\n required: false,\n },\n placeholderTextColor: {\n group: GROUPS.basic,\n label: \"Placeholder Text Color\",\n description: \"The color of the placeholder text.\",\n editable: true,\n required: false,\n defaultValue: null,\n formType: FORM_TYPES.color,\n propType: PROP_TYPES.STRING,\n },\n assistiveText: {\n group: GROUPS.basic,\n label: \"Assistive text\",\n description: \"Helper text to display below the picker\",\n formType: FORM_TYPES.string,\n propType: PROP_TYPES.STRING,\n defaultValue: null,\n editable: true,\n required: false,\n },\n options: {\n group: GROUPS.data,\n label: \"Options\",\n description:\n \"Array of picker options. An array of objects containing a label and value.\",\n editable: true,\n required: false,\n formType: FORM_TYPES.array,\n propType: PROP_TYPES.OBJECT,\n options: [],\n defaultValue: null,\n },\n disabled: {\n group: GROUPS.basic,\n label: \"Disabled\",\n description:\n \"Whether the picker should be disabled. Will prevent selection and show a greyed out state.\",\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n defaultValue: false,\n editable: true,\n required: false,\n },\n error: {\n group: GROUPS.data,\n label: \"Error\",\n description: \"Whether the picker should display the error state\",\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n defaultValue: false,\n editable: true,\n required: false,\n },\n leftIconName: {\n group: GROUPS.basic,\n label: \"Left icon name\",\n description: \"The icon to display on the left\",\n formType: FORM_TYPES.icon,\n propType: PROP_TYPES.ASSET,\n defaultValue: null,\n editable: true,\n required: false,\n },\n leftIconMode: {\n group: GROUPS.basic,\n label: \"Left icon mode\",\n description:\n \"The mode of the icon to display on the left. 'inset' or 'outset'.\",\n formType: FORM_TYPES.flatArray,\n propType: PROP_TYPES.STRING,\n defaultValue: \"inset\",\n options: [\"inset\", \"outset\"],\n editable: true,\n required: true,\n },\n rightIconName: {\n group: GROUPS.basic,\n label: \"Right icon name\",\n description: \"The icon to display on the right\",\n formType: FORM_TYPES.icon,\n propType: PROP_TYPES.ASSET,\n defaultValue: null,\n editable: true,\n required: false,\n },\n fieldName: {\n ...FIELD_NAME,\n defaultValue: \"pickerValue\",\n handlerPropName: \"onValueChange\",\n },\n};\n\nconst SEED_DATA_TRIGGERS = [Triggers.OnValueChange];\nexport const SEED_DATA = [\n {\n name: \"Picker\",\n tag: \"Picker\",\n description: \"A component used to pick a value from a set of options\",\n category: COMPONENT_TYPES.input,\n preview_image_url: \"{CLOUDINARY_URL}/Picker.png\",\n supports_list_render: false,\n triggers: SEED_DATA_TRIGGERS,\n props: {\n ...SEED_DATA_PROPS,\n type: {\n label: \"Appearance\",\n description: \"Type of Picker\",\n formType: FORM_TYPES.flatArray,\n propType: PROP_TYPES.STRING,\n defaultValue: \"solid\",\n options: [\"solid\", \"underline\"],\n editable: true,\n required: true,\n group: GROUPS.basic,\n },\n },\n layout: {},\n },\n];\n"]}
@@ -1,5 +1,5 @@
1
1
  import { StyleSheet } from "react-native";
2
- import { isString, isNumber, pick, pickBy, identity } from "lodash";
2
+ import { isString, isNumber } from "lodash";
3
3
  export function extractStyles(style) {
4
4
  const {
5
5
  color,
@@ -33,17 +33,6 @@ export function extractStyles(style) {
33
33
  textStyles
34
34
  };
35
35
  }
36
- export const borderStyleNames = ["borderRadius", "borderBottomColor", "borderBottomEndRadius", "borderBottomLeftRadius", "borderBottomRightRadius", "borderBottomStartRadius", "borderBottomWidth", "borderColor", "borderEndColor", "borderLeftColor", "borderLeftWidth", "borderRadius", "borderRightColor", "borderRightWidth", "borderStartColor", "borderStyle", "borderTopColor", "borderTopEndRadius", "borderTopLeftRadius", "borderTopRightRadius", "borderTopStartRadius", "borderTopWidth", "borderWidth"];
37
- export const marginStyleNames = ["margin", "marginBottom", "marginEnd", "marginHorizontal", "marginLeft", "marginRight", "marginStart", "marginTop", "marginVertical"];
38
- export function extractBorderAndMarginStyles(style, additionalBorderStyles, additionalMarginStyles) {
39
- const flatStyle = StyleSheet.flatten(style || {});
40
- const borderStyles = pickBy(pick(flatStyle, [...borderStyleNames, ...(additionalBorderStyles ? additionalBorderStyles : [])]), identity);
41
- const marginStyles = pickBy(pick(flatStyle, [...marginStyleNames, ...(additionalMarginStyles ? additionalMarginStyles : [])]), identity);
42
- return {
43
- borderStyles,
44
- marginStyles
45
- };
46
- }
47
36
  /**
48
37
  * Merges a style object on top of another style object. In React Native,
49
38
  * keys with undefined values in a style object will still override styles
@@ -1 +1 @@
1
- {"version":3,"sources":["utilities.ts"],"names":["StyleSheet","isString","isNumber","pick","pickBy","identity","extractStyles","style","color","fontFamily","fontWeight","fontSize","lineHeight","letterSpacing","textTransform","textAlign","textDecorationLine","textDecorationColor","textDecorationStyle","viewStyles","flatten","textStyles","borderStyleNames","marginStyleNames","extractBorderAndMarginStyles","additionalBorderStyles","additionalMarginStyles","flatStyle","borderStyles","marginStyles","applyStyles","baseStyles","stylesToApply","flattenedStyles","key","value","Object","entries","getValueForRadioButton","String","Error"],"mappings":"AAAA,SAASA,UAAT,QAAiD,cAAjD;AACA,SAASC,QAAT,EAAmBC,QAAnB,EAA6BC,IAA7B,EAAmCC,MAAnC,EAA2CC,QAA3C,QAA2D,QAA3D;AAEA,OAAO,SAASC,aAAT,CAAuBC,KAAvB,EAA8C;AACnD,QAAM;AACJC,IAAAA,KADI;AAEJC,IAAAA,UAFI;AAGJC,IAAAA,UAHI;AAIJC,IAAAA,QAJI;AAKJC,IAAAA,UALI;AAMJC,IAAAA,aANI;AAOJC,IAAAA,aAPI;AAQJC,IAAAA,SARI;AASJC,IAAAA,kBATI;AAUJC,IAAAA,mBAVI;AAWJC,IAAAA,mBAXI;AAYJ,OAAGC;AAZC,MAaFnB,UAAU,CAACoB,OAAX,CAAmBb,KAAK,IAAI,EAA5B,CAbJ;AAeA,QAAMc,UAAqB,GAAG;AAC5Bb,IAAAA,KAD4B;AAE5BC,IAAAA,UAF4B;AAG5BC,IAAAA,UAH4B;AAI5BC,IAAAA,QAJ4B;AAK5BC,IAAAA,UAL4B;AAM5BC,IAAAA,aAN4B;AAO5BC,IAAAA,aAP4B;AAQ5BC,IAAAA,SAR4B;AAS5BC,IAAAA,kBAT4B;AAU5BC,IAAAA,mBAV4B;AAW5BC,IAAAA;AAX4B,GAA9B;AAcA,SAAO;AAAEC,IAAAA,UAAF;AAAcE,IAAAA;AAAd,GAAP;AACD;AAED,OAAO,MAAMC,gBAAgB,GAAG,CAC9B,cAD8B,EAE9B,mBAF8B,EAG9B,uBAH8B,EAI9B,wBAJ8B,EAK9B,yBAL8B,EAM9B,yBAN8B,EAO9B,mBAP8B,EAQ9B,aAR8B,EAS9B,gBAT8B,EAU9B,iBAV8B,EAW9B,iBAX8B,EAY9B,cAZ8B,EAa9B,kBAb8B,EAc9B,kBAd8B,EAe9B,kBAf8B,EAgB9B,aAhB8B,EAiB9B,gBAjB8B,EAkB9B,oBAlB8B,EAmB9B,qBAnB8B,EAoB9B,sBApB8B,EAqB9B,sBArB8B,EAsB9B,gBAtB8B,EAuB9B,aAvB8B,CAAzB;AA0BP,OAAO,MAAMC,gBAAgB,GAAG,CAC9B,QAD8B,EAE9B,cAF8B,EAG9B,WAH8B,EAI9B,kBAJ8B,EAK9B,YAL8B,EAM9B,aAN8B,EAO9B,aAP8B,EAQ9B,WAR8B,EAS9B,gBAT8B,CAAzB;AAYP,OAAO,SAASC,4BAAT,CACLjB,KADK,EAELkB,sBAFK,EAGLC,sBAHK,EAIL;AACA,QAAMC,SAAS,GAAG3B,UAAU,CAACoB,OAAX,CAAmBb,KAAK,IAAI,EAA5B,CAAlB;AAEA,QAAMqB,YAAY,GAAGxB,MAAM,CACzBD,IAAI,CAACwB,SAAD,EAAY,CACd,GAAGL,gBADW,EAEd,IAAIG,sBAAsB,GAAGA,sBAAH,GAA4B,EAAtD,CAFc,CAAZ,CADqB,EAKzBpB,QALyB,CAA3B;AAQA,QAAMwB,YAAY,GAAGzB,MAAM,CACzBD,IAAI,CAACwB,SAAD,EAAY,CACd,GAAGJ,gBADW,EAEd,IAAIG,sBAAsB,GAAGA,sBAAH,GAA4B,EAAtD,CAFc,CAAZ,CADqB,EAKzBrB,QALyB,CAA3B;AAQA,SAAO;AAAEuB,IAAAA,YAAF;AAAgBC,IAAAA;AAAhB,GAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,WAAT,CACLC,UADK,EAELC,aAFK,EAGL;AACA,MAAI,CAACA,aAAL,EAAoB;AAClB;AACD;;AAED,QAAMC,eAAe,GAAGjC,UAAU,CAACoB,OAAX,CAAmBW,UAAnB,CAAxB;;AAEA,OAAK,MAAM,CAACG,GAAD,EAAMC,KAAN,CAAX,IAA2BC,MAAM,CAACC,OAAP,CAAeL,aAAf,CAA3B,EAA0D;AACxD,QAAIG,KAAK,IAAI,IAAb,EAAmB;AACjBF,MAAAA,eAAe,CAACC,GAAD,CAAf,GAAuBC,KAAvB;AACD;AACF;;AAED,SAAOF,eAAP;AACD;AAED,OAAO,SAASK,sBAAT,CAAgCH,KAAhC,EAAwD;AAC7D,MAAIlC,QAAQ,CAACkC,KAAD,CAAZ,EAAqB;AACnB,WAAOA,KAAP;AACD,GAFD,MAEO,IAAIjC,QAAQ,CAACiC,KAAD,CAAZ,EAAqB;AAC1B,WAAOI,MAAM,CAACJ,KAAD,CAAb;AACD,GAFM,MAEA;AACL,UAAM,IAAIK,KAAJ,CAAW,kBAAiBL,KAAM,EAAlC,CAAN;AACD;AACF","sourcesContent":["import { StyleSheet, StyleProp, TextStyle } from \"react-native\";\nimport { isString, isNumber, pick, pickBy, identity } from \"lodash\";\n\nexport function extractStyles(style: StyleProp<any>) {\n const {\n color,\n fontFamily,\n fontWeight,\n fontSize,\n lineHeight,\n letterSpacing,\n textTransform,\n textAlign,\n textDecorationLine,\n textDecorationColor,\n textDecorationStyle,\n ...viewStyles\n } = StyleSheet.flatten(style || {});\n\n const textStyles: TextStyle = {\n color,\n fontFamily,\n fontWeight,\n fontSize,\n lineHeight,\n letterSpacing,\n textTransform,\n textAlign,\n textDecorationLine,\n textDecorationColor,\n textDecorationStyle,\n };\n\n return { viewStyles, textStyles };\n}\n\nexport const borderStyleNames = [\n \"borderRadius\",\n \"borderBottomColor\",\n \"borderBottomEndRadius\",\n \"borderBottomLeftRadius\",\n \"borderBottomRightRadius\",\n \"borderBottomStartRadius\",\n \"borderBottomWidth\",\n \"borderColor\",\n \"borderEndColor\",\n \"borderLeftColor\",\n \"borderLeftWidth\",\n \"borderRadius\",\n \"borderRightColor\",\n \"borderRightWidth\",\n \"borderStartColor\",\n \"borderStyle\",\n \"borderTopColor\",\n \"borderTopEndRadius\",\n \"borderTopLeftRadius\",\n \"borderTopRightRadius\",\n \"borderTopStartRadius\",\n \"borderTopWidth\",\n \"borderWidth\",\n];\n\nexport const marginStyleNames = [\n \"margin\",\n \"marginBottom\",\n \"marginEnd\",\n \"marginHorizontal\",\n \"marginLeft\",\n \"marginRight\",\n \"marginStart\",\n \"marginTop\",\n \"marginVertical\",\n];\n\nexport function extractBorderAndMarginStyles(\n style: StyleProp<any>,\n additionalBorderStyles?: string[],\n additionalMarginStyles?: string[]\n) {\n const flatStyle = StyleSheet.flatten(style || {});\n\n const borderStyles = pickBy(\n pick(flatStyle, [\n ...borderStyleNames,\n ...(additionalBorderStyles ? additionalBorderStyles : []),\n ]),\n identity\n );\n\n const marginStyles = pickBy(\n pick(flatStyle, [\n ...marginStyleNames,\n ...(additionalMarginStyles ? additionalMarginStyles : []),\n ]),\n identity\n );\n\n return { borderStyles, marginStyles };\n}\n\n/**\n * Merges a style object on top of another style object. In React Native,\n * keys with undefined values in a style object will still override styles\n * that appear earlier in a sequence. This avoids that problem.\n *\n * This lets us avoid the `...(something ? { something } : {})` pattern.\n * There doesn't seem to be a better way to do this. These all seem to not\n * work (i.e. they all result in `{ color: undefined }`:\n * `const mergedStyles = [{ color: \"red\" }, { color: undefined }]`\n * `const mergedStyles = StyleSheet.compose({ color: \"red\" }, { color: undefined })`\n * `const mergedStyles = StyleSheet.flatten([{ color: \"red\" }, { color: undefined }])`\n */\nexport function applyStyles(\n baseStyles: Array<StyleProp<any>>,\n stylesToApply: StyleProp<any> | undefined\n) {\n if (!stylesToApply) {\n return;\n }\n\n const flattenedStyles = StyleSheet.flatten(baseStyles);\n\n for (const [key, value] of Object.entries(stylesToApply)) {\n if (value != null) {\n flattenedStyles[key] = value;\n }\n }\n\n return flattenedStyles;\n}\n\nexport function getValueForRadioButton(value: string | number) {\n if (isString(value)) {\n return value;\n } else if (isNumber(value)) {\n return String(value);\n } else {\n throw new Error(`Invalid value: ${value}`);\n }\n}\n"]}
1
+ {"version":3,"sources":["utilities.ts"],"names":["StyleSheet","isString","isNumber","extractStyles","style","color","fontFamily","fontWeight","fontSize","lineHeight","letterSpacing","textTransform","textAlign","textDecorationLine","textDecorationColor","textDecorationStyle","viewStyles","flatten","textStyles","applyStyles","baseStyles","stylesToApply","flattenedStyles","key","value","Object","entries","getValueForRadioButton","String","Error"],"mappings":"AAAA,SAASA,UAAT,QAAiD,cAAjD;AACA,SAASC,QAAT,EAAmBC,QAAnB,QAAmC,QAAnC;AAEA,OAAO,SAASC,aAAT,CAAuBC,KAAvB,EAA8C;AACnD,QAAM;AACJC,IAAAA,KADI;AAEJC,IAAAA,UAFI;AAGJC,IAAAA,UAHI;AAIJC,IAAAA,QAJI;AAKJC,IAAAA,UALI;AAMJC,IAAAA,aANI;AAOJC,IAAAA,aAPI;AAQJC,IAAAA,SARI;AASJC,IAAAA,kBATI;AAUJC,IAAAA,mBAVI;AAWJC,IAAAA,mBAXI;AAYJ,OAAGC;AAZC,MAaFhB,UAAU,CAACiB,OAAX,CAAmBb,KAAK,IAAI,EAA5B,CAbJ;AAeA,QAAMc,UAAqB,GAAG;AAC5Bb,IAAAA,KAD4B;AAE5BC,IAAAA,UAF4B;AAG5BC,IAAAA,UAH4B;AAI5BC,IAAAA,QAJ4B;AAK5BC,IAAAA,UAL4B;AAM5BC,IAAAA,aAN4B;AAO5BC,IAAAA,aAP4B;AAQ5BC,IAAAA,SAR4B;AAS5BC,IAAAA,kBAT4B;AAU5BC,IAAAA,mBAV4B;AAW5BC,IAAAA;AAX4B,GAA9B;AAcA,SAAO;AAAEC,IAAAA,UAAF;AAAcE,IAAAA;AAAd,GAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,WAAT,CACLC,UADK,EAELC,aAFK,EAGL;AACA,MAAI,CAACA,aAAL,EAAoB;AAClB;AACD;;AAED,QAAMC,eAAe,GAAGtB,UAAU,CAACiB,OAAX,CAAmBG,UAAnB,CAAxB;;AAEA,OAAK,MAAM,CAACG,GAAD,EAAMC,KAAN,CAAX,IAA2BC,MAAM,CAACC,OAAP,CAAeL,aAAf,CAA3B,EAA0D;AACxD,QAAIG,KAAK,IAAI,IAAb,EAAmB;AACjBF,MAAAA,eAAe,CAACC,GAAD,CAAf,GAAuBC,KAAvB;AACD;AACF;;AAED,SAAOF,eAAP;AACD;AAED,OAAO,SAASK,sBAAT,CAAgCH,KAAhC,EAAwD;AAC7D,MAAIvB,QAAQ,CAACuB,KAAD,CAAZ,EAAqB;AACnB,WAAOA,KAAP;AACD,GAFD,MAEO,IAAItB,QAAQ,CAACsB,KAAD,CAAZ,EAAqB;AAC1B,WAAOI,MAAM,CAACJ,KAAD,CAAb;AACD,GAFM,MAEA;AACL,UAAM,IAAIK,KAAJ,CAAW,kBAAiBL,KAAM,EAAlC,CAAN;AACD;AACF","sourcesContent":["import { StyleSheet, StyleProp, TextStyle } from \"react-native\";\nimport { isString, isNumber } from \"lodash\";\n\nexport function extractStyles(style: StyleProp<any>) {\n const {\n color,\n fontFamily,\n fontWeight,\n fontSize,\n lineHeight,\n letterSpacing,\n textTransform,\n textAlign,\n textDecorationLine,\n textDecorationColor,\n textDecorationStyle,\n ...viewStyles\n } = StyleSheet.flatten(style || {});\n\n const textStyles: TextStyle = {\n color,\n fontFamily,\n fontWeight,\n fontSize,\n lineHeight,\n letterSpacing,\n textTransform,\n textAlign,\n textDecorationLine,\n textDecorationColor,\n textDecorationStyle,\n };\n\n return { viewStyles, textStyles };\n}\n\n/**\n * Merges a style object on top of another style object. In React Native,\n * keys with undefined values in a style object will still override styles\n * that appear earlier in a sequence. This avoids that problem.\n *\n * This lets us avoid the `...(something ? { something } : {})` pattern.\n * There doesn't seem to be a better way to do this. These all seem to not\n * work (i.e. they all result in `{ color: undefined }`:\n * `const mergedStyles = [{ color: \"red\" }, { color: undefined }]`\n * `const mergedStyles = StyleSheet.compose({ color: \"red\" }, { color: undefined })`\n * `const mergedStyles = StyleSheet.flatten([{ color: \"red\" }, { color: undefined }])`\n */\nexport function applyStyles(\n baseStyles: Array<StyleProp<any>>,\n stylesToApply: StyleProp<any> | undefined\n) {\n if (!stylesToApply) {\n return;\n }\n\n const flattenedStyles = StyleSheet.flatten(baseStyles);\n\n for (const [key, value] of Object.entries(stylesToApply)) {\n if (value != null) {\n flattenedStyles[key] = value;\n }\n }\n\n return flattenedStyles;\n}\n\nexport function getValueForRadioButton(value: string | number) {\n if (isString(value)) {\n return value;\n } else if (isNumber(value)) {\n return String(value);\n } else {\n throw new Error(`Invalid value: ${value}`);\n }\n}\n"]}
@@ -1,35 +1,11 @@
1
1
  import * as React from "react";
2
- import { ViewStyle, StyleProp } from "react-native";
3
- import type { Theme } from "../../styles/DefaultTheme";
4
- import type { IconSlot } from "../../interfaces/Icon";
5
- export interface PickerOption {
6
- value: string;
7
- label: string;
8
- }
9
- export declare type PickerProps = {
10
- error?: any;
2
+ import { PickerComponentProps, PickerOption } from "./PickerTypes";
3
+ declare type Props = PickerComponentProps & {
11
4
  placeholder?: string;
12
- disabled?: boolean;
13
- style?: StyleProp<ViewStyle> & {
14
- height?: number;
15
- };
16
5
  value?: string;
17
6
  options: PickerOption[] | string[];
18
- onValueChange: (value: string, index: number) => void;
19
- defaultValue?: string;
20
- assistiveText?: string;
21
- label?: string;
22
- iconColor?: string;
23
- iconSize?: number;
24
- leftIconMode?: "inset" | "outset";
25
- leftIconName?: string;
26
- placeholderTextColor?: string;
27
- rightIconName?: string;
28
- type?: "solid" | "underline";
29
- theme: Theme;
30
- Icon: IconSlot["Icon"];
31
7
  };
32
- declare const _default: React.ComponentType<import("@draftbit/react-theme-provider").$Without<PickerProps, "theme"> & {
8
+ declare const _default: React.ComponentType<import("@draftbit/react-theme-provider").$Without<Props, "theme"> & {
33
9
  theme?: import("@draftbit/react-theme-provider").$DeepPartial<any> | undefined;
34
- }> & import("@draftbit/react-theme-provider/typings/hoist-non-react-statics").NonReactStatics<React.ComponentType<PickerProps> & React.FC<PickerProps>, {}>;
10
+ }> & import("@draftbit/react-theme-provider/typings/hoist-non-react-statics").NonReactStatics<React.ComponentType<Props> & React.FC<Props>, {}>;
35
11
  export default _default;
@@ -1,13 +1,6 @@
1
1
  import * as React from "react";
2
- import type { IconSlot } from "../../interfaces/Icon";
3
- import { PickerOption } from "./Picker";
4
- interface PickerComponentProps {
5
- Icon: IconSlot["Icon"];
6
- androidPickerRef: React.RefObject<any>;
7
- togglePickerVisible: () => void;
8
- pickerOptions: PickerOption[];
9
- internalValue: string | undefined;
10
- handleValueChange: (newValue: string, itemIndex: number) => void;
11
- }
12
- export declare const PickerComponent: React.FC<PickerComponentProps>;
13
- export {};
2
+ import { PickerComponentProps } from "./PickerTypes";
3
+ declare const _default: React.ComponentType<import("@draftbit/react-theme-provider").$Without<PickerComponentProps, "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<PickerComponentProps> & React.FC<PickerComponentProps>, {}>;
6
+ export default _default;
@@ -1,13 +1,7 @@
1
1
  import * as React from "react";
2
+ import { PickerComponentProps } from "./PickerTypes";
2
3
  import type { IconSlot } from "../../interfaces/Icon";
3
- import { PickerOption } from "./Picker";
4
- interface PickerComponentProps {
5
- Icon: IconSlot["Icon"];
6
- androidPickerRef: React.RefObject<any>;
7
- togglePickerVisible: () => void;
8
- pickerOptions: PickerOption[];
9
- internalValue: string | undefined;
10
- handleValueChange: (newValue: string, itemIndex: number) => void;
11
- }
12
- export declare const PickerComponent: React.FC<PickerComponentProps>;
13
- export {};
4
+ declare const _default: React.ComponentType<import("@draftbit/react-theme-provider").$Without<PickerComponentProps & IconSlot, "theme"> & {
5
+ theme?: import("@draftbit/react-theme-provider").$DeepPartial<any> | undefined;
6
+ }> & import("@draftbit/react-theme-provider/typings/hoist-non-react-statics").NonReactStatics<React.ComponentType<PickerComponentProps & IconSlot> & React.FC<PickerComponentProps & IconSlot>, {}>;
7
+ export default _default;
@@ -1,13 +1,6 @@
1
1
  import * as React from "react";
2
- import type { IconSlot } from "../../interfaces/Icon";
3
- import { PickerOption } from "./Picker";
4
- interface PickerComponentProps {
5
- Icon: IconSlot["Icon"];
6
- androidPickerRef: React.RefObject<any>;
7
- togglePickerVisible: () => void;
8
- pickerOptions: PickerOption[];
9
- internalValue: string | undefined;
10
- handleValueChange: (newValue: string, itemIndex: number) => void;
11
- }
12
- export declare const PickerComponent: React.FC<PickerComponentProps>;
13
- export {};
2
+ import { PickerComponentProps } from "./PickerTypes";
3
+ declare const _default: React.ComponentType<import("@draftbit/react-theme-provider").$Without<PickerComponentProps, "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<PickerComponentProps> & React.FC<PickerComponentProps>, {}>;
6
+ export default _default;
@@ -0,0 +1,18 @@
1
+ import { ViewStyle } from "react-native";
2
+ import { StyleProp } from "react-native";
3
+ import { Props as TextFieldProps } from "../TextField";
4
+ export interface PickerOption {
5
+ value: string;
6
+ label: string;
7
+ }
8
+ export interface PickerComponentProps extends TextFieldProps {
9
+ style?: StyleProp<ViewStyle> & {
10
+ height?: number;
11
+ };
12
+ options: PickerOption[];
13
+ placeholder?: string;
14
+ selectedValue: string;
15
+ disabled?: boolean;
16
+ onValueChange?: (value: string, index: number) => void;
17
+ defaultValue?: string;
18
+ }
@@ -18,27 +18,6 @@ export declare const SEED_DATA: {
18
18
  required: boolean;
19
19
  group: string;
20
20
  };
21
- iconSize: {
22
- group: string;
23
- label: string;
24
- description: string;
25
- editable: boolean;
26
- required: boolean;
27
- formType: string;
28
- propType: string;
29
- defaultValue: number;
30
- options: number[];
31
- };
32
- iconColor: {
33
- group: string;
34
- label: string;
35
- description: string;
36
- editable: boolean;
37
- required: boolean;
38
- defaultValue: null;
39
- formType: string;
40
- propType: string;
41
- };
42
21
  label: {
43
22
  group: string;
44
23
  label: string;
@@ -1,15 +1,8 @@
1
- /// <reference types="lodash" />
2
1
  import { StyleProp, TextStyle } from "react-native";
3
2
  export declare function extractStyles(style: StyleProp<any>): {
4
3
  viewStyles: any;
5
4
  textStyles: TextStyle;
6
5
  };
7
- export declare const borderStyleNames: string[];
8
- export declare const marginStyleNames: string[];
9
- export declare function extractBorderAndMarginStyles(style: StyleProp<any>, additionalBorderStyles?: string[], additionalMarginStyles?: string[]): {
10
- borderStyles: import("lodash").Dictionary<any>;
11
- marginStyles: import("lodash").Dictionary<any>;
12
- };
13
6
  /**
14
7
  * Merges a style object on top of another style object. In React Native,
15
8
  * keys with undefined values in a style object will still override styles
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@draftbit/core",
3
- "version": "44.1.13-9a8dff.0+9a8dff48",
3
+ "version": "44.1.13-c10e64.0+c10e64d5",
4
4
  "description": "Core (non-native) Components",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -79,5 +79,5 @@
79
79
  ]
80
80
  ]
81
81
  },
82
- "gitHead": "9a8dff4887f86da07f5e3e3118ea2adf971da02b"
82
+ "gitHead": "c10e64d581001d8dd12df8eaa59a80bff6ceb0e4"
83
83
  }
@@ -1,51 +1,29 @@
1
1
  import * as React from "react";
2
- import { View, StyleSheet, Text, Dimensions, } from "react-native";
3
- import { omit, pickBy, identity, isObject } from "lodash";
4
- // import { SafeAreaView } from "react-native-safe-area-context";
5
- // import { Picker as NativePicker } from "@react-native-picker/picker";
6
2
  import { withTheme } from "../../theming";
7
- // import Portal from "../Portal/Portal";
8
- // import Button from "../DeprecatedButton";
9
- import Touchable from "../Touchable";
10
- import { extractStyles, extractBorderAndMarginStyles, borderStyleNames, marginStyleNames, } from "../../utilities";
11
- // @ts-expect-error
12
- import { PickerComponent } from "./PickerComponent";
3
+ //@ts-ignore
4
+ import PickerComponent from "./PickerComponent"; //unable to find file due to using .android/.web/.ios
13
5
  function normalizeOptions(options) {
14
6
  if (options.length === 0) {
15
7
  return [];
16
8
  }
17
- if (typeof options[0] === ("string" || "number")) {
9
+ if (typeof options[0] === "string") {
18
10
  return options.map((option) => ({
19
- label: String(option),
11
+ label: option,
20
12
  value: String(option),
21
13
  }));
22
14
  }
23
- if (isObject(options[0]) &&
24
- options[0].value !== null &&
25
- options[0].label !== null) {
15
+ if (options[0].label && options[0].value) {
26
16
  return options.map((option) => {
27
17
  return {
28
- label: String(option.label),
18
+ label: option.label,
29
19
  value: String(option.value),
30
20
  };
31
21
  });
32
22
  }
33
23
  throw new Error('Picker options must be either an array of strings or array of { "label": string; "value": string; } objects.');
34
24
  }
35
- const { width: deviceWidth, height: deviceHeight } = Dimensions.get("screen");
36
- // const isIos = Platform.OS === "ios";
37
- const unstyledColor = "rgba(165, 173, 183, 1)";
38
- const disabledColor = "rgb(240, 240, 240)";
39
- const errorColor = "rgba(255, 69, 100, 1)";
40
- const Picker = ({ error, options = [], onValueChange, defaultValue, Icon, style, placeholder, value, disabled = false,
41
- // theme,
42
- assistiveText, label, iconColor = unstyledColor, iconSize = 24, leftIconMode = "inset", leftIconName, placeholderTextColor = unstyledColor, rightIconName, type = "solid", }) => {
43
- const androidPickerRef = React.useRef(undefined);
25
+ const Picker = ({ options = [], placeholder, onValueChange: onValueChangeOverride, value, defaultValue, ...props }) => {
44
26
  const [internalValue, setInternalValue] = React.useState(value || defaultValue);
45
- const [pickerVisible, setPickerVisible] = React.useState(false);
46
- const togglePickerVisible = () => {
47
- setPickerVisible(!pickerVisible);
48
- };
49
27
  React.useEffect(() => {
50
28
  if (value != null) {
51
29
  setInternalValue(value);
@@ -56,213 +34,23 @@ assistiveText, label, iconColor = unstyledColor, iconSize = 24, leftIconMode = "
56
34
  setInternalValue(defaultValue);
57
35
  }
58
36
  }, [defaultValue]);
59
- React.useEffect(() => {
60
- if (pickerVisible && androidPickerRef.current) {
61
- androidPickerRef?.current?.focus();
37
+ const onValueChange = React.useCallback((itemValue, itemIndex) => {
38
+ if (placeholder && itemIndex === 0) {
39
+ return;
62
40
  }
63
- }, [pickerVisible, androidPickerRef]);
41
+ onValueChangeOverride &&
42
+ onValueChangeOverride(String(itemValue), itemIndex);
43
+ }, [placeholder, onValueChangeOverride]);
64
44
  const normalizedOptions = normalizeOptions(options);
65
45
  const pickerOptions = placeholder
66
46
  ? [{ value: placeholder, label: placeholder }, ...normalizedOptions]
67
47
  : normalizedOptions;
68
- // const { colors } = theme;
69
- const { viewStyles, textStyles } = extractStyles(style);
70
- const additionalBorderStyles = ["backgroundColor"];
71
- const additionalMarginStyles = [
72
- "bottom",
73
- "height",
74
- "left",
75
- "maxHeight",
76
- "maxWidth",
77
- "minHeight",
78
- "minWidth",
79
- "overflow",
80
- "position",
81
- "right",
82
- "top",
83
- "width",
84
- "zIndex",
85
- ];
86
- const { borderStyles: extractedBorderStyles, marginStyles: extractedMarginStyles, } = extractBorderAndMarginStyles(viewStyles, additionalBorderStyles, additionalMarginStyles);
87
- const borderStyles = {
88
- ...{
89
- ...(type === "solid"
90
- ? {
91
- borderTopLeftRadius: 5,
92
- borderTopRightRadius: 5,
93
- borderBottomRightRadius: 5,
94
- borderBottomLeftRadius: 5,
95
- borderTopWidth: 1,
96
- borderRightWidth: 1,
97
- borderLeftWidth: 1,
98
- }
99
- : {}),
100
- borderBottomWidth: 1,
101
- borderColor: unstyledColor,
102
- borderStyle: "solid",
103
- },
104
- ...extractedBorderStyles,
105
- ...(error ? { borderColor: errorColor } : {}),
106
- ...(disabled
107
- ? { borderColor: "transparent", backgroundColor: disabledColor }
108
- : {}),
109
- };
110
- const marginStyles = {
111
- height: 60,
112
- ...extractedMarginStyles,
113
- };
114
- const stylesWithoutBordersAndMargins = omit(viewStyles, [
115
- ...borderStyleNames,
116
- ...marginStyleNames,
117
- ...additionalBorderStyles,
118
- ...additionalMarginStyles,
119
- ]);
120
- const selectedLabel = internalValue &&
121
- (pickerOptions.find((option) => option.value === internalValue)?.label ??
122
- internalValue);
123
- const labelText = label ? (React.createElement(Text, { style: {
124
- textAlign: textStyles.textAlign,
125
- color: unstyledColor,
126
- fontSize: 12,
127
- paddingBottom: 4,
128
- } }, label)) : null;
129
- const leftIconOutset = leftIconMode === "outset";
130
- const leftIcon = leftIconName ? (React.createElement(Icon, { name: leftIconName, color: disabled ? unstyledColor : iconColor, size: iconSize, style: {
131
- marginRight: 4,
132
- marginLeft: 4,
133
- } })) : null;
134
- const rightIcon = rightIconName ? (React.createElement(Icon, { name: rightIconName, color: disabled ? unstyledColor : iconColor, size: iconSize, style: {
135
- marginRight: -10,
136
- marginLeft: 8,
137
- } })) : null;
138
- const textAlign = textStyles?.textAlign;
139
- const calculateLeftPadding = () => {
140
- if (leftIconOutset) {
141
- if (textAlign === "center") {
142
- return iconSize - Math.abs(8 - iconSize);
143
- }
144
- return iconSize + 8;
145
- }
146
- return 0;
147
- };
148
- const assistiveTextLabel = assistiveText ? (React.createElement(Text, { style: {
149
- textAlign,
150
- width: "100%",
151
- paddingLeft: calculateLeftPadding(),
152
- color: unstyledColor,
153
- fontSize: 12,
154
- paddingTop: 4,
155
- } }, assistiveText)) : null;
156
- const primaryTextStyle = {
157
- color: unstyledColor,
158
- fontSize: 14,
159
- ...pickBy(textStyles, identity),
160
- ...(placeholder === internalValue ? { color: placeholderTextColor } : {}),
161
- ...(disabled ? { color: unstyledColor } : {}),
162
- };
163
48
  const handleValueChange = (newValue, itemIndex) => {
164
- if (!placeholder || itemIndex > 0) {
165
- onValueChange?.(newValue, itemIndex);
166
- }
167
49
  setInternalValue(newValue);
50
+ if (onValueChange) {
51
+ onValueChange(newValue, itemIndex);
52
+ }
168
53
  };
169
- return (
170
- /* marginsContainer */
171
- React.createElement(View, { style: [styles.marginsContainer, marginStyles] },
172
- React.createElement(Touchable, { disabled: disabled, onPress: togglePickerVisible, style: styles.touchableContainer },
173
- React.createElement(View, { pointerEvents: "none", style: [
174
- styles.outsetContainer,
175
- stylesWithoutBordersAndMargins,
176
- !leftIconOutset ? borderStyles : {},
177
- ] },
178
- leftIcon,
179
- React.createElement(View, { style: [
180
- styles.insetContainer,
181
- leftIconOutset ? borderStyles : {},
182
- ] },
183
- React.createElement(View, { style: styles.primaryTextContainer },
184
- labelText,
185
- React.createElement(Text, { style: primaryTextStyle }, String(selectedLabel ?? placeholder))),
186
- rightIcon)),
187
- assistiveTextLabel),
188
- React.createElement(View, null, pickerVisible ? (React.createElement(PickerComponent, { ...{
189
- Icon,
190
- androidPickerRef,
191
- togglePickerVisible,
192
- pickerOptions,
193
- internalValue,
194
- handleValueChange,
195
- } })) : null)));
54
+ return (React.createElement(PickerComponent, { ...props, selectedValue: String(internalValue), placeholder: placeholder, options: pickerOptions, onValueChange: handleValueChange }));
196
55
  };
197
56
  export default withTheme(Picker);
198
- const styles = StyleSheet.create({
199
- marginsContainer: {
200
- alignSelf: "stretch",
201
- alignItems: "center",
202
- width: "100%",
203
- maxWidth: deviceWidth,
204
- },
205
- touchableContainer: {
206
- flex: 1,
207
- height: "100%",
208
- width: "100%",
209
- alignSelf: "stretch",
210
- alignItems: "center",
211
- backgroundColor: "pink", // TODO
212
- },
213
- outsetContainer: {
214
- flex: 1,
215
- height: "100%",
216
- width: "100%",
217
- flexDirection: "row",
218
- alignItems: "center",
219
- justifyContent: "space-between",
220
- },
221
- insetContainer: {
222
- flex: 1,
223
- height: "100%",
224
- width: "100%",
225
- flexDirection: "row",
226
- alignItems: "center",
227
- justifyContent: "space-between",
228
- paddingLeft: 12,
229
- paddingRight: 12,
230
- },
231
- primaryTextContainer: {
232
- flex: 1,
233
- },
234
- iosPicker: {
235
- position: "absolute",
236
- bottom: 0,
237
- left: 0,
238
- right: 0,
239
- flexDirection: "row",
240
- justifyContent: "center",
241
- width: "100%",
242
- maxWidth: deviceWidth,
243
- maxHeight: deviceHeight,
244
- },
245
- iosSafeArea: {
246
- backgroundColor: "white",
247
- flexDirection: "column",
248
- width: "100%",
249
- maxWidth: deviceWidth,
250
- },
251
- iosButton: {
252
- alignSelf: "flex-end",
253
- },
254
- iosNativePicker: {
255
- backgroundColor: "white",
256
- },
257
- nonIosPicker: {
258
- opacity: 0,
259
- position: "absolute",
260
- top: 0,
261
- left: 0,
262
- right: 0,
263
- bottom: 0,
264
- width: "100%",
265
- maxWidth: deviceWidth,
266
- maxHeight: deviceHeight,
267
- },
268
- });