@draftbit/core 43.4.11-ca8fc3.1 → 43.4.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/lib/commonjs/components/Accordion/AccordionGroup.js +2 -2
  2. package/lib/commonjs/components/Accordion/AccordionGroup.js.map +1 -1
  3. package/lib/commonjs/components/Accordion/AccordionItem.js +5 -21
  4. package/lib/commonjs/components/Accordion/AccordionItem.js.map +1 -1
  5. package/lib/commonjs/components/Checkbox/Checkbox.js +6 -6
  6. package/lib/commonjs/components/Checkbox/Checkbox.js.map +1 -1
  7. package/lib/commonjs/components/Checkbox/CheckboxGroupRow.js +142 -0
  8. package/lib/commonjs/components/Checkbox/CheckboxGroupRow.js.map +1 -0
  9. package/lib/commonjs/components/Checkbox/CheckboxRow.js +55 -46
  10. package/lib/commonjs/components/Checkbox/CheckboxRow.js.map +1 -1
  11. package/lib/commonjs/components/DatePicker/DatePicker.js +2 -9
  12. package/lib/commonjs/components/DatePicker/DatePicker.js.map +1 -1
  13. package/lib/commonjs/components/Divider.js +13 -3
  14. package/lib/commonjs/components/Divider.js.map +1 -1
  15. package/lib/commonjs/components/FAB.js +5 -19
  16. package/lib/commonjs/components/FAB.js.map +1 -1
  17. package/lib/commonjs/components/NumberInput.js +15 -17
  18. package/lib/commonjs/components/NumberInput.js.map +1 -1
  19. package/lib/commonjs/components/RadioButton/RadioButtonRow.js +1 -1
  20. package/lib/commonjs/components/RadioButton/RadioButtonRow.js.map +1 -1
  21. package/lib/commonjs/components/TextField.js +8 -5
  22. package/lib/commonjs/components/TextField.js.map +1 -1
  23. package/lib/commonjs/mappings/CheckboxRow.js +25 -6
  24. package/lib/commonjs/mappings/CheckboxRow.js.map +1 -1
  25. package/lib/module/components/Accordion/AccordionGroup.js +2 -2
  26. package/lib/module/components/Accordion/AccordionGroup.js.map +1 -1
  27. package/lib/module/components/Checkbox/Checkbox.js +6 -6
  28. package/lib/module/components/Checkbox/Checkbox.js.map +1 -1
  29. package/lib/module/components/Checkbox/CheckboxGroupRow.js +120 -0
  30. package/lib/module/components/Checkbox/CheckboxGroupRow.js.map +1 -0
  31. package/lib/module/components/Checkbox/CheckboxRow.js +53 -46
  32. package/lib/module/components/Checkbox/CheckboxRow.js.map +1 -1
  33. package/lib/module/components/DatePicker/DatePicker.js +3 -9
  34. package/lib/module/components/DatePicker/DatePicker.js.map +1 -1
  35. package/lib/module/components/NumberInput.js +15 -17
  36. package/lib/module/components/NumberInput.js.map +1 -1
  37. package/lib/module/components/Picker/PickerComponent.ios.js +29 -10
  38. package/lib/module/components/Picker/PickerComponent.ios.js.map +1 -1
  39. package/lib/module/components/Picker/PickerTypes.js.map +1 -1
  40. package/lib/module/components/RadioButton/RadioButtonRow.js +1 -1
  41. package/lib/module/components/RadioButton/RadioButtonRow.js.map +1 -1
  42. package/lib/module/components/TextField.js +8 -5
  43. package/lib/module/components/TextField.js.map +1 -1
  44. package/lib/module/components/Touchable.web.js.map +1 -1
  45. package/lib/module/components/Typography.js.map +1 -1
  46. package/lib/module/mappings/CheckboxRow.js +26 -7
  47. package/lib/module/mappings/CheckboxRow.js.map +1 -1
  48. package/lib/typescript/src/components/Checkbox/CheckboxGroupRow.d.ts +21 -0
  49. package/lib/typescript/src/components/Checkbox/CheckboxRow.d.ts +3 -7
  50. package/lib/typescript/src/mappings/CheckboxRow.d.ts +50 -9
  51. package/package.json +2 -2
  52. package/src/components/Accordion/AccordionGroup.js +1 -1
  53. package/src/components/Accordion/AccordionGroup.tsx +1 -1
  54. package/src/components/Checkbox/Checkbox.js +6 -6
  55. package/src/components/Checkbox/Checkbox.tsx +8 -6
  56. package/src/components/Checkbox/CheckboxGroupRow.js +77 -0
  57. package/src/components/Checkbox/CheckboxGroupRow.tsx +152 -0
  58. package/src/components/Checkbox/CheckboxRow.js +33 -32
  59. package/src/components/Checkbox/CheckboxRow.tsx +67 -62
  60. package/src/components/DatePicker/DatePicker.js +2 -4
  61. package/src/components/DatePicker/DatePicker.tsx +1 -14
  62. package/src/components/NumberInput.js +13 -14
  63. package/src/components/NumberInput.tsx +16 -31
  64. package/src/components/RadioButton/RadioButtonRow.js +1 -1
  65. package/src/components/RadioButton/RadioButtonRow.tsx +1 -1
  66. package/src/components/TextField.js +5 -4
  67. package/src/components/TextField.tsx +6 -5
  68. package/src/mappings/CheckboxRow.js +26 -7
  69. package/src/mappings/CheckboxRow.ts +28 -6
