@draftbit/core 46.0.1-eb73d2.0 → 46.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/components/Carousel.js +1 -3
- package/lib/commonjs/components/Carousel.js.map +1 -1
- package/lib/commonjs/components/Checkbox/Checkbox.js.map +1 -1
- package/lib/commonjs/components/DatePicker/DatePickerComponent.web.js +3 -3
- package/lib/commonjs/components/DatePicker/DatePickerComponent.web.js.map +1 -1
- package/lib/commonjs/components/DeprecatedButton.js +4 -20
- package/lib/commonjs/components/DeprecatedButton.js.map +1 -1
- package/lib/commonjs/components/DeprecatedCardWrapper.js +2 -14
- package/lib/commonjs/components/DeprecatedCardWrapper.js.map +1 -1
- package/lib/commonjs/components/Justification.js +0 -3
- package/lib/commonjs/components/Picker/Picker.js +3 -3
- package/lib/commonjs/components/Picker/Picker.js.map +1 -1
- package/lib/commonjs/components/Picker/PickerComponent.android.js +2 -2
- package/lib/commonjs/components/Picker/PickerComponent.android.js.map +1 -1
- package/lib/commonjs/components/Picker/PickerComponent.ios.js +2 -2
- package/lib/commonjs/components/Picker/PickerComponent.ios.js.map +1 -1
- package/lib/commonjs/components/Picker/PickerComponent.web.js +2 -2
- package/lib/commonjs/components/Picker/PickerComponent.web.js.map +1 -1
- package/lib/commonjs/components/RadioButton/RadioButton.js +1 -1
- package/lib/commonjs/components/RadioButton/RadioButton.js.map +1 -1
- package/lib/commonjs/components/RadioButton/RadioButtonRow.js +1 -1
- package/lib/commonjs/components/RadioButton/RadioButtonRow.js.map +1 -1
- package/lib/commonjs/components/ResizeMode.js +0 -3
- package/lib/commonjs/components/Stepper.js +1 -1
- package/lib/commonjs/components/Stepper.js.map +1 -1
- package/lib/commonjs/mappings/KeyboardAvoidingView.js +2 -2
- package/lib/commonjs/mappings/KeyboardAvoidingView.js.map +1 -1
- package/lib/commonjs/mappings/RadioButtonGroup.js.map +1 -1
- package/lib/commonjs/mappings/RadioButtonRow.js.map +1 -1
- package/lib/module/components/Button.js +11 -32
- package/lib/module/components/Button.js.map +1 -1
- package/lib/module/components/Card.js.map +1 -1
- package/lib/module/components/Carousel.js +1 -3
- package/lib/module/components/Carousel.js.map +1 -1
- package/lib/module/components/Checkbox/Checkbox.js.map +1 -1
- package/lib/module/components/Checkbox/index.js.map +1 -1
- package/lib/module/components/CircleImage.js +2 -16
- package/lib/module/components/CircleImage.js.map +1 -1
- package/lib/module/components/DatePicker/DatePickerComponent.web.js +3 -3
- package/lib/module/components/DatePicker/DatePickerComponent.web.js.map +1 -1
- package/lib/module/components/DatePicker/DatePickerComponentType.js.map +1 -1
- package/lib/module/components/DeprecatedFAB.js +4 -20
- package/lib/module/components/DeprecatedFAB.js.map +1 -1
- package/lib/module/components/Justification.js +1 -1
- package/lib/module/components/NumberInput.js +2 -13
- package/lib/module/components/NumberInput.js.map +1 -1
- package/lib/module/components/Picker/Picker.js +3 -3
- package/lib/module/components/Picker/Picker.js.map +1 -1
- package/lib/module/components/Picker/PickerComponent.android.js +2 -2
- package/lib/module/components/Picker/PickerComponent.android.js.map +1 -1
- package/lib/module/components/Picker/PickerComponent.ios.js +2 -2
- package/lib/module/components/Picker/PickerComponent.ios.js.map +1 -1
- package/lib/module/components/Picker/PickerComponent.web.js +2 -2
- package/lib/module/components/Picker/PickerComponent.web.js.map +1 -1
- package/lib/module/components/Portal/PortalManager.js +1 -1
- package/lib/module/components/Portal/PortalManager.js.map +1 -1
- package/lib/module/components/RadioButton/RadioButton.js +1 -1
- package/lib/module/components/RadioButton/RadioButton.js.map +1 -1
- package/lib/module/components/RadioButton/RadioButtonGroup.js +4 -16
- package/lib/module/components/RadioButton/RadioButtonGroup.js.map +1 -1
- package/lib/module/components/RadioButton/RadioButtonRow.js +7 -24
- package/lib/module/components/RadioButton/RadioButtonRow.js.map +1 -1
- package/lib/module/components/ResizeMode.js +1 -1
- package/lib/module/components/ScreenContainer.js +5 -21
- package/lib/module/components/ScreenContainer.js.map +1 -1
- package/lib/module/components/Stepper.js +1 -1
- package/lib/module/components/Stepper.js.map +1 -1
- package/lib/module/mappings/KeyboardAvoidingView.js +2 -2
- package/lib/module/mappings/KeyboardAvoidingView.js.map +1 -1
- package/package.json +2 -2
- package/src/components/Checkbox/Checkbox.tsx +76 -77
- package/src/mappings/KeyboardAvoidingView.ts +2 -2
- package/src/Provider.js +0 -9
- package/src/components/Accordion/AccordionGroup.js +0 -44
- package/src/components/Accordion/AccordionItem.js +0 -32
- package/src/components/Accordion/index.js +0 -2
- package/src/components/ActionSheet/ActionSheet.js +0 -45
- package/src/components/ActionSheet/ActionSheetCancel.js +0 -6
- package/src/components/ActionSheet/ActionSheetItem.js +0 -30
- package/src/components/ActionSheet/index.js +0 -3
- package/src/components/AnimatedCircularProgress.js +0 -43
- package/src/components/AspectRatio.js +0 -18
- package/src/components/AvatarEdit.js +0 -30
- package/src/components/Banner.js +0 -109
- package/src/components/Button.js +0 -112
- package/src/components/Card.js +0 -57
- package/src/components/CardBlock.js +0 -54
- package/src/components/CardContainer.js +0 -69
- package/src/components/CardContainerRating.js +0 -79
- package/src/components/CardContainerShortImage.js +0 -33
- package/src/components/CardInline.js +0 -36
- package/src/components/Carousel.js +0 -66
- package/src/components/Checkbox/Checkbox.js +0 -63
- package/src/components/Checkbox/CheckboxGroup.js +0 -21
- package/src/components/Checkbox/CheckboxGroupRow.js +0 -77
- package/src/components/Checkbox/CheckboxRow.js +0 -78
- package/src/components/Checkbox/context.js +0 -14
- package/src/components/Checkbox/index.js +0 -3
- package/src/components/CircleImage.js +0 -8
- package/src/components/CircularProgress.js +0 -78
- package/src/components/Config.js +0 -63
- package/src/components/Container.js +0 -43
- package/src/components/DatePicker/DatePicker.js +0 -368
- package/src/components/DatePicker/DatePickerComponent.js +0 -13
- package/src/components/DatePicker/DatePickerComponent.web.js +0 -30
- package/src/components/DatePicker/DatePickerComponentType.js +0 -1
- package/src/components/DeprecatedButton.js +0 -95
- package/src/components/DeprecatedCardWrapper.js +0 -18
- package/src/components/DeprecatedFAB.js +0 -115
- package/src/components/Divider.js +0 -13
- package/src/components/Elevation.js +0 -20
- package/src/components/FAB.js +0 -46
- package/src/components/FieldSearchBarFull.js +0 -53
- package/src/components/FormRow.js +0 -19
- package/src/components/Header.js +0 -44
- package/src/components/HeaderLarge.js +0 -7
- package/src/components/HeaderMedium.js +0 -7
- package/src/components/HeaderOverline.js +0 -7
- package/src/components/IconButton.js +0 -35
- package/src/components/Image.js +0 -47
- package/src/components/Justification.js +0 -1
- package/src/components/Layout.js +0 -50
- package/src/components/NumberInput.js +0 -49
- package/src/components/Picker/Picker.js +0 -266
- package/src/components/Picker/PickerComponent.android.js +0 -68
- package/src/components/Picker/PickerComponent.ios.js +0 -78
- package/src/components/Picker/PickerComponent.web.js +0 -69
- package/src/components/Picker/PickerTypes.js +0 -1
- package/src/components/Portal/Portal.js +0 -35
- package/src/components/Portal/PortalConsumer.js +0 -28
- package/src/components/Portal/PortalHost.js +0 -105
- package/src/components/Portal/PortalManager.js +0 -29
- package/src/components/ProgressBar.js +0 -118
- package/src/components/ProgressCircle.js +0 -13
- package/src/components/ProgressIndicator.js +0 -27
- package/src/components/RadioButton/RadioButton.js +0 -17
- package/src/components/RadioButton/RadioButtonFieldGroup.js +0 -17
- package/src/components/RadioButton/RadioButtonGroup.js +0 -43
- package/src/components/RadioButton/RadioButtonRow.js +0 -76
- package/src/components/RadioButton/context.js +0 -14
- package/src/components/RadioButton/index.js +0 -4
- package/src/components/ResizeMode.js +0 -1
- package/src/components/Row.js +0 -48
- package/src/components/RowBodyIcon.js +0 -8
- package/src/components/RowHeadlineImageCaption.js +0 -12
- package/src/components/RowHeadlineImageIcon.js +0 -14
- package/src/components/ScreenContainer.js +0 -34
- package/src/components/Slider.js +0 -63
- package/src/components/StarRating.js +0 -50
- package/src/components/StepIndicator.js +0 -346
- package/src/components/Stepper.js +0 -39
- package/src/components/Surface.js +0 -32
- package/src/components/Swiper/Swiper.js +0 -29
- package/src/components/Swiper/SwiperItem.js +0 -9
- package/src/components/Swiper/index.js +0 -2
- package/src/components/Switch.js +0 -56
- package/src/components/Text.js +0 -28
- package/src/components/TextField.js +0 -420
- package/src/components/ToggleButton.js +0 -39
- package/src/components/Touchable.js +0 -12
- package/src/components/Touchable.web.js +0 -2
- package/src/components/Typography.js +0 -36
- package/src/components/useAuthState.js +0 -31
- package/src/constants.js +0 -10
- package/src/hooks.js +0 -12
- package/src/index.js +0 -52
- package/src/interfaces/Icon.js +0 -8
- package/src/mappings/Accordion.js +0 -41
- package/src/mappings/AccordionItem.js +0 -16
- package/src/mappings/ActionSheet.js +0 -13
- package/src/mappings/ActionSheetCancel.js +0 -19
- package/src/mappings/ActionSheetItem.js +0 -23
- package/src/mappings/ActivityIndicator.js +0 -53
- package/src/mappings/AudioPlayer.js +0 -20
- package/src/mappings/AvatarEdit.js +0 -37
- package/src/mappings/Banner.js +0 -32
- package/src/mappings/BlurView.js +0 -41
- package/src/mappings/Button.js +0 -56
- package/src/mappings/Card.js +0 -52
- package/src/mappings/CardBlock.js +0 -122
- package/src/mappings/CardContainer.js +0 -102
- package/src/mappings/CardContainerRating.js +0 -124
- package/src/mappings/CardContainerShortImage.js +0 -118
- package/src/mappings/CardInline.js +0 -51
- package/src/mappings/Carousel.js +0 -18
- package/src/mappings/Checkbox.js +0 -45
- package/src/mappings/CheckboxGroup.js +0 -25
- package/src/mappings/CheckboxRow.js +0 -56
- package/src/mappings/CircleImage.js +0 -24
- package/src/mappings/Container.js +0 -29
- package/src/mappings/CustomCode.js +0 -8
- package/src/mappings/DatePicker.js +0 -147
- package/src/mappings/Divider.js +0 -26
- package/src/mappings/FAB.js +0 -36
- package/src/mappings/Fetch.js +0 -12
- package/src/mappings/FieldSearchBarFull.js +0 -49
- package/src/mappings/FlatList.js +0 -19
- package/src/mappings/HeaderLarge.js +0 -28
- package/src/mappings/HeaderMedium.js +0 -54
- package/src/mappings/HeaderOverline.js +0 -54
- package/src/mappings/Icon.js +0 -25
- package/src/mappings/IconButton.js +0 -30
- package/src/mappings/Image.js +0 -15
- package/src/mappings/ImageBackground.js +0 -28
- package/src/mappings/KeyboardAvoidingView.js +0 -40
- package/src/mappings/KeyboardAwareScrollView.js +0 -49
- package/src/mappings/Layout.js +0 -195
- package/src/mappings/LinearGradient.js +0 -77
- package/src/mappings/MapCallout.js +0 -21
- package/src/mappings/MapMarker.js +0 -47
- package/src/mappings/MapView.js +0 -138
- package/src/mappings/Modal.js +0 -41
- package/src/mappings/Picker.js +0 -139
- package/src/mappings/ProgressBar.js +0 -100
- package/src/mappings/ProgressCircle.js +0 -108
- package/src/mappings/ProgressIndicator.js +0 -180
- package/src/mappings/RadioButton.js +0 -50
- package/src/mappings/RadioButtonGroup.js +0 -16
- package/src/mappings/RadioButtonRow.js +0 -37
- package/src/mappings/RowBodyIcon.js +0 -75
- package/src/mappings/RowHeadlineImageCaption.js +0 -167
- package/src/mappings/RowHeadlineImageIcon.js +0 -99
- package/src/mappings/SafeAreaView.js +0 -33
- package/src/mappings/ScrollView.js +0 -30
- package/src/mappings/Slider.js +0 -59
- package/src/mappings/StarRating.js +0 -42
- package/src/mappings/Stepper.js +0 -28
- package/src/mappings/Surface.js +0 -13
- package/src/mappings/Swiper.js +0 -60
- package/src/mappings/SwiperItem.js +0 -8
- package/src/mappings/Switch.js +0 -75
- package/src/mappings/Text.js +0 -232
- package/src/mappings/TextArea.js +0 -52
- package/src/mappings/TextField.js +0 -158
- package/src/mappings/TextInput.js +0 -208
- package/src/mappings/ToggleButton.js +0 -45
- package/src/mappings/Touchable.js +0 -12
- package/src/mappings/Video.js +0 -74
- package/src/mappings/View.js +0 -206
- package/src/mappings/WebView.js +0 -18
- package/src/styles/DarkTheme.js +0 -26
- package/src/styles/DefaultTheme.js +0 -111
- package/src/styles/fonts.js +0 -62
- package/src/styles/overlay.js +0 -60
- package/src/styles/shadow.js +0 -51
- package/src/theming.js +0 -3
- package/src/utilities.js +0 -102
|
@@ -50,8 +50,6 @@ function Pager(_ref) {
|
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
function Carousel(_ref2) {
|
|
53
|
-
var _data$length;
|
|
54
|
-
|
|
55
53
|
let {
|
|
56
54
|
data,
|
|
57
55
|
children,
|
|
@@ -61,7 +59,7 @@ function Carousel(_ref2) {
|
|
|
61
59
|
} = _ref2;
|
|
62
60
|
const [index, setIndex] = React.useState(0);
|
|
63
61
|
const length = React.Children.count(children);
|
|
64
|
-
const itemsLength = ((
|
|
62
|
+
const itemsLength = ((data === null || data === void 0 ? void 0 : data.length) ?? 0) + length;
|
|
65
63
|
const slides = Array.isArray(data) ? data : [];
|
|
66
64
|
|
|
67
65
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["screenWidth","Dimensions","get","width","Pager","color","index","length","styles","pager","Array","from","map","_","i","current","opacity","size","bullet","backgroundColor","height","Carousel","data","children","dotColor","style","rest","setIndex","React","useState","Children","count","itemsLength","slides","isArray","StyleSheet","flatten","slideWidth","slideHeight","container","nativeEvent","layoutWidth","layoutMeasurement","offset","contentOffset","x","currentIndex","Math","ceil","item","uri","child","s","props","cloneElement","create","position","bottom","left","right","flexDirection","justifyContent","alignItems","marginHorizontal","borderRadius","withTheme"],"sources":["Carousel.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { withTheme } from \"../theming\";\nimport {\n ScrollView,\n View,\n StyleSheet,\n Dimensions,\n StyleProp,\n ViewStyle,\n} from \"react-native\";\nimport Image from \"./Image\";\n\nconst screenWidth = Dimensions.get(\"window\").width;\n\ntype Props = {\n data?: any[];\n children?: React.ReactNode;\n style?: StyleProp<ViewStyle>;\n dotColor?: string;\n theme: any;\n};\n\nfunction Pager({\n color,\n index,\n length,\n}: {\n color: string;\n index: number;\n length: number;\n}) {\n return (\n <View style={styles.pager}>\n {Array.from({ length }).map((_, i) => {\n const current = index === i;\n const opacity = current ? 1 : 0.5;\n const size = current ? 10 : 8;\n return (\n <View\n key={i}\n style={[\n styles.bullet,\n { backgroundColor: color, opacity, width: size, height: size },\n ]}\n />\n );\n })}\n </View>\n );\n}\n\nfunction Carousel({\n data,\n children,\n dotColor = \"strong\",\n style,\n ...rest\n}: React.PropsWithChildren<Props>) {\n const [index, setIndex] = React.useState(0);\n\n const length = React.Children.count(children);\n const itemsLength = (data?.length ?? 0) + length;\n const slides = Array.isArray(data) ? data : [];\n\n const { width, height } = StyleSheet.flatten(style || {});\n const slideWidth = width || screenWidth;\n const slideHeight = height || 250;\n\n return (\n <View style={[styles.container, style]} {...rest}>\n <ScrollView\n pagingEnabled\n horizontal\n decelerationRate=\"fast\"\n scrollEventThrottle={200}\n showsHorizontalScrollIndicator={false}\n onScroll={({ nativeEvent }) => {\n const layoutWidth = nativeEvent.layoutMeasurement.width;\n const offset = nativeEvent.contentOffset.x;\n const currentIndex = Math.ceil(offset / layoutWidth);\n setIndex(currentIndex);\n }}\n >\n {slides.length > 0\n ? slides.map((item, i) => {\n return (\n <Image\n key={i}\n resizeMode=\"cover\"\n source={typeof item === \"string\" ? { uri: item } : item}\n style={[{ width: slideWidth, height: slideHeight }]}\n />\n );\n })\n : null}\n {React.Children.map(children, (child: any) => {\n const s = child?.props?.style || {};\n return (\n <View style={{ width: slideWidth }}>\n {React.cloneElement(child, {\n style: { ...s, width: slideWidth },\n })}\n </View>\n );\n })}\n </ScrollView>\n <Pager color={dotColor} index={index} length={itemsLength} />\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n backgroundColor: \"#eee\",\n },\n pager: {\n position: \"absolute\",\n bottom: 12,\n left: 0,\n right: 0,\n flexDirection: \"row\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n bullet: {\n marginHorizontal: 2,\n width: 10,\n height: 10,\n borderRadius: 20,\n backgroundColor: \"#000\",\n },\n});\n\nexport default withTheme(Carousel);\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAQA;;;;;;;;;;AAEA,MAAMA,WAAW,GAAGC,uBAAA,CAAWC,GAAX,CAAe,QAAf,EAAyBC,KAA7C;;AAUA,SAASC,KAAT,OAQG;EAAA,IARY;IACbC,KADa;IAEbC,KAFa;IAGbC;EAHa,CAQZ;EACD,oBACE,oBAAC,iBAAD;IAAM,KAAK,EAAEC,MAAM,CAACC;EAApB,GACGC,KAAK,CAACC,IAAN,CAAW;IAAEJ;EAAF,CAAX,EAAuBK,GAAvB,CAA2B,CAACC,CAAD,EAAIC,CAAJ,KAAU;IACpC,MAAMC,OAAO,GAAGT,KAAK,KAAKQ,CAA1B;IACA,MAAME,OAAO,GAAGD,OAAO,GAAG,CAAH,GAAO,GAA9B;IACA,MAAME,IAAI,GAAGF,OAAO,GAAG,EAAH,GAAQ,CAA5B;IACA,oBACE,oBAAC,iBAAD;MACE,GAAG,EAAED,CADP;MAEE,KAAK,EAAE,CACLN,MAAM,CAACU,MADF,EAEL;QAAEC,eAAe,EAAEd,KAAnB;QAA0BW,OAA1B;QAAmCb,KAAK,EAAEc,IAA1C;QAAgDG,MAAM,EAAEH;MAAxD,CAFK;IAFT,EADF;EASD,CAbA,CADH,CADF;AAkBD;;AAED,SAASI,QAAT,QAMmC;EAAA
|
|
1
|
+
{"version":3,"names":["screenWidth","Dimensions","get","width","Pager","color","index","length","styles","pager","Array","from","map","_","i","current","opacity","size","bullet","backgroundColor","height","Carousel","data","children","dotColor","style","rest","setIndex","React","useState","Children","count","itemsLength","slides","isArray","StyleSheet","flatten","slideWidth","slideHeight","container","nativeEvent","layoutWidth","layoutMeasurement","offset","contentOffset","x","currentIndex","Math","ceil","item","uri","child","s","props","cloneElement","create","position","bottom","left","right","flexDirection","justifyContent","alignItems","marginHorizontal","borderRadius","withTheme"],"sources":["Carousel.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { withTheme } from \"../theming\";\nimport {\n ScrollView,\n View,\n StyleSheet,\n Dimensions,\n StyleProp,\n ViewStyle,\n} from \"react-native\";\nimport Image from \"./Image\";\n\nconst screenWidth = Dimensions.get(\"window\").width;\n\ntype Props = {\n data?: any[];\n children?: React.ReactNode;\n style?: StyleProp<ViewStyle>;\n dotColor?: string;\n theme: any;\n};\n\nfunction Pager({\n color,\n index,\n length,\n}: {\n color: string;\n index: number;\n length: number;\n}) {\n return (\n <View style={styles.pager}>\n {Array.from({ length }).map((_, i) => {\n const current = index === i;\n const opacity = current ? 1 : 0.5;\n const size = current ? 10 : 8;\n return (\n <View\n key={i}\n style={[\n styles.bullet,\n { backgroundColor: color, opacity, width: size, height: size },\n ]}\n />\n );\n })}\n </View>\n );\n}\n\nfunction Carousel({\n data,\n children,\n dotColor = \"strong\",\n style,\n ...rest\n}: React.PropsWithChildren<Props>) {\n const [index, setIndex] = React.useState(0);\n\n const length = React.Children.count(children);\n const itemsLength = (data?.length ?? 0) + length;\n const slides = Array.isArray(data) ? data : [];\n\n const { width, height } = StyleSheet.flatten(style || {});\n const slideWidth = width || screenWidth;\n const slideHeight = height || 250;\n\n return (\n <View style={[styles.container, style]} {...rest}>\n <ScrollView\n pagingEnabled\n horizontal\n decelerationRate=\"fast\"\n scrollEventThrottle={200}\n showsHorizontalScrollIndicator={false}\n onScroll={({ nativeEvent }) => {\n const layoutWidth = nativeEvent.layoutMeasurement.width;\n const offset = nativeEvent.contentOffset.x;\n const currentIndex = Math.ceil(offset / layoutWidth);\n setIndex(currentIndex);\n }}\n >\n {slides.length > 0\n ? slides.map((item, i) => {\n return (\n <Image\n key={i}\n resizeMode=\"cover\"\n source={typeof item === \"string\" ? { uri: item } : item}\n style={[{ width: slideWidth, height: slideHeight }]}\n />\n );\n })\n : null}\n {React.Children.map(children, (child: any) => {\n const s = child?.props?.style || {};\n return (\n <View style={{ width: slideWidth }}>\n {React.cloneElement(child, {\n style: { ...s, width: slideWidth },\n })}\n </View>\n );\n })}\n </ScrollView>\n <Pager color={dotColor} index={index} length={itemsLength} />\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n backgroundColor: \"#eee\",\n },\n pager: {\n position: \"absolute\",\n bottom: 12,\n left: 0,\n right: 0,\n flexDirection: \"row\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n bullet: {\n marginHorizontal: 2,\n width: 10,\n height: 10,\n borderRadius: 20,\n backgroundColor: \"#000\",\n },\n});\n\nexport default withTheme(Carousel);\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Checkbox","Icon","status","disabled","onPress","onCheck","onUncheck","color","uncheckedColor","defaultValue","checkedIcon","uncheckedIcon","size","style","rest","internalValue","setInternalValue","React","useState","useEffect","previousDefaultValue","usePrevious","Boolean","colors","useTheme","checkboxColor","primary","handlePress","newValue","styles","container","width","height","icon","StyleSheet","absoluteFill","fillContainer","fill","opacity","borderColor","create","borderRadius","alignItems","justifyContent","alignSelf"],"sources":["Checkbox.tsx"],"sourcesContent":["import * as React from \"react\";\nimport {\n View,\n StyleSheet,\n TouchableHighlightProps,\n StyleProp,\n ViewStyle,\n} from \"react-native\";\nimport { useTheme } from \"../../theming\";\nimport type { IconSlot } from \"../../interfaces/Icon\";\n\nimport Touchable from \"../Touchable\";\nimport { usePrevious } from \"../../hooks\";\n\nexport interface CheckboxProps {\n status?: boolean;\n disabled?: boolean;\n onPress?: (checked: boolean) => void;\n onCheck?: () => void;\n onUncheck?: () => void;\n color?: string;\n uncheckedColor?: string;\n checkedIcon?: string;\n uncheckedIcon?: string;\n defaultValue?: boolean;\n size?: number;\n style?: StyleProp<ViewStyle>;\n}\n\nconst Checkbox: React.FC
|
|
1
|
+
{"version":3,"names":["Checkbox","Icon","status","disabled","onPress","onCheck","onUncheck","color","uncheckedColor","defaultValue","checkedIcon","uncheckedIcon","size","style","rest","internalValue","setInternalValue","React","useState","useEffect","previousDefaultValue","usePrevious","Boolean","colors","useTheme","checkboxColor","primary","handlePress","newValue","styles","container","width","height","icon","StyleSheet","absoluteFill","fillContainer","fill","opacity","borderColor","create","borderRadius","alignItems","justifyContent","alignSelf"],"sources":["Checkbox.tsx"],"sourcesContent":["import * as React from \"react\";\nimport {\n View,\n StyleSheet,\n TouchableHighlightProps,\n StyleProp,\n ViewStyle,\n} from \"react-native\";\nimport { useTheme } from \"../../theming\";\nimport type { IconSlot } from \"../../interfaces/Icon\";\n\nimport Touchable from \"../Touchable\";\nimport { usePrevious } from \"../../hooks\";\n\nexport interface CheckboxProps {\n status?: boolean;\n disabled?: boolean;\n onPress?: (checked: boolean) => void;\n onCheck?: () => void;\n onUncheck?: () => void;\n color?: string;\n uncheckedColor?: string;\n checkedIcon?: string;\n uncheckedIcon?: string;\n defaultValue?: boolean;\n size?: number;\n style?: StyleProp<ViewStyle>;\n}\n\nconst Checkbox: React.FC<\n CheckboxProps & TouchableHighlightProps & IconSlot\n> = ({\n Icon,\n status,\n disabled = false,\n onPress,\n onCheck,\n onUncheck,\n color,\n uncheckedColor,\n defaultValue,\n checkedIcon = \"MaterialCommunityIcons/checkbox-marked\",\n uncheckedIcon = \"MaterialCommunityIcons/checkbox-blank-outline\",\n size = 24,\n style,\n ...rest\n}) => {\n const [internalValue, setInternalValue] = React.useState<boolean>(\n status || defaultValue || false\n );\n\n React.useEffect(() => {\n if (status != null) {\n setInternalValue(status);\n }\n }, [status]);\n\n // This special logic is to handle weird APIs like Airtable that return\n // true or undefined for a boolean\n const previousDefaultValue = usePrevious(defaultValue) as boolean | undefined;\n\n React.useEffect(() => {\n if (defaultValue !== previousDefaultValue) {\n setInternalValue(Boolean(defaultValue));\n }\n }, [defaultValue, previousDefaultValue]);\n\n const { colors } = useTheme();\n\n const checkboxColor = internalValue\n ? color || colors.primary\n : uncheckedColor || colors.primary;\n\n const handlePress = () => {\n const newValue = !internalValue;\n\n setInternalValue(newValue);\n onPress?.(newValue);\n\n if (newValue) {\n onCheck?.();\n }\n\n if (!newValue) {\n onUncheck?.();\n }\n };\n\n return (\n <Touchable\n {...rest}\n onPress={handlePress}\n disabled={disabled}\n accessibilityState={{ disabled }}\n accessibilityRole=\"button\"\n accessibilityLiveRegion=\"polite\"\n style={[styles.container, style, { width: size, height: size }]}\n >\n <Icon\n style={styles.icon}\n name={internalValue ? checkedIcon : uncheckedIcon}\n size={size}\n color={checkboxColor}\n />\n <View style={[StyleSheet.absoluteFill, styles.fillContainer]}>\n <View\n style={[\n styles.fill,\n { opacity: disabled ? 0.5 : 1 },\n { borderColor: checkboxColor },\n ]}\n />\n </View>\n </Touchable>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n borderRadius: 18,\n },\n fillContainer: {\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n icon: {\n alignSelf: \"center\",\n },\n fill: {\n borderRadius: 5,\n width: 30,\n height: 30,\n alignSelf: \"center\",\n },\n});\n\nexport default Checkbox;\n"],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@ var _DefaultTheme = _interopRequireDefault(require("../../styles/DefaultTheme"))
|
|
|
20
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
21
|
|
|
22
22
|
const DatePickerComponent = _ref => {
|
|
23
|
-
var _theme$colors
|
|
23
|
+
var _theme$colors, _theme$colors2;
|
|
24
24
|
|
|
25
25
|
let {
|
|
26
26
|
value,
|
|
@@ -33,10 +33,10 @@ const DatePickerComponent = _ref => {
|
|
|
33
33
|
const internalTheme = (0, _styles.createMuiTheme)({
|
|
34
34
|
palette: {
|
|
35
35
|
primary: {
|
|
36
|
-
main: (
|
|
36
|
+
main: (theme === null || theme === void 0 ? void 0 : (_theme$colors = theme.colors) === null || _theme$colors === void 0 ? void 0 : _theme$colors.primary) ?? _DefaultTheme.default.colors.primary
|
|
37
37
|
},
|
|
38
38
|
secondary: {
|
|
39
|
-
main: (
|
|
39
|
+
main: (theme === null || theme === void 0 ? void 0 : (_theme$colors2 = theme.colors) === null || _theme$colors2 === void 0 ? void 0 : _theme$colors2.secondary) ?? _DefaultTheme.default.colors.secondary
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DatePickerComponent","value","onChange","mode","toggleVisibility","isVisible","theme","internalTheme","createMuiTheme","palette","primary","main","colors","Theme","secondary","Picker","DatePicker","TimePicker","DateTimePicker","DateFnsUtils","d","withTheme"],"sources":["DatePickerComponent.web.tsx"],"sourcesContent":["import React from \"react\";\nimport DateFnsUtils from \"@date-io/date-fns\";\nimport {\n MuiPickersUtilsProvider,\n DatePicker,\n TimePicker,\n DateTimePicker,\n} from \"@material-ui/pickers\";\nimport { createMuiTheme, ThemeProvider } from \"@material-ui/core/styles\";\nimport { DatePickerComponentProps as Props } from \"./DatePickerComponentType\";\nimport { withTheme } from \"../../theming\";\nimport Theme from \"../../styles/DefaultTheme\";\n\nconst DatePickerComponent: React.FC<Props & { theme: typeof Theme }> = ({\n value,\n onChange,\n mode,\n toggleVisibility,\n isVisible,\n theme,\n}) => {\n const internalTheme = createMuiTheme({\n palette: {\n primary: {\n main: theme?.colors?.primary ?? Theme.colors.primary,\n },\n secondary: {\n main: theme?.colors?.secondary ?? Theme.colors.secondary,\n },\n },\n });\n\n const Picker =\n mode === \"date\"\n ? DatePicker\n : mode === \"time\"\n ? TimePicker\n : DateTimePicker;\n\n return (\n <MuiPickersUtilsProvider utils={DateFnsUtils}>\n <ThemeProvider theme={internalTheme}>\n <Picker\n value={value}\n open={isVisible}\n onChange={(d) => {\n toggleVisibility();\n onChange(null, d);\n }}\n onClose={() => toggleVisibility()}\n variant=\"dialog\"\n TextFieldComponent={() => null}\n />\n </ThemeProvider>\n </MuiPickersUtilsProvider>\n );\n};\n\nexport default withTheme(DatePickerComponent);\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAMA;;AAEA;;AACA;;;;AAEA,MAAMA,mBAA8D,GAAG,QAOjE;EAAA;;EAAA,IAPkE;IACtEC,KADsE;IAEtEC,QAFsE;IAGtEC,IAHsE;IAItEC,gBAJsE;IAKtEC,SALsE;IAMtEC;EANsE,CAOlE;EACJ,MAAMC,aAAa,GAAG,IAAAC,sBAAA,EAAe;IACnCC,OAAO,EAAE;MACPC,OAAO,EAAE;QACPC,IAAI,
|
|
1
|
+
{"version":3,"names":["DatePickerComponent","value","onChange","mode","toggleVisibility","isVisible","theme","internalTheme","createMuiTheme","palette","primary","main","colors","Theme","secondary","Picker","DatePicker","TimePicker","DateTimePicker","DateFnsUtils","d","withTheme"],"sources":["DatePickerComponent.web.tsx"],"sourcesContent":["import React from \"react\";\nimport DateFnsUtils from \"@date-io/date-fns\";\nimport {\n MuiPickersUtilsProvider,\n DatePicker,\n TimePicker,\n DateTimePicker,\n} from \"@material-ui/pickers\";\nimport { createMuiTheme, ThemeProvider } from \"@material-ui/core/styles\";\nimport { DatePickerComponentProps as Props } from \"./DatePickerComponentType\";\nimport { withTheme } from \"../../theming\";\nimport Theme from \"../../styles/DefaultTheme\";\n\nconst DatePickerComponent: React.FC<Props & { theme: typeof Theme }> = ({\n value,\n onChange,\n mode,\n toggleVisibility,\n isVisible,\n theme,\n}) => {\n const internalTheme = createMuiTheme({\n palette: {\n primary: {\n main: theme?.colors?.primary ?? Theme.colors.primary,\n },\n secondary: {\n main: theme?.colors?.secondary ?? Theme.colors.secondary,\n },\n },\n });\n\n const Picker =\n mode === \"date\"\n ? DatePicker\n : mode === \"time\"\n ? TimePicker\n : DateTimePicker;\n\n return (\n <MuiPickersUtilsProvider utils={DateFnsUtils}>\n <ThemeProvider theme={internalTheme}>\n <Picker\n value={value}\n open={isVisible}\n onChange={(d) => {\n toggleVisibility();\n onChange(null, d);\n }}\n onClose={() => toggleVisibility()}\n variant=\"dialog\"\n TextFieldComponent={() => null}\n />\n </ThemeProvider>\n </MuiPickersUtilsProvider>\n );\n};\n\nexport default withTheme(DatePickerComponent);\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAMA;;AAEA;;AACA;;;;AAEA,MAAMA,mBAA8D,GAAG,QAOjE;EAAA;;EAAA,IAPkE;IACtEC,KADsE;IAEtEC,QAFsE;IAGtEC,IAHsE;IAItEC,gBAJsE;IAKtEC,SALsE;IAMtEC;EANsE,CAOlE;EACJ,MAAMC,aAAa,GAAG,IAAAC,sBAAA,EAAe;IACnCC,OAAO,EAAE;MACPC,OAAO,EAAE;QACPC,IAAI,EAAE,CAAAL,KAAK,SAAL,IAAAA,KAAK,WAAL,6BAAAA,KAAK,CAAEM,MAAP,gEAAeF,OAAf,KAA0BG,qBAAA,CAAMD,MAAN,CAAaF;MADtC,CADF;MAIPI,SAAS,EAAE;QACTH,IAAI,EAAE,CAAAL,KAAK,SAAL,IAAAA,KAAK,WAAL,8BAAAA,KAAK,CAAEM,MAAP,kEAAeE,SAAf,KAA4BD,qBAAA,CAAMD,MAAN,CAAaE;MADtC;IAJJ;EAD0B,CAAf,CAAtB;EAWA,MAAMC,MAAM,GACVZ,IAAI,KAAK,MAAT,GACIa,mBADJ,GAEIb,IAAI,KAAK,MAAT,GACAc,mBADA,GAEAC,uBALN;EAOA,oBACE,6BAAC,gCAAD;IAAyB,KAAK,EAAEC;EAAhC,gBACE,6BAAC,qBAAD;IAAe,KAAK,EAAEZ;EAAtB,gBACE,6BAAC,MAAD;IACE,KAAK,EAAEN,KADT;IAEE,IAAI,EAAEI,SAFR;IAGE,QAAQ,EAAGe,CAAD,IAAO;MACfhB,gBAAgB;MAChBF,QAAQ,CAAC,IAAD,EAAOkB,CAAP,CAAR;IACD,CANH;IAOE,OAAO,EAAE,MAAMhB,gBAAgB,EAPjC;IAQE,OAAO,EAAC,QARV;IASE,kBAAkB,EAAE,MAAM;EAT5B,EADF,CADF,CADF;AAiBD,CA3CD;;eA6Ce,IAAAiB,kBAAA,EAAUrB,mBAAV,C"}
|
|
@@ -25,6 +25,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
25
25
|
|
|
26
26
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
27
27
|
|
|
28
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
29
|
+
|
|
28
30
|
const Button = _ref => {
|
|
29
31
|
let {
|
|
30
32
|
Icon,
|
|
@@ -126,7 +128,7 @@ const Button = _ref => {
|
|
|
126
128
|
alignSelf: "stretch",
|
|
127
129
|
...margins
|
|
128
130
|
}
|
|
129
|
-
}, /*#__PURE__*/React.createElement(_Touchable.default, {
|
|
131
|
+
}, /*#__PURE__*/React.createElement(_Touchable.default, _extends({}, rest, {
|
|
130
132
|
onPress: onPress,
|
|
131
133
|
accessibilityState: {
|
|
132
134
|
disabled
|
|
@@ -134,7 +136,7 @@ const Button = _ref => {
|
|
|
134
136
|
accessibilityRole: "button",
|
|
135
137
|
disabled: disabled || loading,
|
|
136
138
|
style: [styles.button, buttonStyle, innerStyles]
|
|
137
|
-
}, /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
139
|
+
}), /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
138
140
|
style: styles.content
|
|
139
141
|
}, icon && loading !== true ? /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
140
142
|
style: iconStyle
|
|
@@ -169,23 +171,5 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
169
171
|
|
|
170
172
|
var _default = (0, _theming.withTheme)(Button);
|
|
171
173
|
|
|
172
|
-
exports.default = _default;
|
|
173
|
-
//# sourceMappingURL=DeprecatedButton.js.mapt.create({
|
|
174
|
-
button: {
|
|
175
|
-
minWidth: 64,
|
|
176
|
-
borderStyle: "solid"
|
|
177
|
-
},
|
|
178
|
-
content: {
|
|
179
|
-
flexDirection: "row",
|
|
180
|
-
alignItems: "center",
|
|
181
|
-
justifyContent: "center"
|
|
182
|
-
},
|
|
183
|
-
icon: {
|
|
184
|
-
width: _Config.default.buttonIconSize
|
|
185
|
-
}
|
|
186
|
-
});
|
|
187
|
-
|
|
188
|
-
var _default = (0, _theming.withTheme)(Button);
|
|
189
|
-
|
|
190
174
|
exports.default = _default;
|
|
191
175
|
//# sourceMappingURL=DeprecatedButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Button","Icon","icon","disabled","type","loading","labelColor","color","colorOverride","children","onPress","elevation","style","theme","colors","disabledOpacity","roundness","typography","rest","backgroundColor","borderColor","textColor","borderWidth","buttonColor","primary","surface","alpha","rgb","string","StyleSheet","hairlineWidth","buttonStyle","borderRadius","textStyle","textAlign","marginVertical","marginHorizontal","iconStyle","styles","marginLeft","marginRight","width","Config","buttonIconSize","margin","marginEnd","marginTop","marginBottom","innerStyles","flatten","margins","
|
|
1
|
+
{"version":3,"names":["Button","Icon","icon","disabled","type","loading","labelColor","color","colorOverride","children","onPress","elevation","style","theme","colors","disabledOpacity","roundness","typography","rest","backgroundColor","borderColor","textColor","borderWidth","buttonColor","primary","surface","alpha","rgb","string","StyleSheet","hairlineWidth","buttonStyle","borderRadius","textStyle","textAlign","marginVertical","marginHorizontal","iconStyle","styles","marginLeft","marginRight","width","Config","buttonIconSize","margin","marginEnd","marginTop","marginBottom","innerStyles","flatten","margins","alignSelf","button","content","create","minWidth","borderStyle","flexDirection","alignItems","justifyContent","withTheme"],"sources":["DeprecatedButton.tsx"],"sourcesContent":["import * as React from \"react\";\nimport {\n ActivityIndicator,\n View,\n Text,\n StyleSheet,\n TouchableHighlightProps,\n StyleProp,\n ViewStyle,\n TextStyle,\n} from \"react-native\";\nimport color from \"color\";\nimport Config from \"./Config\";\nimport Touchable from \"./Touchable\";\nimport Elevation from \"./Elevation\";\nimport { withTheme } from \"../theming\";\n\nimport type { Theme } from \"../styles/DefaultTheme\";\nimport type { IconSlot } from \"../interfaces/Icon\";\n\n/**\n * A button is component that the user can press to trigger an action.\n *\n * <div class=\"screenshots\">\n * <figure>\n * <img src=\"screenshots/button-1.png\" />\n * <figcaption>Text button</figcaption>\n * </figure>\n * <figure>\n * <img src=\"screenshots/button-2.png\" />\n * <figcaption>Outlined button</figcaption>\n * </figure>\n * <figure>\n * <img src=\"screenshots/button-3.png\" />\n * <figcaption>Contained button</figcaption>\n * </figure>\n * </div>\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { Button } from '@draftbit/ui';\n *\n * const MyComponent = () => (\n * <Button icon=\"add-a-photo\" type=\"solid\" onPress={() => console.log('Pressed')}>\n * Press me\n * </Button>\n * );\n *\n * export default MyComponent;\n * ```\n */\n\ntype Props = {\n disabled?: boolean;\n type?: \"solid\" | \"outline\" | \"text\";\n loading?: boolean;\n icon?: string;\n labelColor?: string;\n color?: string;\n children?: React.ReactNode;\n onPress: () => void;\n elevation?: number;\n style?: StyleProp<ViewStyle>;\n theme: Theme;\n} & TouchableHighlightProps &\n IconSlot;\n\nconst Button: React.FC<React.PropsWithChildren<Props>> = ({\n Icon,\n icon,\n disabled = false,\n type = \"solid\",\n loading = false,\n labelColor,\n color: colorOverride,\n children,\n onPress,\n elevation = 0,\n style,\n theme: { colors, disabledOpacity, roundness, typography },\n ...rest\n}) => {\n let backgroundColor, borderColor, textColor, borderWidth;\n const buttonColor = colorOverride || colors.primary;\n\n if (type === \"solid\") {\n backgroundColor = buttonColor;\n\n if (disabled) {\n textColor = color(colors.surface).alpha(disabledOpacity).rgb().string();\n } else {\n textColor = labelColor || colors.surface;\n }\n } else {\n backgroundColor = \"transparent\";\n\n if (disabled) {\n textColor = color(buttonColor).alpha(disabledOpacity).rgb().string();\n } else {\n textColor = labelColor || buttonColor;\n }\n }\n\n if (type === \"outline\") {\n if (disabled) {\n borderColor = color(buttonColor).alpha(disabledOpacity).rgb().string();\n } else {\n borderColor = buttonColor;\n }\n borderWidth = StyleSheet.hairlineWidth;\n } else {\n borderColor = \"transparent\";\n borderWidth = 0;\n }\n\n const buttonStyle = {\n backgroundColor,\n borderColor,\n borderWidth,\n borderRadius: roundness,\n };\n\n const textStyle: StyleProp<TextStyle> = {\n textAlign: \"center\",\n color: textColor,\n marginVertical: 16,\n marginHorizontal: 16,\n };\n\n const iconStyle = [\n styles.icon,\n {\n marginLeft: 16,\n marginRight: -8,\n width: Config.buttonIconSize,\n },\n ];\n\n const {\n margin,\n marginEnd,\n marginTop,\n marginLeft,\n marginRight,\n marginBottom,\n marginHorizontal,\n marginVertical,\n ...innerStyles\n } = StyleSheet.flatten(style || {});\n\n const margins = {\n margin,\n marginEnd,\n marginTop,\n marginLeft,\n marginRight,\n marginBottom,\n marginHorizontal,\n marginVertical,\n };\n\n return (\n <Elevation style={{ elevation, alignSelf: \"stretch\", ...margins }}>\n <Touchable\n {...rest}\n onPress={onPress}\n accessibilityState={{ disabled }}\n accessibilityRole=\"button\"\n disabled={disabled || loading}\n style={[styles.button, buttonStyle, innerStyles]}\n >\n <View style={styles.content}>\n {icon && loading !== true ? (\n <View style={iconStyle}>\n <Icon\n name={icon}\n size={Config.buttonIconSize}\n color={textColor}\n />\n </View>\n ) : null}\n {loading ? (\n <ActivityIndicator\n size=\"small\"\n color={textColor}\n style={iconStyle}\n />\n ) : null}\n <Text numberOfLines={1} style={[textStyle, typography.button]}>\n {children}\n </Text>\n </View>\n </Touchable>\n </Elevation>\n );\n};\n\nconst styles = StyleSheet.create({\n button: {\n minWidth: 64,\n borderStyle: \"solid\",\n },\n content: {\n flexDirection: \"row\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n icon: {\n width: Config.buttonIconSize,\n },\n});\n\nexport default withTheme(Button);\n"],"mappings":"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"}
|
|
@@ -13,6 +13,8 @@ var _Touchable = _interopRequireDefault(require("./Touchable"));
|
|
|
13
13
|
|
|
14
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
15
|
|
|
16
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
17
|
+
|
|
16
18
|
const getWidth = numColumns => {
|
|
17
19
|
switch (numColumns) {
|
|
18
20
|
case 1:
|
|
@@ -35,20 +37,6 @@ const Card = _ref => {
|
|
|
35
37
|
...rest
|
|
36
38
|
} = _ref;
|
|
37
39
|
const width = getWidth(numColumns);
|
|
38
|
-
return /*#__PURE__*/_react.default.createElement(_Touchable.default, {
|
|
39
|
-
disabled: !onPress,
|
|
40
|
-
onPress: onPress,
|
|
41
|
-
style: [style, {
|
|
42
|
-
width
|
|
43
|
-
}],
|
|
44
|
-
...rest
|
|
45
|
-
}, children);
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
var _default = (0, _theming.withTheme)(Card);
|
|
49
|
-
|
|
50
|
-
exports.default = _default;
|
|
51
|
-
//# sourceMappingURL=DeprecatedCardWrapper.js.map = getWidth(numColumns);
|
|
52
40
|
return /*#__PURE__*/_react.default.createElement(_Touchable.default, _extends({
|
|
53
41
|
disabled: !onPress,
|
|
54
42
|
onPress: onPress,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getWidth","numColumns","Card","children","onPress","style","rest","width","
|
|
1
|
+
{"version":3,"names":["getWidth","numColumns","Card","children","onPress","style","rest","width","withTheme"],"sources":["DeprecatedCardWrapper.tsx"],"sourcesContent":["import React from \"react\";\nimport { withTheme } from \"../theming\";\nimport Touchable from \"./Touchable\";\nimport { StyleProp, ViewStyle } from \"react-native\";\nimport theme from \"../styles/DefaultTheme\";\n\ntype Props = {\n numColumns?: number;\n children?: React.ReactNode;\n onPress?: () => void;\n style?: StyleProp<ViewStyle>;\n theme: typeof theme;\n};\n\nconst getWidth = (numColumns: number) => {\n switch (numColumns) {\n case 1:\n return \"33%\";\n case 2:\n return \"50%\";\n default:\n return \"100%\";\n }\n};\n\nconst Card: React.FC<React.PropsWithChildren<Props>> = ({\n numColumns = 3,\n children,\n onPress,\n style,\n ...rest\n}) => {\n const width = getWidth(numColumns);\n return (\n <Touchable\n disabled={!onPress}\n onPress={onPress}\n style={[style, { width }]}\n {...rest}\n >\n {children}\n </Touchable>\n );\n};\n\nexport default withTheme(Card);\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;AAYA,MAAMA,QAAQ,GAAIC,UAAD,IAAwB;EACvC,QAAQA,UAAR;IACE,KAAK,CAAL;MACE,OAAO,KAAP;;IACF,KAAK,CAAL;MACE,OAAO,KAAP;;IACF;MACE,OAAO,MAAP;EANJ;AAQD,CATD;;AAWA,MAAMC,IAA8C,GAAG,QAMjD;EAAA,IANkD;IACtDD,UAAU,GAAG,CADyC;IAEtDE,QAFsD;IAGtDC,OAHsD;IAItDC,KAJsD;IAKtD,GAAGC;EALmD,CAMlD;EACJ,MAAMC,KAAK,GAAGP,QAAQ,CAACC,UAAD,CAAtB;EACA,oBACE,6BAAC,kBAAD;IACE,QAAQ,EAAE,CAACG,OADb;IAEE,OAAO,EAAEA,OAFX;IAGE,KAAK,EAAE,CAACC,KAAD,EAAQ;MAAEE;IAAF,CAAR;EAHT,GAIMD,IAJN,GAMGH,QANH,CADF;AAUD,CAlBD;;eAoBe,IAAAK,kBAAA,EAAUN,IAAV,C"}
|
|
@@ -66,7 +66,7 @@ const disabledColor = "rgb(240, 240, 240)";
|
|
|
66
66
|
const errorColor = "rgba(255, 69, 100, 1)";
|
|
67
67
|
|
|
68
68
|
const Picker = _ref => {
|
|
69
|
-
var _find
|
|
69
|
+
var _find;
|
|
70
70
|
|
|
71
71
|
let {
|
|
72
72
|
error,
|
|
@@ -159,7 +159,7 @@ const Picker = _ref => {
|
|
|
159
159
|
...extractedMarginStyles
|
|
160
160
|
};
|
|
161
161
|
const stylesWithoutBordersAndMargins = (0, _lodash.omit)(viewStyles, [..._utilities.borderStyleNames, ..._utilities.marginStyleNames, ...additionalBorderStyles, ...additionalMarginStyles]);
|
|
162
|
-
const selectedLabel = internalValue && ((
|
|
162
|
+
const selectedLabel = internalValue && (((_find = pickerOptions.find(option => option.value === internalValue)) === null || _find === void 0 ? void 0 : _find.label) ?? internalValue);
|
|
163
163
|
const labelText = label ? /*#__PURE__*/React.createElement(_reactNative.Text, {
|
|
164
164
|
style: {
|
|
165
165
|
textAlign: textStyles.textAlign,
|
|
@@ -250,7 +250,7 @@ const Picker = _ref => {
|
|
|
250
250
|
style: styles.primaryTextContainer
|
|
251
251
|
}, labelText, /*#__PURE__*/React.createElement(_reactNative.Text, {
|
|
252
252
|
style: primaryTextStyle
|
|
253
|
-
}, String(selectedLabel
|
|
253
|
+
}, String(selectedLabel ?? placeholder))), rightIcon)), assistiveTextLabel), isIos && pickerVisible ? /*#__PURE__*/React.createElement(_Portal.default, null, /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
254
254
|
style: [styles.iosPicker, {
|
|
255
255
|
backgroundColor: colors.divider
|
|
256
256
|
}]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["normalizeOptions","options","length","map","option","label","String","value","isObject","Error","width","deviceWidth","height","deviceHeight","Dimensions","get","isIos","Platform","OS","unstyledColor","disabledColor","errorColor","Picker","error","onValueChange","defaultValue","Icon","style","placeholder","disabled","theme","assistiveText","iconColor","iconSize","leftIconMode","leftIconName","placeholderTextColor","rightIconName","type","androidPickerRef","React","useRef","undefined","internalValue","setInternalValue","useState","pickerVisible","setPickerVisible","togglePickerVisible","useEffect","current","focus","normalizedOptions","pickerOptions","colors","viewStyles","textStyles","extractStyles","additionalBorderStyles","additionalMarginStyles","borderStyles","extractedBorderStyles","marginStyles","extractedMarginStyles","extractBorderAndMarginStyles","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","borderTopWidth","borderRightWidth","borderLeftWidth","borderBottomWidth","borderColor","borderStyle","backgroundColor","stylesWithoutBordersAndMargins","omit","borderStyleNames","marginStyleNames","selectedLabel","find","labelText","textAlign","color","fontSize","paddingBottom","leftIconOutset","leftIcon","marginRight","marginLeft","rightIcon","calculateLeftPadding","Math","abs","assistiveTextLabel","paddingLeft","paddingTop","primaryTextStyle","pickBy","identity","handleValueChange","newValue","itemIndex","styles","marginsContainer","touchableContainer","outsetContainer","insetContainer","primaryTextContainer","iosPicker","divider","iosSafeArea","iosButton","iosNativePicker","nonIosPicker","withTheme","StyleSheet","create","alignSelf","alignItems","maxWidth","flex","flexDirection","justifyContent","paddingRight","position","bottom","left","right","maxHeight","opacity","top"],"sources":["Picker.tsx"],"sourcesContent":["import * as React from \"react\";\nimport {\n View,\n StyleSheet,\n Text,\n Platform,\n ViewStyle,\n StyleProp,\n Dimensions,\n} from \"react-native\";\nimport { omit, pickBy, identity, isObject } from \"lodash\";\nimport { SafeAreaView } from \"react-native-safe-area-context\";\nimport { Picker as NativePicker } from \"@react-native-picker/picker\";\n\nimport { withTheme } from \"../../theming\";\nimport Portal from \"../Portal/Portal\";\nimport Button from \"../DeprecatedButton\";\nimport Touchable from \"../Touchable\";\nimport type { Theme } from \"../../styles/DefaultTheme\";\nimport type { IconSlot } from \"../../interfaces/Icon\";\nimport {\n extractStyles,\n extractBorderAndMarginStyles,\n borderStyleNames,\n marginStyleNames,\n} from \"../../utilities\";\n\nexport interface PickerOption {\n value: string;\n label: string;\n}\n\nexport type PickerProps = {\n error?: any;\n placeholder?: string;\n disabled?: boolean;\n style?: StyleProp<ViewStyle> & { height?: number };\n value?: string;\n options: PickerOption[] | string[];\n onValueChange: (value: string, index: number) => void;\n defaultValue?: string;\n assistiveText?: string;\n label?: string;\n iconColor?: string;\n iconSize?: number;\n leftIconMode?: \"inset\" | \"outset\";\n leftIconName?: string;\n placeholderTextColor?: string;\n rightIconName?: string;\n type?: \"solid\" | \"underline\";\n theme: Theme;\n Icon: IconSlot[\"Icon\"];\n};\n\nfunction normalizeOptions(options: PickerProps[\"options\"]): PickerOption[] {\n if (options.length === 0) {\n return [];\n }\n\n if (typeof options[0] === (\"string\" || \"number\")) {\n return (options as string[]).map((option) => ({\n label: String(option),\n value: String(option),\n }));\n }\n\n if (\n isObject(options[0]) &&\n options[0].value !== null &&\n options[0].label !== null\n ) {\n return (options as PickerOption[]).map((option) => {\n return {\n label: String(option.label),\n value: String(option.value),\n };\n });\n }\n\n throw new Error(\n 'Picker options must be either an array of strings or array of { \"label\": string; \"value\": string; } objects.'\n );\n}\n\nconst { width: deviceWidth, height: deviceHeight } = Dimensions.get(\"screen\");\nconst isIos = Platform.OS === \"ios\";\nconst unstyledColor = \"rgba(165, 173, 183, 1)\";\nconst disabledColor = \"rgb(240, 240, 240)\";\nconst errorColor = \"rgba(255, 69, 100, 1)\";\n\nconst Picker: React.FC<PickerProps> = ({\n error,\n options = [],\n onValueChange,\n defaultValue,\n Icon,\n style,\n placeholder,\n value,\n disabled = false,\n theme,\n assistiveText,\n label,\n iconColor = unstyledColor,\n iconSize = 24,\n leftIconMode = \"inset\",\n leftIconName,\n placeholderTextColor = unstyledColor,\n rightIconName,\n type = \"solid\",\n}) => {\n const androidPickerRef = React.useRef<any | undefined>(undefined);\n\n const [internalValue, setInternalValue] = React.useState<string | undefined>(\n value || defaultValue\n );\n\n const [pickerVisible, setPickerVisible] = React.useState(false);\n\n const togglePickerVisible = () => {\n setPickerVisible(!pickerVisible);\n };\n\n React.useEffect(() => {\n if (value != null) {\n setInternalValue(value);\n }\n }, [value]);\n\n React.useEffect(() => {\n if (defaultValue != null) {\n setInternalValue(defaultValue);\n }\n }, [defaultValue]);\n\n React.useEffect(() => {\n if (pickerVisible && androidPickerRef.current) {\n androidPickerRef?.current?.focus();\n }\n }, [pickerVisible, androidPickerRef]);\n\n const normalizedOptions = normalizeOptions(options);\n\n const pickerOptions = placeholder\n ? [{ value: placeholder, label: placeholder }, ...normalizedOptions]\n : normalizedOptions;\n\n const { colors } = theme;\n\n const { viewStyles, textStyles } = extractStyles(style);\n\n const additionalBorderStyles = [\"backgroundColor\"];\n\n const additionalMarginStyles = [\n \"bottom\",\n \"height\",\n \"left\",\n \"maxHeight\",\n \"maxWidth\",\n \"minHeight\",\n \"minWidth\",\n \"overflow\",\n \"position\",\n \"right\",\n \"top\",\n \"width\",\n \"zIndex\",\n ];\n\n const {\n borderStyles: extractedBorderStyles,\n marginStyles: extractedMarginStyles,\n } = extractBorderAndMarginStyles(\n viewStyles,\n additionalBorderStyles,\n additionalMarginStyles\n );\n\n const borderStyles = {\n ...{\n ...(type === \"solid\"\n ? {\n borderTopLeftRadius: 5,\n borderTopRightRadius: 5,\n borderBottomRightRadius: 5,\n borderBottomLeftRadius: 5,\n borderTopWidth: 1,\n borderRightWidth: 1,\n borderLeftWidth: 1,\n }\n : {}),\n borderBottomWidth: 1,\n borderColor: unstyledColor,\n borderStyle: \"solid\",\n },\n ...extractedBorderStyles,\n ...(error ? { borderColor: errorColor } : {}),\n ...(disabled\n ? { borderColor: \"transparent\", backgroundColor: disabledColor }\n : {}),\n };\n\n const marginStyles = {\n height: 60,\n ...extractedMarginStyles,\n };\n\n const stylesWithoutBordersAndMargins = omit(viewStyles, [\n ...borderStyleNames,\n ...marginStyleNames,\n ...additionalBorderStyles,\n ...additionalMarginStyles,\n ]);\n\n const selectedLabel =\n internalValue &&\n ((pickerOptions as unknown as PickerOption[]).find(\n (option) => option.value === internalValue\n )?.label ??\n internalValue);\n\n const labelText = label ? (\n <Text\n style={{\n textAlign: textStyles.textAlign,\n color: unstyledColor,\n fontSize: 12,\n paddingBottom: 4,\n }}\n >\n {label}\n </Text>\n ) : null;\n\n const leftIconOutset = leftIconMode === \"outset\";\n\n const leftIcon = leftIconName ? (\n <Icon\n name={leftIconName}\n color={disabled ? unstyledColor : iconColor}\n size={iconSize}\n style={{\n marginRight: 4,\n marginLeft: 4,\n }}\n />\n ) : null;\n\n const rightIcon = rightIconName ? (\n <Icon\n name={rightIconName}\n color={disabled ? unstyledColor : iconColor}\n size={iconSize}\n style={{\n marginRight: -10,\n marginLeft: 8,\n }}\n />\n ) : null;\n\n const textAlign = textStyles?.textAlign;\n\n const calculateLeftPadding = () => {\n if (leftIconOutset) {\n if (textAlign === \"center\") {\n return iconSize - Math.abs(8 - iconSize);\n }\n\n return iconSize + 8;\n }\n\n return 0;\n };\n\n const assistiveTextLabel = assistiveText ? (\n <Text\n style={{\n textAlign,\n width: \"100%\",\n paddingLeft: calculateLeftPadding(),\n color: unstyledColor,\n fontSize: 12,\n paddingTop: 4,\n }}\n >\n {assistiveText}\n </Text>\n ) : null;\n\n const primaryTextStyle = {\n color: unstyledColor,\n fontSize: 14,\n ...pickBy(textStyles, identity),\n ...(placeholder === internalValue ? { color: placeholderTextColor } : {}),\n ...(disabled ? { color: unstyledColor } : {}),\n };\n\n const handleValueChange = (newValue: string, itemIndex: number) => {\n if (!placeholder || itemIndex > 0) {\n onValueChange?.(newValue, itemIndex);\n }\n setInternalValue(newValue);\n };\n\n return (\n /* marginsContainer */\n <View style={[styles.marginsContainer, marginStyles]}>\n {/* touchableContainer */}\n <Touchable\n disabled={disabled}\n onPress={togglePickerVisible}\n style={styles.touchableContainer}\n >\n {/* outsetContainer */}\n <View\n pointerEvents=\"none\"\n style={[\n styles.outsetContainer,\n stylesWithoutBordersAndMargins,\n !leftIconOutset ? (borderStyles as PickerProps[\"style\"]) : {},\n ]}\n >\n {leftIcon}\n\n {/* insetContainer */}\n <View\n style={[\n styles.insetContainer,\n leftIconOutset ? (borderStyles as PickerProps[\"style\"]) : {},\n ]}\n >\n {/* primaryTextContainer */}\n <View style={styles.primaryTextContainer}>\n {labelText}\n\n <Text style={primaryTextStyle}>\n {String(selectedLabel ?? placeholder)}\n </Text>\n </View>\n\n {rightIcon}\n </View>\n </View>\n {assistiveTextLabel}\n </Touchable>\n\n {/* iosPicker */}\n {isIos && pickerVisible ? (\n <Portal>\n <View\n style={[\n styles.iosPicker,\n {\n backgroundColor: colors.divider,\n },\n ]}\n >\n <SafeAreaView style={styles.iosSafeArea}>\n <Button\n Icon={Icon}\n type=\"text\"\n onPress={togglePickerVisible}\n style={styles.iosButton}\n >\n {\"Close\"}\n </Button>\n\n <NativePicker\n style={styles.iosNativePicker}\n selectedValue={internalValue}\n onValueChange={handleValueChange}\n >\n {(pickerOptions as unknown as PickerOption[]).map((option) => (\n <NativePicker.Item\n label={option.label}\n value={option.value}\n key={option.value}\n />\n ))}\n </NativePicker>\n </SafeAreaView>\n </View>\n </Portal>\n ) : null}\n\n {/* nonIosPicker */}\n {!isIos && pickerVisible ? (\n <NativePicker\n enabled={pickerVisible}\n selectedValue={internalValue}\n onValueChange={handleValueChange}\n style={styles.nonIosPicker}\n ref={androidPickerRef}\n onBlur={() => setPickerVisible(false)}\n >\n {(pickerOptions as unknown as PickerOption[]).map((option) => (\n <NativePicker.Item\n label={option.label}\n value={option.value}\n key={option.value}\n />\n ))}\n </NativePicker>\n ) : null}\n </View>\n );\n};\n\nexport default withTheme(Picker);\n\nconst styles = StyleSheet.create({\n marginsContainer: {\n alignSelf: \"stretch\",\n alignItems: \"center\",\n width: \"100%\",\n maxWidth: deviceWidth,\n },\n touchableContainer: {\n flex: 1,\n height: \"100%\",\n width: \"100%\",\n alignSelf: \"stretch\",\n alignItems: \"center\",\n },\n outsetContainer: {\n flex: 1,\n height: \"100%\",\n width: \"100%\",\n flexDirection: \"row\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n },\n insetContainer: {\n flex: 1,\n height: \"100%\",\n width: \"100%\",\n flexDirection: \"row\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n paddingLeft: 12,\n paddingRight: 12,\n },\n primaryTextContainer: {\n flex: 1,\n },\n iosPicker: {\n position: \"absolute\",\n bottom: 0,\n left: 0,\n right: 0,\n flexDirection: \"row\",\n justifyContent: \"center\",\n width: \"100%\",\n maxWidth: deviceWidth,\n maxHeight: deviceHeight,\n },\n iosSafeArea: {\n backgroundColor: \"white\",\n flexDirection: \"column\",\n width: \"100%\",\n maxWidth: deviceWidth,\n },\n iosButton: {\n alignSelf: \"flex-end\",\n },\n iosNativePicker: {\n backgroundColor: \"white\",\n },\n nonIosPicker: {\n opacity: 0,\n position: \"absolute\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n width: \"100%\",\n maxWidth: deviceWidth,\n maxHeight: deviceHeight,\n },\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["normalizeOptions","options","length","map","option","label","String","value","isObject","Error","width","deviceWidth","height","deviceHeight","Dimensions","get","isIos","Platform","OS","unstyledColor","disabledColor","errorColor","Picker","error","onValueChange","defaultValue","Icon","style","placeholder","disabled","theme","assistiveText","iconColor","iconSize","leftIconMode","leftIconName","placeholderTextColor","rightIconName","type","androidPickerRef","React","useRef","undefined","internalValue","setInternalValue","useState","pickerVisible","setPickerVisible","togglePickerVisible","useEffect","current","focus","normalizedOptions","pickerOptions","colors","viewStyles","textStyles","extractStyles","additionalBorderStyles","additionalMarginStyles","borderStyles","extractedBorderStyles","marginStyles","extractedMarginStyles","extractBorderAndMarginStyles","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","borderTopWidth","borderRightWidth","borderLeftWidth","borderBottomWidth","borderColor","borderStyle","backgroundColor","stylesWithoutBordersAndMargins","omit","borderStyleNames","marginStyleNames","selectedLabel","find","labelText","textAlign","color","fontSize","paddingBottom","leftIconOutset","leftIcon","marginRight","marginLeft","rightIcon","calculateLeftPadding","Math","abs","assistiveTextLabel","paddingLeft","paddingTop","primaryTextStyle","pickBy","identity","handleValueChange","newValue","itemIndex","styles","marginsContainer","touchableContainer","outsetContainer","insetContainer","primaryTextContainer","iosPicker","divider","iosSafeArea","iosButton","iosNativePicker","nonIosPicker","withTheme","StyleSheet","create","alignSelf","alignItems","maxWidth","flex","flexDirection","justifyContent","paddingRight","position","bottom","left","right","maxHeight","opacity","top"],"sources":["Picker.tsx"],"sourcesContent":["import * as React from \"react\";\nimport {\n View,\n StyleSheet,\n Text,\n Platform,\n ViewStyle,\n StyleProp,\n Dimensions,\n} from \"react-native\";\nimport { omit, pickBy, identity, isObject } from \"lodash\";\nimport { SafeAreaView } from \"react-native-safe-area-context\";\nimport { Picker as NativePicker } from \"@react-native-picker/picker\";\n\nimport { withTheme } from \"../../theming\";\nimport Portal from \"../Portal/Portal\";\nimport Button from \"../DeprecatedButton\";\nimport Touchable from \"../Touchable\";\nimport type { Theme } from \"../../styles/DefaultTheme\";\nimport type { IconSlot } from \"../../interfaces/Icon\";\nimport {\n extractStyles,\n extractBorderAndMarginStyles,\n borderStyleNames,\n marginStyleNames,\n} from \"../../utilities\";\n\nexport interface PickerOption {\n value: string;\n label: string;\n}\n\nexport type PickerProps = {\n error?: any;\n placeholder?: string;\n disabled?: boolean;\n style?: StyleProp<ViewStyle> & { height?: number };\n value?: string;\n options: PickerOption[] | string[];\n onValueChange: (value: string, index: number) => void;\n defaultValue?: string;\n assistiveText?: string;\n label?: string;\n iconColor?: string;\n iconSize?: number;\n leftIconMode?: \"inset\" | \"outset\";\n leftIconName?: string;\n placeholderTextColor?: string;\n rightIconName?: string;\n type?: \"solid\" | \"underline\";\n theme: Theme;\n Icon: IconSlot[\"Icon\"];\n};\n\nfunction normalizeOptions(options: PickerProps[\"options\"]): PickerOption[] {\n if (options.length === 0) {\n return [];\n }\n\n if (typeof options[0] === (\"string\" || \"number\")) {\n return (options as string[]).map((option) => ({\n label: String(option),\n value: String(option),\n }));\n }\n\n if (\n isObject(options[0]) &&\n options[0].value !== null &&\n options[0].label !== null\n ) {\n return (options as PickerOption[]).map((option) => {\n return {\n label: String(option.label),\n value: String(option.value),\n };\n });\n }\n\n throw new Error(\n 'Picker options must be either an array of strings or array of { \"label\": string; \"value\": string; } objects.'\n );\n}\n\nconst { width: deviceWidth, height: deviceHeight } = Dimensions.get(\"screen\");\nconst isIos = Platform.OS === \"ios\";\nconst unstyledColor = \"rgba(165, 173, 183, 1)\";\nconst disabledColor = \"rgb(240, 240, 240)\";\nconst errorColor = \"rgba(255, 69, 100, 1)\";\n\nconst Picker: React.FC<PickerProps> = ({\n error,\n options = [],\n onValueChange,\n defaultValue,\n Icon,\n style,\n placeholder,\n value,\n disabled = false,\n theme,\n assistiveText,\n label,\n iconColor = unstyledColor,\n iconSize = 24,\n leftIconMode = \"inset\",\n leftIconName,\n placeholderTextColor = unstyledColor,\n rightIconName,\n type = \"solid\",\n}) => {\n const androidPickerRef = React.useRef<any | undefined>(undefined);\n\n const [internalValue, setInternalValue] = React.useState<string | undefined>(\n value || defaultValue\n );\n\n const [pickerVisible, setPickerVisible] = React.useState(false);\n\n const togglePickerVisible = () => {\n setPickerVisible(!pickerVisible);\n };\n\n React.useEffect(() => {\n if (value != null) {\n setInternalValue(value);\n }\n }, [value]);\n\n React.useEffect(() => {\n if (defaultValue != null) {\n setInternalValue(defaultValue);\n }\n }, [defaultValue]);\n\n React.useEffect(() => {\n if (pickerVisible && androidPickerRef.current) {\n androidPickerRef?.current?.focus();\n }\n }, [pickerVisible, androidPickerRef]);\n\n const normalizedOptions = normalizeOptions(options);\n\n const pickerOptions = placeholder\n ? [{ value: placeholder, label: placeholder }, ...normalizedOptions]\n : normalizedOptions;\n\n const { colors } = theme;\n\n const { viewStyles, textStyles } = extractStyles(style);\n\n const additionalBorderStyles = [\"backgroundColor\"];\n\n const additionalMarginStyles = [\n \"bottom\",\n \"height\",\n \"left\",\n \"maxHeight\",\n \"maxWidth\",\n \"minHeight\",\n \"minWidth\",\n \"overflow\",\n \"position\",\n \"right\",\n \"top\",\n \"width\",\n \"zIndex\",\n ];\n\n const {\n borderStyles: extractedBorderStyles,\n marginStyles: extractedMarginStyles,\n } = extractBorderAndMarginStyles(\n viewStyles,\n additionalBorderStyles,\n additionalMarginStyles\n );\n\n const borderStyles = {\n ...{\n ...(type === \"solid\"\n ? {\n borderTopLeftRadius: 5,\n borderTopRightRadius: 5,\n borderBottomRightRadius: 5,\n borderBottomLeftRadius: 5,\n borderTopWidth: 1,\n borderRightWidth: 1,\n borderLeftWidth: 1,\n }\n : {}),\n borderBottomWidth: 1,\n borderColor: unstyledColor,\n borderStyle: \"solid\",\n },\n ...extractedBorderStyles,\n ...(error ? { borderColor: errorColor } : {}),\n ...(disabled\n ? { borderColor: \"transparent\", backgroundColor: disabledColor }\n : {}),\n };\n\n const marginStyles = {\n height: 60,\n ...extractedMarginStyles,\n };\n\n const stylesWithoutBordersAndMargins = omit(viewStyles, [\n ...borderStyleNames,\n ...marginStyleNames,\n ...additionalBorderStyles,\n ...additionalMarginStyles,\n ]);\n\n const selectedLabel =\n internalValue &&\n ((pickerOptions as unknown as PickerOption[]).find(\n (option) => option.value === internalValue\n )?.label ??\n internalValue);\n\n const labelText = label ? (\n <Text\n style={{\n textAlign: textStyles.textAlign,\n color: unstyledColor,\n fontSize: 12,\n paddingBottom: 4,\n }}\n >\n {label}\n </Text>\n ) : null;\n\n const leftIconOutset = leftIconMode === \"outset\";\n\n const leftIcon = leftIconName ? (\n <Icon\n name={leftIconName}\n color={disabled ? unstyledColor : iconColor}\n size={iconSize}\n style={{\n marginRight: 4,\n marginLeft: 4,\n }}\n />\n ) : null;\n\n const rightIcon = rightIconName ? (\n <Icon\n name={rightIconName}\n color={disabled ? unstyledColor : iconColor}\n size={iconSize}\n style={{\n marginRight: -10,\n marginLeft: 8,\n }}\n />\n ) : null;\n\n const textAlign = textStyles?.textAlign;\n\n const calculateLeftPadding = () => {\n if (leftIconOutset) {\n if (textAlign === \"center\") {\n return iconSize - Math.abs(8 - iconSize);\n }\n\n return iconSize + 8;\n }\n\n return 0;\n };\n\n const assistiveTextLabel = assistiveText ? (\n <Text\n style={{\n textAlign,\n width: \"100%\",\n paddingLeft: calculateLeftPadding(),\n color: unstyledColor,\n fontSize: 12,\n paddingTop: 4,\n }}\n >\n {assistiveText}\n </Text>\n ) : null;\n\n const primaryTextStyle = {\n color: unstyledColor,\n fontSize: 14,\n ...pickBy(textStyles, identity),\n ...(placeholder === internalValue ? { color: placeholderTextColor } : {}),\n ...(disabled ? { color: unstyledColor } : {}),\n };\n\n const handleValueChange = (newValue: string, itemIndex: number) => {\n if (!placeholder || itemIndex > 0) {\n onValueChange?.(newValue, itemIndex);\n }\n setInternalValue(newValue);\n };\n\n return (\n /* marginsContainer */\n <View style={[styles.marginsContainer, marginStyles]}>\n {/* touchableContainer */}\n <Touchable\n disabled={disabled}\n onPress={togglePickerVisible}\n style={styles.touchableContainer}\n >\n {/* outsetContainer */}\n <View\n pointerEvents=\"none\"\n style={[\n styles.outsetContainer,\n stylesWithoutBordersAndMargins,\n !leftIconOutset ? (borderStyles as PickerProps[\"style\"]) : {},\n ]}\n >\n {leftIcon}\n\n {/* insetContainer */}\n <View\n style={[\n styles.insetContainer,\n leftIconOutset ? (borderStyles as PickerProps[\"style\"]) : {},\n ]}\n >\n {/* primaryTextContainer */}\n <View style={styles.primaryTextContainer}>\n {labelText}\n\n <Text style={primaryTextStyle}>\n {String(selectedLabel ?? placeholder)}\n </Text>\n </View>\n\n {rightIcon}\n </View>\n </View>\n {assistiveTextLabel}\n </Touchable>\n\n {/* iosPicker */}\n {isIos && pickerVisible ? (\n <Portal>\n <View\n style={[\n styles.iosPicker,\n {\n backgroundColor: colors.divider,\n },\n ]}\n >\n <SafeAreaView style={styles.iosSafeArea}>\n <Button\n Icon={Icon}\n type=\"text\"\n onPress={togglePickerVisible}\n style={styles.iosButton}\n >\n {\"Close\"}\n </Button>\n\n <NativePicker\n style={styles.iosNativePicker}\n selectedValue={internalValue}\n onValueChange={handleValueChange}\n >\n {(pickerOptions as unknown as PickerOption[]).map((option) => (\n <NativePicker.Item\n label={option.label}\n value={option.value}\n key={option.value}\n />\n ))}\n </NativePicker>\n </SafeAreaView>\n </View>\n </Portal>\n ) : null}\n\n {/* nonIosPicker */}\n {!isIos && pickerVisible ? (\n <NativePicker\n enabled={pickerVisible}\n selectedValue={internalValue}\n onValueChange={handleValueChange}\n style={styles.nonIosPicker}\n ref={androidPickerRef}\n onBlur={() => setPickerVisible(false)}\n >\n {(pickerOptions as unknown as PickerOption[]).map((option) => (\n <NativePicker.Item\n label={option.label}\n value={option.value}\n key={option.value}\n />\n ))}\n </NativePicker>\n ) : null}\n </View>\n );\n};\n\nexport default withTheme(Picker);\n\nconst styles = StyleSheet.create({\n marginsContainer: {\n alignSelf: \"stretch\",\n alignItems: \"center\",\n width: \"100%\",\n maxWidth: deviceWidth,\n },\n touchableContainer: {\n flex: 1,\n height: \"100%\",\n width: \"100%\",\n alignSelf: \"stretch\",\n alignItems: \"center\",\n },\n outsetContainer: {\n flex: 1,\n height: \"100%\",\n width: \"100%\",\n flexDirection: \"row\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n },\n insetContainer: {\n flex: 1,\n height: \"100%\",\n width: \"100%\",\n flexDirection: \"row\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n paddingLeft: 12,\n paddingRight: 12,\n },\n primaryTextContainer: {\n flex: 1,\n },\n iosPicker: {\n position: \"absolute\",\n bottom: 0,\n left: 0,\n right: 0,\n flexDirection: \"row\",\n justifyContent: \"center\",\n width: \"100%\",\n maxWidth: deviceWidth,\n maxHeight: deviceHeight,\n },\n iosSafeArea: {\n backgroundColor: \"white\",\n flexDirection: \"column\",\n width: \"100%\",\n maxWidth: deviceWidth,\n },\n iosButton: {\n alignSelf: \"flex-end\",\n },\n iosNativePicker: {\n backgroundColor: \"white\",\n },\n nonIosPicker: {\n opacity: 0,\n position: \"absolute\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n width: \"100%\",\n maxWidth: deviceWidth,\n maxHeight: deviceHeight,\n },\n});\n"],"mappings":"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"}
|
|
@@ -30,7 +30,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
30
30
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
31
31
|
|
|
32
32
|
const Picker = _ref => {
|
|
33
|
-
var _options$find
|
|
33
|
+
var _options$find;
|
|
34
34
|
|
|
35
35
|
let {
|
|
36
36
|
style,
|
|
@@ -87,7 +87,7 @@ const Picker = _ref => {
|
|
|
87
87
|
};
|
|
88
88
|
|
|
89
89
|
const stylesWithoutMargin = style && (0, _lodash.default)(_reactNative.StyleSheet.flatten(style), ["margin", "marginTop", "marginRight", "marginBottom", "marginLeft"]);
|
|
90
|
-
const selectedLabel = selectedValue && ((
|
|
90
|
+
const selectedLabel = selectedValue && (((_options$find = options.find(o => o.value === selectedValue)) === null || _options$find === void 0 ? void 0 : _options$find.label) ?? selectedValue);
|
|
91
91
|
return /*#__PURE__*/React.createElement(_Touchable.default, {
|
|
92
92
|
disabled: disabled,
|
|
93
93
|
onPress: toggleFocus,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Picker","style","options","placeholder","selectedValue","disabled","onValueChange","onValueChangeOverride","props","viewStyles","borderRadius","borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderColor","backgroundColor","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","extractStyles","textField","React","useRef","undefined","itemValue","itemIndex","toggleFocus","current","stylesWithoutMargin","omit","StyleSheet","flatten","selectedLabel","find","o","value","label","styles","container","opacity","position","top","left","right","bottom","width","map","create","alignSelf","withTheme"],"sources":["PickerComponent.android.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { View, StyleSheet } from \"react-native\";\nimport omit from \"lodash.omit\";\nimport { withTheme } from \"../../theming\";\nimport { Picker as NativePicker } from \"@react-native-picker/picker\";\nimport { extractStyles } from \"../../utilities\";\n\nimport TextField from \"../TextField\";\nimport Touchable from \"../Touchable\";\nimport { PickerComponentProps } from \"./PickerTypes\";\n\nconst Picker: React.FC<PickerComponentProps> = ({\n style,\n options,\n placeholder,\n selectedValue,\n disabled = false,\n onValueChange: onValueChangeOverride = () => {},\n ...props\n}) => {\n const {\n viewStyles: {\n borderRadius, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderWidth, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderTopWidth, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderRightWidth, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderBottomWidth, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderLeftWidth, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderColor, // eslint-disable-line @typescript-eslint/no-unused-vars\n backgroundColor, // eslint-disable-line @typescript-eslint/no-unused-vars\n padding, // eslint-disable-line @typescript-eslint/no-unused-vars\n paddingTop, // eslint-disable-line @typescript-eslint/no-unused-vars\n paddingRight, // eslint-disable-line @typescript-eslint/no-unused-vars\n paddingBottom, // eslint-disable-line @typescript-eslint/no-unused-vars\n paddingLeft, // eslint-disable-line @typescript-eslint/no-unused-vars\n ...viewStyles\n },\n } = extractStyles(style);\n\n const textField = React.useRef<typeof TextField | undefined>(undefined);\n\n const onValueChange = (itemValue: string, itemIndex: number) => {\n toggleFocus();\n onValueChangeOverride(itemValue, itemIndex);\n };\n\n const toggleFocus = () => {\n if (!disabled) {\n // @ts-ignore\n textField.current.toggleFocus(); // cannot determine if method exists due to component being wrapped in a withTheme()\n }\n };\n\n const stylesWithoutMargin =\n style &&\n omit(StyleSheet.flatten(style), [\n \"margin\",\n \"marginTop\",\n \"marginRight\",\n \"marginBottom\",\n \"marginLeft\",\n ]);\n\n const selectedLabel =\n selectedValue &&\n (options.find((o) => o.value === selectedValue)?.label ?? selectedValue);\n\n return (\n <Touchable\n disabled={disabled}\n onPress={toggleFocus}\n style={[styles.container, viewStyles]}\n >\n <View>\n <NativePicker\n enabled={!disabled}\n selectedValue={selectedValue}\n onValueChange={onValueChange}\n style={{\n opacity: 0,\n position: \"absolute\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n width: \"100%\",\n }}\n >\n {options.map((o) => (\n <NativePicker.Item label={o.label} value={o.value} key={o.value} />\n ))}\n </NativePicker>\n <View pointerEvents=\"none\">\n <TextField\n {...props}\n value={selectedLabel}\n placeholder={placeholder}\n // @ts-ignore\n ref={textField} // cannot determine if ref is of correct type due to component being wrapped in a withTheme()\n disabled={disabled}\n // @ts-expect-error\n style={stylesWithoutMargin}\n />\n </View>\n </View>\n </Touchable>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n alignSelf: \"stretch\",\n },\n});\n\nexport default withTheme(Picker);\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;;;;;;;;;AAGA,MAAMA,MAAsC,GAAG,QAQzC;EAAA;;EAAA,IAR0C;IAC9CC,KAD8C;IAE9CC,OAF8C;IAG9CC,WAH8C;IAI9CC,aAJ8C;IAK9CC,QAAQ,GAAG,KALmC;IAM9CC,aAAa,EAAEC,qBAAqB,GAAG,MAAM,CAAE,CAND;IAO9C,GAAGC;EAP2C,CAQ1C;EACJ,MAAM;IACJC,UAAU,EAAE;MACVC,YADU;MACI;MACdC,WAFU;MAEG;MACbC,cAHU;MAGM;MAChBC,gBAJU;MAIQ;MAClBC,iBALU;MAKS;MACnBC,eANU;MAMO;MACjBC,WAPU;MAOG;MACbC,eARU;MAQO;MACjBC,OATU;MASD;MACTC,UAVU;MAUE;MACZC,YAXU;MAWI;MACdC,aAZU;MAYK;MACfC,WAbU;MAaG;MACb,GAAGb;IAdO;EADR,IAiBF,IAAAc,wBAAA,EAActB,KAAd,CAjBJ;EAmBA,MAAMuB,SAAS,GAAGC,KAAK,CAACC,MAAN,CAA2CC,SAA3C,CAAlB;;EAEA,MAAMrB,aAAa,GAAG,CAACsB,SAAD,EAAoBC,SAApB,KAA0C;IAC9DC,WAAW;IACXvB,qBAAqB,CAACqB,SAAD,EAAYC,SAAZ,CAArB;EACD,CAHD;;EAKA,MAAMC,WAAW,GAAG,MAAM;IACxB,IAAI,CAACzB,QAAL,EAAe;MACb;MACAmB,SAAS,CAACO,OAAV,CAAkBD,WAAlB,GAFa,CAEoB;IAClC;EACF,CALD;;EAOA,MAAME,mBAAmB,GACvB/B,KAAK,IACL,IAAAgC,eAAA,EAAKC,uBAAA,CAAWC,OAAX,CAAmBlC,KAAnB,CAAL,EAAgC,CAC9B,QAD8B,EAE9B,WAF8B,EAG9B,aAH8B,EAI9B,cAJ8B,EAK9B,YAL8B,CAAhC,CAFF;EAUA,MAAMmC,aAAa,GACjBhC,aAAa,
|
|
1
|
+
{"version":3,"names":["Picker","style","options","placeholder","selectedValue","disabled","onValueChange","onValueChangeOverride","props","viewStyles","borderRadius","borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderColor","backgroundColor","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","extractStyles","textField","React","useRef","undefined","itemValue","itemIndex","toggleFocus","current","stylesWithoutMargin","omit","StyleSheet","flatten","selectedLabel","find","o","value","label","styles","container","opacity","position","top","left","right","bottom","width","map","create","alignSelf","withTheme"],"sources":["PickerComponent.android.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { View, StyleSheet } from \"react-native\";\nimport omit from \"lodash.omit\";\nimport { withTheme } from \"../../theming\";\nimport { Picker as NativePicker } from \"@react-native-picker/picker\";\nimport { extractStyles } from \"../../utilities\";\n\nimport TextField from \"../TextField\";\nimport Touchable from \"../Touchable\";\nimport { PickerComponentProps } from \"./PickerTypes\";\n\nconst Picker: React.FC<PickerComponentProps> = ({\n style,\n options,\n placeholder,\n selectedValue,\n disabled = false,\n onValueChange: onValueChangeOverride = () => {},\n ...props\n}) => {\n const {\n viewStyles: {\n borderRadius, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderWidth, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderTopWidth, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderRightWidth, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderBottomWidth, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderLeftWidth, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderColor, // eslint-disable-line @typescript-eslint/no-unused-vars\n backgroundColor, // eslint-disable-line @typescript-eslint/no-unused-vars\n padding, // eslint-disable-line @typescript-eslint/no-unused-vars\n paddingTop, // eslint-disable-line @typescript-eslint/no-unused-vars\n paddingRight, // eslint-disable-line @typescript-eslint/no-unused-vars\n paddingBottom, // eslint-disable-line @typescript-eslint/no-unused-vars\n paddingLeft, // eslint-disable-line @typescript-eslint/no-unused-vars\n ...viewStyles\n },\n } = extractStyles(style);\n\n const textField = React.useRef<typeof TextField | undefined>(undefined);\n\n const onValueChange = (itemValue: string, itemIndex: number) => {\n toggleFocus();\n onValueChangeOverride(itemValue, itemIndex);\n };\n\n const toggleFocus = () => {\n if (!disabled) {\n // @ts-ignore\n textField.current.toggleFocus(); // cannot determine if method exists due to component being wrapped in a withTheme()\n }\n };\n\n const stylesWithoutMargin =\n style &&\n omit(StyleSheet.flatten(style), [\n \"margin\",\n \"marginTop\",\n \"marginRight\",\n \"marginBottom\",\n \"marginLeft\",\n ]);\n\n const selectedLabel =\n selectedValue &&\n (options.find((o) => o.value === selectedValue)?.label ?? selectedValue);\n\n return (\n <Touchable\n disabled={disabled}\n onPress={toggleFocus}\n style={[styles.container, viewStyles]}\n >\n <View>\n <NativePicker\n enabled={!disabled}\n selectedValue={selectedValue}\n onValueChange={onValueChange}\n style={{\n opacity: 0,\n position: \"absolute\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n width: \"100%\",\n }}\n >\n {options.map((o) => (\n <NativePicker.Item label={o.label} value={o.value} key={o.value} />\n ))}\n </NativePicker>\n <View pointerEvents=\"none\">\n <TextField\n {...props}\n value={selectedLabel}\n placeholder={placeholder}\n // @ts-ignore\n ref={textField} // cannot determine if ref is of correct type due to component being wrapped in a withTheme()\n disabled={disabled}\n // @ts-expect-error\n style={stylesWithoutMargin}\n />\n </View>\n </View>\n </Touchable>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n alignSelf: \"stretch\",\n },\n});\n\nexport default withTheme(Picker);\n"],"mappings":"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"}
|
|
@@ -36,7 +36,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
36
36
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
37
37
|
|
|
38
38
|
const Picker = _ref => {
|
|
39
|
-
var _options$find
|
|
39
|
+
var _options$find;
|
|
40
40
|
|
|
41
41
|
let {
|
|
42
42
|
Icon,
|
|
@@ -92,7 +92,7 @@ const Picker = _ref => {
|
|
|
92
92
|
};
|
|
93
93
|
|
|
94
94
|
const stylesWithoutMargin = style && (0, _lodash.default)(_reactNative.StyleSheet.flatten(style), ["margin", "marginTop", "marginRight", "marginBottom", "marginLeft"]);
|
|
95
|
-
const selectedLabel = selectedValue && ((
|
|
95
|
+
const selectedLabel = selectedValue && (((_options$find = options.find(o => o.value === selectedValue)) === null || _options$find === void 0 ? void 0 : _options$find.label) ?? selectedValue);
|
|
96
96
|
return /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
97
97
|
style: [styles.container, viewStyles]
|
|
98
98
|
}, /*#__PURE__*/React.createElement(_Touchable.default, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Picker","Icon","style","options","placeholder","selectedValue","disabled","onValueChange","theme","colors","props","viewStyles","borderRadius","borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderColor","backgroundColor","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","extractStyles","textField","React","useRef","undefined","pickerVisible","setIsPickerVisible","useState","toggleVisibility","current","toggleFocus","stylesWithoutMargin","omit","StyleSheet","flatten","selectedLabel","find","o","value","label","styles","container","String","picker","divider","pickerContainer","closeButton","map","create","alignSelf","position","bottom","left","right","flexDirection","justifyContent","width","withTheme"],"sources":["PickerComponent.ios.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { View, StyleSheet } from \"react-native\";\nimport { SafeAreaView } from \"react-native-safe-area-context\";\nimport omit from \"lodash.omit\";\n\nimport { Picker as NativePicker } from \"@react-native-picker/picker\";\n\nimport { withTheme } from \"../../theming\";\n\nimport Portal from \"../Portal/Portal\";\nimport Button from \"../DeprecatedButton\";\nimport TextField from \"../TextField\";\nimport Touchable from \"../Touchable\";\nimport { PickerComponentProps } from \"./PickerTypes\";\nimport { extractStyles } from \"../../utilities\";\nimport type { IconSlot } from \"../../interfaces/Icon\";\n\nconst Picker: React.FC<PickerComponentProps & IconSlot> = ({\n Icon,\n style,\n options,\n placeholder,\n selectedValue,\n disabled = false,\n onValueChange = () => {},\n theme: { colors },\n ...props\n}) => {\n const {\n viewStyles: {\n borderRadius, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderWidth, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderTopWidth, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderRightWidth, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderBottomWidth, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderLeftWidth, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderColor, // eslint-disable-line @typescript-eslint/no-unused-vars\n backgroundColor, // eslint-disable-line @typescript-eslint/no-unused-vars\n padding, // eslint-disable-line @typescript-eslint/no-unused-vars\n paddingTop, // eslint-disable-line @typescript-eslint/no-unused-vars\n paddingRight, // eslint-disable-line @typescript-eslint/no-unused-vars\n paddingBottom, // eslint-disable-line @typescript-eslint/no-unused-vars\n paddingLeft, // eslint-disable-line @typescript-eslint/no-unused-vars\n ...viewStyles\n },\n } = extractStyles(style);\n\n const textField = React.useRef<typeof TextField | undefined>(undefined);\n const [pickerVisible, setIsPickerVisible] = React.useState(false);\n\n const toggleVisibility = () => {\n setIsPickerVisible(!pickerVisible);\n // @ts-ignore\n textField.current.toggleFocus(); // cannot determine if method exists due to component being wrapped in a withTheme()\n };\n\n const stylesWithoutMargin =\n style &&\n omit(StyleSheet.flatten(style), [\n \"margin\",\n \"marginTop\",\n \"marginRight\",\n \"marginBottom\",\n \"marginLeft\",\n ]);\n\n const selectedLabel =\n selectedValue &&\n (options.find((o) => o.value === selectedValue)?.label ?? selectedValue);\n\n return (\n <View style={[styles.container, viewStyles]}>\n <Touchable disabled={disabled} onPress={toggleVisibility}>\n <TextField\n {...props}\n value={String(selectedLabel)}\n placeholder={placeholder}\n // @ts-ignore\n ref={textField} // cannot determine if ref is of correct type due to component being wrapped in a withTheme()\n disabled={disabled}\n pointerEvents=\"none\"\n // @ts-expect-error\n style={stylesWithoutMargin}\n Icon={Icon}\n />\n </Touchable>\n {pickerVisible && (\n <Portal>\n <View style={[styles.picker, { backgroundColor: colors.divider }]}>\n <SafeAreaView style={styles.pickerContainer}>\n <Button\n Icon={Icon}\n type=\"text\"\n onPress={toggleVisibility}\n style={styles.closeButton}\n >\n Close\n </Button>\n <NativePicker\n style={{ backgroundColor: \"white\" }}\n selectedValue={selectedValue}\n onValueChange={onValueChange}\n >\n {options.map((o: any) => (\n <NativePicker.Item\n label={o.label}\n value={o.value}\n key={o.value}\n />\n ))}\n </NativePicker>\n </SafeAreaView>\n </View>\n </Portal>\n )}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n alignSelf: \"stretch\",\n },\n picker: {\n position: \"absolute\",\n bottom: 0,\n left: 0,\n right: 0,\n flexDirection: \"row\",\n justifyContent: \"center\",\n },\n pickerContainer: {\n backgroundColor: \"white\",\n flexDirection: \"column\",\n width: \"100%\",\n },\n closeButton: {\n alignSelf: \"flex-end\",\n },\n});\n\nexport default withTheme(Picker);\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;AAEA;;AAEA;;AACA;;AACA;;AACA;;AAEA;;;;;;;;;;AAGA,MAAMA,MAAiD,GAAG,QAUpD;EAAA;;EAAA,IAVqD;IACzDC,IADyD;IAEzDC,KAFyD;IAGzDC,OAHyD;IAIzDC,WAJyD;IAKzDC,aALyD;IAMzDC,QAAQ,GAAG,KAN8C;IAOzDC,aAAa,GAAG,MAAM,CAAE,CAPiC;IAQzDC,KAAK,EAAE;MAAEC;IAAF,CARkD;IASzD,GAAGC;EATsD,CAUrD;EACJ,MAAM;IACJC,UAAU,EAAE;MACVC,YADU;MACI;MACdC,WAFU;MAEG;MACbC,cAHU;MAGM;MAChBC,gBAJU;MAIQ;MAClBC,iBALU;MAKS;MACnBC,eANU;MAMO;MACjBC,WAPU;MAOG;MACbC,eARU;MAQO;MACjBC,OATU;MASD;MACTC,UAVU;MAUE;MACZC,YAXU;MAWI;MACdC,aAZU;MAYK;MACfC,WAbU;MAaG;MACb,GAAGb;IAdO;EADR,IAiBF,IAAAc,wBAAA,EAAcvB,KAAd,CAjBJ;EAmBA,MAAMwB,SAAS,GAAGC,KAAK,CAACC,MAAN,CAA2CC,SAA3C,CAAlB;EACA,MAAM,CAACC,aAAD,EAAgBC,kBAAhB,IAAsCJ,KAAK,CAACK,QAAN,CAAe,KAAf,CAA5C;;EAEA,MAAMC,gBAAgB,GAAG,MAAM;IAC7BF,kBAAkB,CAAC,CAACD,aAAF,CAAlB,CAD6B,CAE7B;;IACAJ,SAAS,CAACQ,OAAV,CAAkBC,WAAlB,GAH6B,CAGI;EAClC,CAJD;;EAMA,MAAMC,mBAAmB,GACvBlC,KAAK,IACL,IAAAmC,eAAA,EAAKC,uBAAA,CAAWC,OAAX,CAAmBrC,KAAnB,CAAL,EAAgC,CAC9B,QAD8B,EAE9B,WAF8B,EAG9B,aAH8B,EAI9B,cAJ8B,EAK9B,YAL8B,CAAhC,CAFF;EAUA,MAAMsC,aAAa,GACjBnC,aAAa,
|
|
1
|
+
{"version":3,"names":["Picker","Icon","style","options","placeholder","selectedValue","disabled","onValueChange","theme","colors","props","viewStyles","borderRadius","borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderColor","backgroundColor","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","extractStyles","textField","React","useRef","undefined","pickerVisible","setIsPickerVisible","useState","toggleVisibility","current","toggleFocus","stylesWithoutMargin","omit","StyleSheet","flatten","selectedLabel","find","o","value","label","styles","container","String","picker","divider","pickerContainer","closeButton","map","create","alignSelf","position","bottom","left","right","flexDirection","justifyContent","width","withTheme"],"sources":["PickerComponent.ios.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { View, StyleSheet } from \"react-native\";\nimport { SafeAreaView } from \"react-native-safe-area-context\";\nimport omit from \"lodash.omit\";\n\nimport { Picker as NativePicker } from \"@react-native-picker/picker\";\n\nimport { withTheme } from \"../../theming\";\n\nimport Portal from \"../Portal/Portal\";\nimport Button from \"../DeprecatedButton\";\nimport TextField from \"../TextField\";\nimport Touchable from \"../Touchable\";\nimport { PickerComponentProps } from \"./PickerTypes\";\nimport { extractStyles } from \"../../utilities\";\nimport type { IconSlot } from \"../../interfaces/Icon\";\n\nconst Picker: React.FC<PickerComponentProps & IconSlot> = ({\n Icon,\n style,\n options,\n placeholder,\n selectedValue,\n disabled = false,\n onValueChange = () => {},\n theme: { colors },\n ...props\n}) => {\n const {\n viewStyles: {\n borderRadius, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderWidth, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderTopWidth, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderRightWidth, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderBottomWidth, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderLeftWidth, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderColor, // eslint-disable-line @typescript-eslint/no-unused-vars\n backgroundColor, // eslint-disable-line @typescript-eslint/no-unused-vars\n padding, // eslint-disable-line @typescript-eslint/no-unused-vars\n paddingTop, // eslint-disable-line @typescript-eslint/no-unused-vars\n paddingRight, // eslint-disable-line @typescript-eslint/no-unused-vars\n paddingBottom, // eslint-disable-line @typescript-eslint/no-unused-vars\n paddingLeft, // eslint-disable-line @typescript-eslint/no-unused-vars\n ...viewStyles\n },\n } = extractStyles(style);\n\n const textField = React.useRef<typeof TextField | undefined>(undefined);\n const [pickerVisible, setIsPickerVisible] = React.useState(false);\n\n const toggleVisibility = () => {\n setIsPickerVisible(!pickerVisible);\n // @ts-ignore\n textField.current.toggleFocus(); // cannot determine if method exists due to component being wrapped in a withTheme()\n };\n\n const stylesWithoutMargin =\n style &&\n omit(StyleSheet.flatten(style), [\n \"margin\",\n \"marginTop\",\n \"marginRight\",\n \"marginBottom\",\n \"marginLeft\",\n ]);\n\n const selectedLabel =\n selectedValue &&\n (options.find((o) => o.value === selectedValue)?.label ?? selectedValue);\n\n return (\n <View style={[styles.container, viewStyles]}>\n <Touchable disabled={disabled} onPress={toggleVisibility}>\n <TextField\n {...props}\n value={String(selectedLabel)}\n placeholder={placeholder}\n // @ts-ignore\n ref={textField} // cannot determine if ref is of correct type due to component being wrapped in a withTheme()\n disabled={disabled}\n pointerEvents=\"none\"\n // @ts-expect-error\n style={stylesWithoutMargin}\n Icon={Icon}\n />\n </Touchable>\n {pickerVisible && (\n <Portal>\n <View style={[styles.picker, { backgroundColor: colors.divider }]}>\n <SafeAreaView style={styles.pickerContainer}>\n <Button\n Icon={Icon}\n type=\"text\"\n onPress={toggleVisibility}\n style={styles.closeButton}\n >\n Close\n </Button>\n <NativePicker\n style={{ backgroundColor: \"white\" }}\n selectedValue={selectedValue}\n onValueChange={onValueChange}\n >\n {options.map((o: any) => (\n <NativePicker.Item\n label={o.label}\n value={o.value}\n key={o.value}\n />\n ))}\n </NativePicker>\n </SafeAreaView>\n </View>\n </Portal>\n )}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n alignSelf: \"stretch\",\n },\n picker: {\n position: \"absolute\",\n bottom: 0,\n left: 0,\n right: 0,\n flexDirection: \"row\",\n justifyContent: \"center\",\n },\n pickerContainer: {\n backgroundColor: \"white\",\n flexDirection: \"column\",\n width: \"100%\",\n },\n closeButton: {\n alignSelf: \"flex-end\",\n },\n});\n\nexport default withTheme(Picker);\n"],"mappings":"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"}
|