@draftbit/core 43.4.11-ba6514.0 → 43.4.11-ca8fc3.1
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/ActionSheetCancel.js.map +1 -1
- package/lib/commonjs/components/Card.js.map +1 -1
- package/lib/commonjs/components/CircleImage.js +3 -17
- package/lib/commonjs/components/CircleImage.js.map +1 -1
- package/lib/commonjs/components/DeprecatedButton.js +4 -19
- package/lib/commonjs/components/DeprecatedButton.js.map +1 -1
- package/lib/commonjs/components/DeprecatedCardWrapper.js +2 -14
- package/lib/commonjs/components/DeprecatedCardWrapper.js.map +1 -1
- package/lib/commonjs/components/DeprecatedFAB.js +4 -20
- package/lib/commonjs/components/DeprecatedFAB.js.map +1 -1
- package/lib/commonjs/components/Elevation.js +14 -3
- package/lib/commonjs/components/Elevation.js.map +1 -1
- package/lib/commonjs/components/NumberInput.js +17 -15
- package/lib/commonjs/components/NumberInput.js.map +1 -1
- package/lib/commonjs/components/Picker/PickerComponent.ios.js +10 -30
- package/lib/commonjs/components/Picker/PickerComponent.ios.js.map +1 -1
- package/lib/commonjs/components/Portal/Portal.js.map +1 -1
- package/lib/commonjs/components/Portal/PortalHost.js.map +1 -1
- package/lib/commonjs/components/RadioButton/context.js +1 -1
- package/lib/commonjs/components/RadioButton/context.js.map +1 -1
- package/lib/commonjs/components/Slider.js +5 -22
- package/lib/commonjs/components/Slider.js.map +1 -1
- package/lib/commonjs/components/StarRating.js +5 -23
- package/lib/commonjs/components/StarRating.js.map +1 -1
- package/lib/commonjs/components/TextField.js +7 -23
- package/lib/commonjs/components/TextField.js.map +1 -1
- package/lib/commonjs/hooks.js.map +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/mappings/AvatarEdit.js.map +1 -1
- package/lib/commonjs/mappings/FlatList.js.map +1 -1
- package/lib/commonjs/mappings/Icon.js +3 -1
- package/lib/commonjs/mappings/Icon.js.map +1 -1
- package/lib/commonjs/mappings/KeyboardAwareScrollView.js +48 -0
- package/lib/commonjs/mappings/KeyboardAwareScrollView.js.map +1 -0
- package/lib/commonjs/mappings/Modal.js.map +1 -1
- package/lib/commonjs/mappings/RowBodyIcon.js.map +1 -1
- package/lib/commonjs/mappings/Surface.js.map +1 -1
- package/lib/commonjs/mappings/Switch.js.map +1 -1
- package/lib/commonjs/styles/fonts.js.map +1 -1
- package/lib/commonjs/styles/overlay.js.map +1 -1
- package/lib/commonjs/theming.js.map +1 -1
- package/lib/module/components/NumberInput.js +17 -15
- package/lib/module/components/NumberInput.js.map +1 -1
- package/lib/module/components/Picker/PickerTypes.js.map +1 -1
- package/lib/module/components/Typography.js.map +1 -1
- package/lib/module/mappings/Icon.js +3 -1
- package/lib/module/mappings/Icon.js.map +1 -1
- package/lib/module/mappings/KeyboardAwareScrollView.js +39 -0
- package/lib/module/mappings/KeyboardAwareScrollView.js.map +1 -0
- package/lib/typescript/src/mappings/Icon.d.ts +1 -1
- package/lib/typescript/src/mappings/KeyboardAwareScrollView.d.ts +82 -0
- package/package.json +2 -2
- package/src/components/NumberInput.js +14 -13
- package/src/components/NumberInput.tsx +31 -16
- package/src/mappings/Icon.js +4 -1
- package/src/mappings/Icon.ts +4 -1
- package/src/mappings/KeyboardAwareScrollView.js +38 -0
- package/src/mappings/KeyboardAwareScrollView.ts +48 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["PickerComponent.ios.
|
|
1
|
+
{"version":3,"sources":["PickerComponent.ios.tsx"],"names":["Picker","Icon","style","options","placeholder","selectedValue","disabled","onValueChange","theme","colors","props","viewStyles","borderRadius","borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderColor","backgroundColor","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","textField","React","useRef","undefined","pickerVisible","setIsPickerVisible","useState","toggleVisibility","current","toggleFocus","stylesWithoutMargin","StyleSheet","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 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Portal.
|
|
1
|
+
{"version":3,"sources":["Portal.tsx"],"names":["Portal","React","Component","render","children","theme","props","manager","PortalHost"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;;;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,MAAN,SAAqBC,KAAK,CAACC,SAA3B,CAA4C;AAC1C;AAGAC,EAAAA,MAAM,GAAG;AACP,UAAM;AAAEC,MAAAA,QAAF;AAAYC,MAAAA;AAAZ,QAAsB,KAAKC,KAAjC;AAEA,wBACE,oBAAC,yBAAD,CAAe,QAAf,QACIC,OAAD,iBACC,oBAAC,uBAAD;AAAgB,MAAA,OAAO,EAAEA;AAAzB,oBACE,oBAAC,sBAAD;AAAe,MAAA,KAAK,EAAEF;AAAtB,OAA8BD,QAA9B,CADF,CAFJ,CADF;AASD;;AAhByC;;gBAAtCJ,M,UAEUQ,mB;;eAiBD,wBAAUR,MAAV,C","sourcesContent":["import * as React from \"react\";\nimport PortalConsumer from \"./PortalConsumer\";\nimport PortalHost, { PortalContext, PortalMethods } from \"./PortalHost\";\nimport { ThemeProvider, withTheme } from \"../../theming\";\nimport type { Theme } from \"../../styles/DefaultTheme\";\n\ntype Props = {\n /**\n * Content of the `Portal`.\n */\n children: React.ReactNode;\n /**\n * @optional\n */\n theme: Theme;\n};\n\n/**\n * Portal allows to render a component at a different place in the parent tree.\n * You can use it to render content which should appear above other elements, similar to `Modal`.\n * It requires a [`Portal.Host`](portal-host.html) component to be rendered somewhere in the parent tree.\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { Portal, Text } from 'react-native-paper';\n *\n * export default class MyComponent extends React.Component {\n * render() {\n * return (\n * <Portal>\n * <Text>This is rendered at a different place</Text>\n * </Portal>\n * );\n * }\n * }\n * ```\n */\nclass Portal extends React.Component<Props> {\n // @component ./PortalHost.tsx\n static Host = PortalHost;\n\n render() {\n const { children, theme } = this.props;\n\n return (\n <PortalContext.Consumer>\n {(manager) => (\n <PortalConsumer manager={manager as PortalMethods}>\n <ThemeProvider theme={theme}>{children}</ThemeProvider>\n </PortalConsumer>\n )}\n </PortalContext.Consumer>\n );\n }\n}\n\nexport default withTheme(Portal);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["PortalHost.
|
|
1
|
+
{"version":3,"sources":["PortalHost.tsx"],"names":["PortalContext","React","createContext","PortalHost","Component","manager","children","key","nextKey","mount","queue","push","type","update","op","index","findIndex","o","unmount","componentDidMount","length","action","pop","render","styles","container","props","setManager","StyleSheet","create","flex"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { View, StyleSheet } from \"react-native\";\nimport PortalManager from \"./PortalManager\";\n\ntype Props = {\n children: React.ReactNode;\n};\n\ntype Operation =\n | { type: \"mount\"; key: number; children: React.ReactNode }\n | { type: \"update\"; key: number; children: React.ReactNode }\n | { type: \"unmount\"; key: number };\n\nexport type PortalMethods = {\n mount: (children: React.ReactNode) => number;\n update: (key: number, children: React.ReactNode) => void;\n unmount: (key: number) => void;\n};\n\nexport const PortalContext = React.createContext<PortalMethods>(null as any);\n\n/**\n * Portal host renders all of its children `Portal` elements.\n * For example, you can wrap a screen in `Portal.Host` to render items above the screen.\n * If you're using the `Provider` component, it already includes `Portal.Host`.\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { Text } from 'react-native';\n * import { Portal } from 'react-native-paper';\n *\n * export default class MyComponent extends React.Component {\n * render() {\n * return (\n * <Portal.Host>\n * <Text>Content of the app</Text>\n * </Portal.Host>\n * );\n * }\n * }\n * ```\n *\n * Here any `Portal` elements under `<App />` are rendered alongside `<App />` and will appear above `<App />` like a `Modal`.\n */\nexport default class PortalHost extends React.Component<Props> {\n static displayName = \"Portal.Host\";\n\n componentDidMount() {\n const manager = this.manager;\n const queue = this.queue;\n\n while (queue.length && manager) {\n const action = queue.pop();\n if (action) {\n switch (action.type) {\n case \"mount\":\n manager.mount(action.key, action.children);\n break;\n case \"update\":\n manager.update(action.key, action.children);\n break;\n case \"unmount\":\n manager.unmount(action.key);\n break;\n }\n }\n }\n }\n\n private setManager = (manager: PortalManager | undefined | null) => {\n this.manager = manager;\n };\n\n private mount = (children: React.ReactNode) => {\n const key = this.nextKey++;\n\n if (this.manager) {\n this.manager.mount(key, children);\n } else {\n this.queue.push({ type: \"mount\", key, children });\n }\n\n return key;\n };\n\n private update = (key: number, children: React.ReactNode) => {\n if (this.manager) {\n this.manager.update(key, children);\n } else {\n const op = { type: \"mount\", key, children };\n const index = this.queue.findIndex(\n (o) => o.type === \"mount\" || (o.type === \"update\" && o.key === key)\n );\n\n if (index > -1) {\n // @ts-ignore\n this.queue[index] = op;\n } else {\n this.queue.push(op as Operation);\n }\n }\n };\n\n private unmount = (key: number) => {\n if (this.manager) {\n this.manager.unmount(key);\n } else {\n this.queue.push({ type: \"unmount\", key });\n }\n };\n\n private nextKey = 0;\n private queue: Operation[] = [];\n private manager: PortalManager | null | undefined;\n\n render() {\n return (\n <PortalContext.Provider\n value={{\n mount: this.mount,\n update: this.update,\n unmount: this.unmount,\n }}\n >\n {/* Need collapsable=false here to clip the elevations, otherwise they appear above Portal components */}\n <View\n style={styles.container}\n collapsable={false}\n pointerEvents=\"box-none\"\n >\n {this.props.children}\n </View>\n <PortalManager ref={this.setManager} />\n </PortalContext.Provider>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["context.
|
|
1
|
+
{"version":3,"sources":["context.tsx"],"names":["Direction","radioButtonGroupContext","onValueChange","value","direction","undefined","useRadioButtonGroupContext"],"mappings":";;;;;;;;AAAA;;IAEYA,S;;;WAAAA,S;AAAAA,EAAAA,S;AAAAA,EAAAA,S;GAAAA,S,yBAAAA,S;;AAUL,MAAMC,uBAAuB,gBAAG,0BAAuC;AAC5EC,EAAAA,aAAa,EAAE,MAAM,CAAE,CADqD;AAE5EC,EAAAA,KAAK,EAAE,EAFqE;AAG5EC,EAAAA,SAAS,EAAEC;AAHiE,CAAvC,CAAhC;;;AAMA,SAASC,0BAAT,GAAsC;AAC3C,SAAO,uBAAWL,uBAAX,CAAP;AACD","sourcesContent":["import { createContext, useContext } from \"react\";\n\nexport enum Direction {\n Horizontal = \"horizontal\",\n Vertical = \"vertical\",\n}\ninterface RadioButtonGroupContext {\n onValueChange: (value: string) => void;\n value: string;\n direction?: Direction;\n}\n\nexport const radioButtonGroupContext = createContext<RadioButtonGroupContext>({\n onValueChange: () => {},\n value: \"\",\n direction: undefined,\n});\n\nexport function useRadioButtonGroupContext() {\n return useContext(radioButtonGroupContext);\n}\n"]}
|
|
@@ -23,6 +23,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
23
23
|
|
|
24
24
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
25
25
|
|
|
26
|
+
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); }
|
|
27
|
+
|
|
26
28
|
function maybeParseValue(value) {
|
|
27
29
|
if (value === undefined) {
|
|
28
30
|
return undefined;
|
|
@@ -89,10 +91,9 @@ function Slider(_ref) {
|
|
|
89
91
|
onValueChange(newValue);
|
|
90
92
|
};
|
|
91
93
|
|
|
92
|
-
return /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
93
|
-
style: [styles.container, style]
|
|
94
|
-
|
|
95
|
-
}, leftIcon ? /*#__PURE__*/React.createElement(Icon, {
|
|
94
|
+
return /*#__PURE__*/React.createElement(_reactNative.View, _extends({
|
|
95
|
+
style: [styles.container, style]
|
|
96
|
+
}, rest), leftIcon ? /*#__PURE__*/React.createElement(Icon, {
|
|
96
97
|
color: leftIconThemeColor,
|
|
97
98
|
name: leftIcon,
|
|
98
99
|
size: 24
|
|
@@ -128,23 +129,5 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
128
129
|
|
|
129
130
|
var _default = (0, _theming.withTheme)(Slider);
|
|
130
131
|
|
|
131
|
-
exports.default = _default;
|
|
132
|
-
//# sourceMappingURL=Slider.js.map }) : null);
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
const styles = _reactNative.StyleSheet.create({
|
|
136
|
-
container: {
|
|
137
|
-
height: 40,
|
|
138
|
-
flexDirection: "row",
|
|
139
|
-
alignItems: "center"
|
|
140
|
-
},
|
|
141
|
-
slider: {
|
|
142
|
-
flex: 1,
|
|
143
|
-
marginHorizontal: 12
|
|
144
|
-
}
|
|
145
|
-
});
|
|
146
|
-
|
|
147
|
-
var _default = (0, _theming.withTheme)(Slider);
|
|
148
|
-
|
|
149
132
|
exports.default = _default;
|
|
150
133
|
//# sourceMappingURL=Slider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Slider.
|
|
1
|
+
{"version":3,"sources":["Slider.tsx"],"names":["maybeParseValue","value","undefined","maybe","Slider","Icon","leftIcon","rightIcon","leftIconColor","rightIconColor","defaultValue","minimumTrackTintColor","maximumTrackTintColor","thumbTintColor","minimumValue","maximumValue","tapToSeek","step","onValueChange","style","theme","rest","internalValue","setInternalValue","React","useState","useEffect","minTrackColor","colors","primary","maxTrackColor","light","thumbColor","leftIconThemeColor","rightIconThemeColor","parsedValue","handleSlidingComplete","newValue","styles","container","slider","StyleSheet","create","height","flexDirection","alignItems","flex","marginHorizontal"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { View, StyleSheet, StyleProp, ViewStyle } from \"react-native\";\nimport NativeSlider from \"@react-native-community/slider\";\nimport isNumber from \"lodash.isnumber\";\nimport toNumber from \"lodash.tonumber\";\n\nimport { withTheme } from \"../theming\";\nimport type { Theme } from \"../styles/DefaultTheme\";\nimport type { IconSlot } from \"../interfaces/Icon\";\n\nexport type Props = {\n style?: StyleProp<ViewStyle>;\n value?: number;\n defaultValue?: number;\n minimumTrackTintColor: string;\n maximumTrackTintColor: string;\n leftIcon?: string;\n rightIcon?: string;\n leftIconColor?: string;\n rightIconColor?: string;\n thumbTintColor?: string;\n tapToSeek?: boolean;\n minimumValue: number;\n maximumValue: number;\n step: number;\n onValueChange?: (value: number) => void;\n theme: Theme;\n} & IconSlot;\n\nfunction maybeParseValue(value: any) {\n if (value === undefined) {\n return undefined;\n }\n\n if (isNumber(value)) {\n return value;\n }\n\n try {\n const maybe = toNumber(value);\n if (isNumber(maybe)) {\n return maybe;\n }\n } catch {\n return undefined;\n }\n\n return undefined;\n}\n\nfunction Slider({\n Icon,\n leftIcon,\n rightIcon,\n leftIconColor,\n rightIconColor,\n value,\n defaultValue,\n minimumTrackTintColor,\n maximumTrackTintColor,\n thumbTintColor,\n minimumValue = 0,\n maximumValue = 100,\n tapToSeek,\n step = 1,\n onValueChange = () => {},\n style,\n theme,\n ...rest\n}: Props) {\n const [internalValue, setInternalValue] = React.useState<number | undefined>(\n value || defaultValue\n );\n\n React.useEffect(() => {\n if (value != null) {\n setInternalValue(value);\n }\n }, [value]);\n\n React.useEffect(() => {\n if (defaultValue != null) {\n setInternalValue(defaultValue);\n }\n }, [defaultValue]);\n\n const minTrackColor = minimumTrackTintColor || theme.colors.primary;\n const maxTrackColor = maximumTrackTintColor || theme.colors.light;\n const thumbColor = thumbTintColor || theme.colors.primary;\n\n const leftIconThemeColor = leftIconColor || theme.colors.light;\n const rightIconThemeColor = rightIconColor || theme.colors.light;\n\n const parsedValue = maybeParseValue(internalValue);\n\n const handleSlidingComplete = (newValue: number) => {\n setInternalValue(newValue);\n onValueChange(newValue);\n };\n\n return (\n <View style={[styles.container, style]} {...rest}>\n {leftIcon ? (\n <Icon color={leftIconThemeColor} name={leftIcon} size={24} />\n ) : null}\n <NativeSlider\n value={parsedValue}\n step={step}\n minimumValue={minimumValue}\n maximumValue={maximumValue}\n tapToSeek={tapToSeek}\n minimumTrackTintColor={minTrackColor}\n maximumTrackTintColor={maxTrackColor}\n thumbTintColor={thumbColor}\n onSlidingComplete={handleSlidingComplete}\n style={styles.slider}\n />\n {rightIcon ? (\n <Icon color={rightIconThemeColor} name={rightIcon} size={24} />\n ) : null}\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n height: 40,\n flexDirection: \"row\",\n alignItems: \"center\",\n },\n slider: {\n flex: 1,\n marginHorizontal: 12,\n },\n});\n\nexport default withTheme(Slider);\n"]}
|
|
@@ -15,6 +15,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
15
15
|
|
|
16
16
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
17
17
|
|
|
18
|
+
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); }
|
|
19
|
+
|
|
18
20
|
const StarRating = _ref => {
|
|
19
21
|
let {
|
|
20
22
|
Icon,
|
|
@@ -45,10 +47,9 @@ const StarRating = _ref => {
|
|
|
45
47
|
!!onPress && onPress(r);
|
|
46
48
|
}, [onPress]);
|
|
47
49
|
const ratingRounded = Math.round(localRating * 2) / 2;
|
|
48
|
-
return /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
49
|
-
style: [styles.container, style]
|
|
50
|
-
|
|
51
|
-
}, [...Array(maxStars)].map((_, i) => /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
50
|
+
return /*#__PURE__*/React.createElement(_reactNative.View, _extends({
|
|
51
|
+
style: [styles.container, style]
|
|
52
|
+
}, rest), [...Array(maxStars)].map((_, i) => /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
52
53
|
key: i,
|
|
53
54
|
style: {
|
|
54
55
|
display: "flex"
|
|
@@ -92,24 +93,5 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
92
93
|
|
|
93
94
|
var _default = (0, _theming.withTheme)(StarRating);
|
|
94
95
|
|
|
95
|
-
exports.default = _default;
|
|
96
|
-
//# sourceMappingURL=StarRating.js.mapx",
|
|
97
|
-
flexDirection: "row",
|
|
98
|
-
position: "absolute",
|
|
99
|
-
top: 0,
|
|
100
|
-
right: 0,
|
|
101
|
-
left: 0,
|
|
102
|
-
bottom: 0,
|
|
103
|
-
zIndex: 1
|
|
104
|
-
},
|
|
105
|
-
pressable: {
|
|
106
|
-
flex: 1,
|
|
107
|
-
height: "100%",
|
|
108
|
-
width: "50%"
|
|
109
|
-
}
|
|
110
|
-
});
|
|
111
|
-
|
|
112
|
-
var _default = (0, _theming.withTheme)(StarRating);
|
|
113
|
-
|
|
114
96
|
exports.default = _default;
|
|
115
97
|
//# sourceMappingURL=StarRating.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["StarRating.
|
|
1
|
+
{"version":3,"sources":["StarRating.tsx"],"names":["StarRating","Icon","starSize","maxStars","rating","defaultValue","isEditable","activeColor","inactiveColor","style","onPress","rest","localRating","setLocalRating","React","useState","useEffect","ratingHandler","useCallback","r","ratingRounded","Math","round","styles","container","Array","map","_","i","display","touchContainer","pressable","StyleSheet","create","flexDirection","alignItems","position","top","right","left","bottom","zIndex","flex","height","width"],"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\ntype Props = {\n starSize?: number;\n maxStars?: number;\n rating?: number;\n defaultValue?: 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 defaultValue,\n isEditable = false,\n activeColor,\n inactiveColor,\n style,\n onPress,\n ...rest\n}) => {\n const [localRating, setLocalRating] = React.useState<number>(\n rating || defaultValue || 0\n );\n\n React.useEffect(() => {\n if (rating != null) {\n setLocalRating(rating);\n }\n }, [rating]);\n\n React.useEffect(() => {\n if (defaultValue != null) {\n setLocalRating(defaultValue);\n }\n }, [defaultValue]);\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"]}
|
|
@@ -17,6 +17,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
17
17
|
|
|
18
18
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
19
19
|
|
|
20
|
+
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); }
|
|
21
|
+
|
|
20
22
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
21
23
|
|
|
22
24
|
const AnimatedText = _reactNative.Animated.createAnimatedComponent(_reactNative.Text);
|
|
@@ -200,8 +202,7 @@ class TextField extends React.Component {
|
|
|
200
202
|
roundness,
|
|
201
203
|
disabledOpacity
|
|
202
204
|
},
|
|
203
|
-
render = props => /*#__PURE__*/React.createElement(_reactNative.TextInput,
|
|
204
|
-
}),
|
|
205
|
+
render = props => /*#__PURE__*/React.createElement(_reactNative.TextInput, props),
|
|
205
206
|
...rest
|
|
206
207
|
} = this.props;
|
|
207
208
|
const MINIMIZED_LABEL_Y_OFFSET = -(typography.caption.lineHeight + 4);
|
|
@@ -354,9 +355,9 @@ class TextField extends React.Component {
|
|
|
354
355
|
|
|
355
356
|
return /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
356
357
|
style: [styles.container, styleProp]
|
|
357
|
-
}, leftIconName && leftIconMode === "outset" ? /*#__PURE__*/React.createElement(Icon, {
|
|
358
|
+
}, leftIconName && leftIconMode === "outset" ? /*#__PURE__*/React.createElement(Icon, _extends({}, leftIconProps, {
|
|
358
359
|
style: leftIconStyle
|
|
359
|
-
}) : null, /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
360
|
+
})) : null, /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
360
361
|
style: (0, _utilities.applyStyles)([containerStyle], {
|
|
361
362
|
height: style === null || style === void 0 ? void 0 : style.height,
|
|
362
363
|
backgroundColor: bgColor,
|
|
@@ -419,11 +420,11 @@ class TextField extends React.Component {
|
|
|
419
420
|
opacity: hasActiveOutline ? this.state.labeled : 1
|
|
420
421
|
}],
|
|
421
422
|
numberOfLines: 1
|
|
422
|
-
}, label)) : null, leftIconName && leftIconMode === "inset" ? /*#__PURE__*/React.createElement(Icon, {
|
|
423
|
+
}, label)) : null, leftIconName && leftIconMode === "inset" ? /*#__PURE__*/React.createElement(Icon, _extends({}, leftIconProps, {
|
|
423
424
|
style: { ...leftIconStyle,
|
|
424
425
|
marginLeft: type === "solid" ? 16 : 0
|
|
425
426
|
}
|
|
426
|
-
}) : null, render({
|
|
427
|
+
})) : null, render({
|
|
427
428
|
ref: c => {
|
|
428
429
|
this._root = c;
|
|
429
430
|
},
|
|
@@ -487,21 +488,4 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
487
488
|
textAlign: _reactNative.I18nManager.isRTL ? "right" : "left"
|
|
488
489
|
}
|
|
489
490
|
});
|
|
490
|
-
//# sourceMappingURL=TextField.js.mapt: 0
|
|
491
|
-
},
|
|
492
|
-
underline: {
|
|
493
|
-
position: "absolute",
|
|
494
|
-
left: 0,
|
|
495
|
-
right: 0,
|
|
496
|
-
bottom: 0,
|
|
497
|
-
height: 2
|
|
498
|
-
},
|
|
499
|
-
input: {
|
|
500
|
-
flexGrow: 1,
|
|
501
|
-
justifyContent: "center",
|
|
502
|
-
textAlignVertical: "center",
|
|
503
|
-
margin: 0,
|
|
504
|
-
textAlign: _reactNative.I18nManager.isRTL ? "right" : "left"
|
|
505
|
-
}
|
|
506
|
-
});
|
|
507
491
|
//# sourceMappingURL=TextField.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["TextField.js"],"names":["AnimatedText","Animated","createAnimatedComponent","Text","FOCUS_ANIMATION_DURATION","BLUR_ANIMATION_DURATION","ICON_SIZE","TextField","React","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","createElement","NativeTextInput","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","StyleSheet","flatten","View","container","underline","scaleY","pointerEvents","absoluteFill","onLayout","e","layout","ref","c","onChange","editable","selectionColor","onFocus","_handleFocus","onBlur","_handleBlur","underlineColorAndroid","right","create","alignSelf","bottom","flexGrow","justifyContent","textAlignVertical","margin","textAlign","I18nManager","isRTL"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { View, Animated, TextInput as NativeTextInput, StyleSheet, Text, I18nManager, } from \"react-native\";\nimport { withTheme } from \"../theming\";\nimport { applyStyles, extractStyles } from \"../utilities\";\nconst AnimatedText = Animated.createAnimatedComponent(Text);\nconst FOCUS_ANIMATION_DURATION = 150;\nconst BLUR_ANIMATION_DURATION = 180;\nconst ICON_SIZE = 24;\nclass TextField extends React.Component {\n static getDerivedStateFromProps(nextProps, prevState) {\n return {\n value: typeof nextProps.value !== \"undefined\"\n ? nextProps.value\n : prevState.value,\n };\n }\n 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 componentDidMount() {\n if (this.props.defaultValue) {\n this._handleChangeText(this.props.defaultValue);\n }\n if (this.props.placeholder) {\n this._minmizeLabel();\n }\n }\n componentDidUpdate(prevProps, prevState) {\n if (prevState.focused !== this.state.focused ||\n prevState.value !== this.state.value) {\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 (this.state.value ||\n this.state.focused ||\n this.props.error ||\n this.props.placeholder) {\n this._minmizeLabel();\n }\n else {\n this._restoreLabel();\n }\n }\n if (prevState.focused !== this.state.focused ||\n prevProps.label !== this.props.label) {\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 }\n else {\n this._hidePlaceholder();\n }\n }\n }\n _timer = setTimeout(() => { }, 0);\n componentWillUnmount() {\n clearTimeout(this._timer);\n }\n _showPlaceholder = () => {\n clearTimeout(this._timer);\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(() => this.setState({\n placeholder: this.props.placeholder,\n }), 50);\n };\n _hidePlaceholder = () => this.setState({\n placeholder: \"\",\n });\n _restoreLabel = () => Animated.timing(this.state.labeled, {\n toValue: 1,\n duration: FOCUS_ANIMATION_DURATION,\n useNativeDriver: true,\n }).start();\n _minmizeLabel = () => Animated.timing(this.state.labeled, {\n toValue: 0,\n duration: BLUR_ANIMATION_DURATION,\n useNativeDriver: true,\n }).start();\n _handleFocus = () => {\n if (this.props.disabled) {\n return;\n }\n this.setState({ focused: true });\n };\n _handleBlur = () => {\n if (this.props.disabled) {\n return;\n }\n this.setState({ focused: false });\n };\n _handleChangeText = (value) => {\n if (this.props.disabled) {\n return;\n }\n if (typeof value === \"string\") {\n this.setState({ value });\n this.props.onChangeText && this.props.onChangeText(value);\n }\n else {\n this.setState({ value: value.nativeEvent.text });\n this.props.onChangeText &&\n this.props.onChangeText(value.nativeEvent.text);\n }\n };\n toggleFocus() {\n this.setState((prevState) => ({ focused: !prevState.focused }));\n }\n _root = undefined;\n /**\n * @internal\n */\n setNativeProps(args) {\n return this._root && this._root.setNativeProps(args);\n }\n isFocused() {\n return this._root && this._root.isFocused();\n }\n clear() {\n return this._root && this._root.clear();\n }\n focus() {\n return this._root && this._root.focus();\n }\n blur() {\n return this._root && this._root.blur();\n }\n render() {\n const { Icon, type = \"underline\", disabled = false, label, error = false, leftIconName, leftIconMode, rightIconName, assistiveText, underlineColor: underlineColorProp, multiline = false, numberOfLines = 4, style, theme: { colors, typography, roundness, disabledOpacity }, render = (props) => React.createElement(NativeTextInput, { ...props }), ...rest } = this.props;\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 const hasActiveOutline = this.state.focused || error;\n let inputTextColor, activeColor, underlineColor, borderColor, placeholderColor, containerStyle, backgroundColor, inputStyle;\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 }\n else {\n activeColor = error ? colors.error : colors.primary;\n placeholderColor = borderColor = colors.light;\n underlineColor = underlineColorProp;\n backgroundColor = colors.background;\n }\n if (rest.placeholderTextColor) {\n placeholderColor = rest.placeholderTextColor;\n }\n const { lineHeight, ...subtitle1 } = typography.subtitle1;\n inputStyle = {\n paddingVertical: 0,\n color: inputTextColor,\n paddingLeft: 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 if (!multiline) {\n inputStyle.height = lineHeight;\n }\n let assistiveTextLeftMargin;\n if (type === \"underline\") {\n containerStyle = {\n borderTopLeftRadius: roundness,\n borderTopRightRadius: roundness,\n paddingBottom: 12,\n marginTop: 16,\n };\n if (leftIconName && leftIconMode === \"outset\") {\n assistiveTextLeftMargin = ICON_SIZE + 8;\n }\n else {\n assistiveTextLeftMargin = 0;\n }\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 if (leftIconName && leftIconMode === \"inset\") {\n assistiveTextLeftMargin = 16 + 4;\n }\n else if (leftIconName && leftIconMode === \"outset\") {\n assistiveTextLeftMargin = ICON_SIZE + 8 + 12;\n }\n else {\n assistiveTextLeftMargin = 12;\n }\n inputStyle.paddingHorizontal = 12;\n }\n if (leftIconName && leftIconMode === \"outset\") {\n containerStyle.marginLeft = ICON_SIZE + 8;\n }\n let leftIconColor;\n if (error) {\n leftIconColor = colors.error;\n }\n else if (this.state.focused) {\n leftIconColor = colors.primary;\n }\n else {\n leftIconColor = colors.light;\n }\n const leftIconProps = {\n size: 24,\n color: leftIconColor,\n name: leftIconName || \"\",\n };\n const leftIconStyle = {\n position: \"absolute\",\n marginTop: type === \"solid\"\n ? MINIMIZED_LABEL_FONT_SIZE + 4\n : leftIconMode === \"outset\"\n ? 16\n : 0,\n };\n const labelStyle = {\n ...typography.subtitle1,\n top: type === \"solid\" ? 16 : 0,\n left: 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 const { textStyles } = extractStyles(style);\n const inputStyles = applyStyles([\n styles.input,\n inputStyle,\n type === \"solid\" ? { marginHorizontal: 12 } : {},\n ], textStyles);\n const { backgroundColor: bgColor, padding, paddingTop, paddingBottom, paddingLeft, paddingRight, borderRadius, borderWidth, borderTopWidth, borderRightWidth, borderBottomWidth, borderLeftWidth, borderColor: borderCol, ...styleProp } = StyleSheet.flatten(style || {});\n return (React.createElement(View, { style: [styles.container, styleProp] },\n leftIconName && leftIconMode === \"outset\" ? (React.createElement(Icon, { ...leftIconProps, style: leftIconStyle })) : null,\n React.createElement(View, { 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 type === \"underline\" ? (\n // When type === 'flat', render an underline\n React.createElement(Animated.View, { style: [\n styles.underline,\n {\n backgroundColor: 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 ] })) : null,\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 React.createElement(View, { pointerEvents: \"none\", 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 React.createElement(AnimatedText, { onLayout: (e) => this.setState({\n labelLayout: {\n width: e.nativeEvent.layout.width,\n measured: true,\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 ], numberOfLines: 1 }, label),\n React.createElement(AnimatedText, { style: [\n styles.placeholder,\n type === \"solid\" ? { paddingHorizontal: 12 } : {},\n labelStyle,\n {\n color: placeholderColor,\n opacity: hasActiveOutline ? this.state.labeled : 1,\n },\n ], numberOfLines: 1 }, label))) : null,\n leftIconName && leftIconMode === \"inset\" ? (React.createElement(Icon, { ...leftIconProps, style: {\n ...leftIconStyle,\n marginLeft: type === \"solid\" ? 16 : 0,\n } })) : null,\n render({\n ref: (c) => {\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 rightIconName ? (React.createElement(Icon, { name: rightIconName, size: ICON_SIZE, color: colors.light, style: {\n position: \"absolute\",\n right: 16,\n marginTop: type === \"solid\" ? MINIMIZED_LABEL_FONT_SIZE + 4 : 16,\n } })) : null,\n assistiveText ? (React.createElement(Text, { style: [\n {\n color: error ? colors.error : colors.light,\n marginTop: 8,\n marginLeft: assistiveTextLeftMargin,\n },\n ] }, assistiveText)) : null));\n }\n}\nexport default withTheme(TextField);\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":["AnimatedText","Animated","createAnimatedComponent","Text","FOCUS_ANIMATION_DURATION","BLUR_ANIMATION_DURATION","ICON_SIZE","TextField","React","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","StyleSheet","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","I18nManager","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 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["hooks.
|
|
1
|
+
{"version":3,"sources":["hooks.ts"],"names":["usePrevious","value","ref","React","useRef","useEffect","current"],"mappings":";;;;;;;AAAA;;;;AAEO,SAASA,WAAT,CAAqBC,KAArB,EAAiC;AACtC;AACA;AACA,QAAMC,GAAG,GAAGC,eAAMC,MAAN,EAAZ,CAHsC,CAKtC;;;AACAD,iBAAME,SAAN,CAAgB,MAAM;AACpBH,IAAAA,GAAG,CAACI,OAAJ,GAAcL,KAAd;AACD,GAFD,EAEG,CAACA,KAAD,CAFH,EANsC,CAUtC;;;AACA,SAAOC,GAAG,CAACI,OAAX;AACD","sourcesContent":["import React from \"react\";\n\nexport function usePrevious(value: any) {\n // The ref object is a generic container whose current property is mutable\n // and can hold any value, similar to an instance property on a class\n const ref = React.useRef();\n\n // Store current value in ref\n React.useEffect(() => {\n ref.current = value;\n }, [value]);\n\n // Return previous value (happens before update in useEffect above)\n return ref.current;\n}\n"]}
|