@draftbit/core 46.0.1-696ea7.1 → 46.0.1-891ac6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/lib/commonjs/components/Carousel.js +1 -3
  2. package/lib/commonjs/components/Carousel.js.map +1 -1
  3. package/lib/commonjs/components/Checkbox/Checkbox.js.map +1 -1
  4. package/lib/commonjs/components/DatePicker/DatePickerComponent.web.js +3 -3
  5. package/lib/commonjs/components/DatePicker/DatePickerComponent.web.js.map +1 -1
  6. package/lib/commonjs/components/Picker/Picker.js +3 -3
  7. package/lib/commonjs/components/Picker/Picker.js.map +1 -1
  8. package/lib/commonjs/components/Picker/PickerComponent.android.js +2 -2
  9. package/lib/commonjs/components/Picker/PickerComponent.android.js.map +1 -1
  10. package/lib/commonjs/components/Picker/PickerComponent.ios.js +2 -2
  11. package/lib/commonjs/components/Picker/PickerComponent.ios.js.map +1 -1
  12. package/lib/commonjs/components/Picker/PickerComponent.web.js +2 -2
  13. package/lib/commonjs/components/Picker/PickerComponent.web.js.map +1 -1
  14. package/lib/commonjs/components/RadioButton/RadioButton.js +1 -1
  15. package/lib/commonjs/components/RadioButton/RadioButton.js.map +1 -1
  16. package/lib/commonjs/components/RadioButton/RadioButtonRow.js +1 -1
  17. package/lib/commonjs/components/RadioButton/RadioButtonRow.js.map +1 -1
  18. package/lib/commonjs/components/Stepper.js +1 -1
  19. package/lib/commonjs/components/Stepper.js.map +1 -1
  20. package/lib/module/components/Carousel.js +1 -3
  21. package/lib/module/components/Carousel.js.map +1 -1
  22. package/lib/module/components/Checkbox/Checkbox.js.map +1 -1
  23. package/lib/module/components/DatePicker/DatePickerComponent.web.js +3 -3
  24. package/lib/module/components/DatePicker/DatePickerComponent.web.js.map +1 -1
  25. package/lib/module/components/Picker/Picker.js +3 -3
  26. package/lib/module/components/Picker/Picker.js.map +1 -1
  27. package/lib/module/components/Picker/PickerComponent.android.js +2 -2
  28. package/lib/module/components/Picker/PickerComponent.android.js.map +1 -1
  29. package/lib/module/components/Picker/PickerComponent.ios.js +2 -2
  30. package/lib/module/components/Picker/PickerComponent.ios.js.map +1 -1
  31. package/lib/module/components/Picker/PickerComponent.web.js +2 -2
  32. package/lib/module/components/Picker/PickerComponent.web.js.map +1 -1
  33. package/lib/module/components/RadioButton/RadioButton.js +1 -1
  34. package/lib/module/components/RadioButton/RadioButton.js.map +1 -1
  35. package/lib/module/components/RadioButton/RadioButtonRow.js +1 -1
  36. package/lib/module/components/RadioButton/RadioButtonRow.js.map +1 -1
  37. package/lib/module/components/Stepper.js +1 -1
  38. package/lib/module/components/Stepper.js.map +1 -1
  39. package/package.json +4 -4
  40. package/src/components/Checkbox/Checkbox.tsx +76 -77
@@ -21,7 +21,7 @@ const Stepper = _ref => {
21
21
  },
22
22
  Icon
23
23
  } = _ref;
24
- const [value, setValue] = useState(defaultValue !== null && defaultValue !== void 0 ? defaultValue : 0);
24
+ const [value, setValue] = useState(defaultValue ?? 0);
25
25
 
26
26
  const isValidValue = valueArg => valueArg >= min && valueArg <= max;
