@draftbit/core 42.2.0 → 42.2.3-428e28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/components/ActionSheet/ActionSheet.js +1 -1
- package/lib/commonjs/components/ActionSheet/ActionSheet.js.map +1 -1
- package/lib/commonjs/components/DeprecatedFAB.js +15 -4
- package/lib/commonjs/components/DeprecatedFAB.js.map +1 -1
- package/lib/commonjs/components/Picker/Picker.js +11 -6
- package/lib/commonjs/components/Picker/Picker.js.map +1 -1
- package/lib/commonjs/components/Picker/PickerComponent.android.js +24 -9
- package/lib/commonjs/components/Picker/PickerComponent.android.js.map +1 -1
- package/lib/commonjs/components/Picker/PickerComponent.ios.js +9 -2
- package/lib/commonjs/components/Picker/PickerComponent.ios.js.map +1 -1
- package/lib/commonjs/components/Picker/PickerComponent.web.js +8 -5
- package/lib/commonjs/components/Picker/PickerComponent.web.js.map +1 -1
- package/lib/commonjs/components/StarRating.js +1 -0
- package/lib/commonjs/components/StarRating.js.map +1 -1
- package/lib/commonjs/components/Swiper/Swiper.js +12 -7
- package/lib/commonjs/components/Swiper/Swiper.js.map +1 -1
- package/lib/commonjs/components/TextField.js +5 -2
- package/lib/commonjs/components/TextField.js.map +1 -1
- package/lib/commonjs/mappings/TextArea.js +47 -0
- package/lib/commonjs/mappings/TextArea.js.map +1 -0
- package/lib/commonjs/mappings/TextInput.js +1 -1
- package/lib/commonjs/mappings/TextInput.js.map +1 -1
- package/lib/module/components/ActionSheet/ActionSheet.js +1 -1
- package/lib/module/components/ActionSheet/ActionSheet.js.map +1 -1
- package/lib/module/components/Picker/Picker.js +11 -6
- package/lib/module/components/Picker/Picker.js.map +1 -1
- package/lib/module/components/Picker/PickerComponent.android.js +4 -3
- package/lib/module/components/Picker/PickerComponent.android.js.map +1 -1
- package/lib/module/components/Picker/PickerComponent.ios.js +9 -2
- package/lib/module/components/Picker/PickerComponent.ios.js.map +1 -1
- package/lib/module/components/Picker/PickerComponent.web.js +6 -4
- package/lib/module/components/Picker/PickerComponent.web.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/Swiper/Swiper.js +14 -8
- package/lib/module/components/Swiper/Swiper.js.map +1 -1
- package/lib/module/components/TextField.js +6 -3
- package/lib/module/components/TextField.js.map +1 -1
- package/lib/module/mappings/TextArea.js +38 -0
- package/lib/module/mappings/TextArea.js.map +1 -0
- package/lib/module/mappings/TextInput.js +2 -2
- package/lib/module/mappings/TextInput.js.map +1 -1
- package/lib/typescript/src/components/Swiper/Swiper.d.ts +4 -0
- package/lib/typescript/src/components/TextField.d.ts +12 -32
- package/package.json +6 -5
- package/src/components/ActionSheet/ActionSheet.js +1 -1
- package/src/components/ActionSheet/ActionSheet.tsx +1 -1
- package/src/components/Picker/Picker.js +12 -6
- package/src/components/Picker/Picker.tsx +12 -6
- package/src/components/Picker/PickerComponent.android.js +3 -3
- package/src/components/Picker/PickerComponent.android.tsx +3 -5
- package/src/components/Picker/PickerComponent.ios.js +9 -3
- package/src/components/Picker/PickerComponent.ios.tsx +12 -5
- package/src/components/Picker/PickerComponent.web.js +5 -4
- package/src/components/Picker/PickerComponent.web.tsx +5 -6
- package/src/components/StarRating.js +2 -1
- package/src/components/StarRating.tsx +2 -0
- package/src/components/Swiper/Swiper.js +14 -8
- package/src/components/Swiper/Swiper.tsx +14 -8
- package/src/components/TextField.js +6 -3
- package/src/components/TextField.tsx +6 -2
- package/src/mappings/TextArea.js +46 -0
- package/src/mappings/TextInput.js +2 -1
|
@@ -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","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: option,\n }));\n }\n\n if (options[0].label && options[0].value) {\n return options as PickerOption[];\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 && onValueChangeOverride(itemValue, itemIndex);\n },\n [placeholder, onValueChangeOverride]\n );\n\n const normalizedOptions = normalizeOptions(options);\n\n const previousInitialValue = usePrevious(initialValue);\n React.useEffect(() => {\n if (initialValue !== previousInitialValue) {\n const index = normalizedOptions.findIndex(\n (opt) => opt.value === initialValue\n );\n\n if (index == null) {\n return;\n }\n\n onValueChange(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={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","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"]}
|
|
@@ -66,7 +66,7 @@ const Picker = ({
|
|
|
66
66
|
};
|
|
67
67
|
|
|
68
68
|
const stylesWithoutMargin = style && omit(StyleSheet.flatten(style), ["margin", "marginTop", "marginRight", "marginBottom", "marginLeft"]);
|
|
69
|
-
const selectedLabel = selectedValue && ((_options$find$label = (_options$find = options.find(
|
|
69
|
+
const selectedLabel = selectedValue && ((_options$find$label = (_options$find = options.find(o => o.value === selectedValue)) === null || _options$find === void 0 ? void 0 : _options$find.label) !== null && _options$find$label !== void 0 ? _options$find$label : selectedValue);
|
|
70
70
|
return /*#__PURE__*/React.createElement(Touchable, {
|
|
71
71
|
disabled: disabled,
|
|
72
72
|
onPress: toggleFocus,
|
|
@@ -74,14 +74,15 @@ const Picker = ({
|
|
|
74
74
|
}, /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(NativePicker, {
|
|
75
75
|
enabled: !disabled,
|
|
76
76
|
selectedValue: selectedValue,
|
|
77
|
-
onValueChange:
|
|
77
|
+
onValueChange: onValueChange,
|
|
78
78
|
style: {
|
|
79
79
|
opacity: 0,
|
|
80
80
|
position: "absolute",
|
|
81
81
|
top: 0,
|
|
82
82
|
left: 0,
|
|
83
83
|
right: 0,
|
|
84
|
-
bottom: 0
|
|
84
|
+
bottom: 0,
|
|
85
|
+
width: "100%"
|
|
85
86
|
}
|
|
86
87
|
}, options.map(o => /*#__PURE__*/React.createElement(NativePicker.Item, {
|
|
87
88
|
label: o.label,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["PickerComponent.android.tsx"],"names":["React","View","StyleSheet","omit","withTheme","Picker","NativePicker","extractStyles","TextField","Touchable","style","options","placeholder","selectedValue","disabled","onValueChange","onValueChangeOverride","props","viewStyles","borderRadius","borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderColor","backgroundColor","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","textField","useRef","undefined","itemValue","itemIndex","toggleFocus","current","stylesWithoutMargin","flatten","selectedLabel","find","
|
|
1
|
+
{"version":3,"sources":["PickerComponent.android.tsx"],"names":["React","View","StyleSheet","omit","withTheme","Picker","NativePicker","extractStyles","TextField","Touchable","style","options","placeholder","selectedValue","disabled","onValueChange","onValueChangeOverride","props","viewStyles","borderRadius","borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderColor","backgroundColor","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","textField","useRef","undefined","itemValue","itemIndex","toggleFocus","current","stylesWithoutMargin","flatten","selectedLabel","find","o","value","label","styles","container","opacity","position","top","left","right","bottom","width","map","create","alignSelf"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { View, StyleSheet } from \"react-native\";\nimport omit from \"lodash.omit\";\nimport { withTheme } from \"../../theming\";\nimport { Picker as NativePicker } from \"@react-native-picker/picker\";\nimport { extractStyles } from \"../../utilities\";\n\nimport TextField from \"../TextField\";\nimport Touchable from \"../Touchable\";\nimport { PickerComponentProps } from \"./PickerTypes\";\n\nconst Picker: React.FC<PickerComponentProps> = ({\n style,\n options,\n placeholder,\n selectedValue,\n disabled = false,\n onValueChange: onValueChangeOverride = () => {},\n ...props\n}) => {\n const {\n viewStyles: {\n borderRadius, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderWidth, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderTopWidth, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderRightWidth, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderBottomWidth, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderLeftWidth, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderColor, // eslint-disable-line @typescript-eslint/no-unused-vars\n backgroundColor, // eslint-disable-line @typescript-eslint/no-unused-vars\n padding, // eslint-disable-line @typescript-eslint/no-unused-vars\n paddingTop, // eslint-disable-line @typescript-eslint/no-unused-vars\n paddingRight, // eslint-disable-line @typescript-eslint/no-unused-vars\n paddingBottom, // eslint-disable-line @typescript-eslint/no-unused-vars\n paddingLeft, // eslint-disable-line @typescript-eslint/no-unused-vars\n ...viewStyles\n },\n } = extractStyles(style);\n\n const textField = React.useRef<typeof TextField | undefined>(undefined);\n\n const onValueChange = (itemValue: string, itemIndex: number) => {\n toggleFocus();\n onValueChangeOverride(itemValue, itemIndex);\n };\n\n const toggleFocus = () => {\n if (!disabled) {\n // @ts-ignore\n textField.current.toggleFocus(); // cannot determine if method exists due to component being wrapped in a withTheme()\n }\n };\n\n const stylesWithoutMargin =\n style &&\n omit(StyleSheet.flatten(style), [\n \"margin\",\n \"marginTop\",\n \"marginRight\",\n \"marginBottom\",\n \"marginLeft\",\n ]);\n\n const selectedLabel =\n selectedValue &&\n (options.find((o) => o.value === selectedValue)?.label ?? selectedValue);\n\n return (\n <Touchable\n disabled={disabled}\n onPress={toggleFocus}\n style={[styles.container, viewStyles]}\n >\n <View>\n <NativePicker\n enabled={!disabled}\n selectedValue={selectedValue}\n onValueChange={onValueChange}\n style={{\n opacity: 0,\n position: \"absolute\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n width: \"100%\",\n }}\n >\n {options.map((o) => (\n <NativePicker.Item label={o.label} value={o.value} key={o.value} />\n ))}\n </NativePicker>\n <View pointerEvents=\"none\">\n <TextField\n {...props}\n value={selectedLabel}\n placeholder={placeholder}\n // @ts-ignore\n ref={textField} // cannot determine if ref is of correct type due to component being wrapped in a withTheme()\n disabled={disabled}\n // @ts-expect-error\n style={stylesWithoutMargin}\n />\n </View>\n </View>\n </Touchable>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n alignSelf: \"stretch\",\n },\n});\n\nexport default withTheme(Picker);\n"]}
|
|
@@ -25,6 +25,8 @@ const Picker = ({
|
|
|
25
25
|
},
|
|
26
26
|
...props
|
|
27
27
|
}) => {
|
|
28
|
+
var _options$find$label, _options$find;
|
|
29
|
+
|
|
28
30
|
const {
|
|
29
31
|
viewStyles: {
|
|
30
32
|
borderRadius,
|
|
@@ -66,13 +68,14 @@ const Picker = ({
|
|
|
66
68
|
};
|
|
67
69
|
|
|
68
70
|
const stylesWithoutMargin = style && omit(StyleSheet.flatten(style), ["margin", "marginTop", "marginRight", "marginBottom", "marginLeft"]);
|
|
71
|
+
const selectedLabel = selectedValue && ((_options$find$label = (_options$find = options.find(o => o.value === selectedValue)) === null || _options$find === void 0 ? void 0 : _options$find.label) !== null && _options$find$label !== void 0 ? _options$find$label : selectedValue);
|
|
69
72
|
return /*#__PURE__*/React.createElement(View, {
|
|
70
73
|
style: [styles.container, viewStyles]
|
|
71
74
|
}, /*#__PURE__*/React.createElement(Touchable, {
|
|
72
75
|
disabled: disabled,
|
|
73
76
|
onPress: toggleVisibility
|
|
74
77
|
}, /*#__PURE__*/React.createElement(TextField, _extends({}, props, {
|
|
75
|
-
value:
|
|
78
|
+
value: String(selectedLabel),
|
|
76
79
|
placeholder: placeholder // @ts-ignore
|
|
77
80
|
,
|
|
78
81
|
ref: textField // cannot determine if ref is of correct type due to component being wrapped in a withTheme()
|
|
@@ -93,8 +96,11 @@ const Picker = ({
|
|
|
93
96
|
onPress: toggleVisibility,
|
|
94
97
|
style: styles.closeButton
|
|
95
98
|
}, "Close"), /*#__PURE__*/React.createElement(NativePicker, {
|
|
99
|
+
style: {
|
|
100
|
+
backgroundColor: "white"
|
|
101
|
+
},
|
|
96
102
|
selectedValue: selectedValue,
|
|
97
|
-
onValueChange:
|
|
103
|
+
onValueChange: onValueChange
|
|
98
104
|
}, options.map(o => /*#__PURE__*/React.createElement(NativePicker.Item, {
|
|
99
105
|
label: o.label,
|
|
100
106
|
value: o.value,
|
|
@@ -115,6 +121,7 @@ const styles = StyleSheet.create({
|
|
|
115
121
|
justifyContent: "center"
|
|
116
122
|
},
|
|
117
123
|
pickerContainer: {
|
|
124
|
+
backgroundColor: "white",
|
|
118
125
|
flexDirection: "column",
|
|
119
126
|
width: "100%"
|
|
120
127
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["PickerComponent.ios.tsx"],"names":["React","View","StyleSheet","SafeAreaView","omit","Picker","NativePicker","withTheme","Portal","Button","TextField","Touchable","extractStyles","Icon","style","options","placeholder","selectedValue","disabled","onValueChange","theme","colors","props","viewStyles","borderRadius","borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderColor","backgroundColor","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","textField","useRef","undefined","pickerVisible","setIsPickerVisible","useState","toggleVisibility","current","toggleFocus","stylesWithoutMargin","flatten","
|
|
1
|
+
{"version":3,"sources":["PickerComponent.ios.tsx"],"names":["React","View","StyleSheet","SafeAreaView","omit","Picker","NativePicker","withTheme","Portal","Button","TextField","Touchable","extractStyles","Icon","style","options","placeholder","selectedValue","disabled","onValueChange","theme","colors","props","viewStyles","borderRadius","borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderColor","backgroundColor","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","textField","useRef","undefined","pickerVisible","setIsPickerVisible","useState","toggleVisibility","current","toggleFocus","stylesWithoutMargin","flatten","selectedLabel","find","o","value","label","styles","container","String","picker","divider","pickerContainer","closeButton","map","create","alignSelf","position","bottom","left","right","flexDirection","justifyContent","width"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { View, StyleSheet } from \"react-native\";\nimport { SafeAreaView } from \"react-native-safe-area-context\";\nimport omit from \"lodash.omit\";\n\nimport { Picker as NativePicker } from \"@react-native-picker/picker\";\n\nimport { withTheme } from \"../../theming\";\n\nimport Portal from \"../Portal/Portal\";\nimport Button from \"../DeprecatedButton\";\nimport TextField from \"../TextField\";\nimport Touchable from \"../Touchable\";\nimport { PickerComponentProps } from \"./PickerTypes\";\nimport { extractStyles } from \"../../utilities\";\nimport type { IconSlot } from \"../../interfaces/Icon\";\n\nconst Picker: React.FC<PickerComponentProps & IconSlot> = ({\n Icon,\n style,\n options,\n placeholder,\n selectedValue,\n disabled = false,\n onValueChange = () => {},\n theme: { colors },\n ...props\n}) => {\n const {\n viewStyles: {\n borderRadius, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderWidth, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderTopWidth, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderRightWidth, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderBottomWidth, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderLeftWidth, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderColor, // eslint-disable-line @typescript-eslint/no-unused-vars\n backgroundColor, // eslint-disable-line @typescript-eslint/no-unused-vars\n padding, // eslint-disable-line @typescript-eslint/no-unused-vars\n paddingTop, // eslint-disable-line @typescript-eslint/no-unused-vars\n paddingRight, // eslint-disable-line @typescript-eslint/no-unused-vars\n paddingBottom, // eslint-disable-line @typescript-eslint/no-unused-vars\n paddingLeft, // eslint-disable-line @typescript-eslint/no-unused-vars\n ...viewStyles\n },\n } = extractStyles(style);\n\n const textField = React.useRef<typeof TextField | undefined>(undefined);\n const [pickerVisible, setIsPickerVisible] = React.useState(false);\n\n const toggleVisibility = () => {\n setIsPickerVisible(!pickerVisible);\n // @ts-ignore\n textField.current.toggleFocus(); // cannot determine if method exists due to component being wrapped in a withTheme()\n };\n\n const stylesWithoutMargin =\n style &&\n omit(StyleSheet.flatten(style), [\n \"margin\",\n \"marginTop\",\n \"marginRight\",\n \"marginBottom\",\n \"marginLeft\",\n ]);\n\n const selectedLabel =\n selectedValue &&\n (options.find((o) => o.value === selectedValue)?.label ?? selectedValue);\n\n return (\n <View style={[styles.container, viewStyles]}>\n <Touchable disabled={disabled} onPress={toggleVisibility}>\n <TextField\n {...props}\n value={String(selectedLabel)}\n placeholder={placeholder}\n // @ts-ignore\n ref={textField} // cannot determine if ref is of correct type due to component being wrapped in a withTheme()\n disabled={disabled}\n pointerEvents=\"none\"\n // @ts-expect-error\n style={stylesWithoutMargin}\n />\n </Touchable>\n {pickerVisible && (\n <Portal>\n <View style={[styles.picker, { backgroundColor: colors.divider }]}>\n <SafeAreaView style={styles.pickerContainer}>\n <Button\n Icon={Icon}\n type=\"text\"\n onPress={toggleVisibility}\n style={styles.closeButton}\n >\n Close\n </Button>\n <NativePicker\n style={{ backgroundColor: \"white\" }}\n selectedValue={selectedValue}\n onValueChange={onValueChange}\n >\n {options.map((o: any) => (\n <NativePicker.Item\n label={o.label}\n value={o.value}\n key={o.value}\n />\n ))}\n </NativePicker>\n </SafeAreaView>\n </View>\n </Portal>\n )}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n alignSelf: \"stretch\",\n },\n picker: {\n position: \"absolute\",\n bottom: 0,\n left: 0,\n right: 0,\n flexDirection: \"row\",\n justifyContent: \"center\",\n },\n pickerContainer: {\n backgroundColor: \"white\",\n flexDirection: \"column\",\n width: \"100%\",\n },\n closeButton: {\n alignSelf: \"flex-end\",\n },\n});\n\nexport default withTheme(Picker);\n"]}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
2
|
|
|
3
3
|
import * as React from "react";
|
|
4
|
-
import { View, StyleSheet
|
|
4
|
+
import { View, StyleSheet } from "react-native";
|
|
5
|
+
import { Picker as NativePicker } from "@react-native-picker/picker";
|
|
5
6
|
import omit from "lodash.omit";
|
|
6
7
|
import { withTheme } from "../../theming";
|
|
7
8
|
import { extractStyles } from "../../utilities";
|
|
@@ -65,7 +66,7 @@ const Picker = ({
|
|
|
65
66
|
};
|
|
66
67
|
|
|
67
68
|
const stylesWithoutMargin = style && omit(StyleSheet.flatten(style), ["margin", "marginTop", "marginRight", "marginBottom", "marginLeft"]);
|
|
68
|
-
const selectedLabel = selectedValue && ((_options$find$label = (_options$find = options.find(
|
|
69
|
+
const selectedLabel = selectedValue && ((_options$find$label = (_options$find = options.find(o => o.value === selectedValue)) === null || _options$find === void 0 ? void 0 : _options$find.label) !== null && _options$find$label !== void 0 ? _options$find$label : selectedValue);
|
|
69
70
|
return /*#__PURE__*/React.createElement(Touchable, {
|
|
70
71
|
disabled: disabled,
|
|
71
72
|
onPress: toggleFocus,
|
|
@@ -73,7 +74,7 @@ const Picker = ({
|
|
|
73
74
|
}, /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(NativePicker, {
|
|
74
75
|
enabled: !disabled,
|
|
75
76
|
selectedValue: selectedValue,
|
|
76
|
-
onValueChange:
|
|
77
|
+
onValueChange: onValueChange,
|
|
77
78
|
style: {
|
|
78
79
|
flex: 1,
|
|
79
80
|
opacity: 0,
|
|
@@ -81,7 +82,8 @@ const Picker = ({
|
|
|
81
82
|
top: 0,
|
|
82
83
|
left: 0,
|
|
83
84
|
right: 0,
|
|
84
|
-
bottom: 0
|
|
85
|
+
bottom: 0,
|
|
86
|
+
width: "100%"
|
|
85
87
|
}
|
|
86
88
|
}, options.map(o => /*#__PURE__*/React.createElement(NativePicker.Item, {
|
|
87
89
|
label: o.label,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["PickerComponent.web.tsx"],"names":["React","View","StyleSheet","Picker","NativePicker","omit","withTheme","extractStyles","TextField","Touchable","style","options","placeholder","selectedValue","disabled","onValueChange","onValueChangeOverride","props","viewStyles","borderRadius","borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderColor","backgroundColor","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","textField","useRef","undefined","itemValue","itemIndex","toggleFocus","current","stylesWithoutMargin","flatten","selectedLabel","find","
|
|
1
|
+
{"version":3,"sources":["PickerComponent.web.tsx"],"names":["React","View","StyleSheet","Picker","NativePicker","omit","withTheme","extractStyles","TextField","Touchable","style","options","placeholder","selectedValue","disabled","onValueChange","onValueChangeOverride","props","viewStyles","borderRadius","borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderColor","backgroundColor","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","textField","useRef","undefined","itemValue","itemIndex","toggleFocus","current","stylesWithoutMargin","flatten","selectedLabel","find","o","value","label","styles","container","flex","opacity","position","top","left","right","bottom","width","map","create","alignSelf"],"mappings":";;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,IAAT,EAAeC,UAAf,QAAiC,cAAjC;AACA,SAASC,MAAM,IAAIC,YAAnB,QAAuC,6BAAvC;AACA,OAAOC,IAAP,MAAiB,aAAjB;AACA,SAASC,SAAT,QAA0B,eAA1B;AACA,SAASC,aAAT,QAA8B,iBAA9B;AAEA,OAAOC,SAAP,MAAsB,cAAtB;AACA,OAAOC,SAAP,MAAsB,cAAtB;;AAGA,MAAMN,MAAsC,GAAG,CAAC;AAC9CO,EAAAA,KAD8C;AAE9CC,EAAAA,OAF8C;AAG9CC,EAAAA,WAH8C;AAI9CC,EAAAA,aAJ8C;AAK9CC,EAAAA,QAAQ,GAAG,KALmC;AAM9CC,EAAAA,aAAa,EAAEC,qBAAqB,GAAG,MAAM,CAAE,CAND;AAO9C,KAAGC;AAP2C,CAAD,KAQzC;AAAA;;AACJ,QAAM;AACJC,IAAAA,UAAU,EAAE;AACVC,MAAAA,YADU;AACI;AACdC,MAAAA,WAFU;AAEG;AACbC,MAAAA,cAHU;AAGM;AAChBC,MAAAA,gBAJU;AAIQ;AAClBC,MAAAA,iBALU;AAKS;AACnBC,MAAAA,eANU;AAMO;AACjBC,MAAAA,WAPU;AAOG;AACbC,MAAAA,eARU;AAQO;AACjBC,MAAAA,OATU;AASD;AACTC,MAAAA,UAVU;AAUE;AACZC,MAAAA,YAXU;AAWI;AACdC,MAAAA,aAZU;AAYK;AACfC,MAAAA,WAbU;AAaG;AACb,SAAGb;AAdO;AADR,MAiBFX,aAAa,CAACG,KAAD,CAjBjB;AAmBA,QAAMsB,SAAS,GAAGhC,KAAK,CAACiC,MAAN,CAA2CC,SAA3C,CAAlB;;AAEA,QAAMnB,aAAa,GAAG,CAACoB,SAAD,EAAoBC,SAApB,KAA0C;AAC9DC,IAAAA,WAAW;AACXrB,IAAAA,qBAAqB,CAACmB,SAAD,EAAYC,SAAZ,CAArB;AACD,GAHD;;AAKA,QAAMC,WAAW,GAAG,MAAM;AACxB,QAAI,CAACvB,QAAL,EAAe;AACb;AACAkB,MAAAA,SAAS,CAACM,OAAV,CAAkBD,WAAlB,GAFa,CAEoB;AAClC;AACF,GALD;;AAOA,QAAME,mBAAmB,GACvB7B,KAAK,IACLL,IAAI,CAACH,UAAU,CAACsC,OAAX,CAAmB9B,KAAnB,CAAD,EAA4B,CAC9B,QAD8B,EAE9B,WAF8B,EAG9B,aAH8B,EAI9B,cAJ8B,EAK9B,YAL8B,CAA5B,CAFN;AAUA,QAAM+B,aAAa,GACjB5B,aAAa,6CACZF,OAAO,CAAC+B,IAAR,CAAcC,CAAD,IAAOA,CAAC,CAACC,KAAF,KAAY/B,aAAhC,CADY,kDACZ,cAAgDgC,KADpC,qEAC6ChC,aAD7C,CADf;AAIA,sBACE,oBAAC,SAAD;AACE,IAAA,QAAQ,EAAEC,QADZ;AAEE,IAAA,OAAO,EAAEuB,WAFX;AAGE,IAAA,KAAK,EAAE,CAACS,MAAM,CAACC,SAAR,EAAmB7B,UAAnB;AAHT,kBAKE,oBAAC,IAAD,qBACE,oBAAC,YAAD;AACE,IAAA,OAAO,EAAE,CAACJ,QADZ;AAEE,IAAA,aAAa,EAAED,aAFjB;AAGE,IAAA,aAAa,EAAEE,aAHjB;AAIE,IAAA,KAAK,EAAE;AACLiC,MAAAA,IAAI,EAAE,CADD;AAELC,MAAAA,OAAO,EAAE,CAFJ;AAGLC,MAAAA,QAAQ,EAAE,UAHL;AAILC,MAAAA,GAAG,EAAE,CAJA;AAKLC,MAAAA,IAAI,EAAE,CALD;AAMLC,MAAAA,KAAK,EAAE,CANF;AAOLC,MAAAA,MAAM,EAAE,CAPH;AAQLC,MAAAA,KAAK,EAAE;AARF;AAJT,KAeG5C,OAAO,CAAC6C,GAAR,CAAab,CAAD,iBACX,oBAAC,YAAD,CAAc,IAAd;AAAmB,IAAA,KAAK,EAAEA,CAAC,CAACE,KAA5B;AAAmC,IAAA,KAAK,EAAEF,CAAC,CAACC,KAA5C;AAAmD,IAAA,GAAG,EAAED,CAAC,CAACC;AAA1D,IADD,CAfH,CADF,eAoBE,oBAAC,IAAD;AAAM,IAAA,aAAa,EAAC;AAApB,kBACE,oBAAC,SAAD,eACM3B,KADN;AAEE,IAAA,KAAK,EAAEwB,aAFT;AAGE,IAAA,WAAW,EAAE7B,WAHf,CAIE;AAJF;AAKE,IAAA,GAAG,EAAEoB,SALP,CAKkB;AALlB;AAME,IAAA,QAAQ,EAAElB,QANZ,CAOE;AAPF;AAQE,IAAA,KAAK,EAAEyB;AART,KADF,CApBF,CALF,CADF;AAyCD,CAjGD;;AAmGA,MAAMO,MAAM,GAAG5C,UAAU,CAACuD,MAAX,CAAkB;AAC/BV,EAAAA,SAAS,EAAE;AACTW,IAAAA,SAAS,EAAE;AADF;AADoB,CAAlB,CAAf;AAMA,eAAepD,SAAS,CAACH,MAAD,CAAxB","sourcesContent":["import * as React from \"react\";\nimport { View, StyleSheet } from \"react-native\";\nimport { Picker as NativePicker } from \"@react-native-picker/picker\";\nimport omit from \"lodash.omit\";\nimport { withTheme } from \"../../theming\";\nimport { extractStyles } from \"../../utilities\";\n\nimport TextField from \"../TextField\";\nimport Touchable from \"../Touchable\";\nimport { PickerComponentProps } from \"./PickerTypes\";\n\nconst Picker: React.FC<PickerComponentProps> = ({\n style,\n options,\n placeholder,\n selectedValue,\n disabled = false,\n onValueChange: onValueChangeOverride = () => {},\n ...props\n}) => {\n const {\n viewStyles: {\n borderRadius, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderWidth, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderTopWidth, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderRightWidth, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderBottomWidth, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderLeftWidth, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderColor, // eslint-disable-line @typescript-eslint/no-unused-vars\n backgroundColor, // eslint-disable-line @typescript-eslint/no-unused-vars\n padding, // eslint-disable-line @typescript-eslint/no-unused-vars\n paddingTop, // eslint-disable-line @typescript-eslint/no-unused-vars\n paddingRight, // eslint-disable-line @typescript-eslint/no-unused-vars\n paddingBottom, // eslint-disable-line @typescript-eslint/no-unused-vars\n paddingLeft, // eslint-disable-line @typescript-eslint/no-unused-vars\n ...viewStyles\n },\n } = extractStyles(style);\n\n const textField = React.useRef<typeof TextField | undefined>(undefined);\n\n const onValueChange = (itemValue: string, itemIndex: number) => {\n toggleFocus();\n onValueChangeOverride(itemValue, itemIndex);\n };\n\n const toggleFocus = () => {\n if (!disabled) {\n // @ts-ignore\n textField.current.toggleFocus(); // cannot determine if method exists due to component being wrapped in a withTheme()\n }\n };\n\n const stylesWithoutMargin =\n style &&\n omit(StyleSheet.flatten(style), [\n \"margin\",\n \"marginTop\",\n \"marginRight\",\n \"marginBottom\",\n \"marginLeft\",\n ]);\n\n const selectedLabel =\n selectedValue &&\n (options.find((o) => o.value === selectedValue)?.label ?? selectedValue);\n\n return (\n <Touchable\n disabled={disabled}\n onPress={toggleFocus}\n style={[styles.container, viewStyles]}\n >\n <View>\n <NativePicker\n enabled={!disabled}\n selectedValue={selectedValue}\n onValueChange={onValueChange}\n style={{\n flex: 1,\n opacity: 0,\n position: \"absolute\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n width: \"100%\",\n }}\n >\n {options.map((o) => (\n <NativePicker.Item label={o.label} value={o.value} key={o.value} />\n ))}\n </NativePicker>\n <View pointerEvents=\"none\">\n <TextField\n {...props}\n value={selectedLabel}\n placeholder={placeholder}\n // @ts-ignore\n ref={textField} // cannot determine if ref is of correct type due to component being wrapped in a withTheme()\n disabled={disabled}\n // @ts-expect-error\n style={stylesWithoutMargin}\n />\n </View>\n </View>\n </Touchable>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n alignSelf: \"stretch\",\n },\n});\n\nexport default withTheme(Picker);\n"]}
|
|
@@ -3,7 +3,7 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
|
|
|
3
3
|
import * as React from "react";
|
|
4
4
|
import { View, StyleSheet, Pressable } from "react-native";
|
|
5
5
|
import { withTheme } from "../theming";
|
|
6
|
-
import { COMPONENT_TYPES, createStaticNumberProp, createFieldNameProp, createStaticBoolProp, Triggers, createColorProp } from "@draftbit/types";
|
|
6
|
+
import { COMPONENT_TYPES, createStaticNumberProp, createFieldNameProp, createStaticBoolProp, Triggers, createColorProp, GROUPS } from "@draftbit/types";
|
|
7
7
|
|
|
8
8
|
const StarRating = ({
|
|
9
9
|
Icon,
|
|
@@ -102,6 +102,7 @@ export const SEED_DATA = {
|
|
|
102
102
|
step: 1
|
|
103
103
|
}),
|
|
104
104
|
rating: createStaticNumberProp({
|
|
105
|
+
group: GROUPS.data,
|
|
105
106
|
label: "Rating"
|
|
106
107
|
}),
|
|
107
108
|
isEditable: createStaticBoolProp({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["StarRating.tsx"],"names":["React","View","StyleSheet","Pressable","withTheme","COMPONENT_TYPES","createStaticNumberProp","createFieldNameProp","createStaticBoolProp","Triggers","createColorProp","StarRating","Icon","starSize","maxStars","rating","isEditable","activeColor","inactiveColor","style","onPress","rest","localRating","setLocalRating","useState","useEffect","ratingHandler","useCallback","r","ratingRounded","Math","round","styles","container","Array","map","_","i","display","touchContainer","pressable","create","flexDirection","alignItems","position","top","right","left","bottom","zIndex","flex","height","width","SEED_DATA","name","tag","description","category","button","triggers","OnPress","props","label","defaultValue","min","max","step","fieldName","handlerPropName","valuePropName"],"mappings":";;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SACEC,IADF,EAEEC,UAFF,EAKEC,SALF,QAMO,cANP;AAOA,SAASC,SAAT,QAA0B,YAA1B;AAIA,SACEC,eADF,EAEEC,sBAFF,EAGEC,mBAHF,EAIEC,oBAJF,EAKEC,QALF,EAMEC,eANF,
|
|
1
|
+
{"version":3,"sources":["StarRating.tsx"],"names":["React","View","StyleSheet","Pressable","withTheme","COMPONENT_TYPES","createStaticNumberProp","createFieldNameProp","createStaticBoolProp","Triggers","createColorProp","GROUPS","StarRating","Icon","starSize","maxStars","rating","isEditable","activeColor","inactiveColor","style","onPress","rest","localRating","setLocalRating","useState","useEffect","ratingHandler","useCallback","r","ratingRounded","Math","round","styles","container","Array","map","_","i","display","touchContainer","pressable","create","flexDirection","alignItems","position","top","right","left","bottom","zIndex","flex","height","width","SEED_DATA","name","tag","description","category","button","triggers","OnPress","props","label","defaultValue","min","max","step","fieldName","handlerPropName","valuePropName","group","data"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport {\n View,\n StyleSheet,\n StyleProp,\n ViewStyle,\n Pressable,\n} from \"react-native\";\nimport { withTheme } from \"../theming\";\nimport type { Theme } from \"../styles/DefaultTheme\";\nimport type { IconSlot } from \"../interfaces/Icon\";\n\nimport {\n COMPONENT_TYPES,\n createStaticNumberProp,\n createFieldNameProp,\n createStaticBoolProp,\n Triggers,\n createColorProp,\n GROUPS,\n} from \"@draftbit/types\";\n\ntype Props = {\n starSize?: number;\n maxStars?: number;\n rating?: number;\n isEditable?: boolean;\n activeColor?: string;\n inactiveColor?: string;\n theme: Theme;\n style?: StyleProp<ViewStyle>;\n onPress?: (newValue: number) => void;\n} & IconSlot;\n\nconst StarRating: React.FC<Props> = ({\n Icon,\n starSize = 16,\n maxStars = 5,\n rating = 0,\n isEditable = false,\n activeColor,\n inactiveColor,\n style,\n onPress,\n ...rest\n}) => {\n const [localRating, setLocalRating] = React.useState(rating);\n\n React.useEffect(() => {\n setLocalRating(rating);\n }, [rating]);\n\n const ratingHandler = React.useCallback(\n (r) => {\n setLocalRating(r);\n !!onPress && onPress(r);\n },\n [onPress]\n );\n\n const ratingRounded = Math.round(localRating * 2) / 2;\n\n return (\n <View style={[styles.container, style]} {...rest}>\n {[...Array(maxStars)].map((_, i) => (\n <View key={i} style={{ display: \"flex\" }}>\n <Icon\n name={\n ratingRounded - i === 0.5\n ? \"MaterialIcons/star-half\"\n : \"MaterialIcons/star\"\n }\n size={starSize}\n color={ratingRounded > i ? activeColor : inactiveColor}\n />\n {isEditable && (\n <View style={styles.touchContainer}>\n <Pressable\n style={styles.pressable}\n onPress={() => ratingHandler(i + 0.5)}\n />\n <Pressable\n style={styles.pressable}\n onPress={() => ratingHandler(i + 1)}\n />\n </View>\n )}\n </View>\n ))}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flexDirection: \"row\",\n alignItems: \"center\",\n },\n touchContainer: {\n display: \"flex\",\n flexDirection: \"row\",\n position: \"absolute\",\n top: 0,\n right: 0,\n left: 0,\n bottom: 0,\n zIndex: 1,\n },\n pressable: {\n flex: 1,\n height: \"100%\",\n width: \"50%\",\n },\n});\n\nexport default withTheme(StarRating);\n\nexport const SEED_DATA = {\n name: \"Star Rating\",\n tag: \"StarRating\",\n description: \"A star rating component\",\n category: COMPONENT_TYPES.button,\n triggers: [Triggers.OnPress],\n props: {\n starSize: createStaticNumberProp({\n label: \"Star size\",\n description: \"Size of each individual star\",\n defaultValue: 16,\n min: 8,\n max: 36,\n step: 1,\n }),\n fieldName: createFieldNameProp({\n defaultValue: \"ratingValue\", // this is the name of the variable declared on the screen in Draftbit\n handlerPropName: \"onPress\", // the change handler prop in this component\n valuePropName: \"rating\", // the value prop in this component\n }),\n maxStars: createStaticNumberProp({\n label: \"Max stars\",\n description: \"The max number of stars\",\n defaultValue: 5,\n min: 0,\n max: 10,\n step: 1,\n }),\n rating: createStaticNumberProp({\n group: GROUPS.data,\n label: \"Rating\",\n }),\n isEditable: createStaticBoolProp({\n label: \"Editable\",\n }),\n activeColor: createColorProp({\n label: \"Active Color\",\n defaultValue: \"primary\",\n }),\n inactiveColor: createColorProp({\n label: \"Inactive Color\",\n defaultValue: \"divider\",\n }),\n },\n};\n"]}
|
|
@@ -1,12 +1,7 @@
|
|
|
1
|
-
import { COMPONENT_TYPES, createBoolProp, createNumberProp, createTextProp } from "@draftbit/types";
|
|
1
|
+
import { COMPONENT_TYPES, createBoolProp, createNumberProp, createTextProp, GROUPS } from "@draftbit/types";
|
|
2
2
|
import React from "react";
|
|
3
|
-
import { View
|
|
3
|
+
import { View } from "react-native";
|
|
4
4
|
import SwiperComponent from "react-native-web-swiper";
|
|
5
|
-
const styles = StyleSheet.create({
|
|
6
|
-
wrapper: {
|
|
7
|
-
flex: 1
|
|
8
|
-
}
|
|
9
|
-
});
|
|
10
5
|
|
|
11
6
|
const Swiper = ({
|
|
12
7
|
vertical = false,
|
|
@@ -19,7 +14,7 @@ const Swiper = ({
|
|
|
19
14
|
children,
|
|
20
15
|
style
|
|
21
16
|
}) => /*#__PURE__*/React.createElement(View, {
|
|
22
|
-
style:
|
|
17
|
+
style: style
|
|
23
18
|
}, /*#__PURE__*/React.createElement(SwiperComponent, {
|
|
24
19
|
from: from,
|
|
25
20
|
loop: loop,
|
|
@@ -38,30 +33,41 @@ export const SEED_DATA = {
|
|
|
38
33
|
tag: "Swiper",
|
|
39
34
|
description: "Swiper container",
|
|
40
35
|
category: COMPONENT_TYPES.container,
|
|
36
|
+
layout: {
|
|
37
|
+
height: 300,
|
|
38
|
+
width: "100%"
|
|
39
|
+
},
|
|
41
40
|
props: {
|
|
42
41
|
from: createNumberProp({
|
|
42
|
+
group: GROUPS.basic,
|
|
43
43
|
label: "Initial Slide"
|
|
44
44
|
}),
|
|
45
45
|
loop: createBoolProp({
|
|
46
|
+
group: GROUPS.basic,
|
|
46
47
|
label: "Loop"
|
|
47
48
|
}),
|
|
48
49
|
timeout: createNumberProp({
|
|
50
|
+
group: GROUPS.basic,
|
|
49
51
|
label: "Timeout",
|
|
50
52
|
defaultValue: 0
|
|
51
53
|
}),
|
|
52
54
|
vertical: createBoolProp({
|
|
55
|
+
group: GROUPS.basic,
|
|
53
56
|
label: "Vertical",
|
|
54
57
|
defaultValue: false
|
|
55
58
|
}),
|
|
56
59
|
prevTitle: createTextProp({
|
|
60
|
+
group: GROUPS.basic,
|
|
57
61
|
label: "Previous Title",
|
|
58
62
|
defaultValue: ""
|
|
59
63
|
}),
|
|
60
64
|
nextTitle: createTextProp({
|
|
65
|
+
group: GROUPS.basic,
|
|
61
66
|
label: "Next Title",
|
|
62
67
|
defaultValue: ""
|
|
63
68
|
}),
|
|
64
69
|
dotsTouchable: createBoolProp({
|
|
70
|
+
group: GROUPS.basic,
|
|
65
71
|
label: "Dots Touchable",
|
|
66
72
|
defaultValue: true
|
|
67
73
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Swiper.tsx"],"names":["COMPONENT_TYPES","createBoolProp","createNumberProp","createTextProp","
|
|
1
|
+
{"version":3,"sources":["Swiper.tsx"],"names":["COMPONENT_TYPES","createBoolProp","createNumberProp","createTextProp","GROUPS","React","View","SwiperComponent","Swiper","vertical","loop","timeout","from","prevTitle","nextTitle","dotsTouchable","children","style","SEED_DATA","name","tag","description","category","container","layout","height","width","props","group","basic","label","defaultValue"],"mappings":"AAAA,SACEA,eADF,EAEEC,cAFF,EAGEC,gBAHF,EAIEC,cAJF,EAKEC,MALF,QAMO,iBANP;AAOA,OAAOC,KAAP,MAAkB,OAAlB;AACA,SAASC,IAAT,QAA2C,cAA3C;AACA,OAAOC,eAAP,MAA4B,yBAA5B;;AAcA,MAAMC,MAAM,GAAG,CAAC;AACdC,EAAAA,QAAQ,GAAG,KADG;AAEdC,EAAAA,IAAI,GAAG,KAFO;AAGdC,EAAAA,OAAO,GAAG,CAHI;AAIdC,EAAAA,IAAI,GAAG,CAJO;AAKdC,EAAAA,SAAS,GAAG,EALE;AAMdC,EAAAA,SAAS,GAAG,EANE;AAOdC,EAAAA,aAAa,GAAG,IAPF;AAQdC,EAAAA,QARc;AASdC,EAAAA;AATc,CAAD,kBAWb,oBAAC,IAAD;AAAM,EAAA,KAAK,EAAEA;AAAb,gBACE,oBAAC,eAAD;AACE,EAAA,IAAI,EAAEL,IADR;AAEE,EAAA,IAAI,EAAEF,IAFR;AAGE,EAAA,OAAO,EAAEC,OAHX;AAIE,EAAA,QAAQ,EAAEF,QAJZ;AAKE,EAAA,aAAa,EAAE;AACbI,IAAAA,SADa;AAEbC,IAAAA,SAFa;AAGbC,IAAAA;AAHa;AALjB,GAWGC,QAXH,CADF,CAXF;;AA4BA,eAAeR,MAAf;AAEA,OAAO,MAAMU,SAAS,GAAG;AACvBC,EAAAA,IAAI,EAAE,QADiB;AAEvBC,EAAAA,GAAG,EAAE,QAFkB;AAGvBC,EAAAA,WAAW,EAAE,kBAHU;AAIvBC,EAAAA,QAAQ,EAAEtB,eAAe,CAACuB,SAJH;AAKvBC,EAAAA,MAAM,EAAE;AACNC,IAAAA,MAAM,EAAE,GADF;AAENC,IAAAA,KAAK,EAAE;AAFD,GALe;AASvBC,EAAAA,KAAK,EAAE;AACLf,IAAAA,IAAI,EAAEV,gBAAgB,CAAC;AACrB0B,MAAAA,KAAK,EAAExB,MAAM,CAACyB,KADO;AAErBC,MAAAA,KAAK,EAAE;AAFc,KAAD,CADjB;AAKLpB,IAAAA,IAAI,EAAET,cAAc,CAAC;AACnB2B,MAAAA,KAAK,EAAExB,MAAM,CAACyB,KADK;AAEnBC,MAAAA,KAAK,EAAE;AAFY,KAAD,CALf;AASLnB,IAAAA,OAAO,EAAET,gBAAgB,CAAC;AACxB0B,MAAAA,KAAK,EAAExB,MAAM,CAACyB,KADU;AAExBC,MAAAA,KAAK,EAAE,SAFiB;AAGxBC,MAAAA,YAAY,EAAE;AAHU,KAAD,CATpB;AAcLtB,IAAAA,QAAQ,EAAER,cAAc,CAAC;AACvB2B,MAAAA,KAAK,EAAExB,MAAM,CAACyB,KADS;AAEvBC,MAAAA,KAAK,EAAE,UAFgB;AAGvBC,MAAAA,YAAY,EAAE;AAHS,KAAD,CAdnB;AAmBLlB,IAAAA,SAAS,EAAEV,cAAc,CAAC;AACxByB,MAAAA,KAAK,EAAExB,MAAM,CAACyB,KADU;AAExBC,MAAAA,KAAK,EAAE,gBAFiB;AAGxBC,MAAAA,YAAY,EAAE;AAHU,KAAD,CAnBpB;AAwBLjB,IAAAA,SAAS,EAAEX,cAAc,CAAC;AACxByB,MAAAA,KAAK,EAAExB,MAAM,CAACyB,KADU;AAExBC,MAAAA,KAAK,EAAE,YAFiB;AAGxBC,MAAAA,YAAY,EAAE;AAHU,KAAD,CAxBpB;AA6BLhB,IAAAA,aAAa,EAAEd,cAAc,CAAC;AAC5B2B,MAAAA,KAAK,EAAExB,MAAM,CAACyB,KADc;AAE5BC,MAAAA,KAAK,EAAE,gBAFqB;AAG5BC,MAAAA,YAAY,EAAE;AAHc,KAAD;AA7BxB;AATgB,CAAlB","sourcesContent":["import {\n COMPONENT_TYPES,\n createBoolProp,\n createNumberProp,\n createTextProp,\n GROUPS,\n} from \"@draftbit/types\";\nimport React from \"react\";\nimport { View, StyleProp, ViewStyle } from \"react-native\";\nimport SwiperComponent from \"react-native-web-swiper\";\n\nexport interface SwiperProps {\n vertical?: boolean;\n loop?: boolean;\n from?: number;\n timeout?: number;\n prevTitle?: string;\n nextTitle?: string;\n dotsTouchable?: boolean;\n children: React.ReactNode;\n style?: StyleProp<ViewStyle>;\n}\n\nconst Swiper = ({\n vertical = false,\n loop = false,\n timeout = 0,\n from = 0,\n prevTitle = \"\",\n nextTitle = \"\",\n dotsTouchable = true,\n children,\n style,\n}: SwiperProps) => (\n <View style={style}>\n <SwiperComponent\n from={from}\n loop={loop}\n timeout={timeout}\n vertical={vertical}\n controlsProps={{\n prevTitle,\n nextTitle,\n dotsTouchable,\n }}\n >\n {children}\n </SwiperComponent>\n </View>\n);\n\nexport default Swiper;\n\nexport const SEED_DATA = {\n name: \"Swiper\",\n tag: \"Swiper\",\n description: \"Swiper container\",\n category: COMPONENT_TYPES.container,\n layout: {\n height: 300,\n width: \"100%\",\n },\n props: {\n from: createNumberProp({\n group: GROUPS.basic,\n label: \"Initial Slide\",\n }),\n loop: createBoolProp({\n group: GROUPS.basic,\n label: \"Loop\",\n }),\n timeout: createNumberProp({\n group: GROUPS.basic,\n label: \"Timeout\",\n defaultValue: 0,\n }),\n vertical: createBoolProp({\n group: GROUPS.basic,\n label: \"Vertical\",\n defaultValue: false,\n }),\n prevTitle: createTextProp({\n group: GROUPS.basic,\n label: \"Previous Title\",\n defaultValue: \"\",\n }),\n nextTitle: createTextProp({\n group: GROUPS.basic,\n label: \"Next Title\",\n defaultValue: \"\",\n }),\n dotsTouchable: createBoolProp({\n group: GROUPS.basic,\n label: \"Dots Touchable\",\n defaultValue: true,\n }),\n },\n};\n"]}
|
|
@@ -5,7 +5,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
|
|
|
5
5
|
import * as React from "react";
|
|
6
6
|
import { View, Animated, TextInput as NativeTextInput, StyleSheet, Text, I18nManager } from "react-native";
|
|
7
7
|
import { withTheme } from "../theming";
|
|
8
|
-
import { GROUPS, COMPONENT_TYPES, FORM_TYPES, PROP_TYPES, FIELD_NAME, TEXT_INPUT_PROPS, Triggers, createColorProp, createNumberProp } from "@draftbit/types";
|
|
8
|
+
import { GROUPS, COMPONENT_TYPES, FORM_TYPES, PROP_TYPES, FIELD_NAME, TEXT_INPUT_PROPS, Triggers, createColorProp, createNumberProp, createFieldNameProp } from "@draftbit/types";
|
|
9
9
|
import { applyStyles, extractStyles } from "../utilities";
|
|
10
10
|
const AnimatedText = Animated.createAnimatedComponent(Text);
|
|
11
11
|
const FOCUS_ANIMATION_DURATION = 150;
|
|
@@ -532,7 +532,7 @@ const SEED_DATA_PROPS = { ...TEXT_INPUT_PROPS,
|
|
|
532
532
|
};
|
|
533
533
|
const SEED_DATA_TRIGGERS = [Triggers.OnChangeText];
|
|
534
534
|
export const SEED_DATA = [{
|
|
535
|
-
name: "Text Field",
|
|
535
|
+
name: "Styled Text Field",
|
|
536
536
|
tag: "TextField",
|
|
537
537
|
description: "A text input with a solid border or underline",
|
|
538
538
|
category: COMPONENT_TYPES.input,
|
|
@@ -568,7 +568,7 @@ export const SEED_DATA = [{
|
|
|
568
568
|
},
|
|
569
569
|
layout: {}
|
|
570
570
|
}, {
|
|
571
|
-
name: "Text Area",
|
|
571
|
+
name: "Styled Text Area",
|
|
572
572
|
tag: "TextField",
|
|
573
573
|
description: "A text area with a solid border or underline",
|
|
574
574
|
category: COMPONENT_TYPES.input,
|
|
@@ -602,6 +602,9 @@ export const SEED_DATA = [{
|
|
|
602
602
|
description: "Number of Lines for Multiline Field",
|
|
603
603
|
defaultValue: 4,
|
|
604
604
|
group: GROUPS.basic
|
|
605
|
+
}),
|
|
606
|
+
fieldName: createFieldNameProp({
|
|
607
|
+
defaultValue: "textAreaValue"
|
|
605
608
|
})
|
|
606
609
|
},
|
|
607
610
|
layout: {}
|