@@ -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","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 Icon={Icon}\n />\n </Touchable>\n {pickerVisible && (\n <Portal>\n <View style={[styles.picker, { backgroundColor: colors.divider }]}>\n <SafeAreaView style={styles.pickerContainer}>\n <Button\n Icon={Icon}\n type=\"text\"\n onPress={toggleVisibility}\n style={styles.closeButton}\n >\n Close\n </Button>\n <NativePicker\n style={{ backgroundColor: \"white\" }}\n selectedValue={selectedValue}\n onValueChange={onValueChange}\n >\n {options.map((o: any) => (\n <NativePicker.Item\n label={o.label}\n value={o.value}\n key={o.value}\n />\n ))}\n </NativePicker>\n </SafeAreaView>\n </View>\n </Portal>\n )}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n alignSelf: \"stretch\",\n },\n picker: {\n position: \"absolute\",\n bottom: 0,\n left: 0,\n right: 0,\n flexDirection: \"row\",\n justifyContent: \"center\",\n },\n pickerContainer: {\n backgroundColor: \"white\",\n flexDirection: \"column\",\n width: \"100%\",\n },\n closeButton: {\n alignSelf: \"flex-end\",\n },\n});\n\nexport default withTheme(Picker);\n"]}
1
+ {"version":3,"sources":["PickerComponent.ios.js"],"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","createElement","styles","container","onPress","String","ref","pointerEvents","picker","divider","pickerContainer","type","closeButton","map","Item","key","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\";\nimport { Picker as NativePicker } from \"@react-native-picker/picker\";\nimport { withTheme } from \"../../theming\";\nimport Portal from \"../Portal/Portal\";\nimport Button from \"../DeprecatedButton\";\nimport TextField from \"../TextField\";\nimport Touchable from \"../Touchable\";\nimport { extractStyles } from \"../../utilities\";\nconst Picker = ({ Icon, style, options, placeholder, selectedValue, disabled = false, onValueChange = () => { }, theme: { colors }, ...props }) => {\n const { viewStyles: { 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 }, } = extractStyles(style);\n const textField = React.useRef(undefined);\n const [pickerVisible, setIsPickerVisible] = React.useState(false);\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 const stylesWithoutMargin = style &&\n omit(StyleSheet.flatten(style), [\n \"margin\",\n \"marginTop\",\n \"marginRight\",\n \"marginBottom\",\n \"marginLeft\",\n ]);\n const selectedLabel = selectedValue &&\n (options.find((o) => o.value === selectedValue)?.label ?? selectedValue);\n return (React.createElement(View, { style: [styles.container, viewStyles] },\n React.createElement(Touchable, { disabled: disabled, onPress: toggleVisibility },\n React.createElement(TextField, { ...props, value: String(selectedLabel), placeholder: placeholder, \n // @ts-ignore\n ref: textField, disabled: disabled, pointerEvents: \"none\", \n // @ts-expect-error\n style: stylesWithoutMargin, Icon: Icon })),\n pickerVisible && (React.createElement(Portal, null,\n React.createElement(View, { style: [styles.picker, { backgroundColor: colors.divider }] },\n React.createElement(SafeAreaView, { style: styles.pickerContainer },\n React.createElement(Button, { Icon: Icon, type: \"text\", onPress: toggleVisibility, style: styles.closeButton }, \"Close\"),\n React.createElement(NativePicker, { style: { backgroundColor: \"white\" }, selectedValue: selectedValue, onValueChange: onValueChange }, options.map((o) => (React.createElement(NativePicker.Item, { label: o.label, value: o.value, key: o.value }))))))))));\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});\nexport default withTheme(Picker);\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["PickerTypes.js"],"names":[],"mappings":"AAAA","sourcesContent":["export {};\n"]}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
@@ -102,7 +102,7 @@ const styles = StyleSheet.create({
102
102
  paddingStart: 20,
103
103
  minHeight: 50,
104
104
  paddingEnd: 20,
105
- flex: 1,
105
+ display: "flex",
106
106
  ...Platform.select({
107
107
  web: {
108
108
  cursor: "pointer",
@@ -1 +1 @@
1
- {"version":3,"sources":["RadioButtonRow.tsx"],"names":["React","StyleSheet","View","Platform","RadioButton","Text","useRadioButtonGroupContext","Direction","GroupDirection","Touchable","extractStyles","getValueForRadioButton","getRadioButtonAlignment","parentDirection","direction","Horizontal","Row","RowReverse","renderLabel","value","labelStyle","textStyle","RadioButtonRow","Icon","label","color","unselectedColor","onPress","labelContainerStyle","radioButtonStyle","selected","disabled","style","rest","contextValue","onValueChange","realValue","realContextValue","isSelected","handlePress","textStyles","viewStyles","styles","mainParent","flexDirection","alignItems","flex","create","justifyContent","paddingStart","minHeight","paddingEnd","select","web","cursor","userSelect"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport {\n StyleProp,\n ViewStyle,\n StyleSheet,\n TextStyle,\n View,\n Platform,\n} from \"react-native\";\nimport RadioButton, { RadioButtonProps } from \"./RadioButton\";\nimport Text from \"../Text\";\nimport { useRadioButtonGroupContext } from \"./context\";\nimport type { IconSlot } from \"../../interfaces/Icon\";\nimport { Direction as GroupDirection } from \"./context\";\nimport Touchable from \"../Touchable\";\nimport { extractStyles, getValueForRadioButton } from \"../../utilities\";\n\nexport enum Direction {\n Row = \"row\",\n RowReverse = \"row-reverse\",\n}\n\nexport interface RadioButtonRowProps extends Omit<RadioButtonProps, \"onPress\"> {\n label: string | React.ReactNode;\n value: string | number; // A string (or number that will be parsed String(number)) that this radio button row represents when selected\n color?: string;\n unselectedColor?: string;\n labelContainerStyle: StyleProp<ViewStyle>;\n radioButtonStyle?: StyleProp<ViewStyle>;\n labelStyle?: StyleProp<TextStyle>;\n onPress?: (value: string) => void;\n direction?: Direction;\n}\n\nconst getRadioButtonAlignment = (\n parentDirection: GroupDirection | undefined,\n direction: Direction\n) => {\n if (parentDirection === GroupDirection.Horizontal) {\n return direction === Direction.Row ? \"flex-start\" : \"flex-end\";\n } else if (direction === Direction.RowReverse) {\n return \"flex-start\";\n } else {\n return \"flex-end\";\n }\n};\n\nconst renderLabel = (\n value: string | React.ReactNode,\n labelStyle: StyleProp<TextStyle>,\n textStyle: StyleProp<TextStyle>\n) => {\n if (typeof value === \"string\") {\n return <Text style={[labelStyle, textStyle]}>{value}</Text>;\n } else {\n return <>{value}</>;\n }\n};\n\nconst RadioButtonRow: React.FC<RadioButtonRowProps & IconSlot> = ({\n Icon,\n label,\n value = \"\",\n color,\n unselectedColor,\n onPress,\n labelContainerStyle,\n labelStyle,\n radioButtonStyle,\n direction = Direction.Row,\n selected,\n disabled,\n style,\n ...rest\n}) => {\n const {\n value: contextValue,\n onValueChange,\n direction: parentDirection,\n } = useRadioButtonGroupContext();\n\n const realValue = getValueForRadioButton(value);\n const realContextValue = getValueForRadioButton(contextValue);\n const isSelected = selected ?? realContextValue === realValue;\n\n const handlePress = () => {\n onPress?.(realValue);\n onValueChange?.(realValue);\n };\n\n const { textStyles, viewStyles } = extractStyles(style);\n\n return (\n <Touchable\n onPress={handlePress}\n style={[styles.mainParent, { flexDirection: direction }, viewStyles]}\n disabled={disabled}\n {...rest}\n >\n <View\n style={[\n styles.label,\n {\n alignItems: direction === Direction.Row ? \"flex-start\" : \"flex-end\",\n },\n labelContainerStyle,\n ]}\n >\n {renderLabel(label, labelStyle, textStyles)}\n </View>\n <View\n style={{\n flex: 1,\n alignItems: getRadioButtonAlignment(parentDirection, direction),\n }}\n >\n <RadioButton\n Icon={Icon}\n selected={isSelected}\n value={realValue}\n color={color}\n unselectedColor={unselectedColor}\n style={radioButtonStyle}\n />\n </View>\n </Touchable>\n );\n};\n\nconst styles = StyleSheet.create({\n mainParent: {\n alignItems: \"center\",\n justifyContent: \"space-around\",\n paddingStart: 20,\n minHeight: 50,\n paddingEnd: 20,\n flex: 1,\n ...Platform.select({\n web: {\n cursor: \"pointer\",\n userSelect: \"none\",\n },\n }),\n },\n label: {\n flex: 3,\n },\n});\n\nexport default RadioButtonRow;\n"]}
1
+ {"version":3,"sources":["RadioButtonRow.tsx"],"names":["React","StyleSheet","View","Platform","RadioButton","Text","useRadioButtonGroupContext","Direction","GroupDirection","Touchable","extractStyles","getValueForRadioButton","getRadioButtonAlignment","parentDirection","direction","Horizontal","Row","RowReverse","renderLabel","value","labelStyle","textStyle","RadioButtonRow","Icon","label","color","unselectedColor","onPress","labelContainerStyle","radioButtonStyle","selected","disabled","style","rest","contextValue","onValueChange","realValue","realContextValue","isSelected","handlePress","textStyles","viewStyles","styles","mainParent","flexDirection","alignItems","flex","create","justifyContent","paddingStart","minHeight","paddingEnd","display","select","web","cursor","userSelect"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport {\n StyleProp,\n ViewStyle,\n StyleSheet,\n TextStyle,\n View,\n Platform,\n} from \"react-native\";\nimport RadioButton, { RadioButtonProps } from \"./RadioButton\";\nimport Text from \"../Text\";\nimport { useRadioButtonGroupContext } from \"./context\";\nimport type { IconSlot } from \"../../interfaces/Icon\";\nimport { Direction as GroupDirection } from \"./context\";\nimport Touchable from \"../Touchable\";\nimport { extractStyles, getValueForRadioButton } from \"../../utilities\";\n\nexport enum Direction {\n Row = \"row\",\n RowReverse = \"row-reverse\",\n}\n\nexport interface RadioButtonRowProps extends Omit<RadioButtonProps, \"onPress\"> {\n label: string | React.ReactNode;\n value: string | number; // A string (or number that will be parsed String(number)) that this radio button row represents when selected\n color?: string;\n unselectedColor?: string;\n labelContainerStyle: StyleProp<ViewStyle>;\n radioButtonStyle?: StyleProp<ViewStyle>;\n labelStyle?: StyleProp<TextStyle>;\n onPress?: (value: string) => void;\n direction?: Direction;\n}\n\nconst getRadioButtonAlignment = (\n parentDirection: GroupDirection | undefined,\n direction: Direction\n) => {\n if (parentDirection === GroupDirection.Horizontal) {\n return direction === Direction.Row ? \"flex-start\" : \"flex-end\";\n } else if (direction === Direction.RowReverse) {\n return \"flex-start\";\n } else {\n return \"flex-end\";\n }\n};\n\nconst renderLabel = (\n value: string | React.ReactNode,\n labelStyle: StyleProp<TextStyle>,\n textStyle: StyleProp<TextStyle>\n) => {\n if (typeof value === \"string\") {\n return <Text style={[labelStyle, textStyle]}>{value}</Text>;\n } else {\n return <>{value}</>;\n }\n};\n\nconst RadioButtonRow: React.FC<RadioButtonRowProps & IconSlot> = ({\n Icon,\n label,\n value = \"\",\n color,\n unselectedColor,\n onPress,\n labelContainerStyle,\n labelStyle,\n radioButtonStyle,\n direction = Direction.Row,\n selected,\n disabled,\n style,\n ...rest\n}) => {\n const {\n value: contextValue,\n onValueChange,\n direction: parentDirection,\n } = useRadioButtonGroupContext();\n\n const realValue = getValueForRadioButton(value);\n const realContextValue = getValueForRadioButton(contextValue);\n const isSelected = selected ?? realContextValue === realValue;\n\n const handlePress = () => {\n onPress?.(realValue);\n onValueChange?.(realValue);\n };\n\n const { textStyles, viewStyles } = extractStyles(style);\n\n return (\n <Touchable\n onPress={handlePress}\n style={[styles.mainParent, { flexDirection: direction }, viewStyles]}\n disabled={disabled}\n {...rest}\n >\n <View\n style={[\n styles.label,\n {\n alignItems: direction === Direction.Row ? \"flex-start\" : \"flex-end\",\n },\n labelContainerStyle,\n ]}\n >\n {renderLabel(label, labelStyle, textStyles)}\n </View>\n <View\n style={{\n flex: 1,\n alignItems: getRadioButtonAlignment(parentDirection, direction),\n }}\n >\n <RadioButton\n Icon={Icon}\n selected={isSelected}\n value={realValue}\n color={color}\n unselectedColor={unselectedColor}\n style={radioButtonStyle}\n />\n </View>\n </Touchable>\n );\n};\n\nconst styles = StyleSheet.create({\n mainParent: {\n alignItems: \"center\",\n justifyContent: \"space-around\",\n paddingStart: 20,\n minHeight: 50,\n paddingEnd: 20,\n display: \"flex\",\n ...Platform.select({\n web: {\n cursor: \"pointer\",\n userSelect: \"none\",\n },\n }),\n },\n label: {\n flex: 3,\n },\n});\n\nexport default RadioButtonRow;\n"]}
@@ -288,7 +288,8 @@ class TextField extends React.Component {
288
288
  };
289
289
  const leftIconStyle = {
290
290
  position: "absolute",
291
- marginTop: type === "solid" ? MINIMIZED_LABEL_FONT_SIZE + 4 : leftIconMode === "outset" ? 16 : 0
291
+ marginTop: type === "solid" ? MINIMIZED_LABEL_FONT_SIZE + 4 : leftIconMode === "outset" ? 16 : 0,
292
+ marginLeft: leftIconMode === "inset" && type === "solid" ? 16 : 0
292
293
  };
293
294
  const labelStyle = { ...typography.subtitle1,
294
295
  top: type === "solid" ? 16 : 0,
@@ -402,11 +403,13 @@ class TextField extends React.Component {
402
403
  opacity: hasActiveOutline ? this.state.labeled : 1
403
404
  }],
404
405
  numberOfLines: 1
405
- }, label)) : null, leftIconName && leftIconMode === "inset" ? /*#__PURE__*/React.createElement(Icon, _extends({}, leftIconProps, {
406
- style: { ...leftIconStyle,
407
- marginLeft: type === "solid" ? 16 : 0
406
+ }, label)) : null, leftIconName && leftIconMode === "inset" ? /*#__PURE__*/React.createElement(View, {
407
+ style: {
408
+ justifyContent: type === "solid" ? "center" : undefined
408
409
  }
409
- })) : null, render({
410
+ }, /*#__PURE__*/React.createElement(Icon, _extends({}, leftIconProps, {
411
+ style: leftIconStyle
412
+ }))) : null, render({
410
413
  ref: c => {
411
414
  this._root = c;
412
415
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["TextField.tsx"],"names":["React","View","Animated","TextInput","NativeTextInput","StyleSheet","Text","I18nManager","withTheme","applyStyles","extractStyles","AnimatedText","createAnimatedComponent","FOCUS_ANIMATION_DURATION","BLUR_ANIMATION_DURATION","ICON_SIZE","TextField","Component","labeled","Value","props","value","error","focused","placeholder","labelLayout","measured","width","setTimeout","clearTimeout","_timer","setState","timing","state","toValue","duration","useNativeDriver","start","disabled","onChangeText","nativeEvent","text","undefined","getDerivedStateFromProps","nextProps","prevState","componentDidMount","defaultValue","_handleChangeText","_minmizeLabel","componentDidUpdate","prevProps","_restoreLabel","label","_showPlaceholder","_hidePlaceholder","componentWillUnmount","toggleFocus","setNativeProps","args","_root","isFocused","clear","focus","blur","render","Icon","type","leftIconName","leftIconMode","rightIconName","assistiveText","underlineColor","underlineColorProp","multiline","numberOfLines","style","theme","colors","typography","roundness","disabledOpacity","rest","MINIMIZED_LABEL_Y_OFFSET","caption","lineHeight","OUTLINE_MINIMIZED_LABEL_Y_OFFSET","MAXIMIZED_LABEL_FONT_SIZE","subtitle1","fontSize","MINIMIZED_LABEL_FONT_SIZE","hasActiveOutline","inputTextColor","activeColor","borderColor","placeholderColor","containerStyle","backgroundColor","inputStyle","strong","light","divider","primary","background","placeholderTextColor","paddingVertical","color","paddingLeft","paddingRight","height","assistiveTextLeftMargin","borderTopLeftRadius","borderTopRightRadius","paddingBottom","marginTop","borderRadius","borderWidth","paddingTop","opacity","paddingHorizontal","marginLeft","leftIconColor","leftIconProps","size","name","leftIconStyle","position","labelStyle","top","left","transform","translateY","interpolate","inputRange","outputRange","scale","translateX","textStyles","inputStyles","styles","input","marginHorizontal","bgColor","padding","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderCol","styleProp","flatten","container","underline","scaleY","absoluteFill","e","layout","ref","c","onChange","editable","selectionColor","onFocus","_handleFocus","onBlur","_handleBlur","underlineColorAndroid","right","create","alignSelf","bottom","flexGrow","justifyContent","textAlignVertical","margin","textAlign","isRTL"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport {\n View,\n Animated,\n TextInput as NativeTextInput,\n StyleSheet,\n Text,\n I18nManager,\n StyleProp,\n TextInputProps,\n NativeSyntheticEvent,\n TextInputChangeEventData,\n ViewStyle,\n TextStyle,\n LayoutChangeEvent,\n ImageStyle,\n} from \"react-native\";\nimport { withTheme } from \"../theming\";\nimport type { Theme } from \"../styles/DefaultTheme\";\nimport type { IconSlot } from \"../interfaces/Icon\";\nimport { applyStyles, extractStyles } from \"../utilities\";\n\nconst AnimatedText = Animated.createAnimatedComponent(Text);\n\nconst FOCUS_ANIMATION_DURATION = 150;\nconst BLUR_ANIMATION_DURATION = 180;\nconst ICON_SIZE = 24;\n\nexport type Props = {\n type?: \"solid\" | \"underline\";\n defaultValue?: string;\n disabled?: boolean;\n label?: string;\n error?: boolean;\n leftIconName?: string;\n leftIconMode?: \"inset\" | \"outset\";\n onChangeText: (\n text: string | NativeSyntheticEvent<TextInputChangeEventData>\n ) => void;\n rightIconName?: string;\n assistiveText?: string;\n multiline?: boolean;\n numberOfLines: number;\n underlineColor?: string;\n style?: StyleProp<ViewStyle> & { height?: number };\n theme: Theme;\n render?: (\n props: TextInputProps & { ref: (c: NativeTextInput) => void }\n ) => React.ReactNode;\n} & TextInputProps &\n IconSlot;\n\ninterface State {\n labeled: Animated.Value;\n focused?: boolean;\n placeholder?: string | undefined;\n labelLayout: {\n measured: boolean;\n width: number;\n };\n value?: string;\n}\n\nclass TextField extends React.Component<Props, State> {\n static getDerivedStateFromProps(nextProps: Props, prevState: State) {\n return {\n value:\n typeof nextProps.value !== \"undefined\"\n ? nextProps.value\n : prevState.value,\n };\n }\n\n state: State = {\n labeled: new Animated.Value(this.props.value || this.props.error ? 0 : 1),\n focused: false,\n placeholder: this.props.error ? this.props.placeholder : \"\",\n labelLayout: {\n measured: false,\n width: 0,\n },\n };\n\n componentDidMount() {\n if (this.props.defaultValue) {\n this._handleChangeText(this.props.defaultValue);\n }\n\n if (this.props.placeholder) {\n this._minmizeLabel();\n }\n }\n\n componentDidUpdate(prevProps: Props, prevState: State) {\n if (\n prevState.focused !== this.state.focused ||\n prevState.value !== this.state.value\n ) {\n // The label should be minimized if the text input is focused, or has text\n // In minimized mode, the label moves up and becomes small\n if (\n this.state.value ||\n this.state.focused ||\n this.props.error ||\n this.props.placeholder\n ) {\n this._minmizeLabel();\n } else {\n this._restoreLabel();\n }\n }\n\n if (\n prevState.focused !== this.state.focused ||\n prevProps.label !== this.props.label\n ) {\n // Show placeholder text only if the input is focused, or has error, or there's no label\n // We don't show placeholder if there's a label because the label acts as placeholder\n // When focused, the label moves up, so we can show a placeholder\n if (this.state.focused || this.props.error || !this.props.label) {\n this._showPlaceholder();\n } else {\n this._hidePlaceholder();\n }\n }\n }\n\n _timer = setTimeout(() => {}, 0);\n\n componentWillUnmount() {\n clearTimeout(this._timer);\n }\n\n _showPlaceholder = () => {\n clearTimeout(this._timer);\n\n // Set the placeholder in a delay to offset the label animation\n // If we show it immediately, they'll overlap and look ugly\n this._timer = setTimeout(\n () =>\n this.setState({\n placeholder: this.props.placeholder,\n }),\n 50\n );\n };\n\n _hidePlaceholder = () =>\n this.setState({\n placeholder: \"\",\n });\n\n _restoreLabel = () =>\n Animated.timing(this.state.labeled, {\n toValue: 1,\n duration: FOCUS_ANIMATION_DURATION,\n useNativeDriver: true,\n }).start();\n\n _minmizeLabel = () =>\n Animated.timing(this.state.labeled, {\n toValue: 0,\n duration: BLUR_ANIMATION_DURATION,\n useNativeDriver: true,\n }).start();\n\n _handleFocus = () => {\n if (this.props.disabled) {\n return;\n }\n\n this.setState({ focused: true });\n };\n\n _handleBlur = () => {\n if (this.props.disabled) {\n return;\n }\n\n this.setState({ focused: false });\n };\n\n _handleChangeText = (\n value: NativeSyntheticEvent<TextInputChangeEventData> | string\n ) => {\n if (this.props.disabled) {\n return;\n }\n\n if (typeof value === \"string\") {\n this.setState({ value });\n this.props.onChangeText && this.props.onChangeText(value);\n } else {\n this.setState({ value: value.nativeEvent.text });\n this.props.onChangeText &&\n this.props.onChangeText(value.nativeEvent.text);\n }\n };\n\n toggleFocus() {\n this.setState((prevState: State) => ({ focused: !prevState.focused }));\n }\n\n _root: NativeTextInput | undefined = undefined;\n /**\n * @internal\n */\n setNativeProps(args: Props) {\n return this._root && this._root.setNativeProps(args);\n }\n\n isFocused() {\n return this._root && this._root.isFocused();\n }\n\n clear() {\n return this._root && this._root.clear();\n }\n\n focus() {\n return this._root && this._root.focus();\n }\n\n blur() {\n return this._root && this._root.blur();\n }\n\n render() {\n const {\n Icon,\n type = \"underline\",\n disabled = false,\n label,\n error = false,\n leftIconName,\n leftIconMode,\n rightIconName,\n assistiveText,\n underlineColor: underlineColorProp,\n multiline = false,\n numberOfLines = 4,\n style,\n theme: { colors, typography, roundness, disabledOpacity },\n render = (props) => <NativeTextInput {...props} />,\n ...rest\n } = this.props;\n\n const MINIMIZED_LABEL_Y_OFFSET = -(typography.caption.lineHeight + 4);\n const OUTLINE_MINIMIZED_LABEL_Y_OFFSET = -(16 * 0.5 + 4);\n const MAXIMIZED_LABEL_FONT_SIZE = typography.subtitle1.fontSize;\n const MINIMIZED_LABEL_FONT_SIZE = typography.caption.fontSize;\n\n const hasActiveOutline = this.state.focused || error;\n\n let inputTextColor,\n activeColor,\n underlineColor,\n borderColor,\n placeholderColor,\n containerStyle: StyleProp<ViewStyle>,\n backgroundColor,\n inputStyle: StyleProp<TextStyle>;\n\n inputTextColor = colors.strong;\n if (disabled) {\n activeColor = colors.light;\n placeholderColor = colors.light;\n borderColor = \"transparent\";\n underlineColor = \"transparent\";\n backgroundColor = colors.divider;\n } else {\n activeColor = error ? colors.error : colors.primary;\n placeholderColor = borderColor = colors.light;\n underlineColor = underlineColorProp;\n backgroundColor = colors.background;\n }\n\n if (rest.placeholderTextColor) {\n placeholderColor = rest.placeholderTextColor;\n }\n\n const { lineHeight, ...subtitle1 } = typography.subtitle1;\n\n inputStyle = {\n paddingVertical: 0,\n color: inputTextColor,\n paddingLeft:\n leftIconName && leftIconMode === \"inset\"\n ? ICON_SIZE + 12 + (type === \"solid\" ? 16 : 0)\n : 0,\n paddingRight: rightIconName ? ICON_SIZE + 16 + 4 : 12,\n ...subtitle1,\n };\n\n if (!multiline) {\n inputStyle.height = lineHeight;\n }\n\n let assistiveTextLeftMargin;\n if (type === \"underline\") {\n containerStyle = {\n borderTopLeftRadius: roundness,\n borderTopRightRadius: roundness,\n paddingBottom: 12,\n marginTop: 16,\n };\n\n if (leftIconName && leftIconMode === \"outset\") {\n assistiveTextLeftMargin = ICON_SIZE + 8;\n } else {\n assistiveTextLeftMargin = 0;\n }\n } else {\n containerStyle = {\n borderRadius: roundness,\n borderColor: hasActiveOutline ? activeColor : borderColor,\n borderWidth: 1,\n paddingTop: label ? 16 * 1.5 : 16,\n paddingBottom: label ? 16 * 0.5 : 16,\n opacity: disabled ? disabledOpacity : 1,\n backgroundColor,\n };\n\n if (leftIconName && leftIconMode === \"inset\") {\n assistiveTextLeftMargin = 16 + 4;\n } else if (leftIconName && leftIconMode === \"outset\") {\n assistiveTextLeftMargin = ICON_SIZE + 8 + 12;\n } else {\n assistiveTextLeftMargin = 12;\n }\n\n inputStyle.paddingHorizontal = 12;\n }\n\n if (leftIconName && leftIconMode === \"outset\") {\n containerStyle.marginLeft = ICON_SIZE + 8;\n }\n\n let leftIconColor;\n if (error) {\n leftIconColor = colors.error;\n } else if (this.state.focused) {\n leftIconColor = colors.primary;\n } else {\n leftIconColor = colors.light;\n }\n\n const leftIconProps = {\n size: 24,\n color: leftIconColor,\n name: leftIconName || \"\",\n };\n\n const leftIconStyle: ImageStyle = {\n position: \"absolute\",\n marginTop:\n type === \"solid\"\n ? MINIMIZED_LABEL_FONT_SIZE + 4\n : leftIconMode === \"outset\"\n ? 16\n : 0,\n };\n\n const labelStyle = {\n ...typography.subtitle1,\n top: type === \"solid\" ? 16 : 0,\n left:\n leftIconName && leftIconMode === \"inset\"\n ? ICON_SIZE + (type === \"solid\" ? 16 : 12)\n : 0,\n transform: [\n {\n // Move label to top\n translateY: this.state.labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [\n type === \"solid\"\n ? OUTLINE_MINIMIZED_LABEL_Y_OFFSET\n : MINIMIZED_LABEL_Y_OFFSET,\n 0,\n ],\n }),\n },\n {\n // Make label smaller\n scale: this.state.labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [\n MINIMIZED_LABEL_FONT_SIZE / MAXIMIZED_LABEL_FONT_SIZE,\n 1,\n ],\n }),\n },\n {\n // Offset label scale since RN doesn't support transform origin\n translateX: this.state.labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [\n -(1 - MINIMIZED_LABEL_FONT_SIZE / MAXIMIZED_LABEL_FONT_SIZE) *\n (this.state.labelLayout.width / 2),\n 0,\n ],\n }),\n },\n ],\n };\n\n const { textStyles } = extractStyles(style);\n const inputStyles = applyStyles(\n [\n styles.input,\n inputStyle,\n type === \"solid\" ? { marginHorizontal: 12 } : {},\n ],\n textStyles\n );\n\n const {\n backgroundColor: bgColor,\n padding,\n paddingTop,\n paddingBottom,\n paddingLeft,\n paddingRight,\n borderRadius,\n borderWidth,\n borderTopWidth,\n borderRightWidth,\n borderBottomWidth,\n borderLeftWidth,\n borderColor: borderCol,\n ...styleProp\n } = StyleSheet.flatten(style || {}) as ViewStyle & { height?: number };\n\n return (\n <View style={[styles.container, styleProp]}>\n {leftIconName && leftIconMode === \"outset\" ? (\n <Icon {...leftIconProps} style={leftIconStyle} />\n ) : null}\n <View\n style={applyStyles([containerStyle], {\n height: style?.height,\n backgroundColor: bgColor,\n padding,\n paddingTop,\n paddingBottom,\n paddingLeft,\n paddingRight,\n borderRadius,\n borderWidth,\n borderTopWidth,\n borderRightWidth,\n borderBottomWidth,\n borderLeftWidth,\n borderColor: borderCol,\n })}\n >\n {type === \"underline\" ? (\n // When type === 'flat', render an underline\n <Animated.View\n style={[\n styles.underline,\n {\n backgroundColor:\n bgColor ||\n (error\n ? colors.error\n : this.state.focused\n ? activeColor\n : underlineColor),\n // Underlines is thinner when input is not focused\n transform: [{ scaleY: this.state.focused ? 1 : 0.5 }],\n },\n ]}\n />\n ) : null}\n\n {label ? (\n // Position colored placeholder and gray placeholder on top of each other and crossfade them\n // This gives the effect of animating the color, but allows us to use native driver\n <View\n pointerEvents=\"none\"\n style={[\n StyleSheet.absoluteFill,\n {\n opacity:\n // Hide the label in minimized state until we measure its width\n this.state.value || this.state.focused\n ? this.state.labelLayout.measured\n ? 1\n : 0\n : 1,\n },\n ]}\n >\n <AnimatedText\n onLayout={(e: LayoutChangeEvent) =>\n this.setState({\n labelLayout: {\n width: e.nativeEvent.layout.width,\n measured: true,\n },\n })\n }\n style={[\n styles.placeholder,\n type === \"solid\" ? { paddingHorizontal: 12 } : {},\n labelStyle,\n {\n color: placeholderColor,\n opacity: this.state.labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [hasActiveOutline ? 1 : 0, 0],\n }),\n },\n ]}\n numberOfLines={1}\n >\n {label}\n </AnimatedText>\n <AnimatedText\n style={[\n styles.placeholder,\n type === \"solid\" ? { paddingHorizontal: 12 } : {},\n labelStyle,\n {\n color: placeholderColor,\n opacity: hasActiveOutline ? this.state.labeled : 1,\n },\n ]}\n numberOfLines={1}\n >\n {label}\n </AnimatedText>\n </View>\n ) : null}\n\n {leftIconName && leftIconMode === \"inset\" ? (\n <Icon\n {...leftIconProps}\n style={{\n ...leftIconStyle,\n marginLeft: type === \"solid\" ? 16 : 0,\n }}\n />\n ) : null}\n\n {render({\n ref: (c: NativeTextInput) => {\n this._root = c;\n },\n onChange: this._handleChangeText,\n placeholder: label\n ? this.state.placeholder\n : this.props.placeholder,\n placeholderTextColor: placeholderColor,\n editable: !disabled,\n selectionColor: activeColor,\n multiline,\n numberOfLines,\n onFocus: this._handleFocus,\n onBlur: this._handleBlur,\n underlineColorAndroid: \"transparent\",\n style: inputStyles,\n ...rest,\n value: this.state.value,\n })}\n </View>\n {rightIconName ? (\n <Icon\n name={rightIconName}\n size={ICON_SIZE}\n color={colors.light}\n style={{\n position: \"absolute\",\n right: 16,\n marginTop: type === \"solid\" ? MINIMIZED_LABEL_FONT_SIZE + 4 : 16,\n }}\n />\n ) : null}\n\n {assistiveText ? (\n <Text\n style={[\n {\n color: error ? colors.error : colors.light,\n marginTop: 8,\n marginLeft: assistiveTextLeftMargin,\n },\n ]}\n >\n {assistiveText}\n </Text>\n ) : null}\n </View>\n );\n }\n}\n\nexport default withTheme(TextField);\n\nconst styles = StyleSheet.create({\n container: {\n alignSelf: \"stretch\",\n },\n placeholder: {\n position: \"absolute\",\n left: 0,\n },\n underline: {\n position: \"absolute\",\n left: 0,\n right: 0,\n bottom: 0,\n height: 2,\n },\n input: {\n flexGrow: 1,\n justifyContent: \"center\",\n textAlignVertical: \"center\",\n margin: 0,\n textAlign: I18nManager.isRTL ? \"right\" : \"left\",\n },\n});\n"]}
1
+ {"version":3,"sources":["TextField.tsx"],"names":["React","View","Animated","TextInput","NativeTextInput","StyleSheet","Text","I18nManager","withTheme","applyStyles","extractStyles","AnimatedText","createAnimatedComponent","FOCUS_ANIMATION_DURATION","BLUR_ANIMATION_DURATION","ICON_SIZE","TextField","Component","labeled","Value","props","value","error","focused","placeholder","labelLayout","measured","width","setTimeout","clearTimeout","_timer","setState","timing","state","toValue","duration","useNativeDriver","start","disabled","onChangeText","nativeEvent","text","undefined","getDerivedStateFromProps","nextProps","prevState","componentDidMount","defaultValue","_handleChangeText","_minmizeLabel","componentDidUpdate","prevProps","_restoreLabel","label","_showPlaceholder","_hidePlaceholder","componentWillUnmount","toggleFocus","setNativeProps","args","_root","isFocused","clear","focus","blur","render","Icon","type","leftIconName","leftIconMode","rightIconName","assistiveText","underlineColor","underlineColorProp","multiline","numberOfLines","style","theme","colors","typography","roundness","disabledOpacity","rest","MINIMIZED_LABEL_Y_OFFSET","caption","lineHeight","OUTLINE_MINIMIZED_LABEL_Y_OFFSET","MAXIMIZED_LABEL_FONT_SIZE","subtitle1","fontSize","MINIMIZED_LABEL_FONT_SIZE","hasActiveOutline","inputTextColor","activeColor","borderColor","placeholderColor","containerStyle","backgroundColor","inputStyle","strong","light","divider","primary","background","placeholderTextColor","paddingVertical","color","paddingLeft","paddingRight","height","assistiveTextLeftMargin","borderTopLeftRadius","borderTopRightRadius","paddingBottom","marginTop","borderRadius","borderWidth","paddingTop","opacity","paddingHorizontal","marginLeft","leftIconColor","leftIconProps","size","name","leftIconStyle","position","labelStyle","top","left","transform","translateY","interpolate","inputRange","outputRange","scale","translateX","textStyles","inputStyles","styles","input","marginHorizontal","bgColor","padding","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderCol","styleProp","flatten","container","underline","scaleY","absoluteFill","e","layout","justifyContent","ref","c","onChange","editable","selectionColor","onFocus","_handleFocus","onBlur","_handleBlur","underlineColorAndroid","right","create","alignSelf","bottom","flexGrow","textAlignVertical","margin","textAlign","isRTL"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport {\n View,\n Animated,\n TextInput as NativeTextInput,\n StyleSheet,\n Text,\n I18nManager,\n StyleProp,\n TextInputProps,\n NativeSyntheticEvent,\n TextInputChangeEventData,\n ViewStyle,\n TextStyle,\n LayoutChangeEvent,\n ImageStyle,\n} from \"react-native\";\nimport { withTheme } from \"../theming\";\nimport type { Theme } from \"../styles/DefaultTheme\";\nimport type { IconSlot } from \"../interfaces/Icon\";\nimport { applyStyles, extractStyles } from \"../utilities\";\n\nconst AnimatedText = Animated.createAnimatedComponent(Text);\n\nconst FOCUS_ANIMATION_DURATION = 150;\nconst BLUR_ANIMATION_DURATION = 180;\nconst ICON_SIZE = 24;\n\nexport type Props = {\n type?: \"solid\" | \"underline\";\n defaultValue?: string;\n disabled?: boolean;\n label?: string;\n error?: boolean;\n leftIconName?: string;\n leftIconMode?: \"inset\" | \"outset\";\n onChangeText: (\n text: string | NativeSyntheticEvent<TextInputChangeEventData>\n ) => void;\n rightIconName?: string;\n assistiveText?: string;\n multiline?: boolean;\n numberOfLines: number;\n underlineColor?: string;\n style?: StyleProp<ViewStyle> & { height?: number };\n theme: Theme;\n render?: (\n props: TextInputProps & { ref: (c: NativeTextInput) => void }\n ) => React.ReactNode;\n} & TextInputProps &\n IconSlot;\n\ninterface State {\n labeled: Animated.Value;\n focused?: boolean;\n placeholder?: string | undefined;\n labelLayout: {\n measured: boolean;\n width: number;\n };\n value?: string;\n}\n\nclass TextField extends React.Component<Props, State> {\n static getDerivedStateFromProps(nextProps: Props, prevState: State) {\n return {\n value:\n typeof nextProps.value !== \"undefined\"\n ? nextProps.value\n : prevState.value,\n };\n }\n\n state: State = {\n labeled: new Animated.Value(this.props.value || this.props.error ? 0 : 1),\n focused: false,\n placeholder: this.props.error ? this.props.placeholder : \"\",\n labelLayout: {\n measured: false,\n width: 0,\n },\n };\n\n componentDidMount() {\n if (this.props.defaultValue) {\n this._handleChangeText(this.props.defaultValue);\n }\n\n if (this.props.placeholder) {\n this._minmizeLabel();\n }\n }\n\n componentDidUpdate(prevProps: Props, prevState: State) {\n if (\n prevState.focused !== this.state.focused ||\n prevState.value !== this.state.value\n ) {\n // The label should be minimized if the text input is focused, or has text\n // In minimized mode, the label moves up and becomes small\n if (\n this.state.value ||\n this.state.focused ||\n this.props.error ||\n this.props.placeholder\n ) {\n this._minmizeLabel();\n } else {\n this._restoreLabel();\n }\n }\n\n if (\n prevState.focused !== this.state.focused ||\n prevProps.label !== this.props.label\n ) {\n // Show placeholder text only if the input is focused, or has error, or there's no label\n // We don't show placeholder if there's a label because the label acts as placeholder\n // When focused, the label moves up, so we can show a placeholder\n if (this.state.focused || this.props.error || !this.props.label) {\n this._showPlaceholder();\n } else {\n this._hidePlaceholder();\n }\n }\n }\n\n _timer = setTimeout(() => {}, 0);\n\n componentWillUnmount() {\n clearTimeout(this._timer);\n }\n\n _showPlaceholder = () => {\n clearTimeout(this._timer);\n\n // Set the placeholder in a delay to offset the label animation\n // If we show it immediately, they'll overlap and look ugly\n this._timer = setTimeout(\n () =>\n this.setState({\n placeholder: this.props.placeholder,\n }),\n 50\n );\n };\n\n _hidePlaceholder = () =>\n this.setState({\n placeholder: \"\",\n });\n\n _restoreLabel = () =>\n Animated.timing(this.state.labeled, {\n toValue: 1,\n duration: FOCUS_ANIMATION_DURATION,\n useNativeDriver: true,\n }).start();\n\n _minmizeLabel = () =>\n Animated.timing(this.state.labeled, {\n toValue: 0,\n duration: BLUR_ANIMATION_DURATION,\n useNativeDriver: true,\n }).start();\n\n _handleFocus = () => {\n if (this.props.disabled) {\n return;\n }\n\n this.setState({ focused: true });\n };\n\n _handleBlur = () => {\n if (this.props.disabled) {\n return;\n }\n\n this.setState({ focused: false });\n };\n\n _handleChangeText = (\n value: NativeSyntheticEvent<TextInputChangeEventData> | string\n ) => {\n if (this.props.disabled) {\n return;\n }\n\n if (typeof value === \"string\") {\n this.setState({ value });\n this.props.onChangeText && this.props.onChangeText(value);\n } else {\n this.setState({ value: value.nativeEvent.text });\n this.props.onChangeText &&\n this.props.onChangeText(value.nativeEvent.text);\n }\n };\n\n toggleFocus() {\n this.setState((prevState: State) => ({ focused: !prevState.focused }));\n }\n\n _root: NativeTextInput | undefined = undefined;\n /**\n * @internal\n */\n setNativeProps(args: Props) {\n return this._root && this._root.setNativeProps(args);\n }\n\n isFocused() {\n return this._root && this._root.isFocused();\n }\n\n clear() {\n return this._root && this._root.clear();\n }\n\n focus() {\n return this._root && this._root.focus();\n }\n\n blur() {\n return this._root && this._root.blur();\n }\n\n render() {\n const {\n Icon,\n type = \"underline\",\n disabled = false,\n label,\n error = false,\n leftIconName,\n leftIconMode,\n rightIconName,\n assistiveText,\n underlineColor: underlineColorProp,\n multiline = false,\n numberOfLines = 4,\n style,\n theme: { colors, typography, roundness, disabledOpacity },\n render = (props) => <NativeTextInput {...props} />,\n ...rest\n } = this.props;\n\n const MINIMIZED_LABEL_Y_OFFSET = -(typography.caption.lineHeight + 4);\n const OUTLINE_MINIMIZED_LABEL_Y_OFFSET = -(16 * 0.5 + 4);\n const MAXIMIZED_LABEL_FONT_SIZE = typography.subtitle1.fontSize;\n const MINIMIZED_LABEL_FONT_SIZE = typography.caption.fontSize;\n\n const hasActiveOutline = this.state.focused || error;\n\n let inputTextColor,\n activeColor,\n underlineColor,\n borderColor,\n placeholderColor,\n containerStyle: StyleProp<ViewStyle>,\n backgroundColor,\n inputStyle: StyleProp<TextStyle>;\n\n inputTextColor = colors.strong;\n if (disabled) {\n activeColor = colors.light;\n placeholderColor = colors.light;\n borderColor = \"transparent\";\n underlineColor = \"transparent\";\n backgroundColor = colors.divider;\n } else {\n activeColor = error ? colors.error : colors.primary;\n placeholderColor = borderColor = colors.light;\n underlineColor = underlineColorProp;\n backgroundColor = colors.background;\n }\n\n if (rest.placeholderTextColor) {\n placeholderColor = rest.placeholderTextColor;\n }\n\n const { lineHeight, ...subtitle1 } = typography.subtitle1;\n\n inputStyle = {\n paddingVertical: 0,\n color: inputTextColor,\n paddingLeft:\n leftIconName && leftIconMode === \"inset\"\n ? ICON_SIZE + 12 + (type === \"solid\" ? 16 : 0)\n : 0,\n paddingRight: rightIconName ? ICON_SIZE + 16 + 4 : 12,\n ...subtitle1,\n };\n\n if (!multiline) {\n inputStyle.height = lineHeight;\n }\n\n let assistiveTextLeftMargin;\n if (type === \"underline\") {\n containerStyle = {\n borderTopLeftRadius: roundness,\n borderTopRightRadius: roundness,\n paddingBottom: 12,\n marginTop: 16,\n };\n\n if (leftIconName && leftIconMode === \"outset\") {\n assistiveTextLeftMargin = ICON_SIZE + 8;\n } else {\n assistiveTextLeftMargin = 0;\n }\n } else {\n containerStyle = {\n borderRadius: roundness,\n borderColor: hasActiveOutline ? activeColor : borderColor,\n borderWidth: 1,\n paddingTop: label ? 16 * 1.5 : 16,\n paddingBottom: label ? 16 * 0.5 : 16,\n opacity: disabled ? disabledOpacity : 1,\n backgroundColor,\n };\n\n if (leftIconName && leftIconMode === \"inset\") {\n assistiveTextLeftMargin = 16 + 4;\n } else if (leftIconName && leftIconMode === \"outset\") {\n assistiveTextLeftMargin = ICON_SIZE + 8 + 12;\n } else {\n assistiveTextLeftMargin = 12;\n }\n\n inputStyle.paddingHorizontal = 12;\n }\n\n if (leftIconName && leftIconMode === \"outset\") {\n containerStyle.marginLeft = ICON_SIZE + 8;\n }\n\n let leftIconColor;\n if (error) {\n leftIconColor = colors.error;\n } else if (this.state.focused) {\n leftIconColor = colors.primary;\n } else {\n leftIconColor = colors.light;\n }\n\n const leftIconProps = {\n size: 24,\n color: leftIconColor,\n name: leftIconName || \"\",\n };\n\n const leftIconStyle: ImageStyle = {\n position: \"absolute\",\n marginTop:\n type === \"solid\"\n ? MINIMIZED_LABEL_FONT_SIZE + 4\n : leftIconMode === \"outset\"\n ? 16\n : 0,\n marginLeft: leftIconMode === \"inset\" && type === \"solid\" ? 16 : 0,\n };\n\n const labelStyle = {\n ...typography.subtitle1,\n top: type === \"solid\" ? 16 : 0,\n left:\n leftIconName && leftIconMode === \"inset\"\n ? ICON_SIZE + (type === \"solid\" ? 16 : 12)\n : 0,\n transform: [\n {\n // Move label to top\n translateY: this.state.labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [\n type === \"solid\"\n ? OUTLINE_MINIMIZED_LABEL_Y_OFFSET\n : MINIMIZED_LABEL_Y_OFFSET,\n 0,\n ],\n }),\n },\n {\n // Make label smaller\n scale: this.state.labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [\n MINIMIZED_LABEL_FONT_SIZE / MAXIMIZED_LABEL_FONT_SIZE,\n 1,\n ],\n }),\n },\n {\n // Offset label scale since RN doesn't support transform origin\n translateX: this.state.labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [\n -(1 - MINIMIZED_LABEL_FONT_SIZE / MAXIMIZED_LABEL_FONT_SIZE) *\n (this.state.labelLayout.width / 2),\n 0,\n ],\n }),\n },\n ],\n };\n\n const { textStyles } = extractStyles(style);\n const inputStyles = applyStyles(\n [\n styles.input,\n inputStyle,\n type === \"solid\" ? { marginHorizontal: 12 } : {},\n ],\n textStyles\n );\n\n const {\n backgroundColor: bgColor,\n padding,\n paddingTop,\n paddingBottom,\n paddingLeft,\n paddingRight,\n borderRadius,\n borderWidth,\n borderTopWidth,\n borderRightWidth,\n borderBottomWidth,\n borderLeftWidth,\n borderColor: borderCol,\n ...styleProp\n } = StyleSheet.flatten(style || {}) as ViewStyle & { height?: number };\n\n return (\n <View style={[styles.container, styleProp]}>\n {leftIconName && leftIconMode === \"outset\" ? (\n <Icon {...leftIconProps} style={leftIconStyle} />\n ) : null}\n <View\n style={applyStyles([containerStyle], {\n height: style?.height,\n backgroundColor: bgColor,\n padding,\n paddingTop,\n paddingBottom,\n paddingLeft,\n paddingRight,\n borderRadius,\n borderWidth,\n borderTopWidth,\n borderRightWidth,\n borderBottomWidth,\n borderLeftWidth,\n borderColor: borderCol,\n })}\n >\n {type === \"underline\" ? (\n // When type === 'flat', render an underline\n <Animated.View\n style={[\n styles.underline,\n {\n backgroundColor:\n bgColor ||\n (error\n ? colors.error\n : this.state.focused\n ? activeColor\n : underlineColor),\n // Underlines is thinner when input is not focused\n transform: [{ scaleY: this.state.focused ? 1 : 0.5 }],\n },\n ]}\n />\n ) : null}\n\n {label ? (\n // Position colored placeholder and gray placeholder on top of each other and crossfade them\n // This gives the effect of animating the color, but allows us to use native driver\n <View\n pointerEvents=\"none\"\n style={[\n StyleSheet.absoluteFill,\n {\n opacity:\n // Hide the label in minimized state until we measure its width\n this.state.value || this.state.focused\n ? this.state.labelLayout.measured\n ? 1\n : 0\n : 1,\n },\n ]}\n >\n <AnimatedText\n onLayout={(e: LayoutChangeEvent) =>\n this.setState({\n labelLayout: {\n width: e.nativeEvent.layout.width,\n measured: true,\n },\n })\n }\n style={[\n styles.placeholder,\n type === \"solid\" ? { paddingHorizontal: 12 } : {},\n labelStyle,\n {\n color: placeholderColor,\n opacity: this.state.labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [hasActiveOutline ? 1 : 0, 0],\n }),\n },\n ]}\n numberOfLines={1}\n >\n {label}\n </AnimatedText>\n <AnimatedText\n style={[\n styles.placeholder,\n type === \"solid\" ? { paddingHorizontal: 12 } : {},\n labelStyle,\n {\n color: placeholderColor,\n opacity: hasActiveOutline ? this.state.labeled : 1,\n },\n ]}\n numberOfLines={1}\n >\n {label}\n </AnimatedText>\n </View>\n ) : null}\n\n {leftIconName && leftIconMode === \"inset\" ? (\n <View\n style={{\n justifyContent: type === \"solid\" ? \"center\" : undefined,\n }}\n >\n <Icon {...leftIconProps} style={leftIconStyle} />\n </View>\n ) : null}\n\n {render({\n ref: (c: NativeTextInput) => {\n this._root = c;\n },\n onChange: this._handleChangeText,\n placeholder: label\n ? this.state.placeholder\n : this.props.placeholder,\n placeholderTextColor: placeholderColor,\n editable: !disabled,\n selectionColor: activeColor,\n multiline,\n numberOfLines,\n onFocus: this._handleFocus,\n onBlur: this._handleBlur,\n underlineColorAndroid: \"transparent\",\n style: inputStyles,\n ...rest,\n value: this.state.value,\n })}\n </View>\n {rightIconName ? (\n <Icon\n name={rightIconName}\n size={ICON_SIZE}\n color={colors.light}\n style={{\n position: \"absolute\",\n right: 16,\n marginTop: type === \"solid\" ? MINIMIZED_LABEL_FONT_SIZE + 4 : 16,\n }}\n />\n ) : null}\n\n {assistiveText ? (\n <Text\n style={[\n {\n color: error ? colors.error : colors.light,\n marginTop: 8,\n marginLeft: assistiveTextLeftMargin,\n },\n ]}\n >\n {assistiveText}\n </Text>\n ) : null}\n </View>\n );\n }\n}\n\nexport default withTheme(TextField);\n\nconst styles = StyleSheet.create({\n container: {\n alignSelf: \"stretch\",\n },\n placeholder: {\n position: \"absolute\",\n left: 0,\n },\n underline: {\n position: \"absolute\",\n left: 0,\n right: 0,\n bottom: 0,\n height: 2,\n },\n input: {\n flexGrow: 1,\n justifyContent: \"center\",\n textAlignVertical: \"center\",\n margin: 0,\n textAlign: I18nManager.isRTL ? \"right\" : \"left\",\n },\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["Touchable.web.tsx"],"names":["TouchableOpacity"],"mappings":"AAAA,SAASA,gBAAT,QAAiC,cAAjC;AAEA,eAAeA,gBAAf","sourcesContent":["import { TouchableOpacity } from \"react-native\";\n\nexport default TouchableOpacity;\n"]}
1
+ {"version":3,"sources":["Touchable.web.js"],"names":["TouchableOpacity"],"mappings":"AAAA,SAASA,gBAAT,QAAiC,cAAjC;AACA,eAAeA,gBAAf","sourcesContent":["import { TouchableOpacity } from \"react-native\";\nexport default TouchableOpacity;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["Typography.js"],"names":["React","Text","withTheme","Title","text","theme","style","createElement","fontSize","letterSpacing","lineHeight","color","colors","Subtitle","medium","Caption","light"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,IAAT,QAAqB,cAArB;AACA,SAASC,SAAT,QAA0B,YAA1B;AACA,OAAO,MAAMC,KAAK,GAAGD,SAAS,CAAC,QAA4B;AAAA,MAA3B;AAAEE,IAAAA,IAAF;AAAQC,IAAAA,KAAR;AAAeC,IAAAA;AAAf,GAA2B;AACvD,sBAAQN,KAAK,CAACO,aAAN,CAAoBN,IAApB,EAA0B;AAAEK,IAAAA,KAAK,EAAE,CACnC;AACIE,MAAAA,QAAQ,EAAE,EADd;AAEIC,MAAAA,aAAa,EAAE,CAFnB;AAGIC,MAAAA,UAAU,EAAE,EAHhB;AAIIC,MAAAA,KAAK,EAAEN,KAAK,CAACO,MAAN,CAAaR;AAJxB,KADmC,EAOnCE,KAPmC;AAAT,GAA1B,EAQCF,IARD,CAAR;AASH,CAV6B,CAAvB;AAWP,OAAO,MAAMS,QAAQ,GAAGX,SAAS,CAAC,SAA4B;AAAA,MAA3B;AAAEE,IAAAA,IAAF;AAAQC,IAAAA,KAAR;AAAeC,IAAAA;AAAf,GAA2B;AAC1D,sBAAQN,KAAK,CAACO,aAAN,CAAoBN,IAApB,EAA0B;AAAEK,IAAAA,KAAK,EAAE,CACnC;AACIE,MAAAA,QAAQ,EAAE,EADd;AAEIC,MAAAA,aAAa,EAAE,CAFnB;AAGIC,MAAAA,UAAU,EAAE,EAHhB;AAIIC,MAAAA,KAAK,EAAEN,KAAK,CAACO,MAAN,CAAaE;AAJxB,KADmC,EAOnCR,KAPmC;AAAT,GAA1B,EAQCF,IARD,CAAR;AASH,CAVgC,CAA1B;AAWP,OAAO,MAAMW,OAAO,GAAGb,SAAS,CAAC,SAA4B;AAAA,MAA3B;AAAEE,IAAAA,IAAF;AAAQC,IAAAA,KAAR;AAAeC,IAAAA;AAAf,GAA2B;AACzD,sBAAQN,KAAK,CAACO,aAAN,CAAoBN,IAApB,EAA0B;AAAEK,IAAAA,KAAK,EAAE,CACnC;AACIE,MAAAA,QAAQ,EAAE,EADd;AAEIC,MAAAA,aAAa,EAAE,CAFnB;AAGIC,MAAAA,UAAU,EAAE,EAHhB;AAIIC,MAAAA,KAAK,EAAEN,KAAK,CAACO,MAAN,CAAaI;AAJxB,KADmC,EAOnCV,KAPmC;AAAT,GAA1B,EAQCF,IARD,CAAR;AASH,CAV+B,CAAzB","sourcesContent":["import React from \"react\";\nimport { Text } from \"react-native\";\nimport { withTheme } from \"../theming\";\nexport const Title = withTheme(({ text, theme, style }) => {\n return (React.createElement(Text, { style: [\n {\n fontSize: 20,\n letterSpacing: 0,\n lineHeight: 26,\n color: theme.colors.text,\n },\n style,\n ] }, text));\n});\nexport const Subtitle = withTheme(({ text, theme, style }) => {\n return (React.createElement(Text, { style: [\n {\n fontSize: 14,\n letterSpacing: 0,\n lineHeight: 16,\n color: theme.colors.medium,\n },\n style,\n ] }, text));\n});\nexport const Caption = withTheme(({ text, theme, style }) => {\n return (React.createElement(Text, { style: [\n {\n fontSize: 12,\n letterSpacing: 0,\n lineHeight: 14,\n color: theme.colors.light,\n },\n style,\n ] }, text));\n});\n"]}
1
+ {"version":3,"sources":["Typography.tsx"],"names":["React","Text","withTheme","Title","text","theme","style","fontSize","letterSpacing","lineHeight","color","colors","Subtitle","medium","Caption","light"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,IAAT,QAA2C,cAA3C;AACA,SAASC,SAAT,QAA0B,YAA1B;AAYA,OAAO,MAAMC,KAAK,GAAGD,SAAS,CAAC,QAAmC;AAAA,MAAlC;AAAEE,IAAAA,IAAF;AAAQC,IAAAA,KAAR;AAAeC,IAAAA;AAAf,GAAkC;AAChE,sBACE,oBAAC,IAAD;AACE,IAAA,KAAK,EAAE,CACL;AACEC,MAAAA,QAAQ,EAAE,EADZ;AAEEC,MAAAA,aAAa,EAAE,CAFjB;AAGEC,MAAAA,UAAU,EAAE,EAHd;AAIEC,MAAAA,KAAK,EAAEL,KAAK,CAACM,MAAN,CAAaP;AAJtB,KADK,EAOLE,KAPK;AADT,KAWGF,IAXH,CADF;AAeD,CAhB6B,CAAvB;AAkBP,OAAO,MAAMQ,QAAQ,GAAGV,SAAS,CAAC,SAAmC;AAAA,MAAlC;AAAEE,IAAAA,IAAF;AAAQC,IAAAA,KAAR;AAAeC,IAAAA;AAAf,GAAkC;AACnE,sBACE,oBAAC,IAAD;AACE,IAAA,KAAK,EAAE,CACL;AACEC,MAAAA,QAAQ,EAAE,EADZ;AAEEC,MAAAA,aAAa,EAAE,CAFjB;AAGEC,MAAAA,UAAU,EAAE,EAHd;AAIEC,MAAAA,KAAK,EAAEL,KAAK,CAACM,MAAN,CAAaE;AAJtB,KADK,EAOLP,KAPK;AADT,KAWGF,IAXH,CADF;AAeD,CAhBgC,CAA1B;AAkBP,OAAO,MAAMU,OAAO,GAAGZ,SAAS,CAAC,SAAmC;AAAA,MAAlC;AAAEE,IAAAA,IAAF;AAAQC,IAAAA,KAAR;AAAeC,IAAAA;AAAf,GAAkC;AAClE,sBACE,oBAAC,IAAD;AACE,IAAA,KAAK,EAAE,CACL;AACEC,MAAAA,QAAQ,EAAE,EADZ;AAEEC,MAAAA,aAAa,EAAE,CAFjB;AAGEC,MAAAA,UAAU,EAAE,EAHd;AAIEC,MAAAA,KAAK,EAAEL,KAAK,CAACM,MAAN,CAAaI;AAJtB,KADK,EAOLT,KAPK;AADT,KAWGF,IAXH,CADF;AAeD,CAhB+B,CAAzB","sourcesContent":["import React from \"react\";\nimport { Text, TextStyle, StyleProp } from \"react-native\";\nimport { withTheme } from \"../theming\";\nimport Theme from \"../styles/DefaultTheme\";\n\ntype Props = {\n text: string;\n style?: StyleProp<TextStyle>;\n /**\n * @optional\n */\n theme: typeof Theme;\n};\n\nexport const Title = withTheme(({ text, theme, style }: Props) => {\n return (\n <Text\n style={[\n {\n fontSize: 20,\n letterSpacing: 0,\n lineHeight: 26,\n color: theme.colors.text,\n },\n style,\n ]}\n >\n {text}\n </Text>\n );\n});\n\nexport const Subtitle = withTheme(({ text, theme, style }: Props) => {\n return (\n <Text\n style={[\n {\n fontSize: 14,\n letterSpacing: 0,\n lineHeight: 16,\n color: theme.colors.medium,\n },\n style,\n ]}\n >\n {text}\n </Text>\n );\n});\n\nexport const Caption = withTheme(({ text, theme, style }: Props) => {\n return (\n <Text\n style={[\n {\n fontSize: 12,\n letterSpacing: 0,\n lineHeight: 14,\n color: theme.colors.light,\n },\n style,\n ]}\n >\n {text}\n </Text>\n );\n});\n"]}
@@ -1,4 +1,4 @@
1
- import { createTextProp, createTextStyle, createRowDirectionProp, createFieldNameProp, COMPONENT_TYPES, Triggers, createColorProp } from "@draftbit/types";
1
+ import { createBoolProp, createTextProp, createTextStyle, createRowDirectionProp, createFieldNameProp, createIconProp, createStaticNumberProp, COMPONENT_TYPES, Triggers, createColorProp } from "@draftbit/types";
2
2
  export const SEED_DATA = {
3
3
  name: "Checkbox Row",
4
4
  tag: "CheckboxRow",
@@ -6,8 +6,13 @@ export const SEED_DATA = {
6
6
  layout: {
7
7
  minHeight: 50
8
8
  },
9
- triggers: [Triggers.OnPress],
9
+ triggers: [Triggers.OnPress, Triggers.OnCheck, Triggers.OnUncheck],
10
10
  props: {
11
+ fieldName: createFieldNameProp({
12
+ defaultValue: "checkboxRowValue",
13
+ valuePropName: "value",
14
+ handlerPropName: "onPress"
15
+ }),
11
16
  label: createTextProp({
12
17
  label: "Label",
13
18
  description: "Label to show with the checkbox",
@@ -21,17 +26,31 @@ export const SEED_DATA = {
21
26
  editable: false
22
27
  }),
23
28
  direction: createRowDirectionProp(),
24
- fieldName: createFieldNameProp({
25
- defaultValue: "checkboxRowValue",
26
- valuePropName: "value",
27
- handlerPropName: "onPress"
28
- }),
29
29
  color: createColorProp({
30
30
  description: "Color for the button (used when the checkbox is checked)"
31
31
  }),
32
32
  uncheckedColor: createColorProp({
33
33
  label: "Unselected Color",
34
34
  description: "Color for the button when the checkbox is unchecked"
35
+ }),
36
+ disabled: createBoolProp({
37
+ label: "Disabled",
38
+ description: "Whether the checkbox is disabled"
39
+ }),
40
+ size: createStaticNumberProp({
41
+ label: "Size",
42
+ description: "Specifies the size of the icon",
43
+ defaultValue: null
44
+ }),
45
+ checkedIcon: createIconProp({
46
+ label: "Checked Icon",
47
+ description: 'Icon to show when the checkbox status is "checked"',
48
+ defaultValue: null
49
+ }),
50
+ uncheckedIcon: createIconProp({
51
+ label: "Unchecked Icon",
52
+ description: 'Icon to show when the checkbox status is "unchecked"',
53
+ defaultValue: null
35
54
  })
36
55
  }
37
56
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["CheckboxRow.ts"],"names":["createTextProp","createTextStyle","createRowDirectionProp","createFieldNameProp","COMPONENT_TYPES","Triggers","createColorProp","SEED_DATA","name","tag","category","input","layout","minHeight","triggers","OnPress","props","label","description","required","defaultValue","labelStyle","editable","direction","fieldName","valuePropName","handlerPropName","color","uncheckedColor"],"mappings":"AAAA,SACEA,cADF,EAEEC,eAFF,EAGEC,sBAHF,EAIEC,mBAJF,EAKEC,eALF,EAMEC,QANF,EAOEC,eAPF,QAQO,iBARP;AAUA,OAAO,MAAMC,SAAS,GAAG;AACvBC,EAAAA,IAAI,EAAE,cADiB;AAEvBC,EAAAA,GAAG,EAAE,aAFkB;AAGvBC,EAAAA,QAAQ,EAAEN,eAAe,CAACO,KAHH;AAIvBC,EAAAA,MAAM,EAAE;AACNC,IAAAA,SAAS,EAAE;AADL,GAJe;AAOvBC,EAAAA,QAAQ,EAAE,CAACT,QAAQ,CAACU,OAAV,CAPa;AAQvBC,EAAAA,KAAK,EAAE;AACLC,IAAAA,KAAK,EAAEjB,cAAc,CAAC;AACpBiB,MAAAA,KAAK,EAAE,OADa;AAEpBC,MAAAA,WAAW,EAAE,iCAFO;AAGpBC,MAAAA,QAAQ,EAAE,IAHU;AAIpBC,MAAAA,YAAY,EAAE;AAJM,KAAD,CADhB;AAOLC,IAAAA,UAAU,EAAEpB,eAAe,CAAC;AAC1BgB,MAAAA,KAAK,EAAE,aADmB;AAE1BC,MAAAA,WAAW,EAAE,gCAFa;AAG1BC,MAAAA,QAAQ,EAAE,KAHgB;AAI1BG,MAAAA,QAAQ,EAAE;AAJgB,KAAD,CAPtB;AAaLC,IAAAA,SAAS,EAAErB,sBAAsB,EAb5B;AAcLsB,IAAAA,SAAS,EAAErB,mBAAmB,CAAC;AAC7BiB,MAAAA,YAAY,EAAE,kBADe;AAE7BK,MAAAA,aAAa,EAAE,OAFc;AAG7BC,MAAAA,eAAe,EAAE;AAHY,KAAD,CAdzB;AAmBLC,IAAAA,KAAK,EAAErB,eAAe,CAAC;AACrBY,MAAAA,WAAW,EAAE;AADQ,KAAD,CAnBjB;AAsBLU,IAAAA,cAAc,EAAEtB,eAAe,CAAC;AAC9BW,MAAAA,KAAK,EAAE,kBADuB;AAE9BC,MAAAA,WAAW,EAAE;AAFiB,KAAD;AAtB1B;AARgB,CAAlB","sourcesContent":["import {\n createTextProp,\n createTextStyle,\n createRowDirectionProp,\n createFieldNameProp,\n COMPONENT_TYPES,\n Triggers,\n createColorProp,\n} from \"@draftbit/types\";\n\nexport const SEED_DATA = {\n name: \"Checkbox Row\",\n tag: \"CheckboxRow\",\n category: COMPONENT_TYPES.input,\n layout: {\n minHeight: 50,\n },\n triggers: [Triggers.OnPress],\n props: {\n label: createTextProp({\n label: \"Label\",\n description: \"Label to show with the checkbox\",\n required: true,\n defaultValue: \"First Option\",\n }),\n labelStyle: createTextStyle({\n label: \"Label Style\",\n description: \"Change the styles of the label\",\n required: false,\n editable: false,\n }),\n direction: createRowDirectionProp(),\n fieldName: createFieldNameProp({\n defaultValue: \"checkboxRowValue\",\n valuePropName: \"value\",\n handlerPropName: \"onPress\",\n }),\n color: createColorProp({\n description: \"Color for the button (used when the checkbox is checked)\",\n }),\n uncheckedColor: createColorProp({\n label: \"Unselected Color\",\n description: \"Color for the button when the checkbox is unchecked\",\n }),\n },\n};\n"]}
1
+ {"version":3,"sources":["CheckboxRow.ts"],"names":["createBoolProp","createTextProp","createTextStyle","createRowDirectionProp","createFieldNameProp","createIconProp","createStaticNumberProp","COMPONENT_TYPES","Triggers","createColorProp","SEED_DATA","name","tag","category","input","layout","minHeight","triggers","OnPress","OnCheck","OnUncheck","props","fieldName","defaultValue","valuePropName","handlerPropName","label","description","required","labelStyle","editable","direction","color","uncheckedColor","disabled","size","checkedIcon","uncheckedIcon"],"mappings":"AAAA,SACEA,cADF,EAEEC,cAFF,EAGEC,eAHF,EAIEC,sBAJF,EAKEC,mBALF,EAMEC,cANF,EAOEC,sBAPF,EAQEC,eARF,EASEC,QATF,EAUEC,eAVF,QAWO,iBAXP;AAaA,OAAO,MAAMC,SAAS,GAAG;AACvBC,EAAAA,IAAI,EAAE,cADiB;AAEvBC,EAAAA,GAAG,EAAE,aAFkB;AAGvBC,EAAAA,QAAQ,EAAEN,eAAe,CAACO,KAHH;AAIvBC,EAAAA,MAAM,EAAE;AACNC,IAAAA,SAAS,EAAE;AADL,GAJe;AAOvBC,EAAAA,QAAQ,EAAE,CAACT,QAAQ,CAACU,OAAV,EAAmBV,QAAQ,CAACW,OAA5B,EAAqCX,QAAQ,CAACY,SAA9C,CAPa;AAQvBC,EAAAA,KAAK,EAAE;AACLC,IAAAA,SAAS,EAAElB,mBAAmB,CAAC;AAC7BmB,MAAAA,YAAY,EAAE,kBADe;AAE7BC,MAAAA,aAAa,EAAE,OAFc;AAG7BC,MAAAA,eAAe,EAAE;AAHY,KAAD,CADzB;AAMLC,IAAAA,KAAK,EAAEzB,cAAc,CAAC;AACpByB,MAAAA,KAAK,EAAE,OADa;AAEpBC,MAAAA,WAAW,EAAE,iCAFO;AAGpBC,MAAAA,QAAQ,EAAE,IAHU;AAIpBL,MAAAA,YAAY,EAAE;AAJM,KAAD,CANhB;AAYLM,IAAAA,UAAU,EAAE3B,eAAe,CAAC;AAC1BwB,MAAAA,KAAK,EAAE,aADmB;AAE1BC,MAAAA,WAAW,EAAE,gCAFa;AAG1BC,MAAAA,QAAQ,EAAE,KAHgB;AAI1BE,MAAAA,QAAQ,EAAE;AAJgB,KAAD,CAZtB;AAkBLC,IAAAA,SAAS,EAAE5B,sBAAsB,EAlB5B;AAmBL6B,IAAAA,KAAK,EAAEvB,eAAe,CAAC;AACrBkB,MAAAA,WAAW,EAAE;AADQ,KAAD,CAnBjB;AAsBLM,IAAAA,cAAc,EAAExB,eAAe,CAAC;AAC9BiB,MAAAA,KAAK,EAAE,kBADuB;AAE9BC,MAAAA,WAAW,EAAE;AAFiB,KAAD,CAtB1B;AA0BLO,IAAAA,QAAQ,EAAElC,cAAc,CAAC;AACvB0B,MAAAA,KAAK,EAAE,UADgB;AAEvBC,MAAAA,WAAW,EAAE;AAFU,KAAD,CA1BnB;AA8BLQ,IAAAA,IAAI,EAAE7B,sBAAsB,CAAC;AAC3BoB,MAAAA,KAAK,EAAE,MADoB;AAE3BC,MAAAA,WAAW,EAAE,gCAFc;AAG3BJ,MAAAA,YAAY,EAAE;AAHa,KAAD,CA9BvB;AAmCLa,IAAAA,WAAW,EAAE/B,cAAc,CAAC;AAC1BqB,MAAAA,KAAK,EAAE,cADmB;AAE1BC,MAAAA,WAAW,EAAE,oDAFa;AAG1BJ,MAAAA,YAAY,EAAE;AAHY,KAAD,CAnCtB;AAwCLc,IAAAA,aAAa,EAAEhC,cAAc,CAAC;AAC5BqB,MAAAA,KAAK,EAAE,gBADqB;AAE5BC,MAAAA,WAAW,EAAE,sDAFe;AAG5BJ,MAAAA,YAAY,EAAE;AAHc,KAAD;AAxCxB;AARgB,CAAlB","sourcesContent":["import {\n createBoolProp,\n createTextProp,\n createTextStyle,\n createRowDirectionProp,\n createFieldNameProp,\n createIconProp,\n createStaticNumberProp,\n COMPONENT_TYPES,\n Triggers,\n createColorProp,\n} from \"@draftbit/types\";\n\nexport const SEED_DATA = {\n name: \"Checkbox Row\",\n tag: \"CheckboxRow\",\n category: COMPONENT_TYPES.input,\n layout: {\n minHeight: 50,\n },\n triggers: [Triggers.OnPress, Triggers.OnCheck, Triggers.OnUncheck],\n props: {\n fieldName: createFieldNameProp({\n defaultValue: \"checkboxRowValue\",\n valuePropName: \"value\",\n handlerPropName: \"onPress\",\n }),\n label: createTextProp({\n label: \"Label\",\n description: \"Label to show with the checkbox\",\n required: true,\n defaultValue: \"First Option\",\n }),\n labelStyle: createTextStyle({\n label: \"Label Style\",\n description: \"Change the styles of the label\",\n required: false,\n editable: false,\n }),\n direction: createRowDirectionProp(),\n color: createColorProp({\n description: \"Color for the button (used when the checkbox is checked)\",\n }),\n uncheckedColor: createColorProp({\n label: \"Unselected Color\",\n description: \"Color for the button when the checkbox is unchecked\",\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 },\n};\n"]}
@@ -0,0 +1,21 @@
1
+ import * as React from "react";
2
+ import { StyleProp, ViewStyle, TextStyle } from "react-native";
3
+ import { CheckboxProps } from "./Checkbox";
4
+ import type { IconSlot } from "../../interfaces/Icon";
5
+ export declare enum Direction {
6
+ Row = "row",
7
+ RowReverse = "row-reverse"
8
+ }
9
+ export interface CheckboxGroupRowProps extends Omit<CheckboxProps, "onPress"> {
10
+ label: string | React.ReactNode;
11
+ value: string;
12
+ labelContainerStyle: StyleProp<ViewStyle>;
13
+ checkboxStyle?: StyleProp<ViewStyle>;
14
+ labelStyle?: StyleProp<TextStyle>;
15
+ onPress?: (value: boolean) => void;
16
+ direction?: Direction;
17
+ color: string;
18
+ unselectedColor: string;
19
+ }
20
+ declare const CheckboxGroupRow: React.FC<CheckboxGroupRowProps & IconSlot>;
21
+ export default CheckboxGroupRow;
@@ -1,21 +1,17 @@
1
1
  import * as React from "react";
2
2
  import { StyleProp, ViewStyle, TextStyle } from "react-native";
3
- import { CheckboxProps } from "./Checkbox";
4
3
  import type { IconSlot } from "../../interfaces/Icon";
4
+ import { CheckboxProps } from "./Checkbox";
5
5
  export declare enum Direction {
6
6
  Row = "row",
7
7
  RowReverse = "row-reverse"
8
8
  }
9
- export interface CheckboxRowProps extends Omit<CheckboxProps, "onPress"> {
9
+ export interface CheckboxRowProps extends CheckboxProps {
10
10
  label: string | React.ReactNode;
11
- value: string;
11
+ labelStyle?: StyleProp<TextStyle>;
12
12
  labelContainerStyle: StyleProp<ViewStyle>;
13
13
  checkboxStyle?: StyleProp<ViewStyle>;
14
- labelStyle?: StyleProp<TextStyle>;
15
- onPress?: (value: boolean) => void;
16
14
  direction?: Direction;
17
- color: string;
18
- unselectedColor: string;
19
15
  }
20
16
  declare const CheckboxRow: React.FC<CheckboxRowProps & IconSlot>;
21
17
  export default CheckboxRow;
@@ -7,6 +7,18 @@ export declare const SEED_DATA: {
7
7
  };
8
8
  triggers: string[];
9
9
  props: {
10
+ fieldName: {
11
+ handlerPropName: string;
12
+ group: string;
13
+ label: string;
14
+ description: string;
15
+ formType: string;
16
+ propType: string;
17
+ defaultValue: string;
18
+ valuePropName: string;
19
+ editable: boolean;
20
+ required: boolean;
21
+ };
10
22
  label: any;
11
23
  labelStyle: {
12
24
  group: string;
@@ -29,19 +41,17 @@ export declare const SEED_DATA: {
29
41
  defaultValue: null;
30
42
  options: never[];
31
43
  };
32
- fieldName: {
33
- handlerPropName: string;
44
+ color: {
34
45
  group: string;
35
46
  label: string;
36
47
  description: string;
37
- formType: string;
38
- propType: string;
39
- defaultValue: string;
40
- valuePropName: string;
41
48
  editable: boolean;
42
49
  required: boolean;
50
+ defaultValue: null;
51
+ formType: string;
52
+ propType: string;
43
53
  };
44
- color: {
54
+ uncheckedColor: {
45
55
  group: string;
46
56
  label: string;
47
57
  description: string;
@@ -51,15 +61,46 @@ export declare const SEED_DATA: {
51
61
  formType: string;
52
62
  propType: string;
53
63
  };
54
- uncheckedColor: {
55
- group: string;
64
+ disabled: {
56
65
  label: string;
57
66
  description: string;
67
+ formType: string;
68
+ propType: string;
69
+ defaultValue: boolean;
58
70
  editable: boolean;
59
71
  required: boolean;
72
+ group: string;
73
+ };
74
+ size: {
75
+ label: string;
76
+ description: string;
77
+ formType: string;
78
+ propType: string;
79
+ group: string;
60
80
  defaultValue: null;
81
+ editable: boolean;
82
+ required: boolean;
83
+ step: number;
84
+ };
85
+ checkedIcon: {
86
+ label: string;
87
+ description: string;
61
88
  formType: string;
62
89
  propType: string;
90
+ defaultValue: string;
91
+ required: boolean;
92
+ editable: boolean;
93
+ group: string;
94
+ };
95
+ uncheckedIcon: {
96
+ label: string;
97
+ description: string;
98
+ formType: string;
99
+ propType: string;
100
+ defaultValue: string;
101
+ required: boolean;
102
+ editable: boolean;
103
+ group: string;
63
104
  };
64
105
  };
65
106
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@draftbit/core",
3
- "version": "43.4.11-ca8fc3.1+ca8fc360",
3
+ "version": "43.4.12",
4
4
  "description": "Core (non-native) Components",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -80,5 +80,5 @@
80
80
  ]
81
81
  ]
82
82
  },
83
- "gitHead": "ca8fc360a04be664d5b932ba3bdb8a0616f8ef58"
83
+ "gitHead": "44f90831c9c709811c8d722ee1ea186b3349b8b3"
84
84
  }
@@ -18,10 +18,10 @@ const AccordionGroup = ({ Icon, openColor, closedColor, caretColor, icon, iconSi
18
18
  icon ? (React.createElement(Icon, { name: icon, size: iconSize, color: labelColor, style: styles.icon })) : null,
19
19
  React.createElement(View, { style: styles.content },
20
20
  React.createElement(Text, { selectable: false, style: [
21
+ textStyles,
21
22
  {
22
23
  color: labelColor,
23
24
  },
24
- textStyles,
25
25
  ] }, label)),
26
26
  React.createElement(Icon, { name: expanded
27
27
  ? "MaterialIcons/keyboard-arrow-up"
@@ -74,10 +74,10 @@ const AccordionGroup = ({
74
74
  <Text
75
75
  selectable={false}
76
76
  style={[
77
+ textStyles,
77
78
  {
78
79
  color: labelColor,
79
80
  },
80
- textStyles,
81
81
  ]}
82
82
  >
83
83
  {label}