27
27
 
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useState","View","Text","isNumber","withTheme","IconButton","Stepper","min","Infinity","max","value","valueProp","defaultValue","style","typeStyle","iconSize","iconColor","onChange","theme","colors","typography","Icon","setValue","isValidValue","valueArg","handlePlusOrMinus","type","newValue","flexDirection","opacity","body1","textAlign","alignSelf","color","medium","marginHorizontal"],"sources":["Stepper.tsx"],"sourcesContent":["import React, { FC, useEffect, useState } from \"react\";\nimport { View, Text, StyleProp, ViewStyle, TextStyle } from \"react-native\";\nimport { isNumber } from \"lodash\";\n\nimport { withTheme } from \"../theming\";\nimport type { Theme } from \"../styles/DefaultTheme\";\nimport type { IconSlot } from \"../interfaces/Icon\";\nimport IconButton from \"./IconButton\";\n\ntype Props = {\n min: number;\n max: number;\n value?: number;\n defaultValue?: number;\n style?: StyleProp<ViewStyle>;\n typeStyle?: StyleProp<TextStyle>;\n iconSize: number;\n iconColor?: string;\n onChange?: (value: number) => void;\n theme: Theme;\n} & IconSlot;\n\nconst Stepper: FC<Props> = ({\n min = -Infinity,\n max = Infinity,\n value: valueProp,\n defaultValue,\n style,\n typeStyle,\n iconSize = 24,\n iconColor,\n onChange,\n theme: { colors, typography },\n Icon,\n}) => {\n const [value, setValue] = useState(defaultValue ?? 0);\n\n const isValidValue = (valueArg: number) => valueArg >= min && valueArg <= max;\n\n const handlePlusOrMinus = (type: \"plus\" | \"minus\") => {\n const newValue = type === \"plus\" ? value + 1 : value - 1;\n\n if (isValidValue(newValue)) {\n setValue(newValue);\n onChange?.(newValue);\n }\n };\n\n useEffect(() => {\n if (\n valueProp != null &&\n isNumber(valueProp) &&\n valueProp !== value &&\n isValidValue(valueProp)\n ) {\n setValue(valueProp);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [valueProp]);\n\n return (\n <View style={[{ flexDirection: \"row\" }, style]}>\n <IconButton\n Icon={Icon}\n icon=\"MaterialIcons/remove\"\n onPress={() => handlePlusOrMinus(\"minus\")}\n size={iconSize}\n color={iconColor}\n disabled={value === min}\n style={{ opacity: value === min ? 0.5 : 1 }}\n />\n\n <Text\n style={[\n typography.body1,\n {\n textAlign: \"center\",\n alignSelf: \"center\",\n color: colors.medium,\n marginHorizontal: 8,\n },\n typeStyle,\n ]}\n >\n {value}\n </Text>\n\n <IconButton\n Icon={Icon}\n icon=\"MaterialIcons/add\"\n onPress={() => handlePlusOrMinus(\"plus\")}\n size={iconSize}\n color={iconColor}\n disabled={value === max}\n style={{ opacity: value === max ? 0.5 : 1 }}\n />\n </View>\n );\n};\n\nexport default withTheme(Stepper);\n"],"mappings":"AAAA,OAAOA,KAAP,IAAoBC,SAApB,EAA+BC,QAA/B,QAA+C,OAA/C;AACA,SAASC,IAAT,EAAeC,IAAf,QAA4D,cAA5D;AACA,SAASC,QAAT,QAAyB,QAAzB;AAEA,SAASC,SAAT,QAA0B,YAA1B;AAGA,OAAOC,UAAP,MAAuB,cAAvB;;AAeA,MAAMC,OAAkB,GAAG,QAYrB;EAAA,IAZsB;IAC1BC,GAAG,GAAG,CAACC,QADmB;IAE1BC,GAAG,GAAGD,QAFoB;IAG1BE,KAAK,EAAEC,SAHmB;IAI1BC,YAJ0B;IAK1BC,KAL0B;IAM1BC,SAN0B;IAO1BC,QAAQ,GAAG,EAPe;IAQ1BC,SAR0B;IAS1BC,QAT0B;IAU1BC,KAAK,EAAE;MAAEC,MAAF;MAAUC;IAAV,CAVmB;IAW1BC;EAX0B,CAYtB;EACJ,MAAM,CAACX,KAAD,EAAQY,QAAR,IAAoBtB,QAAQ,CAACY,YAAD,aAACA,YAAD,cAACA,YAAD,GAAiB,CAAjB,CAAlC;;EAEA,MAAMW,YAAY,GAAIC,QAAD,IAAsBA,QAAQ,IAAIjB,GAAZ,IAAmBiB,QAAQ,IAAIf,GAA1E;;EAEA,MAAMgB,iBAAiB,GAAIC,IAAD,IAA4B;IACpD,MAAMC,QAAQ,GAAGD,IAAI,KAAK,MAAT,GAAkBhB,KAAK,GAAG,CAA1B,GAA8BA,KAAK,GAAG,CAAvD;;IAEA,IAAIa,YAAY,CAACI,QAAD,CAAhB,EAA4B;MAC1BL,QAAQ,CAACK,QAAD,CAAR;MACAV,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAGU,QAAH,CAAR;IACD;EACF,CAPD;;EASA5B,SAAS,CAAC,MAAM;IACd,IACEY,SAAS,IAAI,IAAb,IACAR,QAAQ,CAACQ,SAAD,CADR,IAEAA,SAAS,KAAKD,KAFd,IAGAa,YAAY,CAACZ,SAAD,CAJd,EAKE;MACAW,QAAQ,CAACX,SAAD,CAAR;IACD,CARa,CASd;;EACD,CAVQ,EAUN,CAACA,SAAD,CAVM,CAAT;EAYA,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAE,CAAC;MAAEiB,aAAa,EAAE;IAAjB,CAAD,EAA2Bf,KAA3B;EAAb,gBACE,oBAAC,UAAD;IACE,IAAI,EAAEQ,IADR;IAEE,IAAI,EAAC,sBAFP;IAGE,OAAO,EAAE,MAAMI,iBAAiB,CAAC,OAAD,CAHlC;IAIE,IAAI,EAAEV,QAJR;IAKE,KAAK,EAAEC,SALT;IAME,QAAQ,EAAEN,KAAK,KAAKH,GANtB;IAOE,KAAK,EAAE;MAAEsB,OAAO,EAAEnB,KAAK,KAAKH,GAAV,GAAgB,GAAhB,GAAsB;IAAjC;EAPT,EADF,eAWE,oBAAC,IAAD;IACE,KAAK,EAAE,CACLa,UAAU,CAACU,KADN,EAEL;MACEC,SAAS,EAAE,QADb;MAEEC,SAAS,EAAE,QAFb;MAGEC,KAAK,EAAEd,MAAM,CAACe,MAHhB;MAIEC,gBAAgB,EAAE;IAJpB,CAFK,EAQLrB,SARK;EADT,GAYGJ,KAZH,CAXF,eA0BE,oBAAC,UAAD;IACE,IAAI,EAAEW,IADR;IAEE,IAAI,EAAC,mBAFP;IAGE,OAAO,EAAE,MAAMI,iBAAiB,CAAC,MAAD,CAHlC;IAIE,IAAI,EAAEV,QAJR;IAKE,KAAK,EAAEC,SALT;IAME,QAAQ,EAAEN,KAAK,KAAKD,GANtB;IAOE,KAAK,EAAE;MAAEoB,OAAO,EAAEnB,KAAK,KAAKD,GAAV,GAAgB,GAAhB,GAAsB;IAAjC;EAPT,EA1BF,CADF;AAsCD,CA5ED;;AA8EA,eAAeL,SAAS,CAACE,OAAD,CAAxB"}
1
+ {"version":3,"names":["React","useEffect","useState","View","Text","isNumber","withTheme","IconButton","Stepper","min","Infinity","max","value","valueProp","defaultValue","style","typeStyle","iconSize","iconColor","onChange","theme","colors","typography","Icon","setValue","isValidValue","valueArg","handlePlusOrMinus","type","newValue","flexDirection","opacity","body1","textAlign","alignSelf","color","medium","marginHorizontal"],"sources":["Stepper.tsx"],"sourcesContent":["import React, { FC, useEffect, useState } from \"react\";\nimport { View, Text, StyleProp, ViewStyle, TextStyle } from \"react-native\";\nimport { isNumber } from \"lodash\";\n\nimport { withTheme } from \"../theming\";\nimport type { Theme } from \"../styles/DefaultTheme\";\nimport type { IconSlot } from \"../interfaces/Icon\";\nimport IconButton from \"./IconButton\";\n\ntype Props = {\n min: number;\n max: number;\n value?: number;\n defaultValue?: number;\n style?: StyleProp<ViewStyle>;\n typeStyle?: StyleProp<TextStyle>;\n iconSize: number;\n iconColor?: string;\n onChange?: (value: number) => void;\n theme: Theme;\n} & IconSlot;\n\nconst Stepper: FC<Props> = ({\n min = -Infinity,\n max = Infinity,\n value: valueProp,\n defaultValue,\n style,\n typeStyle,\n iconSize = 24,\n iconColor,\n onChange,\n theme: { colors, typography },\n Icon,\n}) => {\n const [value, setValue] = useState(defaultValue ?? 0);\n\n const isValidValue = (valueArg: number) => valueArg >= min && valueArg <= max;\n\n const handlePlusOrMinus = (type: \"plus\" | \"minus\") => {\n const newValue = type === \"plus\" ? value + 1 : value - 1;\n\n if (isValidValue(newValue)) {\n setValue(newValue);\n onChange?.(newValue);\n }\n };\n\n useEffect(() => {\n if (\n valueProp != null &&\n isNumber(valueProp) &&\n valueProp !== value &&\n isValidValue(valueProp)\n ) {\n setValue(valueProp);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [valueProp]);\n\n return (\n <View style={[{ flexDirection: \"row\" }, style]}>\n <IconButton\n Icon={Icon}\n icon=\"MaterialIcons/remove\"\n onPress={() => handlePlusOrMinus(\"minus\")}\n size={iconSize}\n color={iconColor}\n disabled={value === min}\n style={{ opacity: value === min ? 0.5 : 1 }}\n />\n\n <Text\n style={[\n typography.body1,\n {\n textAlign: \"center\",\n alignSelf: \"center\",\n color: colors.medium,\n marginHorizontal: 8,\n },\n typeStyle,\n ]}\n >\n {value}\n </Text>\n\n <IconButton\n Icon={Icon}\n icon=\"MaterialIcons/add\"\n onPress={() => handlePlusOrMinus(\"plus\")}\n size={iconSize}\n color={iconColor}\n disabled={value === max}\n style={{ opacity: value === max ? 0.5 : 1 }}\n />\n </View>\n );\n};\n\nexport default withTheme(Stepper);\n"],"mappings":"AAAA,OAAOA,KAAP,IAAoBC,SAApB,EAA+BC,QAA/B,QAA+C,OAA/C;AACA,SAASC,IAAT,EAAeC,IAAf,QAA4D,cAA5D;AACA,SAASC,QAAT,QAAyB,QAAzB;AAEA,SAASC,SAAT,QAA0B,YAA1B;AAGA,OAAOC,UAAP,MAAuB,cAAvB;;AAeA,MAAMC,OAAkB,GAAG,QAYrB;EAAA,IAZsB;IAC1BC,GAAG,GAAG,CAACC,QADmB;IAE1BC,GAAG,GAAGD,QAFoB;IAG1BE,KAAK,EAAEC,SAHmB;IAI1BC,YAJ0B;IAK1BC,KAL0B;IAM1BC,SAN0B;IAO1BC,QAAQ,GAAG,EAPe;IAQ1BC,SAR0B;IAS1BC,QAT0B;IAU1BC,KAAK,EAAE;MAAEC,MAAF;MAAUC;IAAV,CAVmB;IAW1BC;EAX0B,CAYtB;EACJ,MAAM,CAACX,KAAD,EAAQY,QAAR,IAAoBtB,QAAQ,CAACY,YAAY,IAAI,CAAjB,CAAlC;;EAEA,MAAMW,YAAY,GAAIC,QAAD,IAAsBA,QAAQ,IAAIjB,GAAZ,IAAmBiB,QAAQ,IAAIf,GAA1E;;EAEA,MAAMgB,iBAAiB,GAAIC,IAAD,IAA4B;IACpD,MAAMC,QAAQ,GAAGD,IAAI,KAAK,MAAT,GAAkBhB,KAAK,GAAG,CAA1B,GAA8BA,KAAK,GAAG,CAAvD;;IAEA,IAAIa,YAAY,CAACI,QAAD,CAAhB,EAA4B;MAC1BL,QAAQ,CAACK,QAAD,CAAR;MACAV,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAGU,QAAH,CAAR;IACD;EACF,CAPD;;EASA5B,SAAS,CAAC,MAAM;IACd,IACEY,SAAS,IAAI,IAAb,IACAR,QAAQ,CAACQ,SAAD,CADR,IAEAA,SAAS,KAAKD,KAFd,IAGAa,YAAY,CAACZ,SAAD,CAJd,EAKE;MACAW,QAAQ,CAACX,SAAD,CAAR;IACD,CARa,CASd;;EACD,CAVQ,EAUN,CAACA,SAAD,CAVM,CAAT;EAYA,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAE,CAAC;MAAEiB,aAAa,EAAE;IAAjB,CAAD,EAA2Bf,KAA3B;EAAb,gBACE,oBAAC,UAAD;IACE,IAAI,EAAEQ,IADR;IAEE,IAAI,EAAC,sBAFP;IAGE,OAAO,EAAE,MAAMI,iBAAiB,CAAC,OAAD,CAHlC;IAIE,IAAI,EAAEV,QAJR;IAKE,KAAK,EAAEC,SALT;IAME,QAAQ,EAAEN,KAAK,KAAKH,GANtB;IAOE,KAAK,EAAE;MAAEsB,OAAO,EAAEnB,KAAK,KAAKH,GAAV,GAAgB,GAAhB,GAAsB;IAAjC;EAPT,EADF,eAWE,oBAAC,IAAD;IACE,KAAK,EAAE,CACLa,UAAU,CAACU,KADN,EAEL;MACEC,SAAS,EAAE,QADb;MAEEC,SAAS,EAAE,QAFb;MAGEC,KAAK,EAAEd,MAAM,CAACe,MAHhB;MAIEC,gBAAgB,EAAE;IAJpB,CAFK,EAQLrB,SARK;EADT,GAYGJ,KAZH,CAXF,eA0BE,oBAAC,UAAD;IACE,IAAI,EAAEW,IADR;IAEE,IAAI,EAAC,mBAFP;IAGE,OAAO,EAAE,MAAMI,iBAAiB,CAAC,MAAD,CAHlC;IAIE,IAAI,EAAEV,QAJR;IAKE,KAAK,EAAEC,SALT;IAME,QAAQ,EAAEN,KAAK,KAAKD,GANtB;IAOE,KAAK,EAAE;MAAEoB,OAAO,EAAEnB,KAAK,KAAKD,GAAV,GAAgB,GAAhB,GAAsB;IAAjC;EAPT,EA1BF,CADF;AAsCD,CA5ED;;AA8EA,eAAeL,SAAS,CAACE,OAAD,CAAxB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@draftbit/core",
3
- "version": "46.0.1-696ea7.1+696ea7b4",
3
+ "version": "46.0.1-891ac6.2+891ac602",
4
4
  "description": "Core (non-native) Components",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -44,8 +44,8 @@
44
44
  "@draftbit/types": "^46.0.0",
45
45
  "@material-ui/core": "^4.11.0",
46
46
  "@material-ui/pickers": "^3.2.10",
47
- "@react-native-community/slider": "4.1.12",
48
- "@react-native-picker/picker": "2.4.1",
47
+ "@react-native-community/slider": "4.2.3",
48
+ "@react-native-picker/picker": "2.4.2",
49
49
  "color": "^3.1.2",
50
50
  "date-fns": "^2.16.1",
51
51
  "dateformat": "^3.0.3",
@@ -78,5 +78,5 @@
78
78
  ]
