@draftbit/core 42.3.3-fdd04d.0 → 42.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/components/Checkbox/Checkbox.js +13 -2
- package/lib/commonjs/components/Checkbox/Checkbox.js.map +1 -1
- package/lib/commonjs/components/DatePicker/DatePicker.js +2 -1
- package/lib/commonjs/components/DatePicker/DatePicker.js.map +1 -1
- package/lib/commonjs/components/FieldSearchBarFull.js +16 -3
- package/lib/commonjs/components/FieldSearchBarFull.js.map +1 -1
- package/lib/commonjs/components/Picker/Picker.js +16 -2
- package/lib/commonjs/components/Picker/Picker.js.map +1 -1
- package/lib/commonjs/components/RadioButton/RadioButtonGroup.js +7 -2
- package/lib/commonjs/components/RadioButton/RadioButtonGroup.js.map +1 -1
- package/lib/commonjs/components/Slider.js +13 -2
- package/lib/commonjs/components/Slider.js.map +1 -1
- package/lib/commonjs/components/StarRating.js +2 -1
- package/lib/commonjs/components/StarRating.js.map +1 -1
- package/lib/commonjs/components/Stepper.js +5 -1
- package/lib/commonjs/components/Stepper.js.map +1 -1
- package/lib/commonjs/components/Swiper/Swiper.js +1 -33
- package/lib/commonjs/components/Swiper/Swiper.js.map +1 -1
- package/lib/commonjs/components/Switch.js +3 -0
- package/lib/commonjs/components/Switch.js.map +1 -1
- package/lib/commonjs/components/TextField.js +4 -1
- package/lib/commonjs/components/TextField.js.map +1 -1
- package/lib/commonjs/components/TextInput.js +1 -1
- package/lib/commonjs/components/TextInput.js.map +1 -1
- package/lib/commonjs/components/ToggleButton.js +13 -2
- package/lib/commonjs/components/ToggleButton.js.map +1 -1
- package/lib/module/components/Checkbox/Checkbox.js +13 -2
- package/lib/module/components/Checkbox/Checkbox.js.map +1 -1
- package/lib/module/components/DatePicker/DatePicker.js +2 -1
- package/lib/module/components/DatePicker/DatePicker.js.map +1 -1
- package/lib/module/components/DatePicker/DatePickerComponent.web.js.map +1 -1
- package/lib/module/components/FieldSearchBarFull.js +16 -3
- package/lib/module/components/FieldSearchBarFull.js.map +1 -1
- package/lib/module/components/Picker/Picker.js +16 -2
- package/lib/module/components/Picker/Picker.js.map +1 -1
- package/lib/module/components/RadioButton/RadioButtonGroup.js +7 -2
- package/lib/module/components/RadioButton/RadioButtonGroup.js.map +1 -1
- package/lib/module/components/Slider.js +13 -2
- package/lib/module/components/Slider.js.map +1 -1
- package/lib/module/components/StarRating.js +2 -1
- package/lib/module/components/StarRating.js.map +1 -1
- package/lib/module/components/Stepper.js +5 -1
- package/lib/module/components/Stepper.js.map +1 -1
- package/lib/module/components/Swiper/Swiper.js +2 -34
- package/lib/module/components/Swiper/Swiper.js.map +1 -1
- package/lib/module/components/Switch.js +3 -0
- package/lib/module/components/Switch.js.map +1 -1
- package/lib/module/components/TextField.js +4 -1
- package/lib/module/components/TextField.js.map +1 -1
- package/lib/module/components/TextInput.js +1 -1
- package/lib/module/components/TextInput.js.map +1 -1
- package/lib/module/components/ToggleButton.js +13 -2
- package/lib/module/components/ToggleButton.js.map +1 -1
- package/lib/typescript/src/components/Checkbox/Checkbox.d.ts +1 -0
- package/lib/typescript/src/components/DatePicker/DatePicker.d.ts +1 -0
- package/lib/typescript/src/components/FieldSearchBarFull.d.ts +3 -2
- package/lib/typescript/src/components/Picker/Picker.d.ts +1 -1
- package/lib/typescript/src/components/Picker/PickerTypes.d.ts +2 -1
- package/lib/typescript/src/components/RadioButton/RadioButtonGroup.d.ts +2 -1
- package/lib/typescript/src/components/Slider.d.ts +4 -1
- package/lib/typescript/src/components/StarRating.d.ts +1 -0
- package/lib/typescript/src/components/Stepper.d.ts +1 -0
- package/lib/typescript/src/components/Swiper/Swiper.d.ts +1 -45
- package/lib/typescript/src/components/TextField.d.ts +1 -0
- package/lib/typescript/src/components/TextInput.d.ts +1 -1
- package/lib/typescript/src/components/ToggleButton.d.ts +1 -0
- package/package.json +2 -2
- package/src/components/Checkbox/Checkbox.js +13 -3
- package/src/components/Checkbox/Checkbox.tsx +22 -3
- package/src/components/DatePicker/DatePicker.js +2 -2
- package/src/components/DatePicker/DatePicker.tsx +4 -2
- package/src/components/FieldSearchBarFull.js +12 -2
- package/src/components/FieldSearchBarFull.tsx +22 -5
- package/src/components/Picker/Picker.js +12 -2
- package/src/components/Picker/Picker.tsx +19 -3
- package/src/components/Picker/PickerTypes.ts +3 -2
- package/src/components/RadioButton/RadioButtonGroup.js +10 -2
- package/src/components/RadioButton/RadioButtonGroup.tsx +19 -3
- package/src/components/Slider.js +11 -3
- package/src/components/Slider.tsx +18 -3
- package/src/components/StarRating.js +2 -2
- package/src/components/StarRating.tsx +5 -1
- package/src/components/Stepper.js +5 -2
- package/src/components/Stepper.tsx +10 -2
- package/src/components/Swiper/Swiper.js +2 -20
- package/src/components/Swiper/Swiper.tsx +0 -27
- package/src/components/Switch.js +3 -0
- package/src/components/Switch.tsx +5 -0
- package/src/components/TextField.js +5 -1
- package/src/components/TextField.tsx +5 -1
- package/src/components/TextInput.js +1 -1
- package/src/components/TextInput.tsx +2 -2
- package/src/components/ToggleButton.js +10 -2
- package/src/components/ToggleButton.tsx +18 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ToggleButton.tsx"],"names":["ToggleButton","Icon","icon","toggled","onPress","initialValue","disabled","color","colorSecondary","borderColor","iconSize","width","height","theme","colors","style","rest","
|
|
1
|
+
{"version":3,"sources":["ToggleButton.tsx"],"names":["ToggleButton","Icon","icon","toggled","onPress","initialValue","defaultValue","disabled","color","colorSecondary","borderColor","iconSize","width","height","theme","colors","style","rest","internalValue","setIntervalValue","React","useState","useEffect","previousInitialValue","handlePress","styles","mainContainer","backgroundColor","StyleSheet","create","borderWidth","SEED_DATA","name","tag","category","COMPONENT_TYPES","button","layout","triggers","Triggers","OnPress","props","required","fieldName","valuePropName","label","description","group","GROUPS","basic"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { withTheme } from \"../theming\";\nimport { colorTypes, GROUPS } from \"@draftbit/types\";\nimport { StyleProp, StyleSheet, ViewStyle } from \"react-native\";\nimport IconButton from \"./IconButton\";\nimport {\n COMPONENT_TYPES,\n createIconProp,\n createBoolProp,\n createColorProp,\n createStaticNumberProp,\n createFieldNameProp,\n createIconSizeProp,\n createActionProp,\n Triggers,\n} from \"@draftbit/types\";\nimport type { Theme } from \"../styles/DefaultTheme\";\nimport type { IconSlot } from \"../interfaces/Icon\";\nimport { usePrevious } from \"../hooks\";\n\ntype Props = {\n icon: string;\n toggled?: boolean;\n onPress?: (toggled: boolean) => void;\n initialValue?: boolean; // deprecated\n defaultValue?: boolean;\n disabled?: boolean;\n color?: colorTypes;\n colorSecondary?: colorTypes;\n borderColor?: colorTypes;\n iconSize?: number;\n width?: number;\n height?: number;\n style?: StyleProp<ViewStyle>;\n theme: Theme;\n} & IconSlot;\n\nconst ToggleButton: React.FC<Props> = ({\n Icon,\n icon,\n toggled = false,\n onPress = () => {},\n initialValue,\n defaultValue,\n disabled = false,\n color = \"primary\",\n colorSecondary = \"surface\",\n borderColor = \"divider\",\n iconSize = 25,\n width = 50,\n height = 50,\n theme: { colors },\n style,\n ...rest\n}) => {\n const [internalValue, setIntervalValue] = React.useState<boolean>(\n toggled || defaultValue || false\n );\n\n React.useEffect(() => {\n setIntervalValue(toggled);\n }, [toggled]);\n\n const previousInitialValue = usePrevious(initialValue);\n React.useEffect(() => {\n if (initialValue !== previousInitialValue) {\n onPress(initialValue);\n }\n }, [initialValue, previousInitialValue, onPress]);\n\n const handlePress = () => {\n setIntervalValue(!toggled);\n onPress(!toggled);\n };\n\n return (\n <IconButton\n Icon={Icon}\n icon={icon}\n size={iconSize}\n color={internalValue ? colors[color] : colors[colorSecondary]}\n onPress={handlePress}\n disabled={disabled}\n style={[\n styles.mainContainer,\n {\n width,\n height,\n backgroundColor: toggled ? colors[colorSecondary] : colors[color],\n borderColor: colors[borderColor],\n },\n style,\n ]}\n {...rest}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n mainContainer: {\n borderWidth: 1,\n },\n});\n\nexport default withTheme(ToggleButton);\n\nexport const SEED_DATA = {\n name: \"Toggle Button\",\n tag: \"ToggleButton\",\n category: COMPONENT_TYPES.button,\n layout: {},\n triggers: [Triggers.OnPress],\n props: {\n onPress: createActionProp(),\n icon: createIconProp({\n required: true,\n }),\n iconSize: createIconSizeProp(),\n fieldName: createFieldNameProp({\n defaultValue: false,\n valuePropName: \"toggled\",\n }),\n disabled: createBoolProp({\n label: \"Disabled\",\n description: \"Whether the button should be disabled\",\n group: GROUPS.basic,\n }),\n color: createColorProp({\n group: GROUPS.basic,\n }),\n colorSecondary: createColorProp({\n label: \"Secondary Color\",\n group: GROUPS.basic,\n }),\n borderColor: createColorProp({\n label: \"Border Color\",\n group: GROUPS.basic,\n }),\n width: createStaticNumberProp({\n label: \"Width\",\n description: \"Width\",\n defaultValue: 50,\n }),\n height: createStaticNumberProp({\n label: \"Height\",\n description: \"Height\",\n defaultValue: 50,\n }),\n },\n};\n"]}
|
|
@@ -23,6 +23,7 @@ const Checkbox = ({
|
|
|
23
23
|
uncheckedColor,
|
|
24
24
|
indeterminateColor,
|
|
25
25
|
initialValue,
|
|
26
|
+
defaultValue,
|
|
26
27
|
checkedIcon = "MaterialCommunityIcons/checkbox-marked",
|
|
27
28
|
uncheckedIcon = "MaterialCommunityIcons/checkbox-blank-outline",
|
|
28
29
|
indeterminateIcon = "AntDesign/minussquareo",
|
|
@@ -30,6 +31,10 @@ const Checkbox = ({
|
|
|
30
31
|
style,
|
|
31
32
|
...rest
|
|
32
33
|
}) => {
|
|
34
|
+
const [internalValue, setInternalValue] = React.useState(status || defaultValue);
|
|
35
|
+
React.useEffect(() => {
|
|
36
|
+
setInternalValue(status);
|
|
37
|
+
}, [status]);
|
|
33
38
|
const previousInitialValue = usePrevious(initialValue);
|
|
34
39
|
React.useEffect(() => {
|
|
35
40
|
if (initialValue !== previousInitialValue) {
|
|
@@ -50,8 +55,14 @@ const Checkbox = ({
|
|
|
50
55
|
[CheckboxStatus.Indeterminate]: indeterminateIcon
|
|
51
56
|
};
|
|
52
57
|
const checkboxColor = colorsMap[status];
|
|
58
|
+
|
|
59
|
+
const handlePress = () => {
|
|
60
|
+
setInternalValue(internalValue === CheckboxStatus.Unchecked ? CheckboxStatus.Checked : CheckboxStatus.Unchecked);
|
|
61
|
+
onPress(internalValue === CheckboxStatus.Unchecked);
|
|
62
|
+
};
|
|
63
|
+
|
|
53
64
|
return /*#__PURE__*/React.createElement(Touchable, _extends({}, rest, {
|
|
54
|
-
onPress:
|
|
65
|
+
onPress: handlePress,
|
|
55
66
|
disabled: disabled,
|
|
56
67
|
accessibilityState: {
|
|
57
68
|
disabled
|
|
@@ -64,7 +75,7 @@ const Checkbox = ({
|
|
|
64
75
|
}]
|
|
65
76
|
}), /*#__PURE__*/React.createElement(Icon, {
|
|
66
77
|
style: styles.icon,
|
|
67
|
-
name: iconsMap[
|
|
78
|
+
name: iconsMap[internalValue],
|
|
68
79
|
size: size,
|
|
69
80
|
color: checkboxColor
|
|
70
81
|
}), /*#__PURE__*/React.createElement(View, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Checkbox.tsx"],"names":["React","View","StyleSheet","COMPONENT_TYPES","createBoolProp","createIconProp","createStaticNumberProp","createColorProp","createFieldNameProp","GROUPS","Triggers","useTheme","Touchable","usePrevious","CheckboxStatus","Checkbox","Icon","status","Unchecked","disabled","onPress","color","uncheckedColor","indeterminateColor","initialValue","checkedIcon","uncheckedIcon","indeterminateIcon","size","style","rest","previousInitialValue","useEffect","colors","colorsMap","Checked","primary","Indeterminate","light","iconsMap","checkboxColor","styles","container","width","height","icon","absoluteFill","fillContainer","fill","opacity","borderColor","create","borderRadius","alignItems","justifyContent","alignSelf","SEED_DATA","name","tag","category","input","triggers","OnPress","props","fieldName","defaultValue","valuePropName","handlerPropName","group","basic","label","description"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport {\n View,\n StyleSheet,\n TouchableHighlightProps,\n StyleProp,\n ViewStyle,\n} from \"react-native\";\nimport {\n COMPONENT_TYPES,\n createBoolProp,\n createIconProp,\n createStaticNumberProp,\n createColorProp,\n createFieldNameProp,\n GROUPS,\n Triggers,\n} from \"@draftbit/types\";\nimport { useTheme } from \"../../theming\";\nimport type { IconSlot } from \"../../interfaces/Icon\";\n\nimport Touchable from \"../Touchable\";\nimport { usePrevious } from \"../../hooks\";\n\nexport enum CheckboxStatus {\n Checked = \"checked\",\n Unchecked = \"unchecked\",\n Indeterminate = \"indeterminate\",\n}\n\nexport interface CheckboxProps {\n status?: CheckboxStatus;\n disabled?: boolean;\n onPress?: (checked: boolean) => void;\n color?: string;\n uncheckedColor?: string;\n indeterminateColor?: string;\n checkedIcon?: string;\n uncheckedIcon?: string;\n indeterminateIcon?: string;\n initialValue?: boolean;\n size?: number;\n style?: StyleProp<ViewStyle>;\n}\n\nconst Checkbox: React.FC<CheckboxProps & TouchableHighlightProps & IconSlot> =\n ({\n Icon,\n status = CheckboxStatus.Unchecked,\n disabled = false,\n onPress = () => {},\n color,\n uncheckedColor,\n indeterminateColor,\n initialValue,\n checkedIcon = \"MaterialCommunityIcons/checkbox-marked\",\n uncheckedIcon = \"MaterialCommunityIcons/checkbox-blank-outline\",\n indeterminateIcon = \"AntDesign/minussquareo\",\n size = 24,\n style,\n ...rest\n }) => {\n const previousInitialValue = usePrevious(initialValue);\n React.useEffect(() => {\n if (initialValue !== previousInitialValue) {\n onPress(initialValue);\n }\n }, [initialValue, previousInitialValue, onPress]);\n const { colors } = useTheme();\n\n const colorsMap = {\n [CheckboxStatus.Checked]: color || colors.primary,\n [CheckboxStatus.Unchecked]: uncheckedColor || colors.primary,\n [CheckboxStatus.Indeterminate]: indeterminateColor || colors.light,\n };\n\n const iconsMap = {\n [CheckboxStatus.Checked]: checkedIcon,\n [CheckboxStatus.Unchecked]: uncheckedIcon,\n [CheckboxStatus.Indeterminate]: indeterminateIcon,\n };\n\n const checkboxColor = colorsMap[status];\n\n return (\n <Touchable\n {...rest}\n onPress={() => onPress(status === \"unchecked\" ? true : false)}\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={iconsMap[status]}\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\nexport const SEED_DATA = {\n name: \"Checkbox\",\n tag: \"Checkbox\",\n category: COMPONENT_TYPES.input,\n triggers: [Triggers.OnPress],\n props: {\n fieldName: createFieldNameProp({\n defaultValue: \"checkboxValue\",\n valuePropName: \"status\",\n handlerPropName: \"onPress\",\n }),\n color: createColorProp({\n group: GROUPS.basic,\n label: \"Color\",\n description: \"Color for the button (used when the checkbox is checked)\",\n defaultValue: null,\n }),\n uncheckedColor: createColorProp({\n group: GROUPS.basic,\n label: \"Unselected Color\",\n description: \"Color for the button when the checkbox is unchecked\",\n defaultValue: null,\n }),\n indeterminateColor: createColorProp({\n group: GROUPS.basic,\n label: \"Indeterminate Color\",\n description: \"Color for the button when the checkbox is indeterminate\",\n defaultValue: null,\n }),\n disabled: createBoolProp({\n label: \"Disabled\",\n description: \"Whether the checkbox is disabled\",\n }),\n size: createStaticNumberProp({\n label: \"Size\",\n description: \"Specifies the size of the icon\",\n defaultValue: null,\n }),\n checkedIcon: createIconProp({\n label: \"Checked Icon\",\n description: 'Icon to show when the checkbox status is \"checked\"',\n defaultValue: null,\n }),\n uncheckedIcon: createIconProp({\n label: \"Unchecked Icon\",\n description: 'Icon to show when the checkbox status is \"unchecked\"',\n defaultValue: null,\n }),\n indeterminateIcon: createIconProp({\n label: \"Indeterminate Icon\",\n description: 'Icon to show when the checkbox status is \"indeterminate\"',\n defaultValue: null,\n }),\n },\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["Checkbox.tsx"],"names":["React","View","StyleSheet","COMPONENT_TYPES","createBoolProp","createIconProp","createStaticNumberProp","createColorProp","createFieldNameProp","GROUPS","Triggers","useTheme","Touchable","usePrevious","CheckboxStatus","Checkbox","Icon","status","Unchecked","disabled","onPress","color","uncheckedColor","indeterminateColor","initialValue","defaultValue","checkedIcon","uncheckedIcon","indeterminateIcon","size","style","rest","internalValue","setInternalValue","useState","useEffect","previousInitialValue","colors","colorsMap","Checked","primary","Indeterminate","light","iconsMap","checkboxColor","handlePress","styles","container","width","height","icon","absoluteFill","fillContainer","fill","opacity","borderColor","create","borderRadius","alignItems","justifyContent","alignSelf","SEED_DATA","name","tag","category","input","triggers","OnPress","props","fieldName","valuePropName","handlerPropName","group","basic","label","description"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport {\n View,\n StyleSheet,\n TouchableHighlightProps,\n StyleProp,\n ViewStyle,\n} from \"react-native\";\nimport {\n COMPONENT_TYPES,\n createBoolProp,\n createIconProp,\n createStaticNumberProp,\n createColorProp,\n createFieldNameProp,\n GROUPS,\n Triggers,\n} from \"@draftbit/types\";\nimport { useTheme } from \"../../theming\";\nimport type { IconSlot } from \"../../interfaces/Icon\";\n\nimport Touchable from \"../Touchable\";\nimport { usePrevious } from \"../../hooks\";\n\nexport enum CheckboxStatus {\n Checked = \"checked\",\n Unchecked = \"unchecked\",\n Indeterminate = \"indeterminate\",\n}\n\nexport interface CheckboxProps {\n status?: CheckboxStatus;\n disabled?: boolean;\n onPress?: (checked: boolean) => void;\n color?: string;\n uncheckedColor?: string;\n indeterminateColor?: string;\n checkedIcon?: string;\n uncheckedIcon?: string;\n indeterminateIcon?: string;\n initialValue?: boolean; // deprecated\n defaultValue?: CheckboxStatus;\n size?: number;\n style?: StyleProp<ViewStyle>;\n}\n\nconst Checkbox: React.FC<CheckboxProps & TouchableHighlightProps & IconSlot> =\n ({\n Icon,\n status = CheckboxStatus.Unchecked,\n disabled = false,\n onPress = () => {},\n color,\n uncheckedColor,\n indeterminateColor,\n initialValue,\n defaultValue,\n checkedIcon = \"MaterialCommunityIcons/checkbox-marked\",\n uncheckedIcon = \"MaterialCommunityIcons/checkbox-blank-outline\",\n indeterminateIcon = \"AntDesign/minussquareo\",\n size = 24,\n style,\n ...rest\n }) => {\n const [internalValue, setInternalValue] = React.useState<CheckboxStatus>(\n status || defaultValue\n );\n\n React.useEffect(() => {\n setInternalValue(status);\n }, [status]);\n\n const previousInitialValue = usePrevious(initialValue);\n React.useEffect(() => {\n if (initialValue !== previousInitialValue) {\n onPress(initialValue);\n }\n }, [initialValue, previousInitialValue, onPress]);\n const { colors } = useTheme();\n\n const colorsMap = {\n [CheckboxStatus.Checked]: color || colors.primary,\n [CheckboxStatus.Unchecked]: uncheckedColor || colors.primary,\n [CheckboxStatus.Indeterminate]: indeterminateColor || colors.light,\n };\n\n const iconsMap = {\n [CheckboxStatus.Checked]: checkedIcon,\n [CheckboxStatus.Unchecked]: uncheckedIcon,\n [CheckboxStatus.Indeterminate]: indeterminateIcon,\n };\n\n const checkboxColor = colorsMap[status];\n\n const handlePress = () => {\n setInternalValue(\n internalValue === CheckboxStatus.Unchecked\n ? CheckboxStatus.Checked\n : CheckboxStatus.Unchecked\n );\n onPress(internalValue === CheckboxStatus.Unchecked);\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={iconsMap[internalValue]}\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\nexport const SEED_DATA = {\n name: \"Checkbox\",\n tag: \"Checkbox\",\n category: COMPONENT_TYPES.input,\n triggers: [Triggers.OnPress],\n props: {\n fieldName: createFieldNameProp({\n defaultValue: \"checkboxValue\",\n valuePropName: \"status\",\n handlerPropName: \"onPress\",\n }),\n color: createColorProp({\n group: GROUPS.basic,\n label: \"Color\",\n description: \"Color for the button (used when the checkbox is checked)\",\n defaultValue: null,\n }),\n uncheckedColor: createColorProp({\n group: GROUPS.basic,\n label: \"Unselected Color\",\n description: \"Color for the button when the checkbox is unchecked\",\n defaultValue: null,\n }),\n indeterminateColor: createColorProp({\n group: GROUPS.basic,\n label: \"Indeterminate Color\",\n description: \"Color for the button when the checkbox is indeterminate\",\n defaultValue: null,\n }),\n disabled: createBoolProp({\n label: \"Disabled\",\n description: \"Whether the checkbox is disabled\",\n }),\n size: createStaticNumberProp({\n label: \"Size\",\n description: \"Specifies the size of the icon\",\n defaultValue: null,\n }),\n checkedIcon: createIconProp({\n label: \"Checked Icon\",\n description: 'Icon to show when the checkbox status is \"checked\"',\n defaultValue: null,\n }),\n uncheckedIcon: createIconProp({\n label: \"Unchecked Icon\",\n description: 'Icon to show when the checkbox status is \"unchecked\"',\n defaultValue: null,\n }),\n indeterminateIcon: createIconProp({\n label: \"Indeterminate Icon\",\n description: 'Icon to show when the checkbox status is \"indeterminate\"',\n defaultValue: null,\n }),\n },\n};\n"]}
|
|
@@ -28,6 +28,7 @@ const DatePicker = ({
|
|
|
28
28
|
date,
|
|
29
29
|
onDateChange = () => {},
|
|
30
30
|
initialValue,
|
|
31
|
+
defaultValue,
|
|
31
32
|
disabled = false,
|
|
32
33
|
mode = "date",
|
|
33
34
|
format,
|
|
@@ -39,7 +40,7 @@ const DatePicker = ({
|
|
|
39
40
|
placeholder,
|
|
40
41
|
...props
|
|
41
42
|
}) => {
|
|
42
|
-
const [value, setValue] = React.useState(date);
|
|
43
|
+
const [value, setValue] = React.useState(date || defaultValue);
|
|
43
44
|
const [pickerVisible, setPickerVisible] = React.useState(false);
|
|
44
45
|
const [labeled] = React.useState(new Animated.Value(date ? 0 : 1));
|
|
45
46
|
const [placeholder1, setPlaceholder1] = React.useState("");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["DatePicker.tsx"],"names":["React","View","Animated","Text","StyleSheet","Platform","I18nManager","TextInput","NativeTextInput","useSafeAreaInsets","dateFormat","withTheme","Portal","Button","Touchable","DateTimePicker","usePrevious","AnimatedText","createAnimatedComponent","FOCUS_ANIMATION_DURATION","BLUR_ANIMATION_DURATION","ICON_SIZE","MONTHS","DatePicker","Icon","style","theme","colors","typography","roundness","disabledOpacity","date","onDateChange","initialValue","disabled","mode","format","type","leftIconName","rightIconName","leftIconMode","label","placeholder","props","value","setValue","useState","pickerVisible","setPickerVisible","labeled","Value","placeholder1","setPlaceholder1","focused","setFocused","labelLayout","setLabelLayout","measured","width","previousInitialValue","useEffect","initialValueStr","toString","previousInitialValueStr","getValidDate","Date","getMonth","formatDate","newDate","toLocaleTimeString","toLocaleString","getDate","getFullYear","toggleVisibility","_handleBlur","_handleFocus","insets","_hidePlaceholder","timing","toValue","duration","useNativeDriver","start","_showPlaceholder","setTimeout","clearTimeout","MINIMIZED_LABEL_Y_OFFSET","caption","lineHeight","OUTLINE_MINIMIZED_LABEL_Y_OFFSET","MAXIMIZED_LABEL_FONT_SIZE","subtitle1","fontSize","MINIMIZED_LABEL_FONT_SIZE","hasActiveOutline","inputTextColor","activeColor","underlineColor","borderColor","placeholderColor","containerStyle","backgroundColor","inputStyle","strong","light","divider","primary","background","paddingVertical","color","paddingLeft","paddingRight","height","borderTopLeftRadius","borderTopRightRadius","paddingBottom","marginTop","borderRadius","borderWidth","paddingTop","opacity","paddingHorizontal","marginLeft","leftIconColor","leftIconProps","size","name","leftIconStyle","position","labelStyle","top","left","transform","translateY","interpolate","inputRange","outputRange","scale","translateX","inputStyles","styles","input","marginHorizontal","container","underline","scaleY","absoluteFill","e","nativeEvent","layout","right","picker","pickerContainer","bottom","OS","closeButton","_event","data","create","alignSelf","flexDirection","justifyContent","flexGrow","textAlignVertical","margin","textAlign","isRTL"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport {\n View,\n Animated,\n Text,\n StyleSheet,\n StyleProp,\n ViewStyle,\n TextStyle,\n Platform,\n TextInputProps,\n ImageStyle,\n I18nManager,\n LayoutChangeEvent,\n TextInput as NativeTextInput,\n} from \"react-native\";\nimport { useSafeAreaInsets } from \"react-native-safe-area-context\";\n\nimport dateFormat from \"dateformat\";\nimport { withTheme } from \"../../theming\";\nimport Portal from \"../Portal/Portal\";\nimport Button from \"../DeprecatedButton\";\nimport Touchable from \"../Touchable\";\nimport DateTimePicker from \"./DatePickerComponent\";\n\nimport type { Theme } from \"../../styles/DefaultTheme\";\nimport type { IconSlot } from \"../../interfaces/Icon\";\nimport { usePrevious } from \"../../hooks\";\n\nconst AnimatedText = Animated.createAnimatedComponent(Text);\n\nconst FOCUS_ANIMATION_DURATION = 150;\nconst BLUR_ANIMATION_DURATION = 180;\nconst ICON_SIZE = 24;\n\ntype Props = {\n style?: StyleProp<ViewStyle> & { height?: number };\n theme: Theme;\n // initialDate?: string;\n // locale?: string;\n // minuteInterval?: number;\n // timeZoneOffsetInMinutes?: number;\n // error?: boolean;\n // type?: string;\n date?: Date;\n format?: string;\n onDateChange?: (data?: Date) => void;\n initialValue?: Date;\n disabled?: boolean;\n mode?: \"date\" | \"time\" | \"datetime\";\n type?: \"solid\" | \"underline\";\n label?: string;\n placeholder?: string;\n leftIconName?: string;\n leftIconMode?: \"outset\" | \"inset\";\n rightIconName?: string;\n} & IconSlot &\n TextInputProps;\n\nconst MONTHS = [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n];\n\nconst DatePicker: React.FC<Props> = ({\n Icon,\n style,\n theme: { colors, typography, roundness, disabledOpacity },\n date,\n onDateChange = () => {},\n initialValue,\n disabled = false,\n mode = \"date\",\n format,\n type = \"underline\",\n leftIconName,\n rightIconName,\n leftIconMode = \"inset\",\n label,\n placeholder,\n ...props\n}) => {\n const [value, setValue] = React.useState<any>(date);\n const [pickerVisible, setPickerVisible] = React.useState(false);\n const [labeled] = React.useState<Animated.Value>(\n new Animated.Value(date ? 0 : 1)\n );\n const [placeholder1, setPlaceholder1] = React.useState(\"\");\n const [focused, setFocused] = React.useState<boolean>(false);\n const [labelLayout, setLabelLayout] = React.useState<{\n measured: Boolean;\n width: number;\n }>({ measured: false, width: 0 });\n\n const previousInitialValue = usePrevious(initialValue);\n React.useEffect(() => {\n const initialValueStr = initialValue ? initialValue.toString() : \"\";\n const previousInitialValueStr = previousInitialValue\n ? // This weirdly complains about being possibly undefined despite being inside a ternary\n // @ts-ignore\n previousInitialValue.toString()\n : \"\";\n if (initialValueStr !== previousInitialValueStr) {\n setValue(initialValue);\n onDateChange(initialValue);\n }\n }, [initialValue, previousInitialValue, setValue, onDateChange]);\n\n const getValidDate = (): Date => {\n if (!value) {\n return new Date();\n }\n return typeof value?.getMonth === \"function\" ? value : new Date();\n };\n\n const formatDate = (): string => {\n if (!value) return \"\";\n let newDate = getValidDate();\n\n if (format) return dateFormat(newDate, format);\n\n if (mode === \"time\") {\n return `${newDate.toLocaleTimeString()}`;\n }\n\n if (mode === \"datetime\") {\n return `${newDate.toLocaleString()}`;\n }\n\n return `${\n MONTHS[newDate.getMonth()]\n } ${newDate.getDate()}, ${newDate.getFullYear()}`;\n };\n\n const toggleVisibility = async () => {\n setPickerVisible(!pickerVisible);\n focused ? _handleBlur() : _handleFocus();\n };\n const insets = useSafeAreaInsets();\n\n // const _restoreLabel = () =>\n // Animated.timing(labeled, {\n // toValue: 1,\n // duration: FOCUS_ANIMATION_DURATION,\n // useNativeDriver: true,\n // }).start();\n\n // const _minmizeLabel = () =>\n // Animated.timing(labeled, {\n // toValue: 0,\n // duration: BLUR_ANIMATION_DURATION,\n // useNativeDriver: true,\n // }).start();\n\n // const _showPlaceholder = () =>\n // setTimeout(() => setPlaceholder1(placeholder || \"\"), 50);\n\n const _hidePlaceholder = () => {\n setPlaceholder1(\"\");\n };\n\n React.useEffect(() => {\n setValue(date);\n }, [date]);\n\n React.useEffect(() => {\n if (value || focused || placeholder1) {\n // _minmizeLabel();\n Animated.timing(labeled, {\n toValue: 0,\n duration: BLUR_ANIMATION_DURATION,\n useNativeDriver: true,\n }).start();\n } else {\n // _restoreLabel();\n Animated.timing(labeled, {\n toValue: 1,\n duration: FOCUS_ANIMATION_DURATION,\n useNativeDriver: true,\n }).start();\n }\n }, [value, focused, placeholder1, labeled]);\n\n React.useEffect(() => {\n const _showPlaceholder = () =>\n setTimeout(() => setPlaceholder1(placeholder || \"\"), 50);\n if (focused || !label) {\n _showPlaceholder();\n } else {\n _hidePlaceholder();\n }\n return () => {\n clearTimeout(_showPlaceholder());\n };\n }, [focused, label, placeholder]);\n\n const _handleFocus = () => {\n if (disabled) {\n return;\n }\n\n setFocused(true);\n };\n\n const _handleBlur = () => {\n if (disabled) {\n return;\n }\n setFocused(false);\n };\n\n const MINIMIZED_LABEL_Y_OFFSET = -(typography.caption.lineHeight + 4);\n const OUTLINE_MINIMIZED_LABEL_Y_OFFSET = -(16 * 0.5 + 4);\n const MAXIMIZED_LABEL_FONT_SIZE = typography.subtitle1.fontSize;\n const MINIMIZED_LABEL_FONT_SIZE = typography.caption.fontSize;\n\n const hasActiveOutline = focused;\n\n let inputTextColor,\n activeColor,\n underlineColor,\n borderColor,\n placeholderColor,\n containerStyle: StyleProp<ViewStyle>,\n backgroundColor,\n inputStyle: StyleProp<TextStyle>;\n\n inputTextColor = colors.strong;\n if (disabled) {\n activeColor = colors.light;\n placeholderColor = colors.light;\n borderColor = \"transparent\";\n underlineColor = \"transparent\";\n backgroundColor = colors.divider;\n } else {\n activeColor = colors.primary;\n placeholderColor = borderColor = colors.light;\n underlineColor = colors.light;\n backgroundColor = colors.background;\n }\n\n const { lineHeight, ...subtitle1 } = typography.subtitle1;\n\n inputStyle = {\n paddingVertical: 0,\n color: inputTextColor,\n paddingLeft:\n leftIconName && leftIconMode === \"inset\"\n ? ICON_SIZE + (type === \"solid\" ? 16 : 12)\n : 0,\n paddingRight: rightIconName ? ICON_SIZE + 16 + 4 : 12,\n ...subtitle1,\n height: lineHeight,\n };\n\n if (type === \"underline\") {\n containerStyle = {\n borderTopLeftRadius: roundness,\n borderTopRightRadius: roundness,\n paddingBottom: 12,\n marginTop: 16,\n };\n } else {\n containerStyle = {\n borderRadius: roundness,\n borderColor: hasActiveOutline ? activeColor : borderColor,\n borderWidth: 1,\n paddingTop: labeled ? 16 * 1.5 : 16,\n paddingBottom: labeled ? 16 * 0.5 : 16,\n opacity: disabled ? disabledOpacity : 1,\n backgroundColor,\n };\n\n inputStyle.paddingHorizontal = 12;\n }\n\n if (leftIconName && leftIconMode === \"outset\") {\n containerStyle.marginLeft = ICON_SIZE + 8;\n }\n\n let leftIconColor;\n if (focused) {\n leftIconColor = colors.primary;\n } else {\n leftIconColor = colors.light;\n }\n\n const leftIconProps = {\n size: 24,\n color: leftIconColor,\n name: leftIconName || \"\",\n };\n\n const leftIconStyle: ImageStyle = {\n position: \"absolute\",\n marginTop:\n type === \"solid\"\n ? leftIconMode === \"inset\"\n ? MINIMIZED_LABEL_FONT_SIZE + 4\n : 16\n : leftIconMode === \"outset\"\n ? 16\n : 0,\n };\n\n const labelStyle = {\n ...typography.subtitle1,\n top: type === \"solid\" ? 16 : 0,\n left:\n leftIconName && leftIconMode === \"inset\"\n ? ICON_SIZE + (type === \"solid\" ? 16 : 12)\n : 0,\n transform: [\n {\n // Move label to top\n translateY: labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [\n type === \"solid\"\n ? OUTLINE_MINIMIZED_LABEL_Y_OFFSET\n : MINIMIZED_LABEL_Y_OFFSET,\n 0,\n ],\n }),\n },\n {\n // Make label smaller\n scale: labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [\n MINIMIZED_LABEL_FONT_SIZE / MAXIMIZED_LABEL_FONT_SIZE,\n 1,\n ],\n }),\n },\n {\n // Offset label scale since RN doesn't support transform origin\n translateX: labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [\n -(1 - MINIMIZED_LABEL_FONT_SIZE / MAXIMIZED_LABEL_FONT_SIZE) *\n (labelLayout.width / 2),\n 0,\n ],\n }),\n },\n ],\n };\n\n const inputStyles = [\n styles.input,\n inputStyle,\n type === \"solid\" ? { marginHorizontal: 12 } : {},\n ];\n\n // const render = (props) => <NativeTextInput {...props} />;\n\n return (\n <View style={[styles.container, style]}>\n <Touchable disabled={disabled} onPress={toggleVisibility}>\n <View pointerEvents=\"none\">\n <View style={[styles.container, style]}>\n {leftIconName && leftIconMode === \"outset\" ? (\n <Icon {...leftIconProps} style={leftIconStyle} />\n ) : null}\n <View\n style={[containerStyle, style ? { height: style.height } : {}]}\n >\n {type === \"underline\" ? (\n // When type === 'flat', render an underline\n <Animated.View\n style={[\n styles.underline,\n {\n backgroundColor: focused ? activeColor : underlineColor,\n // Underlines is thinner when input is not focused\n transform: [{ scaleY: focused ? 1 : 0.5 }],\n },\n ]}\n />\n ) : null}\n\n {label ? (\n // Position colored placeholder and gray placeholder on top of each other and crossfade them\n // This gives the effect of animating the color, but allows us to use native driver\n <View\n pointerEvents=\"none\"\n style={[\n StyleSheet.absoluteFill,\n {\n opacity:\n // Hide the label in minimized state until we measure its width\n date || focused ? (labelLayout.measured ? 1 : 0) : 1,\n },\n ]}\n >\n <AnimatedText\n onLayout={(e: LayoutChangeEvent) =>\n setLabelLayout({\n width: e.nativeEvent.layout.width,\n measured: true,\n })\n }\n style={[\n styles.placeholder,\n type === \"solid\" ? { paddingHorizontal: 12 } : {},\n labelStyle,\n {\n color: colors.light,\n opacity: labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [hasActiveOutline ? 1 : 0, 0],\n }),\n },\n ]}\n numberOfLines={1}\n >\n {label}\n </AnimatedText>\n <AnimatedText\n style={[\n styles.placeholder,\n type === \"solid\" ? { paddingHorizontal: 12 } : {},\n labelStyle,\n {\n color: placeholderColor,\n opacity: hasActiveOutline ? labeled : 1,\n },\n ]}\n numberOfLines={1}\n >\n {label}\n </AnimatedText>\n </View>\n ) : null}\n\n {leftIconName && leftIconMode === \"inset\" ? (\n <Icon\n {...leftIconProps}\n style={{\n ...leftIconStyle,\n marginLeft: type === \"solid\" ? 16 : 0,\n }}\n />\n ) : null}\n\n <NativeTextInput\n value={formatDate()}\n placeholder={label ? placeholder1 : placeholder}\n editable={!disabled}\n placeholderTextColor={placeholderColor}\n selectionColor={activeColor}\n onFocus={_handleFocus}\n onBlur={_handleBlur}\n underlineColorAndroid={\"transparent\"}\n style={inputStyles}\n {...props}\n />\n </View>\n {rightIconName ? (\n <Icon\n name={rightIconName}\n size={ICON_SIZE}\n color={colors.light}\n style={{\n position: \"absolute\",\n right: 16,\n marginTop:\n type === \"solid\" ? MINIMIZED_LABEL_FONT_SIZE + 4 : 16,\n }}\n />\n ) : null}\n </View>\n </View>\n </Touchable>\n {pickerVisible && (\n <Portal>\n <View\n style={[\n styles.picker,\n {\n backgroundColor: colors.divider,\n },\n ]}\n >\n <View\n style={[\n styles.pickerContainer,\n {\n paddingTop: insets.top,\n paddingBottom: insets.bottom,\n paddingLeft: insets.left,\n paddingRight: insets.right,\n },\n ]}\n >\n {Platform.OS === \"ios\" && (\n <Button\n Icon={Icon}\n type=\"text\"\n onPress={toggleVisibility}\n style={styles.closeButton}\n >\n Close\n </Button>\n )}\n\n <DateTimePicker\n value={getValidDate()}\n mode={mode}\n isVisible={pickerVisible}\n toggleVisibility={toggleVisibility}\n onChange={(_event: any, data: any) => {\n Platform.OS === \"ios\" ? null : toggleVisibility();\n setValue(data);\n onDateChange(data);\n }}\n />\n </View>\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 underline: {\n position: \"absolute\",\n left: 0,\n right: 0,\n bottom: 0,\n height: 2,\n },\n input: {\n flexGrow: 1,\n justifyContent: \"center\",\n textAlignVertical: \"center\",\n margin: 0,\n textAlign: I18nManager.isRTL ? \"right\" : \"left\",\n },\n placeholder: {\n position: \"absolute\",\n left: 0,\n },\n pickerContainer: { flexDirection: \"column\", width: \"100%\" },\n closeButton: {\n alignSelf: \"flex-end\",\n },\n});\n\nexport default withTheme(DatePicker);\n"]}
|
|
1
|
+
{"version":3,"sources":["DatePicker.tsx"],"names":["React","View","Animated","Text","StyleSheet","Platform","I18nManager","TextInput","NativeTextInput","useSafeAreaInsets","dateFormat","withTheme","Portal","Button","Touchable","DateTimePicker","usePrevious","AnimatedText","createAnimatedComponent","FOCUS_ANIMATION_DURATION","BLUR_ANIMATION_DURATION","ICON_SIZE","MONTHS","DatePicker","Icon","style","theme","colors","typography","roundness","disabledOpacity","date","onDateChange","initialValue","defaultValue","disabled","mode","format","type","leftIconName","rightIconName","leftIconMode","label","placeholder","props","value","setValue","useState","pickerVisible","setPickerVisible","labeled","Value","placeholder1","setPlaceholder1","focused","setFocused","labelLayout","setLabelLayout","measured","width","previousInitialValue","useEffect","initialValueStr","toString","previousInitialValueStr","getValidDate","Date","getMonth","formatDate","newDate","toLocaleTimeString","toLocaleString","getDate","getFullYear","toggleVisibility","_handleBlur","_handleFocus","insets","_hidePlaceholder","timing","toValue","duration","useNativeDriver","start","_showPlaceholder","setTimeout","clearTimeout","MINIMIZED_LABEL_Y_OFFSET","caption","lineHeight","OUTLINE_MINIMIZED_LABEL_Y_OFFSET","MAXIMIZED_LABEL_FONT_SIZE","subtitle1","fontSize","MINIMIZED_LABEL_FONT_SIZE","hasActiveOutline","inputTextColor","activeColor","underlineColor","borderColor","placeholderColor","containerStyle","backgroundColor","inputStyle","strong","light","divider","primary","background","paddingVertical","color","paddingLeft","paddingRight","height","borderTopLeftRadius","borderTopRightRadius","paddingBottom","marginTop","borderRadius","borderWidth","paddingTop","opacity","paddingHorizontal","marginLeft","leftIconColor","leftIconProps","size","name","leftIconStyle","position","labelStyle","top","left","transform","translateY","interpolate","inputRange","outputRange","scale","translateX","inputStyles","styles","input","marginHorizontal","container","underline","scaleY","absoluteFill","e","nativeEvent","layout","right","picker","pickerContainer","bottom","OS","closeButton","_event","data","create","alignSelf","flexDirection","justifyContent","flexGrow","textAlignVertical","margin","textAlign","isRTL"],"mappings":";;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SACEC,IADF,EAEEC,QAFF,EAGEC,IAHF,EAIEC,UAJF,EAQEC,QARF,EAWEC,WAXF,EAaEC,SAAS,IAAIC,eAbf,QAcO,cAdP;AAeA,SAASC,iBAAT,QAAkC,gCAAlC;AAEA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SAASC,SAAT,QAA0B,eAA1B;AACA,OAAOC,MAAP,MAAmB,kBAAnB;AACA,OAAOC,MAAP,MAAmB,qBAAnB;AACA,OAAOC,SAAP,MAAsB,cAAtB;AACA,OAAOC,cAAP,MAA2B,uBAA3B;AAIA,SAASC,WAAT,QAA4B,aAA5B;AAEA,MAAMC,YAAY,GAAGf,QAAQ,CAACgB,uBAAT,CAAiCf,IAAjC,CAArB;AAEA,MAAMgB,wBAAwB,GAAG,GAAjC;AACA,MAAMC,uBAAuB,GAAG,GAAhC;AACA,MAAMC,SAAS,GAAG,EAAlB;AA2BA,MAAMC,MAAM,GAAG,CACb,SADa,EAEb,UAFa,EAGb,OAHa,EAIb,OAJa,EAKb,KALa,EAMb,MANa,EAOb,MAPa,EAQb,QARa,EASb,WATa,EAUb,SAVa,EAWb,UAXa,EAYb,UAZa,CAAf;;AAeA,MAAMC,UAA2B,GAAG,CAAC;AACnCC,EAAAA,IADmC;AAEnCC,EAAAA,KAFmC;AAGnCC,EAAAA,KAAK,EAAE;AAAEC,IAAAA,MAAF;AAAUC,IAAAA,UAAV;AAAsBC,IAAAA,SAAtB;AAAiCC,IAAAA;AAAjC,GAH4B;AAInCC,EAAAA,IAJmC;AAKnCC,EAAAA,YAAY,GAAG,MAAM,CAAE,CALY;AAMnCC,EAAAA,YANmC;AAOnCC,EAAAA,YAPmC;AAQnCC,EAAAA,QAAQ,GAAG,KARwB;AASnCC,EAAAA,IAAI,GAAG,MAT4B;AAUnCC,EAAAA,MAVmC;AAWnCC,EAAAA,IAAI,GAAG,WAX4B;AAYnCC,EAAAA,YAZmC;AAanCC,EAAAA,aAbmC;AAcnCC,EAAAA,YAAY,GAAG,OAdoB;AAenCC,EAAAA,KAfmC;AAgBnCC,EAAAA,WAhBmC;AAiBnC,KAAGC;AAjBgC,CAAD,KAkB9B;AACJ,QAAM,CAACC,KAAD,EAAQC,QAAR,IAAoB9C,KAAK,CAAC+C,QAAN,CAAoBhB,IAAI,IAAIG,YAA5B,CAA1B;AACA,QAAM,CAACc,aAAD,EAAgBC,gBAAhB,IAAoCjD,KAAK,CAAC+C,QAAN,CAAe,KAAf,CAA1C;AACA,QAAM,CAACG,OAAD,IAAYlD,KAAK,CAAC+C,QAAN,CAChB,IAAI7C,QAAQ,CAACiD,KAAb,CAAmBpB,IAAI,GAAG,CAAH,GAAO,CAA9B,CADgB,CAAlB;AAGA,QAAM,CAACqB,YAAD,EAAeC,eAAf,IAAkCrD,KAAK,CAAC+C,QAAN,CAAe,EAAf,CAAxC;AACA,QAAM,CAACO,OAAD,EAAUC,UAAV,IAAwBvD,KAAK,CAAC+C,QAAN,CAAwB,KAAxB,CAA9B;AACA,QAAM,CAACS,WAAD,EAAcC,cAAd,IAAgCzD,KAAK,CAAC+C,QAAN,CAGnC;AAAEW,IAAAA,QAAQ,EAAE,KAAZ;AAAmBC,IAAAA,KAAK,EAAE;AAA1B,GAHmC,CAAtC;AAKA,QAAMC,oBAAoB,GAAG5C,WAAW,CAACiB,YAAD,CAAxC;AACAjC,EAAAA,KAAK,CAAC6D,SAAN,CAAgB,MAAM;AACpB,UAAMC,eAAe,GAAG7B,YAAY,GAAGA,YAAY,CAAC8B,QAAb,EAAH,GAA6B,EAAjE;AACA,UAAMC,uBAAuB,GAAGJ,oBAAoB,GAChD;AACA;AACAA,IAAAA,oBAAoB,CAACG,QAArB,EAHgD,GAIhD,EAJJ;;AAKA,QAAID,eAAe,KAAKE,uBAAxB,EAAiD;AAC/ClB,MAAAA,QAAQ,CAACb,YAAD,CAAR;AACAD,MAAAA,YAAY,CAACC,YAAD,CAAZ;AACD;AACF,GAXD,EAWG,CAACA,YAAD,EAAe2B,oBAAf,EAAqCd,QAArC,EAA+Cd,YAA/C,CAXH;;AAaA,QAAMiC,YAAY,GAAG,MAAY;AAC/B,QAAI,CAACpB,KAAL,EAAY;AACV,aAAO,IAAIqB,IAAJ,EAAP;AACD;;AACD,WAAO,QAAOrB,KAAP,aAAOA,KAAP,uBAAOA,KAAK,CAAEsB,QAAd,MAA2B,UAA3B,GAAwCtB,KAAxC,GAAgD,IAAIqB,IAAJ,EAAvD;AACD,GALD;;AAOA,QAAME,UAAU,GAAG,MAAc;AAC/B,QAAI,CAACvB,KAAL,EAAY,OAAO,EAAP;AACZ,QAAIwB,OAAO,GAAGJ,YAAY,EAA1B;AAEA,QAAI5B,MAAJ,EAAY,OAAO3B,UAAU,CAAC2D,OAAD,EAAUhC,MAAV,CAAjB;;AAEZ,QAAID,IAAI,KAAK,MAAb,EAAqB;AACnB,aAAQ,GAAEiC,OAAO,CAACC,kBAAR,EAA6B,EAAvC;AACD;;AAED,QAAIlC,IAAI,KAAK,UAAb,EAAyB;AACvB,aAAQ,GAAEiC,OAAO,CAACE,cAAR,EAAyB,EAAnC;AACD;;AAED,WAAQ,GACNjD,MAAM,CAAC+C,OAAO,CAACF,QAAR,EAAD,CACP,IAAGE,OAAO,CAACG,OAAR,EAAkB,KAAIH,OAAO,CAACI,WAAR,EAAsB,EAFhD;AAGD,GAjBD;;AAmBA,QAAMC,gBAAgB,GAAG,YAAY;AACnCzB,IAAAA,gBAAgB,CAAC,CAACD,aAAF,CAAhB;AACAM,IAAAA,OAAO,GAAGqB,WAAW,EAAd,GAAmBC,YAAY,EAAtC;AACD,GAHD;;AAIA,QAAMC,MAAM,GAAGpE,iBAAiB,EAAhC,CAzDI,CA2DJ;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;;AAEA,QAAMqE,gBAAgB,GAAG,MAAM;AAC7BzB,IAAAA,eAAe,CAAC,EAAD,CAAf;AACD,GAFD;;AAIArD,EAAAA,KAAK,CAAC6D,SAAN,CAAgB,MAAM;AACpBf,IAAAA,QAAQ,CAACf,IAAD,CAAR;AACD,GAFD,EAEG,CAACA,IAAD,CAFH;AAIA/B,EAAAA,KAAK,CAAC6D,SAAN,CAAgB,MAAM;AACpB,QAAIhB,KAAK,IAAIS,OAAT,IAAoBF,YAAxB,EAAsC;AACpC;AACAlD,MAAAA,QAAQ,CAAC6E,MAAT,CAAgB7B,OAAhB,EAAyB;AACvB8B,QAAAA,OAAO,EAAE,CADc;AAEvBC,QAAAA,QAAQ,EAAE7D,uBAFa;AAGvB8D,QAAAA,eAAe,EAAE;AAHM,OAAzB,EAIGC,KAJH;AAKD,KAPD,MAOO;AACL;AACAjF,MAAAA,QAAQ,CAAC6E,MAAT,CAAgB7B,OAAhB,EAAyB;AACvB8B,QAAAA,OAAO,EAAE,CADc;AAEvBC,QAAAA,QAAQ,EAAE9D,wBAFa;AAGvB+D,QAAAA,eAAe,EAAE;AAHM,OAAzB,EAIGC,KAJH;AAKD;AACF,GAhBD,EAgBG,CAACtC,KAAD,EAAQS,OAAR,EAAiBF,YAAjB,EAA+BF,OAA/B,CAhBH;AAkBAlD,EAAAA,KAAK,CAAC6D,SAAN,CAAgB,MAAM;AACpB,UAAMuB,gBAAgB,GAAG,MACvBC,UAAU,CAAC,MAAMhC,eAAe,CAACV,WAAW,IAAI,EAAhB,CAAtB,EAA2C,EAA3C,CADZ;;AAEA,QAAIW,OAAO,IAAI,CAACZ,KAAhB,EAAuB;AACrB0C,MAAAA,gBAAgB;AACjB,KAFD,MAEO;AACLN,MAAAA,gBAAgB;AACjB;;AACD,WAAO,MAAM;AACXQ,MAAAA,YAAY,CAACF,gBAAgB,EAAjB,CAAZ;AACD,KAFD;AAGD,GAXD,EAWG,CAAC9B,OAAD,EAAUZ,KAAV,EAAiBC,WAAjB,CAXH;;AAaA,QAAMiC,YAAY,GAAG,MAAM;AACzB,QAAIzC,QAAJ,EAAc;AACZ;AACD;;AAEDoB,IAAAA,UAAU,CAAC,IAAD,CAAV;AACD,GAND;;AAQA,QAAMoB,WAAW,GAAG,MAAM;AACxB,QAAIxC,QAAJ,EAAc;AACZ;AACD;;AACDoB,IAAAA,UAAU,CAAC,KAAD,CAAV;AACD,GALD;;AAOA,QAAMgC,wBAAwB,GAAG,EAAE3D,UAAU,CAAC4D,OAAX,CAAmBC,UAAnB,GAAgC,CAAlC,CAAjC;AACA,QAAMC,gCAAgC,GAAG,EAAE,KAAK,GAAL,GAAW,CAAb,CAAzC;AACA,QAAMC,yBAAyB,GAAG/D,UAAU,CAACgE,SAAX,CAAqBC,QAAvD;AACA,QAAMC,yBAAyB,GAAGlE,UAAU,CAAC4D,OAAX,CAAmBK,QAArD;AAEA,QAAME,gBAAgB,GAAGzC,OAAzB;AAEA,MAAI0C,cAAJ,EACEC,WADF,EAEEC,cAFF,EAGEC,WAHF,EAIEC,gBAJF,EAKEC,cALF,EAMEC,eANF,EAOEC,UAPF;AASAP,EAAAA,cAAc,GAAGrE,MAAM,CAAC6E,MAAxB;;AACA,MAAIrE,QAAJ,EAAc;AACZ8D,IAAAA,WAAW,GAAGtE,MAAM,CAAC8E,KAArB;AACAL,IAAAA,gBAAgB,GAAGzE,MAAM,CAAC8E,KAA1B;AACAN,IAAAA,WAAW,GAAG,aAAd;AACAD,IAAAA,cAAc,GAAG,aAAjB;AACAI,IAAAA,eAAe,GAAG3E,MAAM,CAAC+E,OAAzB;AACD,GAND,MAMO;AACLT,IAAAA,WAAW,GAAGtE,MAAM,CAACgF,OAArB;AACAP,IAAAA,gBAAgB,GAAGD,WAAW,GAAGxE,MAAM,CAAC8E,KAAxC;AACAP,IAAAA,cAAc,GAAGvE,MAAM,CAAC8E,KAAxB;AACAH,IAAAA,eAAe,GAAG3E,MAAM,CAACiF,UAAzB;AACD;;AAED,QAAM;AAAEnB,IAAAA,UAAF;AAAc,OAAGG;AAAjB,MAA+BhE,UAAU,CAACgE,SAAhD;AAEAW,EAAAA,UAAU,GAAG;AACXM,IAAAA,eAAe,EAAE,CADN;AAEXC,IAAAA,KAAK,EAAEd,cAFI;AAGXe,IAAAA,WAAW,EACTxE,YAAY,IAAIE,YAAY,KAAK,OAAjC,GACIpB,SAAS,IAAIiB,IAAI,KAAK,OAAT,GAAmB,EAAnB,GAAwB,EAA5B,CADb,GAEI,CANK;AAOX0E,IAAAA,YAAY,EAAExE,aAAa,GAAGnB,SAAS,GAAG,EAAZ,GAAiB,CAApB,GAAwB,EAPxC;AAQX,OAAGuE,SARQ;AASXqB,IAAAA,MAAM,EAAExB;AATG,GAAb;;AAYA,MAAInD,IAAI,KAAK,WAAb,EAA0B;AACxB+D,IAAAA,cAAc,GAAG;AACfa,MAAAA,mBAAmB,EAAErF,SADN;AAEfsF,MAAAA,oBAAoB,EAAEtF,SAFP;AAGfuF,MAAAA,aAAa,EAAE,EAHA;AAIfC,MAAAA,SAAS,EAAE;AAJI,KAAjB;AAMD,GAPD,MAOO;AACLhB,IAAAA,cAAc,GAAG;AACfiB,MAAAA,YAAY,EAAEzF,SADC;AAEfsE,MAAAA,WAAW,EAAEJ,gBAAgB,GAAGE,WAAH,GAAiBE,WAF/B;AAGfoB,MAAAA,WAAW,EAAE,CAHE;AAIfC,MAAAA,UAAU,EAAEtE,OAAO,GAAG,KAAK,GAAR,GAAc,EAJlB;AAKfkE,MAAAA,aAAa,EAAElE,OAAO,GAAG,KAAK,GAAR,GAAc,EALrB;AAMfuE,MAAAA,OAAO,EAAEtF,QAAQ,GAAGL,eAAH,GAAqB,CANvB;AAOfwE,MAAAA;AAPe,KAAjB;AAUAC,IAAAA,UAAU,CAACmB,iBAAX,GAA+B,EAA/B;AACD;;AAED,MAAInF,YAAY,IAAIE,YAAY,KAAK,QAArC,EAA+C;AAC7C4D,IAAAA,cAAc,CAACsB,UAAf,GAA4BtG,SAAS,GAAG,CAAxC;AACD;;AAED,MAAIuG,aAAJ;;AACA,MAAItE,OAAJ,EAAa;AACXsE,IAAAA,aAAa,GAAGjG,MAAM,CAACgF,OAAvB;AACD,GAFD,MAEO;AACLiB,IAAAA,aAAa,GAAGjG,MAAM,CAAC8E,KAAvB;AACD;;AAED,QAAMoB,aAAa,GAAG;AACpBC,IAAAA,IAAI,EAAE,EADc;AAEpBhB,IAAAA,KAAK,EAAEc,aAFa;AAGpBG,IAAAA,IAAI,EAAExF,YAAY,IAAI;AAHF,GAAtB;AAMA,QAAMyF,aAAyB,GAAG;AAChCC,IAAAA,QAAQ,EAAE,UADsB;AAEhCZ,IAAAA,SAAS,EACP/E,IAAI,KAAK,OAAT,GACIG,YAAY,KAAK,OAAjB,GACEqD,yBAAyB,GAAG,CAD9B,GAEE,EAHN,GAIIrD,YAAY,KAAK,QAAjB,GACA,EADA,GAEA;AAT0B,GAAlC;AAYA,QAAMyF,UAAU,GAAG,EACjB,GAAGtG,UAAU,CAACgE,SADG;AAEjBuC,IAAAA,GAAG,EAAE7F,IAAI,KAAK,OAAT,GAAmB,EAAnB,GAAwB,CAFZ;AAGjB8F,IAAAA,IAAI,EACF7F,YAAY,IAAIE,YAAY,KAAK,OAAjC,GACIpB,SAAS,IAAIiB,IAAI,KAAK,OAAT,GAAmB,EAAnB,GAAwB,EAA5B,CADb,GAEI,CANW;AAOjB+F,IAAAA,SAAS,EAAE,CACT;AACE;AACAC,MAAAA,UAAU,EAAEpF,OAAO,CAACqF,WAAR,CAAoB;AAC9BC,QAAAA,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CADkB;AAE9BC,QAAAA,WAAW,EAAE,CACXnG,IAAI,KAAK,OAAT,GACIoD,gCADJ,GAEIH,wBAHO,EAIX,CAJW;AAFiB,OAApB;AAFd,KADS,EAaT;AACE;AACAmD,MAAAA,KAAK,EAAExF,OAAO,CAACqF,WAAR,CAAoB;AACzBC,QAAAA,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CADa;AAEzBC,QAAAA,WAAW,EAAE,CACX3C,yBAAyB,GAAGH,yBADjB,EAEX,CAFW;AAFY,OAApB;AAFT,KAbS,EAuBT;AACE;AACAgD,MAAAA,UAAU,EAAEzF,OAAO,CAACqF,WAAR,CAAoB;AAC9BC,QAAAA,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CADkB;AAE9BC,QAAAA,WAAW,EAAE,CACX,EAAE,IAAI3C,yBAAyB,GAAGH,yBAAlC,KACGnC,WAAW,CAACG,KAAZ,GAAoB,CADvB,CADW,EAGX,CAHW;AAFiB,OAApB;AAFd,KAvBS;AAPM,GAAnB;AA4CA,QAAMiF,WAAW,GAAG,CAClBC,MAAM,CAACC,KADW,EAElBvC,UAFkB,EAGlBjE,IAAI,KAAK,OAAT,GAAmB;AAAEyG,IAAAA,gBAAgB,EAAE;AAApB,GAAnB,GAA8C,EAH5B,CAApB,CA5QI,CAkRJ;;AAEA,sBACE,oBAAC,IAAD;AAAM,IAAA,KAAK,EAAE,CAACF,MAAM,CAACG,SAAR,EAAmBvH,KAAnB;AAAb,kBACE,oBAAC,SAAD;AAAW,IAAA,QAAQ,EAAEU,QAArB;AAA+B,IAAA,OAAO,EAAEuC;AAAxC,kBACE,oBAAC,IAAD;AAAM,IAAA,aAAa,EAAC;AAApB,kBACE,oBAAC,IAAD;AAAM,IAAA,KAAK,EAAE,CAACmE,MAAM,CAACG,SAAR,EAAmBvH,KAAnB;AAAb,KACGc,YAAY,IAAIE,YAAY,KAAK,QAAjC,gBACC,oBAAC,IAAD,eAAUoF,aAAV;AAAyB,IAAA,KAAK,EAAEG;AAAhC,KADD,GAEG,IAHN,eAIE,oBAAC,IAAD;AACE,IAAA,KAAK,EAAE,CAAC3B,cAAD,EAAiB5E,KAAK,GAAG;AAAEwF,MAAAA,MAAM,EAAExF,KAAK,CAACwF;AAAhB,KAAH,GAA8B,EAApD;AADT,KAGG3E,IAAI,KAAK,WAAT;AAAA;AACC;AACA,sBAAC,QAAD,CAAU,IAAV;AACE,IAAA,KAAK,EAAE,CACLuG,MAAM,CAACI,SADF,EAEL;AACE3C,MAAAA,eAAe,EAAEhD,OAAO,GAAG2C,WAAH,GAAiBC,cAD3C;AAEE;AACAmC,MAAAA,SAAS,EAAE,CAAC;AAAEa,QAAAA,MAAM,EAAE5F,OAAO,GAAG,CAAH,GAAO;AAAxB,OAAD;AAHb,KAFK;AADT,IAFD,GAYG,IAfN,EAiBGZ,KAAK;AAAA;AACJ;AACA;AACA,sBAAC,IAAD;AACE,IAAA,aAAa,EAAC,MADhB;AAEE,IAAA,KAAK,EAAE,CACLtC,UAAU,CAAC+I,YADN,EAEL;AACE1B,MAAAA,OAAO,EACL;AACA1F,MAAAA,IAAI,IAAIuB,OAAR,GAAmBE,WAAW,CAACE,QAAZ,GAAuB,CAAvB,GAA2B,CAA9C,GAAmD;AAHvD,KAFK;AAFT,kBAWE,oBAAC,YAAD;AACE,IAAA,QAAQ,EAAG0F,CAAD,IACR3F,cAAc,CAAC;AACbE,MAAAA,KAAK,EAAEyF,CAAC,CAACC,WAAF,CAAcC,MAAd,CAAqB3F,KADf;AAEbD,MAAAA,QAAQ,EAAE;AAFG,KAAD,CAFlB;AAOE,IAAA,KAAK,EAAE,CACLmF,MAAM,CAAClG,WADF,EAELL,IAAI,KAAK,OAAT,GAAmB;AAAEoF,MAAAA,iBAAiB,EAAE;AAArB,KAAnB,GAA+C,EAF1C,EAGLQ,UAHK,EAIL;AACEpB,MAAAA,KAAK,EAAEnF,MAAM,CAAC8E,KADhB;AAEEgB,MAAAA,OAAO,EAAEvE,OAAO,CAACqF,WAAR,CAAoB;AAC3BC,QAAAA,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CADe;AAE3BC,QAAAA,WAAW,EAAE,CAAC1C,gBAAgB,GAAG,CAAH,GAAO,CAAxB,EAA2B,CAA3B;AAFc,OAApB;AAFX,KAJK,CAPT;AAmBE,IAAA,aAAa,EAAE;AAnBjB,KAqBGrD,KArBH,CAXF,eAkCE,oBAAC,YAAD;AACE,IAAA,KAAK,EAAE,CACLmG,MAAM,CAAClG,WADF,EAELL,IAAI,KAAK,OAAT,GAAmB;AAAEoF,MAAAA,iBAAiB,EAAE;AAArB,KAAnB,GAA+C,EAF1C,EAGLQ,UAHK,EAIL;AACEpB,MAAAA,KAAK,EAAEV,gBADT;AAEEqB,MAAAA,OAAO,EAAE1B,gBAAgB,GAAG7C,OAAH,GAAa;AAFxC,KAJK,CADT;AAUE,IAAA,aAAa,EAAE;AAVjB,KAYGR,KAZH,CAlCF,CAHI,GAoDF,IArEN,EAuEGH,YAAY,IAAIE,YAAY,KAAK,OAAjC,gBACC,oBAAC,IAAD,eACMoF,aADN;AAEE,IAAA,KAAK,EAAE,EACL,GAAGG,aADE;AAELL,MAAAA,UAAU,EAAErF,IAAI,KAAK,OAAT,GAAmB,EAAnB,GAAwB;AAF/B;AAFT,KADD,GAQG,IA/EN,eAiFE,oBAAC,eAAD;AACE,IAAA,KAAK,EAAE8B,UAAU,EADnB;AAEE,IAAA,WAAW,EAAE1B,KAAK,GAAGU,YAAH,GAAkBT,WAFtC;AAGE,IAAA,QAAQ,EAAE,CAACR,QAHb;AAIE,IAAA,oBAAoB,EAAEiE,gBAJxB;AAKE,IAAA,cAAc,EAAEH,WALlB;AAME,IAAA,OAAO,EAAErB,YANX;AAOE,IAAA,MAAM,EAAED,WAPV;AAQE,IAAA,qBAAqB,EAAE,aARzB;AASE,IAAA,KAAK,EAAEiE;AATT,KAUMhG,KAVN,EAjFF,CAJF,EAkGGJ,aAAa,gBACZ,oBAAC,IAAD;AACE,IAAA,IAAI,EAAEA,aADR;AAEE,IAAA,IAAI,EAAEnB,SAFR;AAGE,IAAA,KAAK,EAAEM,MAAM,CAAC8E,KAHhB;AAIE,IAAA,KAAK,EAAE;AACLwB,MAAAA,QAAQ,EAAE,UADL;AAELsB,MAAAA,KAAK,EAAE,EAFF;AAGLlC,MAAAA,SAAS,EACP/E,IAAI,KAAK,OAAT,GAAmBwD,yBAAyB,GAAG,CAA/C,GAAmD;AAJhD;AAJT,IADY,GAYV,IA9GN,CADF,CADF,CADF,EAqHG9C,aAAa,iBACZ,oBAAC,MAAD,qBACE,oBAAC,IAAD;AACE,IAAA,KAAK,EAAE,CACL6F,MAAM,CAACW,MADF,EAEL;AACElD,MAAAA,eAAe,EAAE3E,MAAM,CAAC+E;AAD1B,KAFK;AADT,kBAQE,oBAAC,IAAD;AACE,IAAA,KAAK,EAAE,CACLmC,MAAM,CAACY,eADF,EAEL;AACEjC,MAAAA,UAAU,EAAE3C,MAAM,CAACsD,GADrB;AAEEf,MAAAA,aAAa,EAAEvC,MAAM,CAAC6E,MAFxB;AAGE3C,MAAAA,WAAW,EAAElC,MAAM,CAACuD,IAHtB;AAIEpB,MAAAA,YAAY,EAAEnC,MAAM,CAAC0E;AAJvB,KAFK;AADT,KAWGlJ,QAAQ,CAACsJ,EAAT,KAAgB,KAAhB,iBACC,oBAAC,MAAD;AACE,IAAA,IAAI,EAAEnI,IADR;AAEE,IAAA,IAAI,EAAC,MAFP;AAGE,IAAA,OAAO,EAAEkD,gBAHX;AAIE,IAAA,KAAK,EAAEmE,MAAM,CAACe;AAJhB,aAZJ,eAsBE,oBAAC,cAAD;AACE,IAAA,KAAK,EAAE3F,YAAY,EADrB;AAEE,IAAA,IAAI,EAAE7B,IAFR;AAGE,IAAA,SAAS,EAAEY,aAHb;AAIE,IAAA,gBAAgB,EAAE0B,gBAJpB;AAKE,IAAA,QAAQ,EAAE,CAACmF,MAAD,EAAcC,IAAd,KAA4B;AACpCzJ,MAAAA,QAAQ,CAACsJ,EAAT,KAAgB,KAAhB,GAAwB,IAAxB,GAA+BjF,gBAAgB,EAA/C;AACA5B,MAAAA,QAAQ,CAACgH,IAAD,CAAR;AACA9H,MAAAA,YAAY,CAAC8H,IAAD,CAAZ;AACD;AATH,IAtBF,CARF,CADF,CAtHJ,CADF;AAuKD,CA7cD;;AA+cA,MAAMjB,MAAM,GAAGzI,UAAU,CAAC2J,MAAX,CAAkB;AAC/Bf,EAAAA,SAAS,EAAE;AACTgB,IAAAA,SAAS,EAAE;AADF,GADoB;AAI/BR,EAAAA,MAAM,EAAE;AACNvB,IAAAA,QAAQ,EAAE,UADJ;AAENyB,IAAAA,MAAM,EAAE,CAFF;AAGNtB,IAAAA,IAAI,EAAE,CAHA;AAINmB,IAAAA,KAAK,EAAE,CAJD;AAKNU,IAAAA,aAAa,EAAE,KALT;AAMNC,IAAAA,cAAc,EAAE;AANV,GAJuB;AAY/BjB,EAAAA,SAAS,EAAE;AACThB,IAAAA,QAAQ,EAAE,UADD;AAETG,IAAAA,IAAI,EAAE,CAFG;AAGTmB,IAAAA,KAAK,EAAE,CAHE;AAITG,IAAAA,MAAM,EAAE,CAJC;AAKTzC,IAAAA,MAAM,EAAE;AALC,GAZoB;AAmB/B6B,EAAAA,KAAK,EAAE;AACLqB,IAAAA,QAAQ,EAAE,CADL;AAELD,IAAAA,cAAc,EAAE,QAFX;AAGLE,IAAAA,iBAAiB,EAAE,QAHd;AAILC,IAAAA,MAAM,EAAE,CAJH;AAKLC,IAAAA,SAAS,EAAEhK,WAAW,CAACiK,KAAZ,GAAoB,OAApB,GAA8B;AALpC,GAnBwB;AA0B/B5H,EAAAA,WAAW,EAAE;AACXsF,IAAAA,QAAQ,EAAE,UADC;AAEXG,IAAAA,IAAI,EAAE;AAFK,GA1BkB;AA8B/BqB,EAAAA,eAAe,EAAE;AAAEQ,IAAAA,aAAa,EAAE,QAAjB;AAA2BtG,IAAAA,KAAK,EAAE;AAAlC,GA9Bc;AA+B/BiG,EAAAA,WAAW,EAAE;AACXI,IAAAA,SAAS,EAAE;AADA;AA/BkB,CAAlB,CAAf;AAoCA,eAAerJ,SAAS,CAACY,UAAD,CAAxB","sourcesContent":["import * as React from \"react\";\nimport {\n View,\n Animated,\n Text,\n StyleSheet,\n StyleProp,\n ViewStyle,\n TextStyle,\n Platform,\n TextInputProps,\n ImageStyle,\n I18nManager,\n LayoutChangeEvent,\n TextInput as NativeTextInput,\n} from \"react-native\";\nimport { useSafeAreaInsets } from \"react-native-safe-area-context\";\n\nimport dateFormat from \"dateformat\";\nimport { withTheme } from \"../../theming\";\nimport Portal from \"../Portal/Portal\";\nimport Button from \"../DeprecatedButton\";\nimport Touchable from \"../Touchable\";\nimport DateTimePicker from \"./DatePickerComponent\";\n\nimport type { Theme } from \"../../styles/DefaultTheme\";\nimport type { IconSlot } from \"../../interfaces/Icon\";\nimport { usePrevious } from \"../../hooks\";\n\nconst AnimatedText = Animated.createAnimatedComponent(Text);\n\nconst FOCUS_ANIMATION_DURATION = 150;\nconst BLUR_ANIMATION_DURATION = 180;\nconst ICON_SIZE = 24;\n\ntype Props = {\n style?: StyleProp<ViewStyle> & { height?: number };\n theme: Theme;\n // initialDate?: string;\n // locale?: string;\n // minuteInterval?: number;\n // timeZoneOffsetInMinutes?: number;\n // error?: boolean;\n // type?: string;\n date?: Date;\n format?: string;\n onDateChange?: (data?: Date) => void;\n initialValue?: Date; // deprecated\n defaultValue?: Date;\n disabled?: boolean;\n mode?: \"date\" | \"time\" | \"datetime\";\n type?: \"solid\" | \"underline\";\n label?: string;\n placeholder?: string;\n leftIconName?: string;\n leftIconMode?: \"outset\" | \"inset\";\n rightIconName?: string;\n} & IconSlot &\n TextInputProps;\n\nconst MONTHS = [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n];\n\nconst DatePicker: React.FC<Props> = ({\n Icon,\n style,\n theme: { colors, typography, roundness, disabledOpacity },\n date,\n onDateChange = () => {},\n initialValue,\n defaultValue,\n disabled = false,\n mode = \"date\",\n format,\n type = \"underline\",\n leftIconName,\n rightIconName,\n leftIconMode = \"inset\",\n label,\n placeholder,\n ...props\n}) => {\n const [value, setValue] = React.useState<any>(date || defaultValue);\n const [pickerVisible, setPickerVisible] = React.useState(false);\n const [labeled] = React.useState<Animated.Value>(\n new Animated.Value(date ? 0 : 1)\n );\n const [placeholder1, setPlaceholder1] = React.useState(\"\");\n const [focused, setFocused] = React.useState<boolean>(false);\n const [labelLayout, setLabelLayout] = React.useState<{\n measured: Boolean;\n width: number;\n }>({ measured: false, width: 0 });\n\n const previousInitialValue = usePrevious(initialValue);\n React.useEffect(() => {\n const initialValueStr = initialValue ? initialValue.toString() : \"\";\n const previousInitialValueStr = previousInitialValue\n ? // This weirdly complains about being possibly undefined despite being inside a ternary\n // @ts-ignore\n previousInitialValue.toString()\n : \"\";\n if (initialValueStr !== previousInitialValueStr) {\n setValue(initialValue);\n onDateChange(initialValue);\n }\n }, [initialValue, previousInitialValue, setValue, onDateChange]);\n\n const getValidDate = (): Date => {\n if (!value) {\n return new Date();\n }\n return typeof value?.getMonth === \"function\" ? value : new Date();\n };\n\n const formatDate = (): string => {\n if (!value) return \"\";\n let newDate = getValidDate();\n\n if (format) return dateFormat(newDate, format);\n\n if (mode === \"time\") {\n return `${newDate.toLocaleTimeString()}`;\n }\n\n if (mode === \"datetime\") {\n return `${newDate.toLocaleString()}`;\n }\n\n return `${\n MONTHS[newDate.getMonth()]\n } ${newDate.getDate()}, ${newDate.getFullYear()}`;\n };\n\n const toggleVisibility = async () => {\n setPickerVisible(!pickerVisible);\n focused ? _handleBlur() : _handleFocus();\n };\n const insets = useSafeAreaInsets();\n\n // const _restoreLabel = () =>\n // Animated.timing(labeled, {\n // toValue: 1,\n // duration: FOCUS_ANIMATION_DURATION,\n // useNativeDriver: true,\n // }).start();\n\n // const _minmizeLabel = () =>\n // Animated.timing(labeled, {\n // toValue: 0,\n // duration: BLUR_ANIMATION_DURATION,\n // useNativeDriver: true,\n // }).start();\n\n // const _showPlaceholder = () =>\n // setTimeout(() => setPlaceholder1(placeholder || \"\"), 50);\n\n const _hidePlaceholder = () => {\n setPlaceholder1(\"\");\n };\n\n React.useEffect(() => {\n setValue(date);\n }, [date]);\n\n React.useEffect(() => {\n if (value || focused || placeholder1) {\n // _minmizeLabel();\n Animated.timing(labeled, {\n toValue: 0,\n duration: BLUR_ANIMATION_DURATION,\n useNativeDriver: true,\n }).start();\n } else {\n // _restoreLabel();\n Animated.timing(labeled, {\n toValue: 1,\n duration: FOCUS_ANIMATION_DURATION,\n useNativeDriver: true,\n }).start();\n }\n }, [value, focused, placeholder1, labeled]);\n\n React.useEffect(() => {\n const _showPlaceholder = () =>\n setTimeout(() => setPlaceholder1(placeholder || \"\"), 50);\n if (focused || !label) {\n _showPlaceholder();\n } else {\n _hidePlaceholder();\n }\n return () => {\n clearTimeout(_showPlaceholder());\n };\n }, [focused, label, placeholder]);\n\n const _handleFocus = () => {\n if (disabled) {\n return;\n }\n\n setFocused(true);\n };\n\n const _handleBlur = () => {\n if (disabled) {\n return;\n }\n setFocused(false);\n };\n\n const MINIMIZED_LABEL_Y_OFFSET = -(typography.caption.lineHeight + 4);\n const OUTLINE_MINIMIZED_LABEL_Y_OFFSET = -(16 * 0.5 + 4);\n const MAXIMIZED_LABEL_FONT_SIZE = typography.subtitle1.fontSize;\n const MINIMIZED_LABEL_FONT_SIZE = typography.caption.fontSize;\n\n const hasActiveOutline = focused;\n\n let inputTextColor,\n activeColor,\n underlineColor,\n borderColor,\n placeholderColor,\n containerStyle: StyleProp<ViewStyle>,\n backgroundColor,\n inputStyle: StyleProp<TextStyle>;\n\n inputTextColor = colors.strong;\n if (disabled) {\n activeColor = colors.light;\n placeholderColor = colors.light;\n borderColor = \"transparent\";\n underlineColor = \"transparent\";\n backgroundColor = colors.divider;\n } else {\n activeColor = colors.primary;\n placeholderColor = borderColor = colors.light;\n underlineColor = colors.light;\n backgroundColor = colors.background;\n }\n\n const { lineHeight, ...subtitle1 } = typography.subtitle1;\n\n inputStyle = {\n paddingVertical: 0,\n color: inputTextColor,\n paddingLeft:\n leftIconName && leftIconMode === \"inset\"\n ? ICON_SIZE + (type === \"solid\" ? 16 : 12)\n : 0,\n paddingRight: rightIconName ? ICON_SIZE + 16 + 4 : 12,\n ...subtitle1,\n height: lineHeight,\n };\n\n if (type === \"underline\") {\n containerStyle = {\n borderTopLeftRadius: roundness,\n borderTopRightRadius: roundness,\n paddingBottom: 12,\n marginTop: 16,\n };\n } else {\n containerStyle = {\n borderRadius: roundness,\n borderColor: hasActiveOutline ? activeColor : borderColor,\n borderWidth: 1,\n paddingTop: labeled ? 16 * 1.5 : 16,\n paddingBottom: labeled ? 16 * 0.5 : 16,\n opacity: disabled ? disabledOpacity : 1,\n backgroundColor,\n };\n\n inputStyle.paddingHorizontal = 12;\n }\n\n if (leftIconName && leftIconMode === \"outset\") {\n containerStyle.marginLeft = ICON_SIZE + 8;\n }\n\n let leftIconColor;\n if (focused) {\n leftIconColor = colors.primary;\n } else {\n leftIconColor = colors.light;\n }\n\n const leftIconProps = {\n size: 24,\n color: leftIconColor,\n name: leftIconName || \"\",\n };\n\n const leftIconStyle: ImageStyle = {\n position: \"absolute\",\n marginTop:\n type === \"solid\"\n ? leftIconMode === \"inset\"\n ? MINIMIZED_LABEL_FONT_SIZE + 4\n : 16\n : leftIconMode === \"outset\"\n ? 16\n : 0,\n };\n\n const labelStyle = {\n ...typography.subtitle1,\n top: type === \"solid\" ? 16 : 0,\n left:\n leftIconName && leftIconMode === \"inset\"\n ? ICON_SIZE + (type === \"solid\" ? 16 : 12)\n : 0,\n transform: [\n {\n // Move label to top\n translateY: labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [\n type === \"solid\"\n ? OUTLINE_MINIMIZED_LABEL_Y_OFFSET\n : MINIMIZED_LABEL_Y_OFFSET,\n 0,\n ],\n }),\n },\n {\n // Make label smaller\n scale: labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [\n MINIMIZED_LABEL_FONT_SIZE / MAXIMIZED_LABEL_FONT_SIZE,\n 1,\n ],\n }),\n },\n {\n // Offset label scale since RN doesn't support transform origin\n translateX: labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [\n -(1 - MINIMIZED_LABEL_FONT_SIZE / MAXIMIZED_LABEL_FONT_SIZE) *\n (labelLayout.width / 2),\n 0,\n ],\n }),\n },\n ],\n };\n\n const inputStyles = [\n styles.input,\n inputStyle,\n type === \"solid\" ? { marginHorizontal: 12 } : {},\n ];\n\n // const render = (props) => <NativeTextInput {...props} />;\n\n return (\n <View style={[styles.container, style]}>\n <Touchable disabled={disabled} onPress={toggleVisibility}>\n <View pointerEvents=\"none\">\n <View style={[styles.container, style]}>\n {leftIconName && leftIconMode === \"outset\" ? (\n <Icon {...leftIconProps} style={leftIconStyle} />\n ) : null}\n <View\n style={[containerStyle, style ? { height: style.height } : {}]}\n >\n {type === \"underline\" ? (\n // When type === 'flat', render an underline\n <Animated.View\n style={[\n styles.underline,\n {\n backgroundColor: focused ? activeColor : underlineColor,\n // Underlines is thinner when input is not focused\n transform: [{ scaleY: focused ? 1 : 0.5 }],\n },\n ]}\n />\n ) : null}\n\n {label ? (\n // Position colored placeholder and gray placeholder on top of each other and crossfade them\n // This gives the effect of animating the color, but allows us to use native driver\n <View\n pointerEvents=\"none\"\n style={[\n StyleSheet.absoluteFill,\n {\n opacity:\n // Hide the label in minimized state until we measure its width\n date || focused ? (labelLayout.measured ? 1 : 0) : 1,\n },\n ]}\n >\n <AnimatedText\n onLayout={(e: LayoutChangeEvent) =>\n setLabelLayout({\n width: e.nativeEvent.layout.width,\n measured: true,\n })\n }\n style={[\n styles.placeholder,\n type === \"solid\" ? { paddingHorizontal: 12 } : {},\n labelStyle,\n {\n color: colors.light,\n opacity: labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [hasActiveOutline ? 1 : 0, 0],\n }),\n },\n ]}\n numberOfLines={1}\n >\n {label}\n </AnimatedText>\n <AnimatedText\n style={[\n styles.placeholder,\n type === \"solid\" ? { paddingHorizontal: 12 } : {},\n labelStyle,\n {\n color: placeholderColor,\n opacity: hasActiveOutline ? labeled : 1,\n },\n ]}\n numberOfLines={1}\n >\n {label}\n </AnimatedText>\n </View>\n ) : null}\n\n {leftIconName && leftIconMode === \"inset\" ? (\n <Icon\n {...leftIconProps}\n style={{\n ...leftIconStyle,\n marginLeft: type === \"solid\" ? 16 : 0,\n }}\n />\n ) : null}\n\n <NativeTextInput\n value={formatDate()}\n placeholder={label ? placeholder1 : placeholder}\n editable={!disabled}\n placeholderTextColor={placeholderColor}\n selectionColor={activeColor}\n onFocus={_handleFocus}\n onBlur={_handleBlur}\n underlineColorAndroid={\"transparent\"}\n style={inputStyles}\n {...props}\n />\n </View>\n {rightIconName ? (\n <Icon\n name={rightIconName}\n size={ICON_SIZE}\n color={colors.light}\n style={{\n position: \"absolute\",\n right: 16,\n marginTop:\n type === \"solid\" ? MINIMIZED_LABEL_FONT_SIZE + 4 : 16,\n }}\n />\n ) : null}\n </View>\n </View>\n </Touchable>\n {pickerVisible && (\n <Portal>\n <View\n style={[\n styles.picker,\n {\n backgroundColor: colors.divider,\n },\n ]}\n >\n <View\n style={[\n styles.pickerContainer,\n {\n paddingTop: insets.top,\n paddingBottom: insets.bottom,\n paddingLeft: insets.left,\n paddingRight: insets.right,\n },\n ]}\n >\n {Platform.OS === \"ios\" && (\n <Button\n Icon={Icon}\n type=\"text\"\n onPress={toggleVisibility}\n style={styles.closeButton}\n >\n Close\n </Button>\n )}\n\n <DateTimePicker\n value={getValidDate()}\n mode={mode}\n isVisible={pickerVisible}\n toggleVisibility={toggleVisibility}\n onChange={(_event: any, data: any) => {\n Platform.OS === \"ios\" ? null : toggleVisibility();\n setValue(data);\n onDateChange(data);\n }}\n />\n </View>\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 underline: {\n position: \"absolute\",\n left: 0,\n right: 0,\n bottom: 0,\n height: 2,\n },\n input: {\n flexGrow: 1,\n justifyContent: \"center\",\n textAlignVertical: \"center\",\n margin: 0,\n textAlign: I18nManager.isRTL ? \"right\" : \"left\",\n },\n placeholder: {\n position: \"absolute\",\n left: 0,\n },\n pickerContainer: { flexDirection: \"column\", width: \"100%\" },\n closeButton: {\n alignSelf: \"flex-end\",\n },\n});\n\nexport default withTheme(DatePicker);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["DatePickerComponent.web.
|
|
1
|
+
{"version":3,"sources":["DatePickerComponent.web.tsx"],"names":["React","DateFnsUtils","MuiPickersUtilsProvider","DatePicker","TimePicker","DateTimePicker","createMuiTheme","ThemeProvider","withTheme","Theme","DatePickerComponent","value","onChange","mode","toggleVisibility","isVisible","theme","internalTheme","palette","primary","main","colors","secondary","Picker","d"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,YAAP,MAAyB,mBAAzB;AACA,SACEC,uBADF,EAEEC,UAFF,EAGEC,UAHF,EAIEC,cAJF,QAKO,sBALP;AAMA,SAASC,cAAT,EAAyBC,aAAzB,QAA8C,0BAA9C;AAEA,SAASC,SAAT,QAA0B,eAA1B;AACA,OAAOC,KAAP,MAAkB,2BAAlB;;AAEA,MAAMC,mBAA8D,GAAG,CAAC;AACtEC,EAAAA,KADsE;AAEtEC,EAAAA,QAFsE;AAGtEC,EAAAA,IAHsE;AAItEC,EAAAA,gBAJsE;AAKtEC,EAAAA,SALsE;AAMtEC,EAAAA;AANsE,CAAD,KAOjE;AAAA;;AACJ,QAAMC,aAAa,GAAGX,cAAc,CAAC;AACnCY,IAAAA,OAAO,EAAE;AACPC,MAAAA,OAAO,EAAE;AACPC,QAAAA,IAAI,2BAAEJ,KAAF,aAAEA,KAAF,wCAAEA,KAAK,CAAEK,MAAT,kDAAE,cAAeF,OAAjB,yEAA4BV,KAAK,CAACY,MAAN,CAAaF;AADtC,OADF;AAIPG,MAAAA,SAAS,EAAE;AACTF,QAAAA,IAAI,2BAAEJ,KAAF,aAAEA,KAAF,yCAAEA,KAAK,CAAEK,MAAT,mDAAE,eAAeC,SAAjB,yEAA8Bb,KAAK,CAACY,MAAN,CAAaC;AADtC;AAJJ;AAD0B,GAAD,CAApC;AAWA,QAAMC,MAAM,GACVV,IAAI,KAAK,MAAT,GACIV,UADJ,GAEIU,IAAI,KAAK,MAAT,GACAT,UADA,GAEAC,cALN;AAOA,sBACE,oBAAC,uBAAD;AAAyB,IAAA,KAAK,EAAEJ;AAAhC,kBACE,oBAAC,aAAD;AAAe,IAAA,KAAK,EAAEgB;AAAtB,kBACE,oBAAC,MAAD;AACE,IAAA,KAAK,EAAEN,KADT;AAEE,IAAA,IAAI,EAAEI,SAFR;AAGE,IAAA,QAAQ,EAAGS,CAAD,IAAO;AACfV,MAAAA,gBAAgB;AAChBF,MAAAA,QAAQ,CAAC,IAAD,EAAOY,CAAP,CAAR;AACD,KANH;AAOE,IAAA,OAAO,EAAE,MAAMV,gBAAgB,EAPjC;AAQE,IAAA,OAAO,EAAC,QARV;AASE,IAAA,kBAAkB,EAAE,MAAM;AAT5B,IADF,CADF,CADF;AAiBD,CA3CD;;AA6CA,eAAeN,SAAS,CAACE,mBAAD,CAAxB","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"]}
|
|
@@ -17,7 +17,8 @@ const FieldSearchBarFull = ({
|
|
|
17
17
|
onChange: changeOverride,
|
|
18
18
|
onSubmit: submitOverride,
|
|
19
19
|
value,
|
|
20
|
-
initialValue
|
|
20
|
+
initialValue,
|
|
21
|
+
defaultValue
|
|
21
22
|
}) => {
|
|
22
23
|
const [focused, setIsFocused] = React.useState(false);
|
|
23
24
|
|
|
@@ -25,6 +26,10 @@ const FieldSearchBarFull = ({
|
|
|
25
26
|
setIsFocused(false);
|
|
26
27
|
};
|
|
27
28
|
|
|
29
|
+
const [internalValue, setIntervalValue] = React.useState(value || defaultValue);
|
|
30
|
+
React.useEffect(() => {
|
|
31
|
+
setIntervalValue(value);
|
|
32
|
+
}, [value]);
|
|
28
33
|
const onChange = React.useCallback(text => {
|
|
29
34
|
changeOverride && changeOverride(text);
|
|
30
35
|
}, [changeOverride]);
|
|
@@ -48,6 +53,14 @@ const FieldSearchBarFull = ({
|
|
|
48
53
|
...typeStyles
|
|
49
54
|
} = typography.body2; // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
50
55
|
|
|
56
|
+
const handleChangeText = newValue => {
|
|
57
|
+
setIntervalValue(newValue);
|
|
58
|
+
|
|
59
|
+
if (onChange) {
|
|
60
|
+
onChange(newValue);
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
|
|
51
64
|
return /*#__PURE__*/React.createElement(View, {
|
|
52
65
|
style: [{
|
|
53
66
|
padding: 16
|
|
@@ -64,10 +77,10 @@ const FieldSearchBarFull = ({
|
|
|
64
77
|
}, /*#__PURE__*/React.createElement(TextInput, {
|
|
65
78
|
clearButtonMode: "while-editing",
|
|
66
79
|
placeholder: placeholder,
|
|
67
|
-
value:
|
|
80
|
+
value: internalValue,
|
|
68
81
|
onBlur: onBlur,
|
|
69
82
|
onFocus: onFocus,
|
|
70
|
-
onChangeText:
|
|
83
|
+
onChangeText: handleChangeText,
|
|
71
84
|
onSubmitEditing: onSubmit,
|
|
72
85
|
placeholderTextColor: colors.light,
|
|
73
86
|
style: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["FieldSearchBarFull.tsx"],"names":["React","View","TextInput","StyleSheet","withTheme","GROUPS","COMPONENT_TYPES","FORM_TYPES","PROP_TYPES","FIELD_NAME","Triggers","Config","usePrevious","FieldSearchBarFull","Icon","icon","placeholder","style","theme","colors","typography","onChange","changeOverride","onSubmit","submitOverride","value","initialValue","focused","setIsFocused","useState","onBlur","useCallback","text","previousInitialValue","
|
|
1
|
+
{"version":3,"sources":["FieldSearchBarFull.tsx"],"names":["React","View","TextInput","StyleSheet","withTheme","GROUPS","COMPONENT_TYPES","FORM_TYPES","PROP_TYPES","FIELD_NAME","Triggers","Config","usePrevious","FieldSearchBarFull","Icon","icon","placeholder","style","theme","colors","typography","onChange","changeOverride","onSubmit","submitOverride","value","initialValue","defaultValue","focused","setIsFocused","useState","onBlur","internalValue","setIntervalValue","useEffect","useCallback","text","previousInitialValue","onFocus","e","lineHeight","typeStyles","body2","handleChangeText","newValue","padding","styles","container","fieldSearchBarFullIconSize","primary","light","marginLeft","flex","color","medium","create","flexDirection","alignItems","SEED_DATA","name","tag","description","category","input","preview_image_url","supports_list_render","triggers","OnChange","props","group","basic","label","formType","propType","ASSET","editable","required","string","STRING","action","fieldName","layout"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport {\n View,\n TextInput,\n StyleSheet,\n StyleProp,\n ViewStyle,\n NativeSyntheticEvent,\n TextInputSubmitEditingEventData,\n} from \"react-native\";\nimport { withTheme } from \"../theming\";\nimport {\n GROUPS,\n COMPONENT_TYPES,\n FORM_TYPES,\n PROP_TYPES,\n FIELD_NAME,\n Triggers,\n} from \"@draftbit/types\";\nimport type { Theme } from \"../styles/DefaultTheme\";\nimport type { IconSlot } from \"../interfaces/Icon\";\nimport Config from \"./Config\";\nimport { usePrevious } from \"../hooks\";\n\ntype Props = {\n icon?: string;\n placeholder?: string;\n style?: StyleProp<ViewStyle>;\n theme: Theme;\n onChange?: (text: string) => void;\n onSubmit?: (e: NativeSyntheticEvent<TextInputSubmitEditingEventData>) => void;\n value?: string;\n initialValue?: string; // deprecated\n defaultValue?: string;\n} & IconSlot;\n\nconst FieldSearchBarFull: React.FC<Props> = ({\n Icon,\n icon = \"search\",\n placeholder = \"\",\n style,\n theme: { colors, typography },\n onChange: changeOverride,\n onSubmit: submitOverride,\n value,\n initialValue,\n defaultValue,\n}) => {\n const [focused, setIsFocused] = React.useState(false);\n\n const onBlur = () => {\n setIsFocused(false);\n };\n\n const [internalValue, setIntervalValue] = React.useState<string | undefined>(\n value || defaultValue\n );\n\n React.useEffect(() => {\n setIntervalValue(value);\n }, [value]);\n\n const onChange = React.useCallback(\n (text: string) => {\n changeOverride && changeOverride(text);\n },\n [changeOverride]\n );\n\n const previousInitialValue = usePrevious(initialValue);\n React.useEffect(() => {\n if (initialValue !== previousInitialValue) {\n onChange(initialValue);\n }\n }, [initialValue, previousInitialValue, onChange]);\n\n const onFocus = () => {\n setIsFocused(true);\n };\n\n const onSubmit = (\n e: NativeSyntheticEvent<TextInputSubmitEditingEventData>\n ) => {\n submitOverride && submitOverride(e);\n };\n\n const { lineHeight, ...typeStyles } = typography.body2; // eslint-disable-line @typescript-eslint/no-unused-vars\n\n const handleChangeText = (newValue: string) => {\n setIntervalValue(newValue);\n if (onChange) {\n onChange(newValue);\n }\n };\n\n return (\n <View style={[{ padding: 16 }, styles.container, style]}>\n <Icon\n name={icon}\n size={Config.fieldSearchBarFullIconSize}\n color={focused ? colors.primary : colors.light}\n />\n <View style={{ marginLeft: 12, flex: 1 }}>\n <TextInput\n clearButtonMode=\"while-editing\"\n placeholder={placeholder}\n value={internalValue}\n onBlur={onBlur}\n onFocus={onFocus}\n onChangeText={handleChangeText}\n onSubmitEditing={onSubmit}\n placeholderTextColor={colors.light}\n style={[\n {\n color: colors.medium,\n },\n typeStyles,\n ]}\n />\n </View>\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flexDirection: \"row\",\n alignItems: \"center\",\n },\n});\n\nexport default withTheme(FieldSearchBarFull);\n\nexport const SEED_DATA = [\n {\n name: \"Search Bar\",\n tag: \"FieldSearchBarFull\",\n description: \"A search bar with accompanying search icon and clear button.\",\n category: COMPONENT_TYPES.input,\n preview_image_url: \"{CLOUDINARY_URL}/Field_SearchBar_Full.png\",\n supports_list_render: false,\n triggers: [Triggers.OnChange], // TODO Triggers.OnSubmit for multiple triggers\n props: {\n icon: {\n group: GROUPS.basic,\n label: \"Icon\",\n description: \"Left icon to display\",\n formType: FORM_TYPES.icon,\n propType: PROP_TYPES.ASSET,\n defaultValue: null,\n editable: true,\n required: false,\n },\n placeholder: {\n group: GROUPS.basic,\n label: \"Placeholder\",\n description: \"Input placeholder text\",\n formType: FORM_TYPES.string,\n propType: PROP_TYPES.STRING,\n defaultValue: \"Search for...\",\n editable: true,\n required: false,\n },\n onSubmit: {\n group: GROUPS.basic,\n label: \"Submit action\",\n description: \"Action to execute on submission\",\n editable: true,\n required: false,\n formType: FORM_TYPES.action,\n propType: PROP_TYPES.STRING,\n defaultValue: null,\n },\n fieldName: {\n ...FIELD_NAME,\n defaultValue: \"searchBarValue\",\n },\n },\n layout: {},\n },\n];\n"]}
|
|
@@ -38,8 +38,13 @@ const Picker = ({
|
|
|
38
38
|
onValueChange: onValueChangeOverride,
|
|
39
39
|
value,
|
|
40
40
|
initialValue,
|
|
41
|
+
defaultValue,
|
|
41
42
|
...props
|
|
42
43
|
}) => {
|
|
44
|
+
const [internalValue, setIntervalValue] = React.useState(value || defaultValue);
|
|
45
|
+
React.useEffect(() => {
|
|
46
|
+
setIntervalValue(value);
|
|
47
|
+
}, [value]);
|
|
43
48
|
const onValueChange = React.useCallback((itemValue, itemIndex) => {
|
|
44
49
|
if (placeholder && itemIndex === 0) {
|
|
45
50
|
return;
|
|
@@ -64,11 +69,20 @@ const Picker = ({
|
|
|
64
69
|
value: placeholder,
|
|
65
70
|
label: placeholder
|
|
66
71
|
}, ...normalizedOptions] : normalizedOptions;
|
|
72
|
+
|
|
73
|
+
const handleValueChange = (newValue, itemIndex) => {
|
|
74
|
+
setIntervalValue(newValue);
|
|
75
|
+
|
|
76
|
+
if (onValueChange) {
|
|
77
|
+
onValueChange(newValue, itemIndex);
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
|
|
67
81
|
return /*#__PURE__*/React.createElement(PickerComponent, _extends({}, props, {
|
|
68
|
-
selectedValue: String(
|
|
82
|
+
selectedValue: String(internalValue),
|
|
69
83
|
placeholder: placeholder,
|
|
70
84
|
options: pickerOptions,
|
|
71
|
-
onValueChange:
|
|
85
|
+
onValueChange: handleValueChange
|
|
72
86
|
}));
|
|
73
87
|
};
|
|
74
88
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Picker.tsx"],"names":["React","withTheme","PickerComponent","GROUPS","COMPONENT_TYPES","FORM_TYPES","PROP_TYPES","FIELD_NAME","Triggers","usePrevious","normalizeOptions","options","length","map","option","label","value","String","Error","Picker","placeholder","onValueChange","onValueChangeOverride","initialValue","props","useCallback","itemValue","itemIndex","normalizedOptions","previousInitialValue","useEffect","index","findIndex","opt","pickerOptions","SEED_DATA_PROPS","group","data","description","formType","string","propType","STRING","defaultValue","editable","required","basic","placeholderTextColor","color","assistiveText","array","OBJECT","disabled","boolean","BOOLEAN","error","leftIconName","icon","ASSET","leftIconMode","flatArray","rightIconName","fieldName","handlerPropName","SEED_DATA_TRIGGERS","OnValueChange","SEED_DATA","name","tag","category","input","preview_image_url","supports_list_render","triggers","type","layout","uncategorized"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { withTheme } from \"../../theming\";\n//@ts-ignore\nimport PickerComponent from \"./PickerComponent\"; //unable to find file due to using .android/.web/.ios\nimport { PickerComponentProps, PickerOption } from \"./PickerTypes\";\n\nimport {\n GROUPS,\n COMPONENT_TYPES,\n FORM_TYPES,\n PROP_TYPES,\n FIELD_NAME,\n Triggers,\n} from \"@draftbit/types\";\nimport { usePrevious } from \"../../hooks\";\n\ntype Props = PickerComponentProps & {\n placeholder?: string;\n value: string;\n options: PickerOption[] | string[];\n};\n\nfunction normalizeOptions(options: Props[\"options\"]): PickerOption[] {\n if (options.length === 0) {\n return [];\n }\n\n if (typeof options[0] === \"string\") {\n return (options as string[]).map((option) => ({\n label: option,\n value: String(option),\n }));\n }\n\n if (options[0].label && options[0].value) {\n return options.map((option) => {\n return {\n label: 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 Picker: React.FC<Props> = ({\n options = [],\n placeholder,\n onValueChange: onValueChangeOverride,\n value,\n initialValue,\n ...props\n}) => {\n const onValueChange = React.useCallback(\n (itemValue: string, itemIndex: number) => {\n if (placeholder && itemIndex === 0) {\n return;\n }\n onValueChangeOverride &&\n onValueChangeOverride(String(itemValue), itemIndex);\n },\n [placeholder, onValueChangeOverride]\n );\n\n const normalizedOptions = normalizeOptions(options);\n\n const previousInitialValue = usePrevious(initialValue);\n React.useEffect(() => {\n if (String(initialValue) !== String(previousInitialValue)) {\n const index = normalizedOptions.findIndex(\n (opt) => opt.value === initialValue\n );\n\n if (index == null) {\n return;\n }\n\n onValueChange(String(initialValue), index);\n }\n }, [initialValue, previousInitialValue, normalizedOptions, onValueChange]);\n\n const pickerOptions = placeholder\n ? [{ value: placeholder, label: placeholder }, ...normalizedOptions]\n : normalizedOptions;\n\n return (\n <PickerComponent\n {...props}\n selectedValue={String(value)}\n placeholder={placeholder}\n options={pickerOptions}\n onValueChange={onValueChange}\n />\n );\n};\n\nexport default withTheme(Picker);\n\nconst SEED_DATA_PROPS = {\n label: {\n group: GROUPS.data,\n label: \"Label\",\n description: \"The label to be displayed on the picker\",\n formType: FORM_TYPES.string,\n propType: PROP_TYPES.STRING,\n defaultValue: null,\n editable: true,\n required: true,\n },\n placeholder: {\n group: GROUPS.basic,\n label: \"Placeholder\",\n description: \"The placeholder text of the picker\",\n formType: FORM_TYPES.string,\n propType: PROP_TYPES.STRING,\n defaultValue: \"Select an option\",\n editable: true,\n required: false,\n },\n placeholderTextColor: {\n group: GROUPS.basic,\n label: \"Placeholder Text Color\",\n description: \"The color of the placeholder text.\",\n editable: true,\n required: false,\n defaultValue: null,\n formType: FORM_TYPES.color,\n propType: PROP_TYPES.STRING,\n },\n assistiveText: {\n group: GROUPS.basic,\n label: \"Assistive text\",\n description: \"Helper text to display below the picker\",\n formType: FORM_TYPES.string,\n propType: PROP_TYPES.STRING,\n defaultValue: null,\n editable: true,\n required: false,\n },\n options: {\n group: GROUPS.data,\n label: \"Options\",\n description:\n \"Array of picker options. An array of objects containing a label and value.\",\n editable: true,\n required: false,\n formType: FORM_TYPES.array,\n propType: PROP_TYPES.OBJECT,\n options: [],\n defaultValue: null,\n },\n disabled: {\n group: GROUPS.basic,\n label: \"Disabled\",\n description:\n \"Whether the picker should be disabled. Will prevent selection and show a greyed out state.\",\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n defaultValue: false,\n editable: true,\n required: false,\n },\n error: {\n group: GROUPS.data,\n label: \"Error\",\n description: \"Whether the picker should display the error state\",\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n defaultValue: false,\n editable: true,\n required: false,\n },\n leftIconName: {\n group: GROUPS.basic,\n label: \"Left icon name\",\n description: \"The icon to display on the left\",\n formType: FORM_TYPES.icon,\n propType: PROP_TYPES.ASSET,\n defaultValue: null,\n editable: true,\n required: false,\n },\n leftIconMode: {\n group: GROUPS.basic,\n label: \"Left icon mode\",\n description:\n \"The mode of the icon to display on the left. 'inset' or 'outset'.\",\n formType: FORM_TYPES.flatArray,\n propType: PROP_TYPES.STRING,\n defaultValue: \"inset\",\n options: [\"inset\", \"outset\"],\n editable: true,\n required: true,\n },\n rightIconName: {\n group: GROUPS.basic,\n label: \"Right icon name\",\n description: \"The icon to display on the right\",\n formType: FORM_TYPES.icon,\n propType: PROP_TYPES.ASSET,\n defaultValue: null,\n editable: true,\n required: false,\n },\n fieldName: {\n ...FIELD_NAME,\n defaultValue: \"pickerValue\",\n handlerPropName: \"onValueChange\",\n },\n};\n\nconst SEED_DATA_TRIGGERS = [Triggers.OnValueChange];\nexport const SEED_DATA = [\n {\n name: \"Picker\",\n tag: \"Picker\",\n description: \"A component used to pick a value from a set of options\",\n category: COMPONENT_TYPES.input,\n preview_image_url: \"{CLOUDINARY_URL}/Picker.png\",\n supports_list_render: false,\n triggers: SEED_DATA_TRIGGERS,\n props: {\n ...SEED_DATA_PROPS,\n type: {\n label: \"Appearance\",\n description: \"Type of Picker\",\n formType: FORM_TYPES.flatArray,\n propType: PROP_TYPES.STRING,\n defaultValue: \"solid\",\n options: [\"solid\", \"underline\"],\n editable: true,\n required: true,\n group: GROUPS.basic,\n },\n },\n layout: {},\n },\n {\n name: \"Picker - Underline\",\n tag: \"Picker\",\n description: \"A picker with an underline\",\n category: COMPONENT_TYPES.input,\n preview_image_url: \"{CLOUDINARY_URL}/Picker.png\",\n supports_list_render: false,\n triggers: SEED_DATA_TRIGGERS,\n props: {\n ...SEED_DATA_PROPS,\n type: {\n label: \"Type\",\n description: \"Type\",\n group: GROUPS.uncategorized,\n formType: FORM_TYPES.string,\n propType: PROP_TYPES.STRING,\n defaultValue: \"underline\",\n editable: false,\n required: false,\n },\n },\n layout: {},\n },\n];\n"]}
|
|
1
|
+
{"version":3,"sources":["Picker.tsx"],"names":["React","withTheme","PickerComponent","GROUPS","COMPONENT_TYPES","FORM_TYPES","PROP_TYPES","FIELD_NAME","Triggers","usePrevious","normalizeOptions","options","length","map","option","label","value","String","Error","Picker","placeholder","onValueChange","onValueChangeOverride","initialValue","defaultValue","props","internalValue","setIntervalValue","useState","useEffect","useCallback","itemValue","itemIndex","normalizedOptions","previousInitialValue","index","findIndex","opt","pickerOptions","handleValueChange","newValue","SEED_DATA_PROPS","group","data","description","formType","string","propType","STRING","editable","required","basic","placeholderTextColor","color","assistiveText","array","OBJECT","disabled","boolean","BOOLEAN","error","leftIconName","icon","ASSET","leftIconMode","flatArray","rightIconName","fieldName","handlerPropName","SEED_DATA_TRIGGERS","OnValueChange","SEED_DATA","name","tag","category","input","preview_image_url","supports_list_render","triggers","type","layout","uncategorized"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { withTheme } from \"../../theming\";\n//@ts-ignore\nimport PickerComponent from \"./PickerComponent\"; //unable to find file due to using .android/.web/.ios\nimport { PickerComponentProps, PickerOption } from \"./PickerTypes\";\n\nimport {\n GROUPS,\n COMPONENT_TYPES,\n FORM_TYPES,\n PROP_TYPES,\n FIELD_NAME,\n Triggers,\n} from \"@draftbit/types\";\nimport { usePrevious } from \"../../hooks\";\n\ntype Props = PickerComponentProps & {\n placeholder?: string;\n value?: string;\n options: PickerOption[] | string[];\n};\n\nfunction normalizeOptions(options: Props[\"options\"]): PickerOption[] {\n if (options.length === 0) {\n return [];\n }\n\n if (typeof options[0] === \"string\") {\n return (options as string[]).map((option) => ({\n label: option,\n value: String(option),\n }));\n }\n\n if (options[0].label && options[0].value) {\n return options.map((option) => {\n return {\n label: 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 Picker: React.FC<Props> = ({\n options = [],\n placeholder,\n onValueChange: onValueChangeOverride,\n value,\n initialValue,\n defaultValue,\n ...props\n}) => {\n const [internalValue, setIntervalValue] = React.useState<string | undefined>(\n value || defaultValue\n );\n\n React.useEffect(() => {\n setIntervalValue(value);\n }, [value]);\n\n const onValueChange = React.useCallback(\n (itemValue: string, itemIndex: number) => {\n if (placeholder && itemIndex === 0) {\n return;\n }\n onValueChangeOverride &&\n onValueChangeOverride(String(itemValue), itemIndex);\n },\n [placeholder, onValueChangeOverride]\n );\n\n const normalizedOptions = normalizeOptions(options);\n\n const previousInitialValue = usePrevious(initialValue);\n React.useEffect(() => {\n if (String(initialValue) !== String(previousInitialValue)) {\n const index = normalizedOptions.findIndex(\n (opt) => opt.value === initialValue\n );\n\n if (index == null) {\n return;\n }\n\n onValueChange(String(initialValue), index);\n }\n }, [initialValue, previousInitialValue, normalizedOptions, onValueChange]);\n\n const pickerOptions = placeholder\n ? [{ value: placeholder, label: placeholder }, ...normalizedOptions]\n : normalizedOptions;\n\n const handleValueChange = (newValue: string, itemIndex: number) => {\n setIntervalValue(newValue);\n if (onValueChange) {\n onValueChange(newValue, itemIndex);\n }\n };\n\n return (\n <PickerComponent\n {...props}\n selectedValue={String(internalValue)}\n placeholder={placeholder}\n options={pickerOptions}\n onValueChange={handleValueChange}\n />\n );\n};\n\nexport default withTheme(Picker);\n\nconst SEED_DATA_PROPS = {\n label: {\n group: GROUPS.data,\n label: \"Label\",\n description: \"The label to be displayed on the picker\",\n formType: FORM_TYPES.string,\n propType: PROP_TYPES.STRING,\n defaultValue: null,\n editable: true,\n required: true,\n },\n placeholder: {\n group: GROUPS.basic,\n label: \"Placeholder\",\n description: \"The placeholder text of the picker\",\n formType: FORM_TYPES.string,\n propType: PROP_TYPES.STRING,\n defaultValue: \"Select an option\",\n editable: true,\n required: false,\n },\n placeholderTextColor: {\n group: GROUPS.basic,\n label: \"Placeholder Text Color\",\n description: \"The color of the placeholder text.\",\n editable: true,\n required: false,\n defaultValue: null,\n formType: FORM_TYPES.color,\n propType: PROP_TYPES.STRING,\n },\n assistiveText: {\n group: GROUPS.basic,\n label: \"Assistive text\",\n description: \"Helper text to display below the picker\",\n formType: FORM_TYPES.string,\n propType: PROP_TYPES.STRING,\n defaultValue: null,\n editable: true,\n required: false,\n },\n options: {\n group: GROUPS.data,\n label: \"Options\",\n description:\n \"Array of picker options. An array of objects containing a label and value.\",\n editable: true,\n required: false,\n formType: FORM_TYPES.array,\n propType: PROP_TYPES.OBJECT,\n options: [],\n defaultValue: null,\n },\n disabled: {\n group: GROUPS.basic,\n label: \"Disabled\",\n description:\n \"Whether the picker should be disabled. Will prevent selection and show a greyed out state.\",\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n defaultValue: false,\n editable: true,\n required: false,\n },\n error: {\n group: GROUPS.data,\n label: \"Error\",\n description: \"Whether the picker should display the error state\",\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n defaultValue: false,\n editable: true,\n required: false,\n },\n leftIconName: {\n group: GROUPS.basic,\n label: \"Left icon name\",\n description: \"The icon to display on the left\",\n formType: FORM_TYPES.icon,\n propType: PROP_TYPES.ASSET,\n defaultValue: null,\n editable: true,\n required: false,\n },\n leftIconMode: {\n group: GROUPS.basic,\n label: \"Left icon mode\",\n description:\n \"The mode of the icon to display on the left. 'inset' or 'outset'.\",\n formType: FORM_TYPES.flatArray,\n propType: PROP_TYPES.STRING,\n defaultValue: \"inset\",\n options: [\"inset\", \"outset\"],\n editable: true,\n required: true,\n },\n rightIconName: {\n group: GROUPS.basic,\n label: \"Right icon name\",\n description: \"The icon to display on the right\",\n formType: FORM_TYPES.icon,\n propType: PROP_TYPES.ASSET,\n defaultValue: null,\n editable: true,\n required: false,\n },\n fieldName: {\n ...FIELD_NAME,\n defaultValue: \"pickerValue\",\n handlerPropName: \"onValueChange\",\n },\n};\n\nconst SEED_DATA_TRIGGERS = [Triggers.OnValueChange];\nexport const SEED_DATA = [\n {\n name: \"Picker\",\n tag: \"Picker\",\n description: \"A component used to pick a value from a set of options\",\n category: COMPONENT_TYPES.input,\n preview_image_url: \"{CLOUDINARY_URL}/Picker.png\",\n supports_list_render: false,\n triggers: SEED_DATA_TRIGGERS,\n props: {\n ...SEED_DATA_PROPS,\n type: {\n label: \"Appearance\",\n description: \"Type of Picker\",\n formType: FORM_TYPES.flatArray,\n propType: PROP_TYPES.STRING,\n defaultValue: \"solid\",\n options: [\"solid\", \"underline\"],\n editable: true,\n required: true,\n group: GROUPS.basic,\n },\n },\n layout: {},\n },\n {\n name: \"Picker - Underline\",\n tag: \"Picker\",\n description: \"A picker with an underline\",\n category: COMPONENT_TYPES.input,\n preview_image_url: \"{CLOUDINARY_URL}/Picker.png\",\n supports_list_render: false,\n triggers: SEED_DATA_TRIGGERS,\n props: {\n ...SEED_DATA_PROPS,\n type: {\n label: \"Type\",\n description: \"Type\",\n group: GROUPS.uncategorized,\n formType: FORM_TYPES.string,\n propType: PROP_TYPES.STRING,\n defaultValue: \"underline\",\n editable: false,\n required: false,\n },\n },\n layout: {},\n },\n];\n"]}
|
|
@@ -14,10 +14,15 @@ const RadioButtonGroup = ({
|
|
|
14
14
|
value,
|
|
15
15
|
onValueChange = () => {},
|
|
16
16
|
initialValue,
|
|
17
|
+
defaultValue,
|
|
17
18
|
style,
|
|
18
19
|
children,
|
|
19
20
|
...rest
|
|
20
21
|
}) => {
|
|
22
|
+
const [internalValue, setIntervalValue] = React.useState(value || defaultValue);
|
|
23
|
+
React.useEffect(() => {
|
|
24
|
+
setIntervalValue(value);
|
|
25
|
+
}, [value]);
|
|
21
26
|
const previousInitialValue = usePrevious(initialValue);
|
|
22
27
|
React.useEffect(() => {
|
|
23
28
|
if (initialValue !== previousInitialValue) {
|
|
@@ -40,8 +45,8 @@ const RadioButtonGroup = ({
|
|
|
40
45
|
}, style]
|
|
41
46
|
}, rest), /*#__PURE__*/React.createElement(Provider, {
|
|
42
47
|
value: {
|
|
43
|
-
value,
|
|
44
|
-
onValueChange,
|
|
48
|
+
value: internalValue || "",
|
|
49
|
+
onValueChange: setIntervalValue,
|
|
45
50
|
direction
|
|
46
51
|
}
|
|
47
52
|
}, /*#__PURE__*/React.createElement(View, {
|