@draftbit/core 42.2.0 → 42.2.3-428e28.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 (63) hide show
  1. package/lib/commonjs/components/ActionSheet/ActionSheet.js +1 -1
  2. package/lib/commonjs/components/ActionSheet/ActionSheet.js.map +1 -1
  3. package/lib/commonjs/components/DeprecatedFAB.js +15 -4
  4. package/lib/commonjs/components/DeprecatedFAB.js.map +1 -1
  5. package/lib/commonjs/components/Picker/Picker.js +11 -6
  6. package/lib/commonjs/components/Picker/Picker.js.map +1 -1
  7. package/lib/commonjs/components/Picker/PickerComponent.android.js +24 -9
  8. package/lib/commonjs/components/Picker/PickerComponent.android.js.map +1 -1
  9. package/lib/commonjs/components/Picker/PickerComponent.ios.js +9 -2
  10. package/lib/commonjs/components/Picker/PickerComponent.ios.js.map +1 -1
  11. package/lib/commonjs/components/Picker/PickerComponent.web.js +8 -5
  12. package/lib/commonjs/components/Picker/PickerComponent.web.js.map +1 -1
  13. package/lib/commonjs/components/StarRating.js +1 -0
  14. package/lib/commonjs/components/StarRating.js.map +1 -1
  15. package/lib/commonjs/components/Swiper/Swiper.js +12 -7
  16. package/lib/commonjs/components/Swiper/Swiper.js.map +1 -1
  17. package/lib/commonjs/components/TextField.js +5 -2
  18. package/lib/commonjs/components/TextField.js.map +1 -1
  19. package/lib/commonjs/mappings/TextArea.js +47 -0
  20. package/lib/commonjs/mappings/TextArea.js.map +1 -0
  21. package/lib/commonjs/mappings/TextInput.js +1 -1
  22. package/lib/commonjs/mappings/TextInput.js.map +1 -1
  23. package/lib/module/components/ActionSheet/ActionSheet.js +1 -1
  24. package/lib/module/components/ActionSheet/ActionSheet.js.map +1 -1
  25. package/lib/module/components/Picker/Picker.js +11 -6
  26. package/lib/module/components/Picker/Picker.js.map +1 -1
  27. package/lib/module/components/Picker/PickerComponent.android.js +4 -3
  28. package/lib/module/components/Picker/PickerComponent.android.js.map +1 -1
  29. package/lib/module/components/Picker/PickerComponent.ios.js +9 -2
  30. package/lib/module/components/Picker/PickerComponent.ios.js.map +1 -1
  31. package/lib/module/components/Picker/PickerComponent.web.js +6 -4
  32. package/lib/module/components/Picker/PickerComponent.web.js.map +1 -1
  33. package/lib/module/components/StarRating.js +2 -1
  34. package/lib/module/components/StarRating.js.map +1 -1
  35. package/lib/module/components/Swiper/Swiper.js +14 -8
  36. package/lib/module/components/Swiper/Swiper.js.map +1 -1
  37. package/lib/module/components/TextField.js +6 -3
  38. package/lib/module/components/TextField.js.map +1 -1
  39. package/lib/module/mappings/TextArea.js +38 -0
  40. package/lib/module/mappings/TextArea.js.map +1 -0
  41. package/lib/module/mappings/TextInput.js +2 -2
  42. package/lib/module/mappings/TextInput.js.map +1 -1
  43. package/lib/typescript/src/components/Swiper/Swiper.d.ts +4 -0
  44. package/lib/typescript/src/components/TextField.d.ts +12 -32
  45. package/package.json +6 -5
  46. package/src/components/ActionSheet/ActionSheet.js +1 -1
  47. package/src/components/ActionSheet/ActionSheet.tsx +1 -1
  48. package/src/components/Picker/Picker.js +12 -6
  49. package/src/components/Picker/Picker.tsx +12 -6
  50. package/src/components/Picker/PickerComponent.android.js +3 -3
  51. package/src/components/Picker/PickerComponent.android.tsx +3 -5
  52. package/src/components/Picker/PickerComponent.ios.js +9 -3
  53. package/src/components/Picker/PickerComponent.ios.tsx +12 -5
  54. package/src/components/Picker/PickerComponent.web.js +5 -4
  55. package/src/components/Picker/PickerComponent.web.tsx +5 -6
  56. package/src/components/StarRating.js +2 -1
  57. package/src/components/StarRating.tsx +2 -0
  58. package/src/components/Swiper/Swiper.js +14 -8
  59. package/src/components/Swiper/Swiper.tsx +14 -8
  60. package/src/components/TextField.js +6 -3
  61. package/src/components/TextField.tsx +6 -2
  62. package/src/mappings/TextArea.js +46 -0
  63. package/src/mappings/TextInput.js +2 -1
@@ -119,6 +119,7 @@ const SEED_DATA = {
119
119
  step: 1
120
120
  }),
121
121
  rating: (0, _types.createStaticNumberProp)({
122
+ group: _types.GROUPS.data,
122
123
  label: "Rating"
123
124
  }),