79
79
  ]
80
80
  },
81
- "gitHead": "696ea7b40bc30c3682e534d91dbdd5808dae00eb"
81
+ "gitHead": "891ac602891a7ac610c5f97c5fd45b3e65f361e5"
82
82
  }
@@ -27,94 +27,93 @@ export interface CheckboxProps {
27
27
  style?: StyleProp<ViewStyle>;
28
28
  }
29
29
 
30
- const Checkbox: React.FC<CheckboxProps & TouchableHighlightProps & IconSlot> =
31
- ({
32
- Icon,
33
- status,
34
- disabled = false,
35
- onPress,
36
- onCheck,
37
- onUncheck,
38
- color,
39
- uncheckedColor,
40
- defaultValue,
41
- checkedIcon = "MaterialCommunityIcons/checkbox-marked",
42
- uncheckedIcon = "MaterialCommunityIcons/checkbox-blank-outline",
43
- size = 24,
44
- style,
45
- ...rest
46
- }) => {
47
- const [internalValue, setInternalValue] = React.useState<boolean>(
48
- status || defaultValue || false
49
- );
30
+ const Checkbox: React.FC<
31
+ CheckboxProps & TouchableHighlightProps & IconSlot
32
+ > = ({
33
+ Icon,
34
+ status,
35
+ disabled = false,
36
+ onPress,
37
+ onCheck,
38
+ onUncheck,
39
+ color,
40
+ uncheckedColor,
41
+ defaultValue,
42
+ checkedIcon = "MaterialCommunityIcons/checkbox-marked",
43
+ uncheckedIcon = "MaterialCommunityIcons/checkbox-blank-outline",
44
+ size = 24,
45
+ style,
46
+ ...rest
47
+ }) => {
48
+ const [internalValue, setInternalValue] = React.useState<boolean>(
49
+ status || defaultValue || false
50
+ );
50
51
 
51
- React.useEffect(() => {
52
- if (status != null) {
53
- setInternalValue(status);
54
- }
55
- }, [status]);
52
+ React.useEffect(() => {
53
+ if (status != null) {
54
+ setInternalValue(status);
55
+ }
56
+ }, [status]);
56
57
 
57
- // This special logic is to handle weird APIs like Airtable that return
58
- // true or undefined for a boolean
59
- const previousDefaultValue = usePrevious(defaultValue) as
60
- | boolean
61
- | undefined;
58
+ // This special logic is to handle weird APIs like Airtable that return
59
+ // true or undefined for a boolean
60
+ const previousDefaultValue = usePrevious(defaultValue) as boolean | undefined;
62
61
 
63
- React.useEffect(() => {
64
- if (defaultValue !== previousDefaultValue) {
65
- setInternalValue(Boolean(defaultValue));
66
- }
67
- }, [defaultValue, previousDefaultValue]);
62
+ React.useEffect(() => {
63
+ if (defaultValue !== previousDefaultValue) {
64
+ setInternalValue(Boolean(defaultValue));
65
+ }
66
+ }, [defaultValue, previousDefaultValue]);
68
67
 
69
- const { colors } = useTheme();
68
+ const { colors } = useTheme();
70
69
 
71
- const checkboxColor = internalValue
72
- ? color || colors.primary
73
- : uncheckedColor || colors.primary;
70
+ const checkboxColor = internalValue
71
+ ? color || colors.primary
72
+ : uncheckedColor || colors.primary;
74
73
 
75
- const handlePress = () => {
76
- const newValue = !internalValue;
74
+ const handlePress = () => {
75
+ const newValue = !internalValue;
77
76
 
78
- setInternalValue(newValue);
79
- onPress?.(newValue);
77
+ setInternalValue(newValue);
78
+ onPress?.(newValue);
80
79
 
81
- if (newValue) {
82
- onCheck?.();
83
- }
80
+ if (newValue) {
81
+ onCheck?.();
82
+ }
84
83
 
85
- if (!newValue) {
86
- onUncheck?.();
87
- }
88
- };
84
+ if (!newValue) {
85
+ onUncheck?.();
86
+ }
87
+ };
89
88
 
90
- return (
91
- <Touchable
92
- {...rest}
93
- onPress={handlePress}
94
- disabled={disabled}
95
- accessibilityState={{ disabled }}
96
- accessibilityRole="button"
97
- accessibilityLiveRegion="polite"
98
- style={[styles.container, style, { width: size, height: size }]}
99
- >
100
- <Icon
101
- style={styles.icon}
102
- name={internalValue ? checkedIcon : uncheckedIcon}
103
- size={size}
104
- color={checkboxColor}
89
+ return (
90
+ <Touchable
91
+ {...rest}
92
+ onPress={handlePress}
93
+ disabled={disabled}
94
+ accessibilityState={{ disabled }}
95
+ accessibilityRole="button"
96
+ accessibilityLiveRegion="polite"
97
+ style={[styles.container, style, { width: size, height: size }]}
98
+ >
99
+ <Icon
100
+ style={styles.icon}
101
+ name={internalValue ? checkedIcon : uncheckedIcon}
102
+ size={size}
103
+ color={checkboxColor}
104
+ />
105
+ <View style={[StyleSheet.absoluteFill, styles.fillContainer]}>
106
+ <View
107
+ style={[
108
+ styles.fill,
109
+ { opacity: disabled ? 0.5 : 1 },
110
+ { borderColor: checkboxColor },
111
+ ]}
105
112
  />
106
- <View style={[StyleSheet.absoluteFill, styles.fillContainer]}>
107
- <View
108
- style={[
109
- styles.fill,
110
- { opacity: disabled ? 0.5 : 1 },
111
- { borderColor: checkboxColor },
112
- ]}
113
- />
114
- </View>
115
- </Touchable>
116
- );
117
- };
113
+ </View>
114
+ </Touchable>
115
+ );
116
+ };
118
117
 
119
118
  const styles = StyleSheet.create({
120
119
  container: {