124
125
  isEditable: (0, _types.createStaticBoolProp)({
@@ -1 +1 @@
1
- {"version":3,"sources":["StarRating.tsx"],"names":["StarRating","Icon","starSize","maxStars","rating","isEditable","activeColor","inactiveColor","style","onPress","rest","localRating","setLocalRating","React","useState","useEffect","ratingHandler","useCallback","r","ratingRounded","Math","round","styles","container","Array","map","_","i","display","touchContainer","pressable","StyleSheet","create","flexDirection","alignItems","position","top","right","left","bottom","zIndex","flex","height","width","SEED_DATA","name","tag","description","category","COMPONENT_TYPES","button","triggers","Triggers","OnPress","props","label","defaultValue","min","max","step","fieldName","handlerPropName","valuePropName"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport {\n View,\n StyleSheet,\n StyleProp,\n ViewStyle,\n Pressable,\n} from \"react-native\";\nimport { withTheme } from \"../theming\";\nimport type { Theme } from \"../styles/DefaultTheme\";\nimport type { IconSlot } from \"../interfaces/Icon\";\n\nimport {\n COMPONENT_TYPES,\n createStaticNumberProp,\n createFieldNameProp,\n createStaticBoolProp,\n Triggers,\n createColorProp,\n} from \"@draftbit/types\";\n\ntype Props = {\n starSize?: number;\n maxStars?: number;\n rating?: number;\n isEditable?: boolean;\n activeColor?: string;\n inactiveColor?: string;\n theme: Theme;\n style?: StyleProp<ViewStyle>;\n onPress?: (newValue: number) => void;\n} & IconSlot;\n\nconst StarRating: React.FC<Props> = ({\n Icon,\n starSize = 16,\n maxStars = 5,\n rating = 0,\n isEditable = false,\n activeColor,\n inactiveColor,\n style,\n onPress,\n ...rest\n}) => {\n const [localRating, setLocalRating] = React.useState(rating);\n\n React.useEffect(() => {\n setLocalRating(rating);\n }, [rating]);\n\n const ratingHandler = React.useCallback(\n (r) => {\n setLocalRating(r);\n !!onPress && onPress(r);\n },\n [onPress]\n );\n\n const ratingRounded = Math.round(localRating * 2) / 2;\n\n return (\n <View style={[styles.container, style]} {...rest}>\n {[...Array(maxStars)].map((_, i) => (\n <View key={i} style={{ display: \"flex\" }}>\n <Icon\n name={\n ratingRounded - i === 0.5\n ? \"MaterialIcons/star-half\"\n : \"MaterialIcons/star\"\n }\n size={starSize}\n color={ratingRounded > i ? activeColor : inactiveColor}\n />\n {isEditable && (\n <View style={styles.touchContainer}>\n <Pressable\n style={styles.pressable}\n onPress={() => ratingHandler(i + 0.5)}\n />\n <Pressable\n style={styles.pressable}\n onPress={() => ratingHandler(i + 1)}\n />\n </View>\n )}\n </View>\n ))}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flexDirection: \"row\",\n alignItems: \"center\",\n },\n touchContainer: {\n display: \"flex\",\n flexDirection: \"row\",\n position: \"absolute\",\n top: 0,\n right: 0,\n left: 0,\n bottom: 0,\n zIndex: 1,\n },\n pressable: {\n flex: 1,\n height: \"100%\",\n width: \"50%\",\n },\n});\n\nexport default withTheme(StarRating);\n\nexport const SEED_DATA = {\n name: \"Star Rating\",\n tag: \"StarRating\",\n description: \"A star rating component\",\n category: COMPONENT_TYPES.button,\n triggers: [Triggers.OnPress],\n props: {\n starSize: createStaticNumberProp({\n label: \"Star size\",\n description: \"Size of each individual star\",\n defaultValue: 16,\n min: 8,\n max: 36,\n step: 1,\n }),\n fieldName: createFieldNameProp({\n defaultValue: \"ratingValue\", // this is the name of the variable declared on the screen in Draftbit\n handlerPropName: \"onPress\", // the change handler prop in this component\n valuePropName: \"rating\", // the value prop in this component\n }),\n maxStars: createStaticNumberProp({\n label: \"Max stars\",\n description: \"The max number of stars\",\n defaultValue: 5,\n min: 0,\n max: 10,\n step: 1,\n }),\n rating: createStaticNumberProp({\n label: \"Rating\",\n }),\n isEditable: createStaticBoolProp({\n label: \"Editable\",\n }),\n activeColor: createColorProp({\n label: \"Active Color\",\n defaultValue: \"primary\",\n }),\n inactiveColor: createColorProp({\n label: \"Inactive Color\",\n defaultValue: \"divider\",\n }),\n },\n};\n"]}
1
+ {"version":3,"sources":["StarRating.tsx"],"names":["StarRating","Icon","starSize","maxStars","rating","isEditable","activeColor","inactiveColor","style","onPress","rest","localRating","setLocalRating","React","useState","useEffect","ratingHandler","useCallback","r","ratingRounded","Math","round","styles","container","Array","map","_","i","display","touchContainer","pressable","StyleSheet","create","flexDirection","alignItems","position","top","right","left","bottom","zIndex","flex","height","width","SEED_DATA","name","tag","description","category","COMPONENT_TYPES","button","triggers","Triggers","OnPress","props","label","defaultValue","min","max","step","fieldName","handlerPropName","valuePropName","group","GROUPS","data"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport {\n View,\n StyleSheet,\n StyleProp,\n ViewStyle,\n Pressable,\n} from \"react-native\";\nimport { withTheme } from \"../theming\";\nimport type { Theme } from \"../styles/DefaultTheme\";\nimport type { IconSlot } from \"../interfaces/Icon\";\n\nimport {\n COMPONENT_TYPES,\n createStaticNumberProp,\n createFieldNameProp,\n createStaticBoolProp,\n Triggers,\n createColorProp,\n GROUPS,\n} from \"@draftbit/types\";\n\ntype Props = {\n starSize?: number;\n maxStars?: number;\n rating?: number;\n isEditable?: boolean;\n activeColor?: string;\n inactiveColor?: string;\n theme: Theme;\n style?: StyleProp<ViewStyle>;\n onPress?: (newValue: number) => void;\n} & IconSlot;\n\nconst StarRating: React.FC<Props> = ({\n Icon,\n starSize = 16,\n maxStars = 5,\n rating = 0,\n isEditable = false,\n activeColor,\n inactiveColor,\n style,\n onPress,\n ...rest\n}) => {\n const [localRating, setLocalRating] = React.useState(rating);\n\n React.useEffect(() => {\n setLocalRating(rating);\n }, [rating]);\n\n const ratingHandler = React.useCallback(\n (r) => {\n setLocalRating(r);\n !!onPress && onPress(r);\n },\n [onPress]\n );\n\n const ratingRounded = Math.round(localRating * 2) / 2;\n\n return (\n <View style={[styles.container, style]} {...rest}>\n {[...Array(maxStars)].map((_, i) => (\n <View key={i} style={{ display: \"flex\" }}>\n <Icon\n name={\n ratingRounded - i === 0.5\n ? \"MaterialIcons/star-half\"\n : \"MaterialIcons/star\"\n }\n size={starSize}\n color={ratingRounded > i ? activeColor : inactiveColor}\n />\n {isEditable && (\n <View style={styles.touchContainer}>\n <Pressable\n style={styles.pressable}\n onPress={() => ratingHandler(i + 0.5)}\n />\n <Pressable\n style={styles.pressable}\n onPress={() => ratingHandler(i + 1)}\n />\n </View>\n )}\n </View>\n ))}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flexDirection: \"row\",\n alignItems: \"center\",\n },\n touchContainer: {\n display: \"flex\",\n flexDirection: \"row\",\n position: \"absolute\",\n top: 0,\n right: 0,\n left: 0,\n bottom: 0,\n zIndex: 1,\n },\n pressable: {\n flex: 1,\n height: \"100%\",\n width: \"50%\",\n },\n});\n\nexport default withTheme(StarRating);\n\nexport const SEED_DATA = {\n name: \"Star Rating\",\n tag: \"StarRating\",\n description: \"A star rating component\",\n category: COMPONENT_TYPES.button,\n triggers: [Triggers.OnPress],\n props: {\n starSize: createStaticNumberProp({\n label: \"Star size\",\n description: \"Size of each individual star\",\n defaultValue: 16,\n min: 8,\n max: 36,\n step: 1,\n }),\n fieldName: createFieldNameProp({\n defaultValue: \"ratingValue\", // this is the name of the variable declared on the screen in Draftbit\n handlerPropName: \"onPress\", // the change handler prop in this component\n valuePropName: \"rating\", // the value prop in this component\n }),\n maxStars: createStaticNumberProp({\n label: \"Max stars\",\n description: \"The max number of stars\",\n defaultValue: 5,\n min: 0,\n max: 10,\n step: 1,\n }),\n rating: createStaticNumberProp({\n group: GROUPS.data,\n label: \"Rating\",\n }),\n isEditable: createStaticBoolProp({\n label: \"Editable\",\n }),\n activeColor: createColorProp({\n label: \"Active Color\",\n defaultValue: \"primary\",\n }),\n inactiveColor: createColorProp({\n label: \"Inactive Color\",\n defaultValue: \"divider\",\n }),\n },\n};\n"]}
@@ -15,12 +15,6 @@ var _reactNativeWebSwiper = _interopRequireDefault(require("react-native-web-swi
15
15
 
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
17
 
18
- const styles = _reactNative.StyleSheet.create({
19
- wrapper: {
20
- flex: 1
21
- }
22
- });
23
-
24
18
  const Swiper = ({
25
19
  vertical = false,
26
20
  loop = false,
@@ -32,7 +26,7 @@ const Swiper = ({
32
26
  children,
33
27
  style
34
28
  }) => /*#__PURE__*/_react.default.createElement(_reactNative.View, {
35
- style: [styles.wrapper, style]
29
+ style: style
36
30
  }, /*#__PURE__*/_react.default.createElement(_reactNativeWebSwiper.default, {
37
31
  from: from,
38
32
  loop: loop,
@@ -52,30 +46,41 @@ const SEED_DATA = {
52
46
  tag: "Swiper",
53
47
  description: "Swiper container",
54
48
  category: _types.COMPONENT_TYPES.container,
49
+ layout: {
50
+ height: 300,
51
+ width: "100%"
52
+ },
55
53
  props: {
56
54
  from: (0, _types.createNumberProp)({
55
+ group: _types.GROUPS.basic,
57
56
  label: "Initial Slide"
58
57
  }),
59
58
  loop: (0, _types.createBoolProp)({
59
+ group: _types.GROUPS.basic,
60
60
  label: "Loop"
61
61
  }),
62
62
  timeout: (0, _types.createNumberProp)({
63
+ group: _types.GROUPS.basic,
63
64
  label: "Timeout",
64
65
  defaultValue: 0
65
66
  }),
66
67
  vertical: (0, _types.createBoolProp)({
68
+ group: _types.GROUPS.basic,
67
69
  label: "Vertical",
68
70
  defaultValue: false
69
71
  }),
70
72
  prevTitle: (0, _types.createTextProp)({
73
+ group: _types.GROUPS.basic,
71
74
  label: "Previous Title",
72
75
  defaultValue: ""
73
76
  }),
74
77
  nextTitle: (0, _types.createTextProp)({
78
+ group: _types.GROUPS.basic,
75
79
  label: "Next Title",
76
80
  defaultValue: ""
77
81
  }),
78
82
  dotsTouchable: (0, _types.createBoolProp)({
83
+ group: _types.GROUPS.basic,
79
84
  label: "Dots Touchable",
80
85
  defaultValue: true
81
86
  })
@@ -1 +1 @@
1
- {"version":3,"sources":["Swiper.tsx"],"names":["styles","StyleSheet","create","wrapper","flex","Swiper","vertical","loop","timeout","from","prevTitle","nextTitle","dotsTouchable","children","style","SEED_DATA","name","tag","description","category","COMPONENT_TYPES","container","props","label","defaultValue"],"mappings":";;;;;;;AAAA;;AAMA;;AACA;;AACA;;;;AAEA,MAAMA,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,OAAO,EAAE;AACPC,IAAAA,IAAI,EAAE;AADC;AADsB,CAAlB,CAAf;;AAkBA,MAAMC,MAAM,GAAG,CAAC;AACdC,EAAAA,QAAQ,GAAG,KADG;AAEdC,EAAAA,IAAI,GAAG,KAFO;AAGdC,EAAAA,OAAO,GAAG,CAHI;AAIdC,EAAAA,IAAI,GAAG,CAJO;AAKdC,EAAAA,SAAS,GAAG,EALE;AAMdC,EAAAA,SAAS,GAAG,EANE;AAOdC,EAAAA,aAAa,GAAG,IAPF;AAQdC,EAAAA,QARc;AASdC,EAAAA;AATc,CAAD,kBAWb,6BAAC,iBAAD;AAAM,EAAA,KAAK,EAAE,CAACd,MAAM,CAACG,OAAR,EAAiBW,KAAjB;AAAb,gBACE,6BAAC,6BAAD;AACE,EAAA,IAAI,EAAEL,IADR;AAEE,EAAA,IAAI,EAAEF,IAFR;AAGE,EAAA,OAAO,EAAEC,OAHX;AAIE,EAAA,QAAQ,EAAEF,QAJZ;AAKE,EAAA,aAAa,EAAE;AACbI,IAAAA,SADa;AAEbC,IAAAA,SAFa;AAGbC,IAAAA;AAHa;AALjB,GAWGC,QAXH,CADF,CAXF;;eA4BeR,M;;AAER,MAAMU,SAAS,GAAG;AACvBC,EAAAA,IAAI,EAAE,QADiB;AAEvBC,EAAAA,GAAG,EAAE,QAFkB;AAGvBC,EAAAA,WAAW,EAAE,kBAHU;AAIvBC,EAAAA,QAAQ,EAAEC,uBAAgBC,SAJH;AAKvBC,EAAAA,KAAK,EAAE;AACLb,IAAAA,IAAI,EAAE,6BAAiB;AACrBc,MAAAA,KAAK,EAAE;AADc,KAAjB,CADD;AAILhB,IAAAA,IAAI,EAAE,2BAAe;AACnBgB,MAAAA,KAAK,EAAE;AADY,KAAf,CAJD;AAOLf,IAAAA,OAAO,EAAE,6BAAiB;AACxBe,MAAAA,KAAK,EAAE,SADiB;AAExBC,MAAAA,YAAY,EAAE;AAFU,KAAjB,CAPJ;AAWLlB,IAAAA,QAAQ,EAAE,2BAAe;AACvBiB,MAAAA,KAAK,EAAE,UADgB;AAEvBC,MAAAA,YAAY,EAAE;AAFS,KAAf,CAXL;AAeLd,IAAAA,SAAS,EAAE,2BAAe;AACxBa,MAAAA,KAAK,EAAE,gBADiB;AAExBC,MAAAA,YAAY,EAAE;AAFU,KAAf,CAfN;AAmBLb,IAAAA,SAAS,EAAE,2BAAe;AACxBY,MAAAA,KAAK,EAAE,YADiB;AAExBC,MAAAA,YAAY,EAAE;AAFU,KAAf,CAnBN;AAuBLZ,IAAAA,aAAa,EAAE,2BAAe;AAC5BW,MAAAA,KAAK,EAAE,gBADqB;AAE5BC,MAAAA,YAAY,EAAE;AAFc,KAAf;AAvBV;AALgB,CAAlB","sourcesContent":["import {\n COMPONENT_TYPES,\n createBoolProp,\n createNumberProp,\n createTextProp,\n} from \"@draftbit/types\";\nimport React from \"react\";\nimport { View, StyleSheet, StyleProp, ViewStyle } from \"react-native\";\nimport SwiperComponent from \"react-native-web-swiper\";\n\nconst styles = StyleSheet.create({\n wrapper: {\n flex: 1,\n },\n});\n\nexport interface SwiperProps {\n vertical?: boolean;\n loop?: boolean;\n from?: number;\n timeout?: number;\n prevTitle?: string;\n nextTitle?: string;\n dotsTouchable?: boolean;\n children: React.ReactNode;\n style?: StyleProp<ViewStyle>;\n}\n\nconst Swiper = ({\n vertical = false,\n loop = false,\n timeout = 0,\n from = 0,\n prevTitle = \"\",\n nextTitle = \"\",\n dotsTouchable = true,\n children,\n style,\n}: SwiperProps) => (\n <View style={[styles.wrapper, style]}>\n <SwiperComponent\n from={from}\n loop={loop}\n timeout={timeout}\n vertical={vertical}\n controlsProps={{\n prevTitle,\n nextTitle,\n dotsTouchable,\n }}\n >\n {children}\n </SwiperComponent>\n </View>\n);\n\nexport default Swiper;\n\nexport const SEED_DATA = {\n name: \"Swiper\",\n tag: \"Swiper\",\n description: \"Swiper container\",\n category: COMPONENT_TYPES.container,\n props: {\n from: createNumberProp({\n label: \"Initial Slide\",\n }),\n loop: createBoolProp({\n label: \"Loop\",\n }),\n timeout: createNumberProp({\n label: \"Timeout\",\n defaultValue: 0,\n }),\n vertical: createBoolProp({\n label: \"Vertical\",\n defaultValue: false,\n }),\n prevTitle: createTextProp({\n label: \"Previous Title\",\n defaultValue: \"\",\n }),\n nextTitle: createTextProp({\n label: \"Next Title\",\n defaultValue: \"\",\n }),\n dotsTouchable: createBoolProp({\n label: \"Dots Touchable\",\n defaultValue: true,\n }),\n },\n};\n"]}
1
+ {"version":3,"sources":["Swiper.tsx"],"names":["Swiper","vertical","loop","timeout","from","prevTitle","nextTitle","dotsTouchable","children","style","SEED_DATA","name","tag","description","category","COMPONENT_TYPES","container","layout","height","width","props","group","GROUPS","basic","label","defaultValue"],"mappings":";;;;;;;AAAA;;AAOA;;AACA;;AACA;;;;AAcA,MAAMA,MAAM,GAAG,CAAC;AACdC,EAAAA,QAAQ,GAAG,KADG;AAEdC,EAAAA,IAAI,GAAG,KAFO;AAGdC,EAAAA,OAAO,GAAG,CAHI;AAIdC,EAAAA,IAAI,GAAG,CAJO;AAKdC,EAAAA,SAAS,GAAG,EALE;AAMdC,EAAAA,SAAS,GAAG,EANE;AAOdC,EAAAA,aAAa,GAAG,IAPF;AAQdC,EAAAA,QARc;AASdC,EAAAA;AATc,CAAD,kBAWb,6BAAC,iBAAD;AAAM,EAAA,KAAK,EAAEA;AAAb,gBACE,6BAAC,6BAAD;AACE,EAAA,IAAI,EAAEL,IADR;AAEE,EAAA,IAAI,EAAEF,IAFR;AAGE,EAAA,OAAO,EAAEC,OAHX;AAIE,EAAA,QAAQ,EAAEF,QAJZ;AAKE,EAAA,aAAa,EAAE;AACbI,IAAAA,SADa;AAEbC,IAAAA,SAFa;AAGbC,IAAAA;AAHa;AALjB,GAWGC,QAXH,CADF,CAXF;;eA4BeR,M;;AAER,MAAMU,SAAS,GAAG;AACvBC,EAAAA,IAAI,EAAE,QADiB;AAEvBC,EAAAA,GAAG,EAAE,QAFkB;AAGvBC,EAAAA,WAAW,EAAE,kBAHU;AAIvBC,EAAAA,QAAQ,EAAEC,uBAAgBC,SAJH;AAKvBC,EAAAA,MAAM,EAAE;AACNC,IAAAA,MAAM,EAAE,GADF;AAENC,IAAAA,KAAK,EAAE;AAFD,GALe;AASvBC,EAAAA,KAAK,EAAE;AACLhB,IAAAA,IAAI,EAAE,6BAAiB;AACrBiB,MAAAA,KAAK,EAAEC,cAAOC,KADO;AAErBC,MAAAA,KAAK,EAAE;AAFc,KAAjB,CADD;AAKLtB,IAAAA,IAAI,EAAE,2BAAe;AACnBmB,MAAAA,KAAK,EAAEC,cAAOC,KADK;AAEnBC,MAAAA,KAAK,EAAE;AAFY,KAAf,CALD;AASLrB,IAAAA,OAAO,EAAE,6BAAiB;AACxBkB,MAAAA,KAAK,EAAEC,cAAOC,KADU;AAExBC,MAAAA,KAAK,EAAE,SAFiB;AAGxBC,MAAAA,YAAY,EAAE;AAHU,KAAjB,CATJ;AAcLxB,IAAAA,QAAQ,EAAE,2BAAe;AACvBoB,MAAAA,KAAK,EAAEC,cAAOC,KADS;AAEvBC,MAAAA,KAAK,EAAE,UAFgB;AAGvBC,MAAAA,YAAY,EAAE;AAHS,KAAf,CAdL;AAmBLpB,IAAAA,SAAS,EAAE,2BAAe;AACxBgB,MAAAA,KAAK,EAAEC,cAAOC,KADU;AAExBC,MAAAA,KAAK,EAAE,gBAFiB;AAGxBC,MAAAA,YAAY,EAAE;AAHU,KAAf,CAnBN;AAwBLnB,IAAAA,SAAS,EAAE,2BAAe;AACxBe,MAAAA,KAAK,EAAEC,cAAOC,KADU;AAExBC,MAAAA,KAAK,EAAE,YAFiB;AAGxBC,MAAAA,YAAY,EAAE;AAHU,KAAf,CAxBN;AA6BLlB,IAAAA,aAAa,EAAE,2BAAe;AAC5Bc,MAAAA,KAAK,EAAEC,cAAOC,KADc;AAE5BC,MAAAA,KAAK,EAAE,gBAFqB;AAG5BC,MAAAA,YAAY,EAAE;AAHc,KAAf;AA7BV;AATgB,CAAlB","sourcesContent":["import {\n COMPONENT_TYPES,\n createBoolProp,\n createNumberProp,\n createTextProp,\n GROUPS,\n} from \"@draftbit/types\";\nimport React from \"react\";\nimport { View, StyleProp, ViewStyle } from \"react-native\";\nimport SwiperComponent from \"react-native-web-swiper\";\n\nexport interface SwiperProps {\n vertical?: boolean;\n loop?: boolean;\n from?: number;\n timeout?: number;\n prevTitle?: string;\n nextTitle?: string;\n dotsTouchable?: boolean;\n children: React.ReactNode;\n style?: StyleProp<ViewStyle>;\n}\n\nconst Swiper = ({\n vertical = false,\n loop = false,\n timeout = 0,\n from = 0,\n prevTitle = \"\",\n nextTitle = \"\",\n dotsTouchable = true,\n children,\n style,\n}: SwiperProps) => (\n <View style={style}>\n <SwiperComponent\n from={from}\n loop={loop}\n timeout={timeout}\n vertical={vertical}\n controlsProps={{\n prevTitle,\n nextTitle,\n dotsTouchable,\n }}\n >\n {children}\n </SwiperComponent>\n </View>\n);\n\nexport default Swiper;\n\nexport const SEED_DATA = {\n name: \"Swiper\",\n tag: \"Swiper\",\n description: \"Swiper container\",\n category: COMPONENT_TYPES.container,\n layout: {\n height: 300,\n width: \"100%\",\n },\n props: {\n from: createNumberProp({\n group: GROUPS.basic,\n label: \"Initial Slide\",\n }),\n loop: createBoolProp({\n group: GROUPS.basic,\n label: \"Loop\",\n }),\n timeout: createNumberProp({\n group: GROUPS.basic,\n label: \"Timeout\",\n defaultValue: 0,\n }),\n vertical: createBoolProp({\n group: GROUPS.basic,\n label: \"Vertical\",\n defaultValue: false,\n }),\n prevTitle: createTextProp({\n group: GROUPS.basic,\n label: \"Previous Title\",\n defaultValue: \"\",\n }),\n nextTitle: createTextProp({\n group: GROUPS.basic,\n label: \"Next Title\",\n defaultValue: \"\",\n }),\n dotsTouchable: createBoolProp({\n group: GROUPS.basic,\n label: \"Dots Touchable\",\n defaultValue: true,\n }),\n },\n};\n"]}
@@ -555,7 +555,7 @@ const SEED_DATA_PROPS = { ..._types.TEXT_INPUT_PROPS,
555
555
  };
556
556
  const SEED_DATA_TRIGGERS = [_types.Triggers.OnChangeText];
557
557
  const SEED_DATA = [{
558
- name: "Text Field",
558
+ name: "Styled Text Field",
559
559
  tag: "TextField",
560
560
  description: "A text input with a solid border or underline",
561
561
  category: _types.COMPONENT_TYPES.input,
@@ -591,7 +591,7 @@ const SEED_DATA = [{
591
591
  },
592
592
  layout: {}
593
593
  }, {
594
- name: "Text Area",
594
+ name: "Styled Text Area",
595
595
  tag: "TextField",
596
596
  description: "A text area with a solid border or underline",
597
597
  category: _types.COMPONENT_TYPES.input,
@@ -625,6 +625,9 @@ const SEED_DATA = [{
625
625
  description: "Number of Lines for Multiline Field",
626
626
  defaultValue: 4,
627
627
  group: _types.GROUPS.basic
628
+ }),
629
+ fieldName: (0, _types.createFieldNameProp)({
630
+ defaultValue: "textAreaValue"
628
631
  })
629
632
  },
630
633
  layout: {}
@@ -1 +1 @@
1
- {"version":3,"sources":["TextField.tsx"],"names":["AnimatedText","Animated","createAnimatedComponent","Text","FOCUS_ANIMATION_DURATION","BLUR_ANIMATION_DURATION","ICON_SIZE","TextField","React","Component","labeled","Value","props","value","error","focused","placeholder","labelLayout","measured","width","setTimeout","clearTimeout","_timer","setState","timing","state","toValue","duration","useNativeDriver","start","disabled","onChangeText","undefined","getDerivedStateFromProps","nextProps","prevState","componentDidMount","initialValue","_handleChangeText","_minmizeLabel","componentDidUpdate","prevProps","_restoreLabel","label","_showPlaceholder","_hidePlaceholder","componentWillUnmount","toggleFocus","setNativeProps","args","_root","isFocused","clear","focus","blur","render","Icon","type","leftIconName","leftIconMode","rightIconName","assistiveText","underlineColor","underlineColorProp","multiline","numberOfLines","style","theme","colors","typography","roundness","disabledOpacity","rest","MINIMIZED_LABEL_Y_OFFSET","caption","lineHeight","OUTLINE_MINIMIZED_LABEL_Y_OFFSET","MAXIMIZED_LABEL_FONT_SIZE","subtitle1","fontSize","MINIMIZED_LABEL_FONT_SIZE","hasActiveOutline","inputTextColor","activeColor","borderColor","placeholderColor","containerStyle","backgroundColor","inputStyle","strong","light","divider","primary","background","placeholderTextColor","paddingVertical","color","paddingLeft","paddingRight","height","assistiveTextLeftMargin","borderTopLeftRadius","borderTopRightRadius","paddingBottom","marginTop","borderRadius","borderWidth","paddingTop","opacity","paddingHorizontal","marginLeft","leftIconColor","leftIconProps","size","name","leftIconStyle","position","labelStyle","top","left","transform","translateY","interpolate","inputRange","outputRange","scale","translateX","textStyles","inputStyles","styles","input","marginHorizontal","bgColor","padding","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderCol","styleProp","StyleSheet","flatten","container","underline","scaleY","absoluteFill","e","nativeEvent","layout","ref","c","onChange","editable","selectionColor","onFocus","_handleFocus","onBlur","_handleBlur","underlineColorAndroid","right","create","alignSelf","bottom","flexGrow","justifyContent","textAlignVertical","margin","textAlign","I18nManager","isRTL","SEED_DATA_PROPS","TEXT_INPUT_PROPS","group","GROUPS","data","description","formType","FORM_TYPES","string","propType","PROP_TYPES","STRING","defaultValue","required","basic","boolean","BOOLEAN","icon","ASSET","flatArray","options","fieldName","FIELD_NAME","handlerPropName","SEED_DATA_TRIGGERS","Triggers","OnChangeText","SEED_DATA","tag","category","COMPONENT_TYPES","preview_image_url","supports_list_render","triggers","secureTextEntry","uncategorized"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport {\n View,\n Animated,\n TextInput as NativeTextInput,\n StyleSheet,\n Text,\n I18nManager,\n StyleProp,\n TextInputProps,\n NativeSyntheticEvent,\n TextInputChangeEventData,\n ViewStyle,\n TextStyle,\n LayoutChangeEvent,\n ImageStyle,\n} from \"react-native\";\nimport { withTheme } from \"../theming\";\nimport {\n GROUPS,\n COMPONENT_TYPES,\n FORM_TYPES,\n PROP_TYPES,\n FIELD_NAME,\n TEXT_INPUT_PROPS,\n Triggers,\n createColorProp,\n createNumberProp,\n} from \"@draftbit/types\";\nimport type { Theme } from \"../styles/DefaultTheme\";\nimport type { IconSlot } from \"../interfaces/Icon\";\nimport { applyStyles, extractStyles } from \"../utilities\";\n\nconst AnimatedText = Animated.createAnimatedComponent(Text);\n\nconst FOCUS_ANIMATION_DURATION = 150;\nconst BLUR_ANIMATION_DURATION = 180;\nconst ICON_SIZE = 24;\n\nexport type Props = {\n type?: \"solid\" | \"underline\";\n initialValue?: string;\n disabled?: boolean;\n label?: string;\n error?: boolean;\n leftIconName?: string;\n leftIconMode?: \"inset\" | \"outset\";\n onChangeText: (\n text: string | NativeSyntheticEvent<TextInputChangeEventData>\n ) => void;\n rightIconName?: string;\n assistiveText?: string;\n multiline?: boolean;\n numberOfLines: number;\n underlineColor?: string;\n style?: StyleProp<ViewStyle> & { height?: number };\n theme: Theme;\n render?: (\n props: TextInputProps & { ref: (c: NativeTextInput) => void }\n ) => React.ReactNode;\n} & TextInputProps &\n IconSlot;\n\ninterface State {\n labeled: Animated.Value;\n focused?: boolean;\n placeholder?: string | undefined;\n labelLayout: {\n measured: boolean;\n width: number;\n };\n value?: string;\n}\n\nclass TextField extends React.Component<Props, State> {\n static getDerivedStateFromProps(nextProps: Props, prevState: State) {\n return {\n value:\n typeof nextProps.value !== \"undefined\"\n ? nextProps.value\n : prevState.value,\n };\n }\n\n state: State = {\n labeled: new Animated.Value(this.props.value || this.props.error ? 0 : 1),\n focused: false,\n placeholder: this.props.error ? this.props.placeholder : \"\",\n labelLayout: {\n measured: false,\n width: 0,\n },\n };\n\n componentDidMount() {\n if (this.props.initialValue) {\n this._handleChangeText(this.props.initialValue);\n }\n\n if (this.props.placeholder) {\n this._minmizeLabel();\n }\n }\n\n componentDidUpdate(prevProps: Props, prevState: State) {\n if (\n prevState.focused !== this.state.focused ||\n prevState.value !== this.state.value\n ) {\n // The label should be minimized if the text input is focused, or has text\n // In minimized mode, the label moves up and becomes small\n if (\n this.state.value ||\n this.state.focused ||\n this.props.error ||\n this.props.placeholder\n ) {\n this._minmizeLabel();\n } else {\n this._restoreLabel();\n }\n }\n\n if (\n prevState.focused !== this.state.focused ||\n prevProps.label !== this.props.label\n ) {\n // Show placeholder text only if the input is focused, or has error, or there's no label\n // We don't show placeholder if there's a label because the label acts as placeholder\n // When focused, the label moves up, so we can show a placeholder\n if (this.state.focused || this.props.error || !this.props.label) {\n this._showPlaceholder();\n } else {\n this._hidePlaceholder();\n }\n }\n }\n\n _timer = setTimeout(() => {}, 0);\n\n componentWillUnmount() {\n clearTimeout(this._timer);\n }\n\n _showPlaceholder = () => {\n clearTimeout(this._timer);\n\n // Set the placeholder in a delay to offset the label animation\n // If we show it immediately, they'll overlap and look ugly\n this._timer = setTimeout(\n () =>\n this.setState({\n placeholder: this.props.placeholder,\n }),\n 50\n );\n };\n\n _hidePlaceholder = () =>\n this.setState({\n placeholder: \"\",\n });\n\n _restoreLabel = () =>\n Animated.timing(this.state.labeled, {\n toValue: 1,\n duration: FOCUS_ANIMATION_DURATION,\n useNativeDriver: true,\n }).start();\n\n _minmizeLabel = () =>\n Animated.timing(this.state.labeled, {\n toValue: 0,\n duration: BLUR_ANIMATION_DURATION,\n useNativeDriver: true,\n }).start();\n\n _handleFocus = () => {\n if (this.props.disabled) {\n return;\n }\n\n this.setState({ focused: true });\n };\n\n _handleBlur = () => {\n if (this.props.disabled) {\n return;\n }\n\n this.setState({ focused: false });\n };\n\n _handleChangeText = (\n value: NativeSyntheticEvent<TextInputChangeEventData> | string\n ) => {\n if (this.props.disabled) {\n return;\n }\n\n this.setState({ value: value as string });\n this.props.onChangeText && this.props.onChangeText(value);\n };\n\n toggleFocus() {\n this.setState((prevState: State) => ({ focused: !prevState.focused }));\n }\n\n _root: NativeTextInput | undefined = undefined;\n /**\n * @internal\n */\n setNativeProps(args: Props) {\n return this._root && this._root.setNativeProps(args);\n }\n\n isFocused() {\n return this._root && this._root.isFocused();\n }\n\n clear() {\n return this._root && this._root.clear();\n }\n\n focus() {\n return this._root && this._root.focus();\n }\n\n blur() {\n return this._root && this._root.blur();\n }\n\n render() {\n const {\n Icon,\n type = \"underline\",\n disabled = false,\n label,\n error = false,\n leftIconName,\n leftIconMode,\n rightIconName,\n assistiveText,\n underlineColor: underlineColorProp,\n multiline = false,\n numberOfLines = 4,\n style,\n theme: { colors, typography, roundness, disabledOpacity },\n render = (props) => <NativeTextInput {...props} />,\n ...rest\n } = this.props;\n\n const MINIMIZED_LABEL_Y_OFFSET = -(typography.caption.lineHeight + 4);\n const OUTLINE_MINIMIZED_LABEL_Y_OFFSET = -(16 * 0.5 + 4);\n const MAXIMIZED_LABEL_FONT_SIZE = typography.subtitle1.fontSize;\n const MINIMIZED_LABEL_FONT_SIZE = typography.caption.fontSize;\n\n const hasActiveOutline = this.state.focused || error;\n\n let inputTextColor,\n activeColor,\n underlineColor,\n borderColor,\n placeholderColor,\n containerStyle: StyleProp<ViewStyle>,\n backgroundColor,\n inputStyle: StyleProp<TextStyle>;\n\n inputTextColor = colors.strong;\n if (disabled) {\n activeColor = colors.light;\n placeholderColor = colors.light;\n borderColor = \"transparent\";\n underlineColor = \"transparent\";\n backgroundColor = colors.divider;\n } else {\n activeColor = error ? colors.error : colors.primary;\n placeholderColor = borderColor = colors.light;\n underlineColor = underlineColorProp;\n backgroundColor = colors.background;\n }\n\n if (rest.placeholderTextColor) {\n placeholderColor = rest.placeholderTextColor;\n }\n\n const { lineHeight, ...subtitle1 } = typography.subtitle1;\n\n inputStyle = {\n paddingVertical: 0,\n color: inputTextColor,\n paddingLeft:\n leftIconName && leftIconMode === \"inset\"\n ? ICON_SIZE + 12 + (type === \"solid\" ? 16 : 0)\n : 0,\n paddingRight: rightIconName ? ICON_SIZE + 16 + 4 : 12,\n ...subtitle1,\n };\n\n if (!multiline) {\n inputStyle.height = lineHeight;\n }\n\n let assistiveTextLeftMargin;\n if (type === \"underline\") {\n containerStyle = {\n borderTopLeftRadius: roundness,\n borderTopRightRadius: roundness,\n paddingBottom: 12,\n marginTop: 16,\n };\n\n if (leftIconName && leftIconMode === \"outset\") {\n assistiveTextLeftMargin = ICON_SIZE + 8;\n } else {\n assistiveTextLeftMargin = 0;\n }\n } else {\n containerStyle = {\n borderRadius: roundness,\n borderColor: hasActiveOutline ? activeColor : borderColor,\n borderWidth: 1,\n paddingTop: label ? 16 * 1.5 : 16,\n paddingBottom: label ? 16 * 0.5 : 16,\n opacity: disabled ? disabledOpacity : 1,\n backgroundColor,\n };\n\n if (leftIconName && leftIconMode === \"inset\") {\n assistiveTextLeftMargin = 16 + 4;\n } else if (leftIconName && leftIconMode === \"outset\") {\n assistiveTextLeftMargin = ICON_SIZE + 8 + 12;\n } else {\n assistiveTextLeftMargin = 12;\n }\n\n inputStyle.paddingHorizontal = 12;\n }\n\n if (leftIconName && leftIconMode === \"outset\") {\n containerStyle.marginLeft = ICON_SIZE + 8;\n }\n\n let leftIconColor;\n if (error) {\n leftIconColor = colors.error;\n } else if (this.state.focused) {\n leftIconColor = colors.primary;\n } else {\n leftIconColor = colors.light;\n }\n\n const leftIconProps = {\n size: 24,\n color: leftIconColor,\n name: leftIconName || \"\",\n };\n\n const leftIconStyle: ImageStyle = {\n position: \"absolute\",\n marginTop:\n type === \"solid\"\n ? MINIMIZED_LABEL_FONT_SIZE + 4\n : leftIconMode === \"outset\"\n ? 16\n : 0,\n };\n\n const labelStyle = {\n ...typography.subtitle1,\n top: type === \"solid\" ? 16 : 0,\n left:\n leftIconName && leftIconMode === \"inset\"\n ? ICON_SIZE + (type === \"solid\" ? 16 : 12)\n : 0,\n transform: [\n {\n // Move label to top\n translateY: this.state.labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [\n type === \"solid\"\n ? OUTLINE_MINIMIZED_LABEL_Y_OFFSET\n : MINIMIZED_LABEL_Y_OFFSET,\n 0,\n ],\n }),\n },\n {\n // Make label smaller\n scale: this.state.labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [\n MINIMIZED_LABEL_FONT_SIZE / MAXIMIZED_LABEL_FONT_SIZE,\n 1,\n ],\n }),\n },\n {\n // Offset label scale since RN doesn't support transform origin\n translateX: this.state.labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [\n -(1 - MINIMIZED_LABEL_FONT_SIZE / MAXIMIZED_LABEL_FONT_SIZE) *\n (this.state.labelLayout.width / 2),\n 0,\n ],\n }),\n },\n ],\n };\n\n const { textStyles } = extractStyles(style);\n const inputStyles = applyStyles(\n [\n styles.input,\n inputStyle,\n type === \"solid\" ? { marginHorizontal: 12 } : {},\n ],\n textStyles\n );\n\n const {\n backgroundColor: bgColor,\n padding,\n paddingTop,\n paddingBottom,\n paddingLeft,\n paddingRight,\n borderRadius,\n borderWidth,\n borderTopWidth,\n borderRightWidth,\n borderBottomWidth,\n borderLeftWidth,\n borderColor: borderCol,\n ...styleProp\n } = StyleSheet.flatten(style || {}) as ViewStyle & { height?: number };\n\n return (\n <View style={[styles.container, styleProp]}>\n {leftIconName && leftIconMode === \"outset\" ? (\n <Icon {...leftIconProps} style={leftIconStyle} />\n ) : null}\n <View\n style={applyStyles([containerStyle], {\n height: style?.height,\n backgroundColor: bgColor,\n padding,\n paddingTop,\n paddingBottom,\n paddingLeft,\n paddingRight,\n borderRadius,\n borderWidth,\n borderTopWidth,\n borderRightWidth,\n borderBottomWidth,\n borderLeftWidth,\n borderColor: borderCol,\n })}\n >\n {type === \"underline\" ? (\n // When type === 'flat', render an underline\n <Animated.View\n style={[\n styles.underline,\n {\n backgroundColor:\n bgColor ||\n (error\n ? colors.error\n : this.state.focused\n ? activeColor\n : underlineColor),\n // Underlines is thinner when input is not focused\n transform: [{ scaleY: this.state.focused ? 1 : 0.5 }],\n },\n ]}\n />\n ) : null}\n\n {label ? (\n // Position colored placeholder and gray placeholder on top of each other and crossfade them\n // This gives the effect of animating the color, but allows us to use native driver\n <View\n pointerEvents=\"none\"\n style={[\n StyleSheet.absoluteFill,\n {\n opacity:\n // Hide the label in minimized state until we measure its width\n this.state.value || this.state.focused\n ? this.state.labelLayout.measured\n ? 1\n : 0\n : 1,\n },\n ]}\n >\n <AnimatedText\n onLayout={(e: LayoutChangeEvent) =>\n this.setState({\n labelLayout: {\n width: e.nativeEvent.layout.width,\n measured: true,\n },\n })\n }\n style={[\n styles.placeholder,\n type === \"solid\" ? { paddingHorizontal: 12 } : {},\n labelStyle,\n {\n color: placeholderColor,\n opacity: this.state.labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [hasActiveOutline ? 1 : 0, 0],\n }),\n },\n ]}\n numberOfLines={1}\n >\n {label}\n </AnimatedText>\n <AnimatedText\n style={[\n styles.placeholder,\n type === \"solid\" ? { paddingHorizontal: 12 } : {},\n labelStyle,\n {\n color: placeholderColor,\n opacity: hasActiveOutline ? this.state.labeled : 1,\n },\n ]}\n numberOfLines={1}\n >\n {label}\n </AnimatedText>\n </View>\n ) : null}\n\n {leftIconName && leftIconMode === \"inset\" ? (\n <Icon\n {...leftIconProps}\n style={{\n ...leftIconStyle,\n marginLeft: type === \"solid\" ? 16 : 0,\n }}\n />\n ) : null}\n\n {render({\n ref: (c: NativeTextInput) => {\n this._root = c;\n },\n onChange: this._handleChangeText,\n placeholder: label\n ? this.state.placeholder\n : this.props.placeholder,\n placeholderTextColor: placeholderColor,\n editable: !disabled,\n selectionColor: activeColor,\n multiline,\n numberOfLines,\n onFocus: this._handleFocus,\n onBlur: this._handleBlur,\n underlineColorAndroid: \"transparent\",\n style: inputStyles,\n ...rest,\n value: this.state.value,\n })}\n </View>\n {rightIconName ? (\n <Icon\n name={rightIconName}\n size={ICON_SIZE}\n color={colors.light}\n style={{\n position: \"absolute\",\n right: 16,\n marginTop: type === \"solid\" ? MINIMIZED_LABEL_FONT_SIZE + 4 : 16,\n }}\n />\n ) : null}\n\n {assistiveText ? (\n <Text\n style={[\n {\n color: error ? colors.error : colors.light,\n marginTop: 8,\n marginLeft: assistiveTextLeftMargin,\n },\n ]}\n >\n {assistiveText}\n </Text>\n ) : null}\n </View>\n );\n }\n}\n\nexport default withTheme(TextField);\n\nconst styles = StyleSheet.create({\n container: {\n alignSelf: \"stretch\",\n },\n placeholder: {\n position: \"absolute\",\n left: 0,\n },\n underline: {\n position: \"absolute\",\n left: 0,\n right: 0,\n bottom: 0,\n height: 2,\n },\n input: {\n flexGrow: 1,\n justifyContent: \"center\",\n textAlignVertical: \"center\",\n margin: 0,\n textAlign: I18nManager.isRTL ? \"right\" : \"left\",\n },\n});\n\nconst SEED_DATA_PROPS = {\n ...TEXT_INPUT_PROPS,\n label: {\n group: GROUPS.data,\n label: \"Label\",\n description: \"The label to be displayed on the text field\",\n formType: FORM_TYPES.string,\n propType: PROP_TYPES.STRING,\n defaultValue: null,\n editable: true,\n required: true,\n },\n assistiveText: {\n group: GROUPS.basic,\n label: \"Assistive text\",\n description: \"Helper text to display below the input\",\n formType: FORM_TYPES.string,\n propType: PROP_TYPES.STRING,\n defaultValue: null,\n editable: true,\n required: false,\n },\n error: {\n group: GROUPS.data,\n label: \"Error\",\n description: \"Whether the input should display the error state\",\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n defaultValue: null,\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: null /* 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 handlerPropName: \"onChangeText\",\n defaultValue: \"textFieldValue\",\n },\n};\n\nconst SEED_DATA_TRIGGERS = [Triggers.OnChangeText];\nexport const SEED_DATA = [\n {\n name: \"Text Field\",\n tag: \"TextField\",\n description: \"A text input with a solid border or underline\",\n category: COMPONENT_TYPES.input,\n preview_image_url: \"{CLOUDINARY_URL}/Textfield.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 Datepicker\",\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 underlineColor: createColorProp({\n label: \"Underline Color\",\n defaultValue: \"light\",\n }),\n secureTextEntry: {\n group: GROUPS.basic,\n label: \"Password field\",\n description:\n \"If true, this turns the field into a password field, hiding the text\",\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n defaultValue: null,\n editable: true,\n required: false,\n },\n },\n layout: {},\n },\n {\n name: \"Text Area\",\n tag: \"TextField\",\n description: \"A text area with a solid border or underline\",\n category: COMPONENT_TYPES.input,\n preview_image_url: \"{CLOUDINARY_URL}/TextArea.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 Datepicker\",\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 multiline: {\n label: \"Multiline\",\n description: \"Multiline\",\n group: GROUPS.uncategorized,\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n defaultValue: true,\n editable: false,\n required: false,\n },\n numberOfLines: createNumberProp({\n label: \"Number of Lines\",\n description: \"Number of Lines for Multiline Field\",\n defaultValue: 4,\n group: GROUPS.basic,\n }),\n },\n layout: {},\n },\n];\n"]}
1
+ {"version":3,"sources":["TextField.tsx"],"names":["AnimatedText","Animated","createAnimatedComponent","Text","FOCUS_ANIMATION_DURATION","BLUR_ANIMATION_DURATION","ICON_SIZE","TextField","React","Component","labeled","Value","props","value","error","focused","placeholder","labelLayout","measured","width","setTimeout","clearTimeout","_timer","setState","timing","state","toValue","duration","useNativeDriver","start","disabled","onChangeText","undefined","getDerivedStateFromProps","nextProps","prevState","componentDidMount","initialValue","_handleChangeText","_minmizeLabel","componentDidUpdate","prevProps","_restoreLabel","label","_showPlaceholder","_hidePlaceholder","componentWillUnmount","toggleFocus","setNativeProps","args","_root","isFocused","clear","focus","blur","render","Icon","type","leftIconName","leftIconMode","rightIconName","assistiveText","underlineColor","underlineColorProp","multiline","numberOfLines","style","theme","colors","typography","roundness","disabledOpacity","rest","MINIMIZED_LABEL_Y_OFFSET","caption","lineHeight","OUTLINE_MINIMIZED_LABEL_Y_OFFSET","MAXIMIZED_LABEL_FONT_SIZE","subtitle1","fontSize","MINIMIZED_LABEL_FONT_SIZE","hasActiveOutline","inputTextColor","activeColor","borderColor","placeholderColor","containerStyle","backgroundColor","inputStyle","strong","light","divider","primary","background","placeholderTextColor","paddingVertical","color","paddingLeft","paddingRight","height","assistiveTextLeftMargin","borderTopLeftRadius","borderTopRightRadius","paddingBottom","marginTop","borderRadius","borderWidth","paddingTop","opacity","paddingHorizontal","marginLeft","leftIconColor","leftIconProps","size","name","leftIconStyle","position","labelStyle","top","left","transform","translateY","interpolate","inputRange","outputRange","scale","translateX","textStyles","inputStyles","styles","input","marginHorizontal","bgColor","padding","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderCol","styleProp","StyleSheet","flatten","container","underline","scaleY","absoluteFill","e","nativeEvent","layout","ref","c","onChange","editable","selectionColor","onFocus","_handleFocus","onBlur","_handleBlur","underlineColorAndroid","right","create","alignSelf","bottom","flexGrow","justifyContent","textAlignVertical","margin","textAlign","I18nManager","isRTL","SEED_DATA_PROPS","TEXT_INPUT_PROPS","group","GROUPS","data","description","formType","FORM_TYPES","string","propType","PROP_TYPES","STRING","defaultValue","required","basic","boolean","BOOLEAN","icon","ASSET","flatArray","options","fieldName","FIELD_NAME","handlerPropName","SEED_DATA_TRIGGERS","Triggers","OnChangeText","SEED_DATA","tag","category","COMPONENT_TYPES","preview_image_url","supports_list_render","triggers","secureTextEntry","uncategorized"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport {\n View,\n Animated,\n TextInput as NativeTextInput,\n StyleSheet,\n Text,\n I18nManager,\n StyleProp,\n TextInputProps,\n NativeSyntheticEvent,\n TextInputChangeEventData,\n ViewStyle,\n TextStyle,\n LayoutChangeEvent,\n ImageStyle,\n} from \"react-native\";\nimport { withTheme } from \"../theming\";\nimport {\n GROUPS,\n COMPONENT_TYPES,\n FORM_TYPES,\n PROP_TYPES,\n FIELD_NAME,\n TEXT_INPUT_PROPS,\n Triggers,\n createColorProp,\n createNumberProp,\n createFieldNameProp,\n} from \"@draftbit/types\";\nimport type { Theme } from \"../styles/DefaultTheme\";\nimport type { IconSlot } from \"../interfaces/Icon\";\nimport { applyStyles, extractStyles } from \"../utilities\";\n\nconst AnimatedText = Animated.createAnimatedComponent(Text);\n\nconst FOCUS_ANIMATION_DURATION = 150;\nconst BLUR_ANIMATION_DURATION = 180;\nconst ICON_SIZE = 24;\n\nexport type Props = {\n type?: \"solid\" | \"underline\";\n initialValue?: string;\n disabled?: boolean;\n label?: string;\n error?: boolean;\n leftIconName?: string;\n leftIconMode?: \"inset\" | \"outset\";\n onChangeText: (\n text: string | NativeSyntheticEvent<TextInputChangeEventData>\n ) => void;\n rightIconName?: string;\n assistiveText?: string;\n multiline?: boolean;\n numberOfLines: number;\n underlineColor?: string;\n style?: StyleProp<ViewStyle> & { height?: number };\n theme: Theme;\n render?: (\n props: TextInputProps & { ref: (c: NativeTextInput) => void }\n ) => React.ReactNode;\n} & TextInputProps &\n IconSlot;\n\ninterface State {\n labeled: Animated.Value;\n focused?: boolean;\n placeholder?: string | undefined;\n labelLayout: {\n measured: boolean;\n width: number;\n };\n value?: string;\n}\n\nclass TextField extends React.Component<Props, State> {\n static getDerivedStateFromProps(nextProps: Props, prevState: State) {\n return {\n value:\n typeof nextProps.value !== \"undefined\"\n ? nextProps.value\n : prevState.value,\n };\n }\n\n state: State = {\n labeled: new Animated.Value(this.props.value || this.props.error ? 0 : 1),\n focused: false,\n placeholder: this.props.error ? this.props.placeholder : \"\",\n labelLayout: {\n measured: false,\n width: 0,\n },\n };\n\n componentDidMount() {\n if (this.props.initialValue) {\n this._handleChangeText(this.props.initialValue);\n }\n\n if (this.props.placeholder) {\n this._minmizeLabel();\n }\n }\n\n componentDidUpdate(prevProps: Props, prevState: State) {\n if (\n prevState.focused !== this.state.focused ||\n prevState.value !== this.state.value\n ) {\n // The label should be minimized if the text input is focused, or has text\n // In minimized mode, the label moves up and becomes small\n if (\n this.state.value ||\n this.state.focused ||\n this.props.error ||\n this.props.placeholder\n ) {\n this._minmizeLabel();\n } else {\n this._restoreLabel();\n }\n }\n\n if (\n prevState.focused !== this.state.focused ||\n prevProps.label !== this.props.label\n ) {\n // Show placeholder text only if the input is focused, or has error, or there's no label\n // We don't show placeholder if there's a label because the label acts as placeholder\n // When focused, the label moves up, so we can show a placeholder\n if (this.state.focused || this.props.error || !this.props.label) {\n this._showPlaceholder();\n } else {\n this._hidePlaceholder();\n }\n }\n }\n\n _timer = setTimeout(() => {}, 0);\n\n componentWillUnmount() {\n clearTimeout(this._timer);\n }\n\n _showPlaceholder = () => {\n clearTimeout(this._timer);\n\n // Set the placeholder in a delay to offset the label animation\n // If we show it immediately, they'll overlap and look ugly\n this._timer = setTimeout(\n () =>\n this.setState({\n placeholder: this.props.placeholder,\n }),\n 50\n );\n };\n\n _hidePlaceholder = () =>\n this.setState({\n placeholder: \"\",\n });\n\n _restoreLabel = () =>\n Animated.timing(this.state.labeled, {\n toValue: 1,\n duration: FOCUS_ANIMATION_DURATION,\n useNativeDriver: true,\n }).start();\n\n _minmizeLabel = () =>\n Animated.timing(this.state.labeled, {\n toValue: 0,\n duration: BLUR_ANIMATION_DURATION,\n useNativeDriver: true,\n }).start();\n\n _handleFocus = () => {\n if (this.props.disabled) {\n return;\n }\n\n this.setState({ focused: true });\n };\n\n _handleBlur = () => {\n if (this.props.disabled) {\n return;\n }\n\n this.setState({ focused: false });\n };\n\n _handleChangeText = (\n value: NativeSyntheticEvent<TextInputChangeEventData> | string\n ) => {\n if (this.props.disabled) {\n return;\n }\n\n this.setState({ value: value as string });\n this.props.onChangeText && this.props.onChangeText(value);\n };\n\n toggleFocus() {\n this.setState((prevState: State) => ({ focused: !prevState.focused }));\n }\n\n _root: NativeTextInput | undefined = undefined;\n /**\n * @internal\n */\n setNativeProps(args: Props) {\n return this._root && this._root.setNativeProps(args);\n }\n\n isFocused() {\n return this._root && this._root.isFocused();\n }\n\n clear() {\n return this._root && this._root.clear();\n }\n\n focus() {\n return this._root && this._root.focus();\n }\n\n blur() {\n return this._root && this._root.blur();\n }\n\n render() {\n const {\n Icon,\n type = \"underline\",\n disabled = false,\n label,\n error = false,\n leftIconName,\n leftIconMode,\n rightIconName,\n assistiveText,\n underlineColor: underlineColorProp,\n multiline = false,\n numberOfLines = 4,\n style,\n theme: { colors, typography, roundness, disabledOpacity },\n render = (props) => <NativeTextInput {...props} />,\n ...rest\n } = this.props;\n\n const MINIMIZED_LABEL_Y_OFFSET = -(typography.caption.lineHeight + 4);\n const OUTLINE_MINIMIZED_LABEL_Y_OFFSET = -(16 * 0.5 + 4);\n const MAXIMIZED_LABEL_FONT_SIZE = typography.subtitle1.fontSize;\n const MINIMIZED_LABEL_FONT_SIZE = typography.caption.fontSize;\n\n const hasActiveOutline = this.state.focused || error;\n\n let inputTextColor,\n activeColor,\n underlineColor,\n borderColor,\n placeholderColor,\n containerStyle: StyleProp<ViewStyle>,\n backgroundColor,\n inputStyle: StyleProp<TextStyle>;\n\n inputTextColor = colors.strong;\n if (disabled) {\n activeColor = colors.light;\n placeholderColor = colors.light;\n borderColor = \"transparent\";\n underlineColor = \"transparent\";\n backgroundColor = colors.divider;\n } else {\n activeColor = error ? colors.error : colors.primary;\n placeholderColor = borderColor = colors.light;\n underlineColor = underlineColorProp;\n backgroundColor = colors.background;\n }\n\n if (rest.placeholderTextColor) {\n placeholderColor = rest.placeholderTextColor;\n }\n\n const { lineHeight, ...subtitle1 } = typography.subtitle1;\n\n inputStyle = {\n paddingVertical: 0,\n color: inputTextColor,\n paddingLeft:\n leftIconName && leftIconMode === \"inset\"\n ? ICON_SIZE + 12 + (type === \"solid\" ? 16 : 0)\n : 0,\n paddingRight: rightIconName ? ICON_SIZE + 16 + 4 : 12,\n ...subtitle1,\n };\n\n if (!multiline) {\n inputStyle.height = lineHeight;\n }\n\n let assistiveTextLeftMargin;\n if (type === \"underline\") {\n containerStyle = {\n borderTopLeftRadius: roundness,\n borderTopRightRadius: roundness,\n paddingBottom: 12,\n marginTop: 16,\n };\n\n if (leftIconName && leftIconMode === \"outset\") {\n assistiveTextLeftMargin = ICON_SIZE + 8;\n } else {\n assistiveTextLeftMargin = 0;\n }\n } else {\n containerStyle = {\n borderRadius: roundness,\n borderColor: hasActiveOutline ? activeColor : borderColor,\n borderWidth: 1,\n paddingTop: label ? 16 * 1.5 : 16,\n paddingBottom: label ? 16 * 0.5 : 16,\n opacity: disabled ? disabledOpacity : 1,\n backgroundColor,\n };\n\n if (leftIconName && leftIconMode === \"inset\") {\n assistiveTextLeftMargin = 16 + 4;\n } else if (leftIconName && leftIconMode === \"outset\") {\n assistiveTextLeftMargin = ICON_SIZE + 8 + 12;\n } else {\n assistiveTextLeftMargin = 12;\n }\n\n inputStyle.paddingHorizontal = 12;\n }\n\n if (leftIconName && leftIconMode === \"outset\") {\n containerStyle.marginLeft = ICON_SIZE + 8;\n }\n\n let leftIconColor;\n if (error) {\n leftIconColor = colors.error;\n } else if (this.state.focused) {\n leftIconColor = colors.primary;\n } else {\n leftIconColor = colors.light;\n }\n\n const leftIconProps = {\n size: 24,\n color: leftIconColor,\n name: leftIconName || \"\",\n };\n\n const leftIconStyle: ImageStyle = {\n position: \"absolute\",\n marginTop:\n type === \"solid\"\n ? MINIMIZED_LABEL_FONT_SIZE + 4\n : leftIconMode === \"outset\"\n ? 16\n : 0,\n };\n\n const labelStyle = {\n ...typography.subtitle1,\n top: type === \"solid\" ? 16 : 0,\n left:\n leftIconName && leftIconMode === \"inset\"\n ? ICON_SIZE + (type === \"solid\" ? 16 : 12)\n : 0,\n transform: [\n {\n // Move label to top\n translateY: this.state.labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [\n type === \"solid\"\n ? OUTLINE_MINIMIZED_LABEL_Y_OFFSET\n : MINIMIZED_LABEL_Y_OFFSET,\n 0,\n ],\n }),\n },\n {\n // Make label smaller\n scale: this.state.labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [\n MINIMIZED_LABEL_FONT_SIZE / MAXIMIZED_LABEL_FONT_SIZE,\n 1,\n ],\n }),\n },\n {\n // Offset label scale since RN doesn't support transform origin\n translateX: this.state.labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [\n -(1 - MINIMIZED_LABEL_FONT_SIZE / MAXIMIZED_LABEL_FONT_SIZE) *\n (this.state.labelLayout.width / 2),\n 0,\n ],\n }),\n },\n ],\n };\n\n const { textStyles } = extractStyles(style);\n const inputStyles = applyStyles(\n [\n styles.input,\n inputStyle,\n type === \"solid\" ? { marginHorizontal: 12 } : {},\n ],\n textStyles\n );\n\n const {\n backgroundColor: bgColor,\n padding,\n paddingTop,\n paddingBottom,\n paddingLeft,\n paddingRight,\n borderRadius,\n borderWidth,\n borderTopWidth,\n borderRightWidth,\n borderBottomWidth,\n borderLeftWidth,\n borderColor: borderCol,\n ...styleProp\n } = StyleSheet.flatten(style || {}) as ViewStyle & { height?: number };\n\n return (\n <View style={[styles.container, styleProp]}>\n {leftIconName && leftIconMode === \"outset\" ? (\n <Icon {...leftIconProps} style={leftIconStyle} />\n ) : null}\n <View\n style={applyStyles([containerStyle], {\n height: style?.height,\n backgroundColor: bgColor,\n padding,\n paddingTop,\n paddingBottom,\n paddingLeft,\n paddingRight,\n borderRadius,\n borderWidth,\n borderTopWidth,\n borderRightWidth,\n borderBottomWidth,\n borderLeftWidth,\n borderColor: borderCol,\n })}\n >\n {type === \"underline\" ? (\n // When type === 'flat', render an underline\n <Animated.View\n style={[\n styles.underline,\n {\n backgroundColor:\n bgColor ||\n (error\n ? colors.error\n : this.state.focused\n ? activeColor\n : underlineColor),\n // Underlines is thinner when input is not focused\n transform: [{ scaleY: this.state.focused ? 1 : 0.5 }],\n },\n ]}\n />\n ) : null}\n\n {label ? (\n // Position colored placeholder and gray placeholder on top of each other and crossfade them\n // This gives the effect of animating the color, but allows us to use native driver\n <View\n pointerEvents=\"none\"\n style={[\n StyleSheet.absoluteFill,\n {\n opacity:\n // Hide the label in minimized state until we measure its width\n this.state.value || this.state.focused\n ? this.state.labelLayout.measured\n ? 1\n : 0\n : 1,\n },\n ]}\n >\n <AnimatedText\n onLayout={(e: LayoutChangeEvent) =>\n this.setState({\n labelLayout: {\n width: e.nativeEvent.layout.width,\n measured: true,\n },\n })\n }\n style={[\n styles.placeholder,\n type === \"solid\" ? { paddingHorizontal: 12 } : {},\n labelStyle,\n {\n color: placeholderColor,\n opacity: this.state.labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [hasActiveOutline ? 1 : 0, 0],\n }),\n },\n ]}\n numberOfLines={1}\n >\n {label}\n </AnimatedText>\n <AnimatedText\n style={[\n styles.placeholder,\n type === \"solid\" ? { paddingHorizontal: 12 } : {},\n labelStyle,\n {\n color: placeholderColor,\n opacity: hasActiveOutline ? this.state.labeled : 1,\n },\n ]}\n numberOfLines={1}\n >\n {label}\n </AnimatedText>\n </View>\n ) : null}\n\n {leftIconName && leftIconMode === \"inset\" ? (\n <Icon\n {...leftIconProps}\n style={{\n ...leftIconStyle,\n marginLeft: type === \"solid\" ? 16 : 0,\n }}\n />\n ) : null}\n\n {render({\n ref: (c: NativeTextInput) => {\n this._root = c;\n },\n onChange: this._handleChangeText,\n placeholder: label\n ? this.state.placeholder\n : this.props.placeholder,\n placeholderTextColor: placeholderColor,\n editable: !disabled,\n selectionColor: activeColor,\n multiline,\n numberOfLines,\n onFocus: this._handleFocus,\n onBlur: this._handleBlur,\n underlineColorAndroid: \"transparent\",\n style: inputStyles,\n ...rest,\n value: this.state.value,\n })}\n </View>\n {rightIconName ? (\n <Icon\n name={rightIconName}\n size={ICON_SIZE}\n color={colors.light}\n style={{\n position: \"absolute\",\n right: 16,\n marginTop: type === \"solid\" ? MINIMIZED_LABEL_FONT_SIZE + 4 : 16,\n }}\n />\n ) : null}\n\n {assistiveText ? (\n <Text\n style={[\n {\n color: error ? colors.error : colors.light,\n marginTop: 8,\n marginLeft: assistiveTextLeftMargin,\n },\n ]}\n >\n {assistiveText}\n </Text>\n ) : null}\n </View>\n );\n }\n}\n\nexport default withTheme(TextField);\n\nconst styles = StyleSheet.create({\n container: {\n alignSelf: \"stretch\",\n },\n placeholder: {\n position: \"absolute\",\n left: 0,\n },\n underline: {\n position: \"absolute\",\n left: 0,\n right: 0,\n bottom: 0,\n height: 2,\n },\n input: {\n flexGrow: 1,\n justifyContent: \"center\",\n textAlignVertical: \"center\",\n margin: 0,\n textAlign: I18nManager.isRTL ? \"right\" : \"left\",\n },\n});\n\nconst SEED_DATA_PROPS = {\n ...TEXT_INPUT_PROPS,\n label: {\n group: GROUPS.data,\n label: \"Label\",\n description: \"The label to be displayed on the text field\",\n formType: FORM_TYPES.string,\n propType: PROP_TYPES.STRING,\n defaultValue: null,\n editable: true,\n required: true,\n },\n assistiveText: {\n group: GROUPS.basic,\n label: \"Assistive text\",\n description: \"Helper text to display below the input\",\n formType: FORM_TYPES.string,\n propType: PROP_TYPES.STRING,\n defaultValue: null,\n editable: true,\n required: false,\n },\n error: {\n group: GROUPS.data,\n label: \"Error\",\n description: \"Whether the input should display the error state\",\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n defaultValue: null,\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: null /* 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 handlerPropName: \"onChangeText\",\n defaultValue: \"textFieldValue\",\n },\n};\n\nconst SEED_DATA_TRIGGERS = [Triggers.OnChangeText];\nexport const SEED_DATA = [\n {\n name: \"Styled Text Field\",\n tag: \"TextField\",\n description: \"A text input with a solid border or underline\",\n category: COMPONENT_TYPES.input,\n preview_image_url: \"{CLOUDINARY_URL}/Textfield.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 Datepicker\",\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 underlineColor: createColorProp({\n label: \"Underline Color\",\n defaultValue: \"light\",\n }),\n secureTextEntry: {\n group: GROUPS.basic,\n label: \"Password field\",\n description:\n \"If true, this turns the field into a password field, hiding the text\",\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n defaultValue: null,\n editable: true,\n required: false,\n },\n },\n layout: {},\n },\n {\n name: \"Styled Text Area\",\n tag: \"TextField\",\n description: \"A text area with a solid border or underline\",\n category: COMPONENT_TYPES.input,\n preview_image_url: \"{CLOUDINARY_URL}/TextArea.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 Datepicker\",\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 multiline: {\n label: \"Multiline\",\n description: \"Multiline\",\n group: GROUPS.uncategorized,\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n defaultValue: true,\n editable: false,\n required: false,\n },\n numberOfLines: createNumberProp({\n label: \"Number of Lines\",\n description: \"Number of Lines for Multiline Field\",\n defaultValue: 4,\n group: GROUPS.basic,\n }),\n fieldName: createFieldNameProp({\n defaultValue: \"textAreaValue\",\n }),\n },\n layout: {},\n },\n];\n"]}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SEED_DATA = void 0;
7
+
8
+ var _types = require("@draftbit/types");
9
+
10
+ const SEED_DATA = {
11
+ name: "Text Area",
12
+ tag: "TextInput",
13
+ description: "An input field that allows for multiple lines.",
14
+ category: _types.COMPONENT_TYPES.basic,
15
+ layout: {
16
+ flex: 1
17
+ },
18
+ triggers: [_types.Triggers.OnChangeText],
19
+ props: { ..._types.TEXT_INPUT_PROPS,
20
+ multiline: {
21
+ label: "Multiline",
22
+ description: "Multiline",
23
+ group: _types.GROUPS.uncategorized,
24
+ formType: _types.FORM_TYPES.boolean,
25
+ propType: _types.PROP_TYPES.BOOLEAN,
26
+ defaultValue: true,
27
+ editable: true,
28
+ required: false
29
+ },
30
+ numberOfLines: {
31
+ label: "Number Of Lines",
32
+ description: "Number Of Lines",
33
+ group: _types.GROUPS.basic,
34
+ formType: _types.FORM_TYPES.boolean,
35
+ propType: _types.PROP_TYPES.BOOLEAN,
36
+ defaultValue: 4,
37
+ editable: true,
38
+ required: false
39
+ },
40
+ fieldName: { ..._types.FIELD_NAME,
41
+ defaultValue: "textInputValue",
42
+ handlerPropName: "onChangeText"
43
+ }
44
+ }
45
+ };
46
+ exports.SEED_DATA = SEED_DATA;
47
+ //# sourceMappingURL=TextArea.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["TextArea.js"],"names":["SEED_DATA","name","tag","description","category","COMPONENT_TYPES","basic","layout","flex","triggers","Triggers","OnChangeText","props","TEXT_INPUT_PROPS","multiline","label","group","GROUPS","uncategorized","formType","FORM_TYPES","boolean","propType","PROP_TYPES","BOOLEAN","defaultValue","editable","required","numberOfLines","fieldName","FIELD_NAME","handlerPropName"],"mappings":";;;;;;;AAAA;;AAUO,MAAMA,SAAS,GAAG;AACvBC,EAAAA,IAAI,EAAE,WADiB;AAEvBC,EAAAA,GAAG,EAAE,WAFkB;AAGvBC,EAAAA,WAAW,EAAE,gDAHU;AAIvBC,EAAAA,QAAQ,EAAEC,uBAAgBC,KAJH;AAKvBC,EAAAA,MAAM,EAAE;AAAEC,IAAAA,IAAI,EAAE;AAAR,GALe;AAMvBC,EAAAA,QAAQ,EAAE,CAACC,gBAASC,YAAV,CANa;AAOvBC,EAAAA,KAAK,EAAE,EACL,GAAGC,uBADE;AAELC,IAAAA,SAAS,EAAE;AACTC,MAAAA,KAAK,EAAE,WADE;AAETZ,MAAAA,WAAW,EAAE,WAFJ;AAGTa,MAAAA,KAAK,EAAEC,cAAOC,aAHL;AAITC,MAAAA,QAAQ,EAAEC,kBAAWC,OAJZ;AAKTC,MAAAA,QAAQ,EAAEC,kBAAWC,OALZ;AAMTC,MAAAA,YAAY,EAAE,IANL;AAOTC,MAAAA,QAAQ,EAAE,IAPD;AAQTC,MAAAA,QAAQ,EAAE;AARD,KAFN;AAYLC,IAAAA,aAAa,EAAE;AACbb,MAAAA,KAAK,EAAE,iBADM;AAEbZ,MAAAA,WAAW,EAAE,iBAFA;AAGba,MAAAA,KAAK,EAAEC,cAAOX,KAHD;AAIba,MAAAA,QAAQ,EAAEC,kBAAWC,OAJR;AAKbC,MAAAA,QAAQ,EAAEC,kBAAWC,OALR;AAMbC,MAAAA,YAAY,EAAE,CAND;AAObC,MAAAA,QAAQ,EAAE,IAPG;AAQbC,MAAAA,QAAQ,EAAE;AARG,KAZV;AAsBLE,IAAAA,SAAS,EAAE,EACT,GAAGC,iBADM;AAETL,MAAAA,YAAY,EAAE,gBAFL;AAGTM,MAAAA,eAAe,EAAE;AAHR;AAtBN;AAPgB,CAAlB","sourcesContent":["import {\n GROUPS,\n COMPONENT_TYPES,\n FORM_TYPES,\n PROP_TYPES,\n FIELD_NAME,\n TEXT_INPUT_PROPS,\n Triggers,\n} from \"@draftbit/types\";\n\nexport const SEED_DATA = {\n name: \"Text Area\",\n tag: \"TextInput\",\n description: \"An input field that allows for multiple lines.\",\n category: COMPONENT_TYPES.basic,\n layout: { flex: 1 },\n triggers: [Triggers.OnChangeText],\n props: {\n ...TEXT_INPUT_PROPS,\n multiline: {\n label: \"Multiline\",\n description: \"Multiline\",\n group: GROUPS.uncategorized,\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n defaultValue: true,\n editable: true,\n required: false,\n },\n numberOfLines: {\n label: \"Number Of Lines\",\n description: \"Number Of Lines\",\n group: GROUPS.basic,\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n defaultValue: 4,\n editable: true,\n required: false,\n },\n fieldName: {\n ...FIELD_NAME,\n defaultValue: \"textInputValue\",\n handlerPropName: \"onChangeText\",\n },\n },\n};\n"]}
@@ -175,7 +175,7 @@ const SEED_DATA = [{
175
175
  borderRadius: 8
176
176
  },
177
177
  triggers: [_types.Triggers.OnChangeText],
178
- props: { ..._types.TEXT_INPUT_PROPS,
178
+ props: { ..._types.NUMBER_INPUT_PROPS,
179
179
  ...COMMON_NATIVE_INPUT_PROPS
180
180
  }
181
181
  }];
@@ -1 +1 @@
1
- {"version":3,"sources":["TextInput.js"],"names":["COMMON_NATIVE_INPUT_PROPS","style","group","GROUPS","basic","label","description","editable","required","formType","FORM_TYPES","typeStyle","propType","PROP_TYPES","THEME","defaultValue","clearButtonMode","options","flatArray","STRING","clearTextOnFocus","boolean","BOOLEAN","enablesReturnKeyAutomatically","underlineColorAndroid","color","fieldName","FIELD_NAME","handlerPropName","NATIVE_INPUT_PROPS","multiline","numberOfLines","min","step","precision","number","NUMBER","scrollEnabled","spellcheck","textContentType","advanced","textBreakStrategy","SEED_DATA","name","tag","category","COMPONENT_TYPES","input","preview_image_url","supports_list_render","layout","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth","borderColor","paddingLeft","paddingRight","paddingTop","paddingBottom","borderRadius","triggers","Triggers","OnChangeText","props","TEXT_INPUT_PROPS"],"mappings":"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","sourcesContent":["import {\n GROUPS,\n COMPONENT_TYPES,\n FORM_TYPES,\n PROP_TYPES,\n FIELD_NAME,\n TEXT_INPUT_PROPS,\n Triggers,\n} from \"@draftbit/types\";\n\nexport const COMMON_NATIVE_INPUT_PROPS = {\n style: {\n group: GROUPS.basic,\n label: \"Style\",\n description: \"Text Style\",\n editable: false,\n required: false,\n formType: FORM_TYPES.typeStyle,\n propType: PROP_TYPES.THEME,\n defaultValue: null,\n },\n clearButtonMode: {\n group: GROUPS.basic,\n label: \"Clear Button Mode\",\n description:\n \"Enables a button within the textInput to clear the data entered\",\n editable: true,\n required: false,\n options: [\"never\", \"while-editing\", \"unless-editing\", \"always\"],\n defaultValue: null,\n formType: FORM_TYPES.flatArray,\n propType: PROP_TYPES.STRING,\n },\n clearTextOnFocus: {\n group: GROUPS.basic,\n label: \"Clear Text on Focus\",\n description:\n \"If true, clears the text field automatically when its focused.\",\n editable: true,\n required: false,\n defaultValue: null,\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n },\n enablesReturnKeyAutomatically: {\n group: GROUPS.basic,\n label: \"Enables Return Key Automatically\",\n description:\n \"If true, the keyboard disables the return key when there is no text and automatically enables it when there is (Default: false)\",\n editable: true,\n required: false,\n defaultValue: null,\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n },\n underlineColorAndroid: {\n group: GROUPS.basic,\n label: \"Underline color\",\n description:\n \"(Android Only) The color of the underline(the line underneath the text when finished typing.\",\n editable: true,\n required: false,\n defaultValue: null,\n formType: FORM_TYPES.color,\n propType: PROP_TYPES.THEME,\n },\n fieldName: {\n ...FIELD_NAME,\n defaultValue: \"textInputValue\",\n handlerPropName: \"onChangeText\",\n },\n};\n\nconst NATIVE_INPUT_PROPS = {\n ...COMMON_NATIVE_INPUT_PROPS,\n multiline: {\n group: GROUPS.basic,\n label: \"Multiple Lines\",\n description:\n \"Allows multiple lines of input, useful for situations where the user may be typing in a lot of data.\",\n editable: true,\n required: false,\n defaultValue: null,\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n },\n numberOfLines: {\n group: GROUPS.basic,\n label: \"Number of Lines\",\n description:\n \"Sets the number of lines for the input (Multiple Lines needs to be true)\",\n editable: true,\n required: false,\n defaultValue: null,\n min: 0,\n step: 1,\n precision: 0,\n formType: FORM_TYPES.number,\n propType: PROP_TYPES.NUMBER,\n },\n scrollEnabled: {\n group: GROUPS.basic,\n label: \"Scroll Enabled\",\n description:\n \"If false, scrolling of the input will be disabled. Only works when Multiple Lines is true\",\n editable: true,\n required: false,\n defaultValue: null,\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n },\n spellcheck: {\n group: GROUPS.basic,\n label: \"Disable Spell Check\",\n description:\n \"If false, disables spell-check style (red underlines). Default comes from Auto Correct\",\n editable: true,\n required: false,\n defaultValue: null,\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n },\n textContentType: {\n group: GROUPS.advanced,\n label: \"Text Content Type\",\n description:\n \"Give the keyboard and system about what it should do with the input. For example, if its an address, autofill from address book\",\n editable: true,\n required: false,\n defaultValue: null,\n options: [\n \"none\",\n \"URL\",\n \"addressCity\",\n \"addressCityAndState\",\n \"addressState\",\n \"countryName\",\n \"creditCardNumber\",\n \"emailAddress\",\n \"familyName\",\n \"fullStreetAddress\",\n \"givenName\",\n \"jobTitle\",\n \"location\",\n \"middleName\",\n \"name\",\n \"namePrefix\",\n \"nameSuffix\",\n \"nickname\",\n \"organizationName\",\n \"postalCode\",\n \"streetAddressLine1\",\n \"streetAddressLine2\",\n \"sublocality\",\n \"telephoneNumber\",\n \"username\",\n \"password\",\n ],\n formType: FORM_TYPES.flatArray,\n propType: PROP_TYPES.STRING,\n },\n textBreakStrategy: {\n group: GROUPS.advanced,\n label: \"Text Break Strategy\",\n description:\n \"(Android Only) Set the text break strategy. (Default: simple)\",\n editable: true,\n required: false,\n defaultValue: null,\n options: [\"simple\", \"highQuality\", \"balanced\"],\n formType: FORM_TYPES.flatArray,\n propType: PROP_TYPES.STRING,\n },\n};\n\nexport const SEED_DATA = [\n {\n name: \"Text Input\",\n tag: \"TextInput\",\n description: \"An input field that allows users to type in data.\",\n category: COMPONENT_TYPES.input,\n preview_image_url:\n \"https://res.cloudinary.com/altos/image/upload/draftbit/Jigsaw/TextInput.png\",\n supports_list_render: false,\n layout: {\n borderLeftWidth: 1,\n borderRightWidth: 1,\n borderTopWidth: 1,\n borderBottomWidth: 1,\n borderColor: \"divider\",\n paddingLeft: 8,\n paddingRight: 8,\n paddingTop: 8,\n paddingBottom: 8,\n borderRadius: 8,\n },\n triggers: [Triggers.OnChangeText],\n props: {\n ...TEXT_INPUT_PROPS,\n ...NATIVE_INPUT_PROPS,\n },\n },\n {\n name: \"Number Input\",\n tag: \"NumberInput\",\n description: \"An input field that allows users to type in data.\",\n category: COMPONENT_TYPES.input,\n preview_image_url:\n \"https://res.cloudinary.com/altos/image/upload/draftbit/Jigsaw/TextInput.png\",\n supports_list_render: false,\n layout: {\n borderLeftWidth: 1,\n borderRightWidth: 1,\n borderTopWidth: 1,\n borderBottomWidth: 1,\n borderColor: \"divider\",\n paddingLeft: 8,\n paddingRight: 8,\n paddingTop: 8,\n paddingBottom: 8,\n borderRadius: 8,\n },\n triggers: [Triggers.OnChangeText],\n props: {\n ...TEXT_INPUT_PROPS,\n ...COMMON_NATIVE_INPUT_PROPS,\n },\n },\n];\n"]}
1
+ {"version":3,"sources":["TextInput.js"],"names":["COMMON_NATIVE_INPUT_PROPS","style","group","GROUPS","basic","label","description","editable","required","formType","FORM_TYPES","typeStyle","propType","PROP_TYPES","THEME","defaultValue","clearButtonMode","options","flatArray","STRING","clearTextOnFocus","boolean","BOOLEAN","enablesReturnKeyAutomatically","underlineColorAndroid","color","fieldName","FIELD_NAME","handlerPropName","NATIVE_INPUT_PROPS","multiline","numberOfLines","min","step","precision","number","NUMBER","scrollEnabled","spellcheck","textContentType","advanced","textBreakStrategy","SEED_DATA","name","tag","category","COMPONENT_TYPES","input","preview_image_url","supports_list_render","layout","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth","borderColor","paddingLeft","paddingRight","paddingTop","paddingBottom","borderRadius","triggers","Triggers","OnChangeText","props","TEXT_INPUT_PROPS","NUMBER_INPUT_PROPS"],"mappings":"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","sourcesContent":["import {\n GROUPS,\n COMPONENT_TYPES,\n FORM_TYPES,\n PROP_TYPES,\n FIELD_NAME,\n TEXT_INPUT_PROPS,\n NUMBER_INPUT_PROPS,\n Triggers,\n} from \"@draftbit/types\";\n\nexport const COMMON_NATIVE_INPUT_PROPS = {\n style: {\n group: GROUPS.basic,\n label: \"Style\",\n description: \"Text Style\",\n editable: false,\n required: false,\n formType: FORM_TYPES.typeStyle,\n propType: PROP_TYPES.THEME,\n defaultValue: null,\n },\n clearButtonMode: {\n group: GROUPS.basic,\n label: \"Clear Button Mode\",\n description:\n \"Enables a button within the textInput to clear the data entered\",\n editable: true,\n required: false,\n options: [\"never\", \"while-editing\", \"unless-editing\", \"always\"],\n defaultValue: null,\n formType: FORM_TYPES.flatArray,\n propType: PROP_TYPES.STRING,\n },\n clearTextOnFocus: {\n group: GROUPS.basic,\n label: \"Clear Text on Focus\",\n description:\n \"If true, clears the text field automatically when its focused.\",\n editable: true,\n required: false,\n defaultValue: null,\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n },\n enablesReturnKeyAutomatically: {\n group: GROUPS.basic,\n label: \"Enables Return Key Automatically\",\n description:\n \"If true, the keyboard disables the return key when there is no text and automatically enables it when there is (Default: false)\",\n editable: true,\n required: false,\n defaultValue: null,\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n },\n underlineColorAndroid: {\n group: GROUPS.basic,\n label: \"Underline color\",\n description:\n \"(Android Only) The color of the underline(the line underneath the text when finished typing.\",\n editable: true,\n required: false,\n defaultValue: null,\n formType: FORM_TYPES.color,\n propType: PROP_TYPES.THEME,\n },\n fieldName: {\n ...FIELD_NAME,\n defaultValue: \"textInputValue\",\n handlerPropName: \"onChangeText\",\n },\n};\n\nconst NATIVE_INPUT_PROPS = {\n ...COMMON_NATIVE_INPUT_PROPS,\n multiline: {\n group: GROUPS.basic,\n label: \"Multiple Lines\",\n description:\n \"Allows multiple lines of input, useful for situations where the user may be typing in a lot of data.\",\n editable: true,\n required: false,\n defaultValue: null,\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n },\n numberOfLines: {\n group: GROUPS.basic,\n label: \"Number of Lines\",\n description:\n \"Sets the number of lines for the input (Multiple Lines needs to be true)\",\n editable: true,\n required: false,\n defaultValue: null,\n min: 0,\n step: 1,\n precision: 0,\n formType: FORM_TYPES.number,\n propType: PROP_TYPES.NUMBER,\n },\n scrollEnabled: {\n group: GROUPS.basic,\n label: \"Scroll Enabled\",\n description:\n \"If false, scrolling of the input will be disabled. Only works when Multiple Lines is true\",\n editable: true,\n required: false,\n defaultValue: null,\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n },\n spellcheck: {\n group: GROUPS.basic,\n label: \"Disable Spell Check\",\n description:\n \"If false, disables spell-check style (red underlines). Default comes from Auto Correct\",\n editable: true,\n required: false,\n defaultValue: null,\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n },\n textContentType: {\n group: GROUPS.advanced,\n label: \"Text Content Type\",\n description:\n \"Give the keyboard and system about what it should do with the input. For example, if its an address, autofill from address book\",\n editable: true,\n required: false,\n defaultValue: null,\n options: [\n \"none\",\n \"URL\",\n \"addressCity\",\n \"addressCityAndState\",\n \"addressState\",\n \"countryName\",\n \"creditCardNumber\",\n \"emailAddress\",\n \"familyName\",\n \"fullStreetAddress\",\n \"givenName\",\n \"jobTitle\",\n \"location\",\n \"middleName\",\n \"name\",\n \"namePrefix\",\n \"nameSuffix\",\n \"nickname\",\n \"organizationName\",\n \"postalCode\",\n \"streetAddressLine1\",\n \"streetAddressLine2\",\n \"sublocality\",\n \"telephoneNumber\",\n \"username\",\n \"password\",\n ],\n formType: FORM_TYPES.flatArray,\n propType: PROP_TYPES.STRING,\n },\n textBreakStrategy: {\n group: GROUPS.advanced,\n label: \"Text Break Strategy\",\n description:\n \"(Android Only) Set the text break strategy. (Default: simple)\",\n editable: true,\n required: false,\n defaultValue: null,\n options: [\"simple\", \"highQuality\", \"balanced\"],\n formType: FORM_TYPES.flatArray,\n propType: PROP_TYPES.STRING,\n },\n};\n\nexport const SEED_DATA = [\n {\n name: \"Text Input\",\n tag: \"TextInput\",\n description: \"An input field that allows users to type in data.\",\n category: COMPONENT_TYPES.input,\n preview_image_url:\n \"https://res.cloudinary.com/altos/image/upload/draftbit/Jigsaw/TextInput.png\",\n supports_list_render: false,\n layout: {\n borderLeftWidth: 1,\n borderRightWidth: 1,\n borderTopWidth: 1,\n borderBottomWidth: 1,\n borderColor: \"divider\",\n paddingLeft: 8,\n paddingRight: 8,\n paddingTop: 8,\n paddingBottom: 8,\n borderRadius: 8,\n },\n triggers: [Triggers.OnChangeText],\n props: {\n ...TEXT_INPUT_PROPS,\n ...NATIVE_INPUT_PROPS,\n },\n },\n {\n name: \"Number Input\",\n tag: \"NumberInput\",\n description: \"An input field that allows users to type in data.\",\n category: COMPONENT_TYPES.input,\n preview_image_url:\n \"https://res.cloudinary.com/altos/image/upload/draftbit/Jigsaw/TextInput.png\",\n supports_list_render: false,\n layout: {\n borderLeftWidth: 1,\n borderRightWidth: 1,\n borderTopWidth: 1,\n borderBottomWidth: 1,\n borderColor: \"divider\",\n paddingLeft: 8,\n paddingRight: 8,\n paddingTop: 8,\n paddingBottom: 8,\n borderRadius: 8,\n },\n triggers: [Triggers.OnChangeText],\n props: {\n ...NUMBER_INPUT_PROPS,\n ...COMMON_NATIVE_INPUT_PROPS,\n },\n },\n];\n"]}
@@ -66,7 +66,7 @@ export const SEED_DATA = {
66
66
  category: COMPONENT_TYPES.container,
67
67
  props: {
68
68
  visible: createStaticBoolProp({
69
- group: GROUPS.basic,
69
+ group: GROUPS.data,
70
70
  label: "Show Action Sheet"
71
71
  })
72
72
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["ActionSheet.tsx"],"names":["React","View","StyleSheet","Portal","Touchable","COMPONENT_TYPES","createStaticBoolProp","GROUPS","ActionSheet","visible","onClose","children","styles","wrapper","overlay","groupWrapper","group","Children","toArray","filter","child","type","name","create","flex","display","flexDirection","position","top","left","right","bottom","backgroundColor","opacity","justifyContent","marginBottom","borderRadius","marginHorizontal","marginVertical","overflow","SEED_DATA","tag","description","category","container","props","basic","label"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { View, StyleSheet } from \"react-native\";\nimport Portal from \"../Portal/Portal\";\nimport Touchable from \"../Touchable\";\nimport { COMPONENT_TYPES, createStaticBoolProp, GROUPS } from \"@draftbit/types\";\n\ninterface Props {\n visible: boolean;\n onClose: () => void;\n children: React.ReactNode;\n}\n\nconst ActionSheet = ({ visible = false, onClose, children }: Props) => {\n return visible ? (\n <Portal>\n <Touchable style={styles.wrapper} onPress={onClose}>\n <View style={styles.overlay} />\n <View style={styles.groupWrapper}>\n <View style={styles.group}>\n {React.Children.toArray(children).filter(\n (child: any) => child?.type?.name !== \"ActionSheetCancel\"\n )}\n </View>\n <View style={styles.group}>\n {React.Children.toArray(children).filter(\n (child: any) => child.type.name === \"ActionSheetCancel\"\n )}\n </View>\n </View>\n </Touchable>\n </Portal>\n ) : (\n <></>\n );\n};\n\nconst styles = StyleSheet.create({\n wrapper: {\n flex: 1,\n display: \"flex\",\n flexDirection: \"column\",\n },\n overlay: {\n position: \"absolute\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n backgroundColor: \"#000000\",\n opacity: 0.3,\n },\n groupWrapper: {\n flex: 1,\n flexDirection: \"column\",\n justifyContent: \"flex-end\",\n display: \"flex\",\n marginBottom: 25,\n },\n group: {\n display: \"flex\",\n flexDirection: \"column\",\n borderRadius: 10,\n marginHorizontal: 7,\n marginVertical: 2.5,\n overflow: \"hidden\",\n },\n});\n\nexport default ActionSheet;\n\nexport const SEED_DATA = {\n name: \"Action Sheet\",\n tag: \"ActionSheet\",\n description: \"Action Sheet container\",\n category: COMPONENT_TYPES.container,\n props: {\n visible: createStaticBoolProp({\n group: GROUPS.basic,\n label: \"Show Action Sheet\",\n }),\n },\n};\n"]}
1
+ {"version":3,"sources":["ActionSheet.tsx"],"names":["React","View","StyleSheet","Portal","Touchable","COMPONENT_TYPES","createStaticBoolProp","GROUPS","ActionSheet","visible","onClose","children","styles","wrapper","overlay","groupWrapper","group","Children","toArray","filter","child","type","name","create","flex","display","flexDirection","position","top","left","right","bottom","backgroundColor","opacity","justifyContent","marginBottom","borderRadius","marginHorizontal","marginVertical","overflow","SEED_DATA","tag","description","category","container","props","data","label"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { View, StyleSheet } from \"react-native\";\nimport Portal from \"../Portal/Portal\";\nimport Touchable from \"../Touchable\";\nimport { COMPONENT_TYPES, createStaticBoolProp, GROUPS } from \"@draftbit/types\";\n\ninterface Props {\n visible: boolean;\n onClose: () => void;\n children: React.ReactNode;\n}\n\nconst ActionSheet = ({ visible = false, onClose, children }: Props) => {\n return visible ? (\n <Portal>\n <Touchable style={styles.wrapper} onPress={onClose}>\n <View style={styles.overlay} />\n <View style={styles.groupWrapper}>\n <View style={styles.group}>\n {React.Children.toArray(children).filter(\n (child: any) => child?.type?.name !== \"ActionSheetCancel\"\n )}\n </View>\n <View style={styles.group}>\n {React.Children.toArray(children).filter(\n (child: any) => child.type.name === \"ActionSheetCancel\"\n )}\n </View>\n </View>\n </Touchable>\n </Portal>\n ) : (\n <></>\n );\n};\n\nconst styles = StyleSheet.create({\n wrapper: {\n flex: 1,\n display: \"flex\",\n flexDirection: \"column\",\n },\n overlay: {\n position: \"absolute\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n backgroundColor: \"#000000\",\n opacity: 0.3,\n },\n groupWrapper: {\n flex: 1,\n flexDirection: \"column\",\n justifyContent: \"flex-end\",\n display: \"flex\",\n marginBottom: 25,\n },\n group: {\n display: \"flex\",\n flexDirection: \"column\",\n borderRadius: 10,\n marginHorizontal: 7,\n marginVertical: 2.5,\n overflow: \"hidden\",\n },\n});\n\nexport default ActionSheet;\n\nexport const SEED_DATA = {\n name: \"Action Sheet\",\n tag: \"ActionSheet\",\n description: \"Action Sheet container\",\n category: COMPONENT_TYPES.container,\n props: {\n visible: createStaticBoolProp({\n group: GROUPS.data,\n label: \"Show Action Sheet\",\n }),\n },\n};\n"]}
@@ -16,12 +16,17 @@ function normalizeOptions(options) {
16
16
  if (typeof options[0] === "string") {
17
17
  return options.map(option => ({
18
18
  label: option,
19
- value: option
19
+ value: String(option)
20
20
  }));
21
21
  }
22
22
 
23
23
  if (options[0].label && options[0].value) {
24
- return options;
24
+ return options.map(option => {
25
+ return {
26
+ label: option.label,
27
+ value: String(option.value)
28
+ };
29
+ });
25
30
  }
26
31
 
27
32
  throw new Error('Picker options must be either an array of strings or array of { "label": string; "value": string; } objects.');
@@ -40,19 +45,19 @@ const Picker = ({
40
45
  return;
41
46
  }
42
47
 
43
- onValueChangeOverride && onValueChangeOverride(itemValue, itemIndex);
48
+ onValueChangeOverride && onValueChangeOverride(String(itemValue), itemIndex);
44
49
  }, [placeholder, onValueChangeOverride]);
45
50
  const normalizedOptions = normalizeOptions(options);
46
51
  const previousInitialValue = usePrevious(initialValue);
47
52
  React.useEffect(() => {
48
- if (initialValue !== previousInitialValue) {
53
+ if (String(initialValue) !== String(previousInitialValue)) {
49
54
  const index = normalizedOptions.findIndex(opt => opt.value === initialValue);
50
55
 
51
56
  if (index == null) {
52
57
  return;
53
58
  }
54
59
 
55
- onValueChange(initialValue, index);
60
+ onValueChange(String(initialValue), index);
56
61
  }
57
62
  }, [initialValue, previousInitialValue, normalizedOptions, onValueChange]);
58
63
  const pickerOptions = placeholder ? [{
@@ -60,7 +65,7 @@ const Picker = ({
60
65
  label: placeholder
61
66
  }, ...normalizedOptions] : normalizedOptions;
62
67
  return /*#__PURE__*/React.createElement(PickerComponent, _extends({}, props, {
63
- selectedValue: value,
68
+ selectedValue: String(value),
64
69
  placeholder: placeholder,
65
70
  options: pickerOptions,
66
71
  onValueChange: onValueChange