@draftbit/core 43.4.9 → 43.4.11-2f015a.5
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/Accordion/AccordionGroup.js +2 -2
- package/lib/commonjs/components/Accordion/AccordionGroup.js.map +1 -1
- package/lib/commonjs/components/DatePicker/DatePicker.js +2 -9
- package/lib/commonjs/components/DatePicker/DatePicker.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/FieldSearchBarFull.js.map +1 -1
- package/lib/commonjs/components/NumberInput.js +15 -17
- package/lib/commonjs/components/NumberInput.js.map +1 -1
- package/lib/commonjs/components/TextField.js +8 -5
- package/lib/commonjs/components/TextField.js.map +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/mappings/HeaderLarge.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/Image.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/MapCallout.js.map +1 -1
- package/lib/commonjs/mappings/RowBodyIcon.js.map +1 -1
- package/lib/commonjs/mappings/RowHeadlineImageCaption.js.map +1 -1
- package/lib/commonjs/mappings/RowHeadlineImageIcon.js.map +1 -1
- package/lib/module/components/Accordion/AccordionGroup.js +2 -2
- package/lib/module/components/Accordion/AccordionGroup.js.map +1 -1
- package/lib/module/components/DatePicker/DatePicker.js +3 -9
- package/lib/module/components/DatePicker/DatePicker.js.map +1 -1
- package/lib/module/components/NumberInput.js +15 -17
- package/lib/module/components/NumberInput.js.map +1 -1
- package/lib/module/components/RadioButton/index.js.map +1 -1
- package/lib/module/components/Switch.js +10 -21
- package/lib/module/components/Switch.js.map +1 -1
- package/lib/module/components/TextField.js +8 -5
- package/lib/module/components/TextField.js.map +1 -1
- package/lib/module/mappings/HeaderMedium.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 +3 -3
- package/src/components/Accordion/AccordionGroup.js +1 -1
- package/src/components/Accordion/AccordionGroup.tsx +1 -1
- package/src/components/DatePicker/DatePicker.js +2 -4
- package/src/components/DatePicker/DatePicker.tsx +1 -14
- package/src/components/NumberInput.js +13 -14
- package/src/components/NumberInput.tsx +16 -31
- package/src/components/TextField.js +5 -4
- package/src/components/TextField.tsx +6 -5
- 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
|
@@ -62,9 +62,9 @@ const AccordionGroup = _ref => {
|
|
|
62
62
|
style: styles.content
|
|
63
63
|
}, /*#__PURE__*/React.createElement(_Text.default, {
|
|
64
64
|
selectable: false,
|
|
65
|
-
style: [{
|
|
65
|
+
style: [textStyles, {
|
|
66
66
|
color: labelColor
|
|
67
|
-
}
|
|
67
|
+
}]
|
|
68
68
|
}, label)), /*#__PURE__*/React.createElement(Icon, {
|
|
69
69
|
name: expanded ? "MaterialIcons/keyboard-arrow-up" : "MaterialIcons/keyboard-arrow-down",
|
|
70
70
|
color: caretColor,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["AccordionGroup.tsx"],"names":["AccordionGroup","Icon","openColor","closedColor","caretColor","icon","iconSize","style","label","children","expanded","expandedProp","theme","setExpanded","React","useState","handlePressAction","expandedInternal","undefined","expandedColor","colors","primary","collapsedColor","labelColor","textStyles","viewStyles","styles","row","content","color","StyleSheet","create","flexDirection","alignItems","flex","justifyContent","marginRight"],"mappings":";;;;;;;AAAA;;AACA;;AAOA;;AACA;;AAGA;;;;;;;;AAeA,MAAMA,cAAc,GAAG,QAYV;AAAA,MAZW;AACtBC,IAAAA,IADsB;AAEtBC,IAAAA,SAFsB;AAGtBC,IAAAA,WAHsB;AAItBC,IAAAA,UAJsB;AAKtBC,IAAAA,IALsB;AAMtBC,IAAAA,QAAQ,GAAG,EANW;AAOtBC,IAAAA,KAPsB;AAQtBC,IAAAA,KARsB;AAStBC,IAAAA,QATsB;AAUtBC,IAAAA,QAAQ,EAAEC,YAVY;AAWtBC,IAAAA;AAXsB,GAYX;AACX,QAAM,CAACF,QAAD,EAAWG,WAAX,IAA0BC,KAAK,CAACC,QAAN,CAC9BJ,YAAY,IAAI,KADc,CAAhC;;AAIA,QAAMK,iBAAiB,GAAG,MAAM;AAC9BH,IAAAA,WAAW,CAAC,CAACH,QAAF,CAAX;AACD,GAFD;;AAIA,QAAMO,gBAAgB,GAAGN,YAAY,KAAKO,SAAjB,GAA6BP,YAA7B,GAA4CD,QAArE;AAEA,QAAMS,aAAa,GAAGjB,SAAS,IAAIU,KAAK,CAACQ,MAAN,CAAaC,OAAhD;AACA,QAAMC,cAAc,GAAGnB,WAAW,IAAIS,KAAK,CAACQ,MAAN,CAAaC,OAAnD;AAEA,QAAME,UAAU,GAAGb,QAAQ,GAAGS,aAAH,GAAmBG,cAA9C;AAEA,QAAM;AAAEE,IAAAA,UAAF;AAAcC,IAAAA;AAAd,MAA6B,8BAAclB,KAAd,CAAnC;AAEA,sBACE,uDACE,oBAAC,sBAAD;AACE,IAAA,KAAK,EAAE,CAACmB,MAAM,CAACC,GAAR,EAAaF,UAAb,CADT;AAEE,IAAA,OAAO,EAAET,iBAFX;AAGE,IAAA,iBAAiB,EAAC;AAHpB,KAKGX,IAAI,gBACH,oBAAC,IAAD;AACE,IAAA,IAAI,EAAEA,IADR;AAEE,IAAA,IAAI,EAAEC,QAFR;AAGE,IAAA,KAAK,EAAEiB,UAHT;AAIE,IAAA,KAAK,EAAEG,MAAM,CAACrB;AAJhB,IADG,GAOD,IAZN,eAaE,oBAAC,iBAAD;AAAM,IAAA,KAAK,EAAEqB,MAAM,CAACE;AAApB,kBACE,oBAAC,aAAD;AACE,IAAA,UAAU,EAAE,KADd;AAEE,IAAA,KAAK,EAAE,
|
|
1
|
+
{"version":3,"sources":["AccordionGroup.tsx"],"names":["AccordionGroup","Icon","openColor","closedColor","caretColor","icon","iconSize","style","label","children","expanded","expandedProp","theme","setExpanded","React","useState","handlePressAction","expandedInternal","undefined","expandedColor","colors","primary","collapsedColor","labelColor","textStyles","viewStyles","styles","row","content","color","StyleSheet","create","flexDirection","alignItems","flex","justifyContent","marginRight"],"mappings":";;;;;;;AAAA;;AACA;;AAOA;;AACA;;AAGA;;;;;;;;AAeA,MAAMA,cAAc,GAAG,QAYV;AAAA,MAZW;AACtBC,IAAAA,IADsB;AAEtBC,IAAAA,SAFsB;AAGtBC,IAAAA,WAHsB;AAItBC,IAAAA,UAJsB;AAKtBC,IAAAA,IALsB;AAMtBC,IAAAA,QAAQ,GAAG,EANW;AAOtBC,IAAAA,KAPsB;AAQtBC,IAAAA,KARsB;AAStBC,IAAAA,QATsB;AAUtBC,IAAAA,QAAQ,EAAEC,YAVY;AAWtBC,IAAAA;AAXsB,GAYX;AACX,QAAM,CAACF,QAAD,EAAWG,WAAX,IAA0BC,KAAK,CAACC,QAAN,CAC9BJ,YAAY,IAAI,KADc,CAAhC;;AAIA,QAAMK,iBAAiB,GAAG,MAAM;AAC9BH,IAAAA,WAAW,CAAC,CAACH,QAAF,CAAX;AACD,GAFD;;AAIA,QAAMO,gBAAgB,GAAGN,YAAY,KAAKO,SAAjB,GAA6BP,YAA7B,GAA4CD,QAArE;AAEA,QAAMS,aAAa,GAAGjB,SAAS,IAAIU,KAAK,CAACQ,MAAN,CAAaC,OAAhD;AACA,QAAMC,cAAc,GAAGnB,WAAW,IAAIS,KAAK,CAACQ,MAAN,CAAaC,OAAnD;AAEA,QAAME,UAAU,GAAGb,QAAQ,GAAGS,aAAH,GAAmBG,cAA9C;AAEA,QAAM;AAAEE,IAAAA,UAAF;AAAcC,IAAAA;AAAd,MAA6B,8BAAclB,KAAd,CAAnC;AAEA,sBACE,uDACE,oBAAC,sBAAD;AACE,IAAA,KAAK,EAAE,CAACmB,MAAM,CAACC,GAAR,EAAaF,UAAb,CADT;AAEE,IAAA,OAAO,EAAET,iBAFX;AAGE,IAAA,iBAAiB,EAAC;AAHpB,KAKGX,IAAI,gBACH,oBAAC,IAAD;AACE,IAAA,IAAI,EAAEA,IADR;AAEE,IAAA,IAAI,EAAEC,QAFR;AAGE,IAAA,KAAK,EAAEiB,UAHT;AAIE,IAAA,KAAK,EAAEG,MAAM,CAACrB;AAJhB,IADG,GAOD,IAZN,eAaE,oBAAC,iBAAD;AAAM,IAAA,KAAK,EAAEqB,MAAM,CAACE;AAApB,kBACE,oBAAC,aAAD;AACE,IAAA,UAAU,EAAE,KADd;AAEE,IAAA,KAAK,EAAE,CACLJ,UADK,EAEL;AACEK,MAAAA,KAAK,EAAEN;AADT,KAFK;AAFT,KASGf,KATH,CADF,CAbF,eA0BE,oBAAC,IAAD;AACE,IAAA,IAAI,EACFE,QAAQ,GACJ,iCADI,GAEJ,mCAJR;AAME,IAAA,KAAK,EAAEN,UANT;AAOE,IAAA,IAAI,EAAE;AAPR,IA1BF,CADF,EAqCGa,gBAAgB,GAAGR,QAAH,GAAc,IArCjC,CADF;AAyCD,CAvED;;AAyEA,MAAMiB,MAAM,GAAGI,wBAAWC,MAAX,CAAkB;AAC/BJ,EAAAA,GAAG,EAAE;AACHK,IAAAA,aAAa,EAAE,KADZ;AAEHC,IAAAA,UAAU,EAAE;AAFT,GAD0B;AAK/BL,EAAAA,OAAO,EAAE;AACPM,IAAAA,IAAI,EAAE,CADC;AAEPC,IAAAA,cAAc,EAAE;AAFT,GALsB;AAS/B9B,EAAAA,IAAI,EAAE;AACJ+B,IAAAA,WAAW,EAAE;AADT;AATyB,CAAlB,CAAf;;eAce,wBAAUpC,cAAV,C","sourcesContent":["import * as React from \"react\";\nimport {\n View,\n StyleSheet,\n StyleProp,\n TextStyle,\n Pressable,\n} from \"react-native\";\nimport Text from \"../Text\";\nimport { withTheme } from \"../../theming\";\nimport type { IconSlot } from \"../../interfaces/Icon\";\nimport type { Theme } from \"../../styles/DefaultTheme\";\nimport { extractStyles } from \"../../utilities\";\n\ntype Props = {\n openColor: string;\n closedColor: string;\n caretColor: string;\n icon?: string;\n iconSize: number;\n style?: StyleProp<TextStyle>;\n children: React.ReactNode;\n label: string;\n expanded?: boolean;\n theme: Theme;\n} & IconSlot;\n\nconst AccordionGroup = ({\n Icon,\n openColor,\n closedColor,\n caretColor,\n icon,\n iconSize = 24,\n style,\n label,\n children,\n expanded: expandedProp,\n theme,\n}: Props) => {\n const [expanded, setExpanded] = React.useState<boolean>(\n expandedProp || false\n );\n\n const handlePressAction = () => {\n setExpanded(!expanded);\n };\n\n const expandedInternal = expandedProp !== undefined ? expandedProp : expanded;\n\n const expandedColor = openColor || theme.colors.primary;\n const collapsedColor = closedColor || theme.colors.primary;\n\n const labelColor = expanded ? expandedColor : collapsedColor;\n\n const { textStyles, viewStyles } = extractStyles(style);\n\n return (\n <>\n <Pressable\n style={[styles.row, viewStyles]}\n onPress={handlePressAction}\n accessibilityRole=\"button\"\n >\n {icon ? (\n <Icon\n name={icon}\n size={iconSize}\n color={labelColor}\n style={styles.icon}\n />\n ) : null}\n <View style={styles.content}>\n <Text\n selectable={false}\n style={[\n textStyles,\n {\n color: labelColor,\n },\n ]}\n >\n {label}\n </Text>\n </View>\n <Icon\n name={\n expanded\n ? \"MaterialIcons/keyboard-arrow-up\"\n : \"MaterialIcons/keyboard-arrow-down\"\n }\n color={caretColor}\n size={24}\n />\n </Pressable>\n {expandedInternal ? children : null}\n </>\n );\n};\n\nconst styles = StyleSheet.create({\n row: {\n flexDirection: \"row\",\n alignItems: \"center\",\n },\n content: {\n flex: 1,\n justifyContent: \"center\",\n },\n icon: {\n marginRight: 8,\n },\n});\n\nexport default withTheme(AccordionGroup);\n"]}
|
|
@@ -17,8 +17,6 @@ var _theming = require("../../theming");
|
|
|
17
17
|
|
|
18
18
|
var _Portal = _interopRequireDefault(require("../Portal/Portal"));
|
|
19
19
|
|
|
20
|
-
var _DeprecatedButton = _interopRequireDefault(require("../DeprecatedButton"));
|
|
21
|
-
|
|
22
20
|
var _Touchable = _interopRequireDefault(require("../Touchable"));
|
|
23
21
|
|
|
24
22
|
var _DatePickerComponent = _interopRequireDefault(require("./DatePickerComponent"));
|
|
@@ -370,18 +368,13 @@ const DatePicker = _ref => {
|
|
|
370
368
|
paddingLeft: insets.left,
|
|
371
369
|
paddingRight: insets.right
|
|
372
370
|
}]
|
|
373
|
-
},
|
|
374
|
-
Icon: Icon,
|
|
375
|
-
type: "text",
|
|
376
|
-
onPress: toggleVisibility,
|
|
377
|
-
style: styles.closeButton
|
|
378
|
-
}, "Close"), /*#__PURE__*/React.createElement(_DatePickerComponent.default, {
|
|
371
|
+
}, /*#__PURE__*/React.createElement(_DatePickerComponent.default, {
|
|
379
372
|
value: getValidDate(),
|
|
380
373
|
mode: mode,
|
|
381
374
|
isVisible: pickerVisible,
|
|
382
375
|
toggleVisibility: toggleVisibility,
|
|
383
376
|
onChange: (_event, data) => {
|
|
384
|
-
|
|
377
|
+
toggleVisibility();
|
|
385
378
|
setValue(data);
|
|
386
379
|
onDateChange(data);
|
|
387
380
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["DatePicker.tsx"],"names":["AnimatedText","Animated","createAnimatedComponent","Text","FOCUS_ANIMATION_DURATION","BLUR_ANIMATION_DURATION","ICON_SIZE","MONTHS","DatePicker","Icon","style","theme","colors","typography","roundness","disabledOpacity","date","onDateChange","defaultValue","disabled","mode","format","type","leftIconName","rightIconName","leftIconMode","label","placeholder","props","value","setValue","React","useState","useEffect","pickerVisible","setPickerVisible","labeled","Value","placeholder1","setPlaceholder1","focused","setFocused","labelLayout","setLabelLayout","measured","width","getValidDate","Date","getMonth","formatDate","newDate","toLocaleTimeString","toLocaleString","getDate","getFullYear","toggleVisibility","_handleBlur","_handleFocus","insets","_hidePlaceholder","timing","toValue","duration","useNativeDriver","start","_showPlaceholder","setTimeout","clearTimeout","MINIMIZED_LABEL_Y_OFFSET","caption","lineHeight","OUTLINE_MINIMIZED_LABEL_Y_OFFSET","MAXIMIZED_LABEL_FONT_SIZE","subtitle1","fontSize","MINIMIZED_LABEL_FONT_SIZE","hasActiveOutline","inputTextColor","activeColor","underlineColor","borderColor","placeholderColor","containerStyle","backgroundColor","inputStyle","strong","light","divider","primary","background","paddingVertical","color","paddingLeft","paddingRight","height","borderTopLeftRadius","borderTopRightRadius","paddingBottom","marginTop","borderRadius","borderWidth","paddingTop","opacity","paddingHorizontal","marginLeft","leftIconColor","leftIconProps","size","name","leftIconStyle","position","labelStyle","top","left","transform","translateY","interpolate","inputRange","outputRange","scale","translateX","inputStyles","styles","input","marginHorizontal","container","underline","scaleY","StyleSheet","absoluteFill","e","nativeEvent","layout","right","picker","pickerContainer","bottom","Platform","OS","closeButton","_event","data","create","alignSelf","flexDirection","justifyContent","flexGrow","textAlignVertical","margin","textAlign","I18nManager","isRTL"],"mappings":";;;;;;;AAAA;;AACA;;AAeA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAKA,MAAMA,YAAY,GAAGC,sBAASC,uBAAT,CAAiCC,iBAAjC,CAArB;;AAEA,MAAMC,wBAAwB,GAAG,GAAjC;AACA,MAAMC,uBAAuB,GAAG,GAAhC;AACA,MAAMC,SAAS,GAAG,EAAlB;AA0BA,MAAMC,MAAM,GAAG,CACb,SADa,EAEb,UAFa,EAGb,OAHa,EAIb,OAJa,EAKb,KALa,EAMb,MANa,EAOb,MAPa,EAQb,QARa,EASb,WATa,EAUb,SAVa,EAWb,UAXa,EAYb,UAZa,CAAf;;AAeA,MAAMC,UAA2B,GAAG,QAiB9B;AAAA,MAjB+B;AACnCC,IAAAA,IADmC;AAEnCC,IAAAA,KAFmC;AAGnCC,IAAAA,KAAK,EAAE;AAAEC,MAAAA,MAAF;AAAUC,MAAAA,UAAV;AAAsBC,MAAAA,SAAtB;AAAiCC,MAAAA;AAAjC,KAH4B;AAInCC,IAAAA,IAJmC;AAKnCC,IAAAA,YAAY,GAAG,MAAM,CAAE,CALY;AAMnCC,IAAAA,YANmC;AAOnCC,IAAAA,QAAQ,GAAG,KAPwB;AAQnCC,IAAAA,IAAI,GAAG,MAR4B;AASnCC,IAAAA,MATmC;AAUnCC,IAAAA,IAAI,GAAG,WAV4B;AAWnCC,IAAAA,YAXmC;AAYnCC,IAAAA,aAZmC;AAanCC,IAAAA,YAAY,GAAG,OAboB;AAcnCC,IAAAA,KAdmC;AAenCC,IAAAA,WAfmC;AAgBnC,OAAGC;AAhBgC,GAiB/B;AACJ,QAAM,CAACC,KAAD,EAAQC,QAAR,IAAoBC,KAAK,CAACC,QAAN,CAAoBhB,IAAI,IAAIE,YAA5B,CAA1B;AAEAa,EAAAA,KAAK,CAACE,SAAN,CAAgB,MAAM;AACpB,QAAIf,YAAY,IAAI,IAApB,EAA0B;AACxBY,MAAAA,QAAQ,CAACZ,YAAD,CAAR;AACD;AACF,GAJD,EAIG,CAACA,YAAD,CAJH;AAMA,QAAM,CAACgB,aAAD,EAAgBC,gBAAhB,IAAoCJ,KAAK,CAACC,QAAN,CAAe,KAAf,CAA1C;AACA,QAAM,CAACI,OAAD,IAAYL,KAAK,CAACC,QAAN,CAChB,IAAI/B,sBAASoC,KAAb,CAAmBrB,IAAI,GAAG,CAAH,GAAO,CAA9B,CADgB,CAAlB;AAGA,QAAM,CAACsB,YAAD,EAAeC,eAAf,IAAkCR,KAAK,CAACC,QAAN,CAAe,EAAf,CAAxC;AACA,QAAM,CAACQ,OAAD,EAAUC,UAAV,IAAwBV,KAAK,CAACC,QAAN,CAAwB,KAAxB,CAA9B;AACA,QAAM,CAACU,WAAD,EAAcC,cAAd,IAAgCZ,KAAK,CAACC,QAAN,CAGnC;AAAEY,IAAAA,QAAQ,EAAE,KAAZ;AAAmBC,IAAAA,KAAK,EAAE;AAA1B,GAHmC,CAAtC;;AAKA,QAAMC,YAAY,GAAG,MAAY;AAC/B,QAAI,CAACjB,KAAL,EAAY;AACV,aAAO,IAAIkB,IAAJ,EAAP;AACD;;AACD,WAAO,QAAOlB,KAAP,aAAOA,KAAP,uBAAOA,KAAK,CAAEmB,QAAd,MAA2B,UAA3B,GAAwCnB,KAAxC,GAAgD,IAAIkB,IAAJ,EAAvD;AACD,GALD;;AAOA,QAAME,UAAU,GAAG,MAAc;AAC/B,QAAI,CAACpB,KAAL,EAAY,OAAO,EAAP;AACZ,QAAIqB,OAAO,GAAGJ,YAAY,EAA1B;AAEA,QAAIzB,MAAJ,EAAY,OAAO,yBAAW6B,OAAX,EAAoB7B,MAApB,CAAP;;AAEZ,QAAID,IAAI,KAAK,MAAb,EAAqB;AACnB,aAAQ,GAAE8B,OAAO,CAACC,kBAAR,EAA6B,EAAvC;AACD;;AAED,QAAI/B,IAAI,KAAK,UAAb,EAAyB;AACvB,aAAQ,GAAE8B,OAAO,CAACE,cAAR,EAAyB,EAAnC;AACD;;AAED,WAAQ,GACN7C,MAAM,CAAC2C,OAAO,CAACF,QAAR,EAAD,CACP,IAAGE,OAAO,CAACG,OAAR,EAAkB,KAAIH,OAAO,CAACI,WAAR,EAAsB,EAFhD;AAGD,GAjBD;;AAmBA,QAAMC,gBAAgB,GAAG,YAAY;AACnCpB,IAAAA,gBAAgB,CAAC,CAACD,aAAF,CAAhB;AACAM,IAAAA,OAAO,GAAGgB,WAAW,EAAd,GAAmBC,YAAY,EAAtC;AACD,GAHD;;AAIA,QAAMC,MAAM,GAAG,oDAAf,CAlDI,CAoDJ;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;;AAEA,QAAMC,gBAAgB,GAAG,MAAM;AAC7BpB,IAAAA,eAAe,CAAC,EAAD,CAAf;AACD,GAFD;;AAIAR,EAAAA,KAAK,CAACE,SAAN,CAAgB,MAAM;AACpBH,IAAAA,QAAQ,CAACd,IAAD,CAAR;AACD,GAFD,EAEG,CAACA,IAAD,CAFH;AAIAe,EAAAA,KAAK,CAACE,SAAN,CAAgB,MAAM;AACpB,QAAIJ,KAAK,IAAIW,OAAT,IAAoBF,YAAxB,EAAsC;AACpC;AACArC,4BAAS2D,MAAT,CAAgBxB,OAAhB,EAAyB;AACvByB,QAAAA,OAAO,EAAE,CADc;AAEvBC,QAAAA,QAAQ,EAAEzD,uBAFa;AAGvB0D,QAAAA,eAAe,EAAE;AAHM,OAAzB,EAIGC,KAJH;AAKD,KAPD,MAOO;AACL;AACA/D,4BAAS2D,MAAT,CAAgBxB,OAAhB,EAAyB;AACvByB,QAAAA,OAAO,EAAE,CADc;AAEvBC,QAAAA,QAAQ,EAAE1D,wBAFa;AAGvB2D,QAAAA,eAAe,EAAE;AAHM,OAAzB,EAIGC,KAJH;AAKD;AACF,GAhBD,EAgBG,CAACnC,KAAD,EAAQW,OAAR,EAAiBF,YAAjB,EAA+BF,OAA/B,CAhBH;AAkBAL,EAAAA,KAAK,CAACE,SAAN,CAAgB,MAAM;AACpB,UAAMgC,gBAAgB,GAAG,MACvBC,UAAU,CAAC,MAAM3B,eAAe,CAACZ,WAAW,IAAI,EAAhB,CAAtB,EAA2C,EAA3C,CADZ;;AAEA,QAAIa,OAAO,IAAI,CAACd,KAAhB,EAAuB;AACrBuC,MAAAA,gBAAgB;AACjB,KAFD,MAEO;AACLN,MAAAA,gBAAgB;AACjB;;AACD,WAAO,MAAM;AACXQ,MAAAA,YAAY,CAACF,gBAAgB,EAAjB,CAAZ;AACD,KAFD;AAGD,GAXD,EAWG,CAACzB,OAAD,EAAUd,KAAV,EAAiBC,WAAjB,CAXH;;AAaA,QAAM8B,YAAY,GAAG,MAAM;AACzB,QAAItC,QAAJ,EAAc;AACZ;AACD;;AAEDsB,IAAAA,UAAU,CAAC,IAAD,CAAV;AACD,GAND;;AAQA,QAAMe,WAAW,GAAG,MAAM;AACxB,QAAIrC,QAAJ,EAAc;AACZ;AACD;;AACDsB,IAAAA,UAAU,CAAC,KAAD,CAAV;AACD,GALD;;AAOA,QAAM2B,wBAAwB,GAAG,EAAEvD,UAAU,CAACwD,OAAX,CAAmBC,UAAnB,GAAgC,CAAlC,CAAjC;AACA,QAAMC,gCAAgC,GAAG,EAAE,KAAK,GAAL,GAAW,CAAb,CAAzC;AACA,QAAMC,yBAAyB,GAAG3D,UAAU,CAAC4D,SAAX,CAAqBC,QAAvD;AACA,QAAMC,yBAAyB,GAAG9D,UAAU,CAACwD,OAAX,CAAmBK,QAArD;AAEA,QAAME,gBAAgB,GAAGpC,OAAzB;AAEA,MAAIqC,cAAJ,EACEC,WADF,EAEEC,cAFF,EAGEC,WAHF,EAIEC,gBAJF,EAKEC,cALF,EAMEC,eANF,EAOEC,UAPF;AASAP,EAAAA,cAAc,GAAGjE,MAAM,CAACyE,MAAxB;;AACA,MAAIlE,QAAJ,EAAc;AACZ2D,IAAAA,WAAW,GAAGlE,MAAM,CAAC0E,KAArB;AACAL,IAAAA,gBAAgB,GAAGrE,MAAM,CAAC0E,KAA1B;AACAN,IAAAA,WAAW,GAAG,aAAd;AACAD,IAAAA,cAAc,GAAG,aAAjB;AACAI,IAAAA,eAAe,GAAGvE,MAAM,CAAC2E,OAAzB;AACD,GAND,MAMO;AACLT,IAAAA,WAAW,GAAGlE,MAAM,CAAC4E,OAArB;AACAP,IAAAA,gBAAgB,GAAGD,WAAW,GAAGpE,MAAM,CAAC0E,KAAxC;AACAP,IAAAA,cAAc,GAAGnE,MAAM,CAAC0E,KAAxB;AACAH,IAAAA,eAAe,GAAGvE,MAAM,CAAC6E,UAAzB;AACD;;AAED,QAAM;AAAEnB,IAAAA,UAAF;AAAc,OAAGG;AAAjB,MAA+B5D,UAAU,CAAC4D,SAAhD;AAEAW,EAAAA,UAAU,GAAG;AACXM,IAAAA,eAAe,EAAE,CADN;AAEXC,IAAAA,KAAK,EAAEd,cAFI;AAGXe,IAAAA,WAAW,EACTrE,YAAY,IAAIE,YAAY,KAAK,OAAjC,GACInB,SAAS,IAAIgB,IAAI,KAAK,OAAT,GAAmB,EAAnB,GAAwB,EAA5B,CADb,GAEI,CANK;AAOXuE,IAAAA,YAAY,EAAErE,aAAa,GAAGlB,SAAS,GAAG,EAAZ,GAAiB,CAApB,GAAwB,EAPxC;AAQX,OAAGmE,SARQ;AASXqB,IAAAA,MAAM,EAAExB;AATG,GAAb;;AAYA,MAAIhD,IAAI,KAAK,WAAb,EAA0B;AACxB4D,IAAAA,cAAc,GAAG;AACfa,MAAAA,mBAAmB,EAAEjF,SADN;AAEfkF,MAAAA,oBAAoB,EAAElF,SAFP;AAGfmF,MAAAA,aAAa,EAAE,EAHA;AAIfC,MAAAA,SAAS,EAAE;AAJI,KAAjB;AAMD,GAPD,MAOO;AACLhB,IAAAA,cAAc,GAAG;AACfiB,MAAAA,YAAY,EAAErF,SADC;AAEfkE,MAAAA,WAAW,EAAEJ,gBAAgB,GAAGE,WAAH,GAAiBE,WAF/B;AAGfoB,MAAAA,WAAW,EAAE,CAHE;AAIfC,MAAAA,UAAU,EAAEjE,OAAO,GAAG,KAAK,GAAR,GAAc,EAJlB;AAKf6D,MAAAA,aAAa,EAAE7D,OAAO,GAAG,KAAK,GAAR,GAAc,EALrB;AAMfkE,MAAAA,OAAO,EAAEnF,QAAQ,GAAGJ,eAAH,GAAqB,CANvB;AAOfoE,MAAAA;AAPe,KAAjB;AAUAC,IAAAA,UAAU,CAACmB,iBAAX,GAA+B,EAA/B;AACD;;AAED,MAAIhF,YAAY,IAAIE,YAAY,KAAK,QAArC,EAA+C;AAC7CyD,IAAAA,cAAc,CAACsB,UAAf,GAA4BlG,SAAS,GAAG,CAAxC;AACD;;AAED,MAAImG,aAAJ;;AACA,MAAIjE,OAAJ,EAAa;AACXiE,IAAAA,aAAa,GAAG7F,MAAM,CAAC4E,OAAvB;AACD,GAFD,MAEO;AACLiB,IAAAA,aAAa,GAAG7F,MAAM,CAAC0E,KAAvB;AACD;;AAED,QAAMoB,aAAa,GAAG;AACpBC,IAAAA,IAAI,EAAE,EADc;AAEpBhB,IAAAA,KAAK,EAAEc,aAFa;AAGpBG,IAAAA,IAAI,EAAErF,YAAY,IAAI;AAHF,GAAtB;AAMA,QAAMsF,aAAyB,GAAG;AAChCC,IAAAA,QAAQ,EAAE,UADsB;AAEhCZ,IAAAA,SAAS,EACP5E,IAAI,KAAK,OAAT,GACIG,YAAY,KAAK,OAAjB,GACEkD,yBAAyB,GAAG,CAD9B,GAEE,EAHN,GAIIlD,YAAY,KAAK,QAAjB,GACA,EADA,GAEA;AAT0B,GAAlC;AAYA,QAAMsF,UAAU,GAAG,EACjB,GAAGlG,UAAU,CAAC4D,SADG;AAEjBuC,IAAAA,GAAG,EAAE1F,IAAI,KAAK,OAAT,GAAmB,EAAnB,GAAwB,CAFZ;AAGjB2F,IAAAA,IAAI,EACF1F,YAAY,IAAIE,YAAY,KAAK,OAAjC,GACInB,SAAS,IAAIgB,IAAI,KAAK,OAAT,GAAmB,EAAnB,GAAwB,EAA5B,CADb,GAEI,CANW;AAOjB4F,IAAAA,SAAS,EAAE,CACT;AACE;AACAC,MAAAA,UAAU,EAAE/E,OAAO,CAACgF,WAAR,CAAoB;AAC9BC,QAAAA,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CADkB;AAE9BC,QAAAA,WAAW,EAAE,CACXhG,IAAI,KAAK,OAAT,GACIiD,gCADJ,GAEIH,wBAHO,EAIX,CAJW;AAFiB,OAApB;AAFd,KADS,EAaT;AACE;AACAmD,MAAAA,KAAK,EAAEnF,OAAO,CAACgF,WAAR,CAAoB;AACzBC,QAAAA,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CADa;AAEzBC,QAAAA,WAAW,EAAE,CACX3C,yBAAyB,GAAGH,yBADjB,EAEX,CAFW;AAFY,OAApB;AAFT,KAbS,EAuBT;AACE;AACAgD,MAAAA,UAAU,EAAEpF,OAAO,CAACgF,WAAR,CAAoB;AAC9BC,QAAAA,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CADkB;AAE9BC,QAAAA,WAAW,EAAE,CACX,EAAE,IAAI3C,yBAAyB,GAAGH,yBAAlC,KACG9B,WAAW,CAACG,KAAZ,GAAoB,CADvB,CADW,EAGX,CAHW;AAFiB,OAApB;AAFd,KAvBS;AAPM,GAAnB;AA4CA,QAAM4E,WAAW,GAAG,CAClBC,MAAM,CAACC,KADW,EAElBvC,UAFkB,EAGlB9D,IAAI,KAAK,OAAT,GAAmB;AAAEsG,IAAAA,gBAAgB,EAAE;AAApB,GAAnB,GAA8C,EAH5B,CAApB,CArQI,CA2QJ;;AAEA,sBACE,oBAAC,iBAAD;AAAM,IAAA,KAAK,EAAE,CAACF,MAAM,CAACG,SAAR,EAAmBnH,KAAnB;AAAb,kBACE,oBAAC,kBAAD;AAAW,IAAA,QAAQ,EAAES,QAArB;AAA+B,IAAA,OAAO,EAAEoC;AAAxC,kBACE,oBAAC,iBAAD;AAAM,IAAA,aAAa,EAAC;AAApB,kBACE,oBAAC,iBAAD;AAAM,IAAA,KAAK,EAAE,CAACmE,MAAM,CAACG,SAAR,EAAmBnH,KAAnB;AAAb,KACGa,YAAY,IAAIE,YAAY,KAAK,QAAjC,gBACC,oBAAC,IAAD,eAAUiF,aAAV;AAAyB,IAAA,KAAK,EAAEG;AAAhC,KADD,GAEG,IAHN,eAIE,oBAAC,iBAAD;AACE,IAAA,KAAK,EAAE,CAAC3B,cAAD,EAAiBxE,KAAK,GAAG;AAAEoF,MAAAA,MAAM,EAAEpF,KAAK,CAACoF;AAAhB,KAAH,GAA8B,EAApD;AADT,KAGGxE,IAAI,KAAK,WAAT;AAAA;AACC;AACA,sBAAC,qBAAD,CAAU,IAAV;AACE,IAAA,KAAK,EAAE,CACLoG,MAAM,CAACI,SADF,EAEL;AACE3C,MAAAA,eAAe,EAAE3C,OAAO,GAAGsC,WAAH,GAAiBC,cAD3C;AAEE;AACAmC,MAAAA,SAAS,EAAE,CAAC;AAAEa,QAAAA,MAAM,EAAEvF,OAAO,GAAG,CAAH,GAAO;AAAxB,OAAD;AAHb,KAFK;AADT,IAFD,GAYG,IAfN,EAiBGd,KAAK;AAAA;AACJ;AACA;AACA,sBAAC,iBAAD;AACE,IAAA,aAAa,EAAC,MADhB;AAEE,IAAA,KAAK,EAAE,CACLsG,wBAAWC,YADN,EAEL;AACE3B,MAAAA,OAAO,EACL;AACAtF,MAAAA,IAAI,IAAIwB,OAAR,GAAmBE,WAAW,CAACE,QAAZ,GAAuB,CAAvB,GAA2B,CAA9C,GAAmD;AAHvD,KAFK;AAFT,kBAWE,oBAAC,YAAD;AACE,IAAA,QAAQ,EAAGsF,CAAD,IACRvF,cAAc,CAAC;AACbE,MAAAA,KAAK,EAAEqF,CAAC,CAACC,WAAF,CAAcC,MAAd,CAAqBvF,KADf;AAEbD,MAAAA,QAAQ,EAAE;AAFG,KAAD,CAFlB;AAOE,IAAA,KAAK,EAAE,CACL8E,MAAM,CAAC/F,WADF,EAELL,IAAI,KAAK,OAAT,GAAmB;AAAEiF,MAAAA,iBAAiB,EAAE;AAArB,KAAnB,GAA+C,EAF1C,EAGLQ,UAHK,EAIL;AACEpB,MAAAA,KAAK,EAAE/E,MAAM,CAAC0E,KADhB;AAEEgB,MAAAA,OAAO,EAAElE,OAAO,CAACgF,WAAR,CAAoB;AAC3BC,QAAAA,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CADe;AAE3BC,QAAAA,WAAW,EAAE,CAAC1C,gBAAgB,GAAG,CAAH,GAAO,CAAxB,EAA2B,CAA3B;AAFc,OAApB;AAFX,KAJK,CAPT;AAmBE,IAAA,aAAa,EAAE;AAnBjB,KAqBGlD,KArBH,CAXF,eAkCE,oBAAC,YAAD;AACE,IAAA,KAAK,EAAE,CACLgG,MAAM,CAAC/F,WADF,EAELL,IAAI,KAAK,OAAT,GAAmB;AAAEiF,MAAAA,iBAAiB,EAAE;AAArB,KAAnB,GAA+C,EAF1C,EAGLQ,UAHK,EAIL;AACEpB,MAAAA,KAAK,EAAEV,gBADT;AAEEqB,MAAAA,OAAO,EAAE1B,gBAAgB,GAAGxC,OAAH,GAAa;AAFxC,KAJK,CADT;AAUE,IAAA,aAAa,EAAE;AAVjB,KAYGV,KAZH,CAlCF,CAHI,GAoDF,IArEN,EAuEGH,YAAY,IAAIE,YAAY,KAAK,OAAjC,gBACC,oBAAC,IAAD,eACMiF,aADN;AAEE,IAAA,KAAK,EAAE,EACL,GAAGG,aADE;AAELL,MAAAA,UAAU,EAAElF,IAAI,KAAK,OAAT,GAAmB,EAAnB,GAAwB;AAF/B;AAFT,KADD,GAQG,IA/EN,eAiFE,oBAAC,sBAAD;AACE,IAAA,KAAK,EAAE2B,UAAU,EADnB;AAEE,IAAA,WAAW,EAAEvB,KAAK,GAAGY,YAAH,GAAkBX,WAFtC;AAGE,IAAA,QAAQ,EAAE,CAACR,QAHb;AAIE,IAAA,oBAAoB,EAAE8D,gBAJxB;AAKE,IAAA,cAAc,EAAEH,WALlB;AAME,IAAA,OAAO,EAAErB,YANX;AAOE,IAAA,MAAM,EAAED,WAPV;AAQE,IAAA,qBAAqB,EAAE,aARzB;AASE,IAAA,KAAK,EAAEiE;AATT,KAUM7F,KAVN,EAjFF,CAJF,EAkGGJ,aAAa,gBACZ,oBAAC,IAAD;AACE,IAAA,IAAI,EAAEA,aADR;AAEE,IAAA,IAAI,EAAElB,SAFR;AAGE,IAAA,KAAK,EAAEM,MAAM,CAAC0E,KAHhB;AAIE,IAAA,KAAK,EAAE;AACLwB,MAAAA,QAAQ,EAAE,UADL;AAELuB,MAAAA,KAAK,EAAE,EAFF;AAGLnC,MAAAA,SAAS,EACP5E,IAAI,KAAK,OAAT,GAAmBqD,yBAAyB,GAAG,CAA/C,GAAmD;AAJhD;AAJT,IADY,GAYV,IA9GN,CADF,CADF,CADF,EAqHGzC,aAAa,iBACZ,oBAAC,eAAD,qBACE,oBAAC,iBAAD;AACE,IAAA,KAAK,EAAE,CACLwF,MAAM,CAACY,MADF,EAEL;AACEnD,MAAAA,eAAe,EAAEvE,MAAM,CAAC2E;AAD1B,KAFK;AADT,kBAQE,oBAAC,iBAAD;AACE,IAAA,KAAK,EAAE,CACLmC,MAAM,CAACa,eADF,EAEL;AACElC,MAAAA,UAAU,EAAE3C,MAAM,CAACsD,GADrB;AAEEf,MAAAA,aAAa,EAAEvC,MAAM,CAAC8E,MAFxB;AAGE5C,MAAAA,WAAW,EAAElC,MAAM,CAACuD,IAHtB;AAIEpB,MAAAA,YAAY,EAAEnC,MAAM,CAAC2E;AAJvB,KAFK;AADT,KAWGI,sBAASC,EAAT,KAAgB,KAAhB,iBACC,oBAAC,yBAAD;AACE,IAAA,IAAI,EAAEjI,IADR;AAEE,IAAA,IAAI,EAAC,MAFP;AAGE,IAAA,OAAO,EAAE8C,gBAHX;AAIE,IAAA,KAAK,EAAEmE,MAAM,CAACiB;AAJhB,aAZJ,eAsBE,oBAAC,4BAAD;AACE,IAAA,KAAK,EAAE7F,YAAY,EADrB;AAEE,IAAA,IAAI,EAAE1B,IAFR;AAGE,IAAA,SAAS,EAAEc,aAHb;AAIE,IAAA,gBAAgB,EAAEqB,gBAJpB;AAKE,IAAA,QAAQ,EAAE,CAACqF,MAAD,EAAcC,IAAd,KAA4B;AACpCJ,4BAASC,EAAT,KAAgB,KAAhB,GAAwB,IAAxB,GAA+BnF,gBAAgB,EAA/C;AACAzB,MAAAA,QAAQ,CAAC+G,IAAD,CAAR;AACA5H,MAAAA,YAAY,CAAC4H,IAAD,CAAZ;AACD;AATH,IAtBF,CARF,CADF,CAtHJ,CADF;AAuKD,CArcD;;AAucA,MAAMnB,MAAM,GAAGM,wBAAWc,MAAX,CAAkB;AAC/BjB,EAAAA,SAAS,EAAE;AACTkB,IAAAA,SAAS,EAAE;AADF,GADoB;AAI/BT,EAAAA,MAAM,EAAE;AACNxB,IAAAA,QAAQ,EAAE,UADJ;AAEN0B,IAAAA,MAAM,EAAE,CAFF;AAGNvB,IAAAA,IAAI,EAAE,CAHA;AAINoB,IAAAA,KAAK,EAAE,CAJD;AAKNW,IAAAA,aAAa,EAAE,KALT;AAMNC,IAAAA,cAAc,EAAE;AANV,GAJuB;AAY/BnB,EAAAA,SAAS,EAAE;AACThB,IAAAA,QAAQ,EAAE,UADD;AAETG,IAAAA,IAAI,EAAE,CAFG;AAGToB,IAAAA,KAAK,EAAE,CAHE;AAITG,IAAAA,MAAM,EAAE,CAJC;AAKT1C,IAAAA,MAAM,EAAE;AALC,GAZoB;AAmB/B6B,EAAAA,KAAK,EAAE;AACLuB,IAAAA,QAAQ,EAAE,CADL;AAELD,IAAAA,cAAc,EAAE,QAFX;AAGLE,IAAAA,iBAAiB,EAAE,QAHd;AAILC,IAAAA,MAAM,EAAE,CAJH;AAKLC,IAAAA,SAAS,EAAEC,yBAAYC,KAAZ,GAAoB,OAApB,GAA8B;AALpC,GAnBwB;AA0B/B5H,EAAAA,WAAW,EAAE;AACXmF,IAAAA,QAAQ,EAAE,UADC;AAEXG,IAAAA,IAAI,EAAE;AAFK,GA1BkB;AA8B/BsB,EAAAA,eAAe,EAAE;AAAES,IAAAA,aAAa,EAAE,QAAjB;AAA2BnG,IAAAA,KAAK,EAAE;AAAlC,GA9Bc;AA+B/B8F,EAAAA,WAAW,EAAE;AACXI,IAAAA,SAAS,EAAE;AADA;AA/BkB,CAAlB,CAAf;;eAoCe,wBAAUvI,UAAV,C","sourcesContent":["import * as React from \"react\";\nimport {\n View,\n Animated,\n Text,\n StyleSheet,\n StyleProp,\n ViewStyle,\n TextStyle,\n Platform,\n TextInputProps,\n ImageStyle,\n I18nManager,\n LayoutChangeEvent,\n TextInput as NativeTextInput,\n} from \"react-native\";\nimport { useSafeAreaInsets } from \"react-native-safe-area-context\";\n\nimport dateFormat from \"dateformat\";\nimport { withTheme } from \"../../theming\";\nimport Portal from \"../Portal/Portal\";\nimport Button from \"../DeprecatedButton\";\nimport Touchable from \"../Touchable\";\nimport DateTimePicker from \"./DatePickerComponent\";\n\nimport type { Theme } from \"../../styles/DefaultTheme\";\nimport type { IconSlot } from \"../../interfaces/Icon\";\n\nconst AnimatedText = Animated.createAnimatedComponent(Text);\n\nconst FOCUS_ANIMATION_DURATION = 150;\nconst BLUR_ANIMATION_DURATION = 180;\nconst ICON_SIZE = 24;\n\ntype Props = {\n style?: StyleProp<ViewStyle> & { height?: number };\n theme: Theme;\n // initialDate?: string;\n // locale?: string;\n // minuteInterval?: number;\n // timeZoneOffsetInMinutes?: number;\n // error?: boolean;\n // type?: string;\n date?: Date;\n format?: string;\n onDateChange?: (data?: Date) => void;\n defaultValue?: Date;\n disabled?: boolean;\n mode?: \"date\" | \"time\" | \"datetime\";\n type?: \"solid\" | \"underline\";\n label?: string;\n placeholder?: string;\n leftIconName?: string;\n leftIconMode?: \"outset\" | \"inset\";\n rightIconName?: string;\n} & IconSlot &\n TextInputProps;\n\nconst MONTHS = [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n];\n\nconst DatePicker: React.FC<Props> = ({\n Icon,\n style,\n theme: { colors, typography, roundness, disabledOpacity },\n date,\n onDateChange = () => {},\n defaultValue,\n disabled = false,\n mode = \"date\",\n format,\n type = \"underline\",\n leftIconName,\n rightIconName,\n leftIconMode = \"inset\",\n label,\n placeholder,\n ...props\n}) => {\n const [value, setValue] = React.useState<any>(date || defaultValue);\n\n React.useEffect(() => {\n if (defaultValue != null) {\n setValue(defaultValue);\n }\n }, [defaultValue]);\n\n const [pickerVisible, setPickerVisible] = React.useState(false);\n const [labeled] = React.useState<Animated.Value>(\n new Animated.Value(date ? 0 : 1)\n );\n const [placeholder1, setPlaceholder1] = React.useState(\"\");\n const [focused, setFocused] = React.useState<boolean>(false);\n const [labelLayout, setLabelLayout] = React.useState<{\n measured: Boolean;\n width: number;\n }>({ measured: false, width: 0 });\n\n const getValidDate = (): Date => {\n if (!value) {\n return new Date();\n }\n return typeof value?.getMonth === \"function\" ? value : new Date();\n };\n\n const formatDate = (): string => {\n if (!value) return \"\";\n let newDate = getValidDate();\n\n if (format) return dateFormat(newDate, format);\n\n if (mode === \"time\") {\n return `${newDate.toLocaleTimeString()}`;\n }\n\n if (mode === \"datetime\") {\n return `${newDate.toLocaleString()}`;\n }\n\n return `${\n MONTHS[newDate.getMonth()]\n } ${newDate.getDate()}, ${newDate.getFullYear()}`;\n };\n\n const toggleVisibility = async () => {\n setPickerVisible(!pickerVisible);\n focused ? _handleBlur() : _handleFocus();\n };\n const insets = useSafeAreaInsets();\n\n // const _restoreLabel = () =>\n // Animated.timing(labeled, {\n // toValue: 1,\n // duration: FOCUS_ANIMATION_DURATION,\n // useNativeDriver: true,\n // }).start();\n\n // const _minmizeLabel = () =>\n // Animated.timing(labeled, {\n // toValue: 0,\n // duration: BLUR_ANIMATION_DURATION,\n // useNativeDriver: true,\n // }).start();\n\n // const _showPlaceholder = () =>\n // setTimeout(() => setPlaceholder1(placeholder || \"\"), 50);\n\n const _hidePlaceholder = () => {\n setPlaceholder1(\"\");\n };\n\n React.useEffect(() => {\n setValue(date);\n }, [date]);\n\n React.useEffect(() => {\n if (value || focused || placeholder1) {\n // _minmizeLabel();\n Animated.timing(labeled, {\n toValue: 0,\n duration: BLUR_ANIMATION_DURATION,\n useNativeDriver: true,\n }).start();\n } else {\n // _restoreLabel();\n Animated.timing(labeled, {\n toValue: 1,\n duration: FOCUS_ANIMATION_DURATION,\n useNativeDriver: true,\n }).start();\n }\n }, [value, focused, placeholder1, labeled]);\n\n React.useEffect(() => {\n const _showPlaceholder = () =>\n setTimeout(() => setPlaceholder1(placeholder || \"\"), 50);\n if (focused || !label) {\n _showPlaceholder();\n } else {\n _hidePlaceholder();\n }\n return () => {\n clearTimeout(_showPlaceholder());\n };\n }, [focused, label, placeholder]);\n\n const _handleFocus = () => {\n if (disabled) {\n return;\n }\n\n setFocused(true);\n };\n\n const _handleBlur = () => {\n if (disabled) {\n return;\n }\n setFocused(false);\n };\n\n const MINIMIZED_LABEL_Y_OFFSET = -(typography.caption.lineHeight + 4);\n const OUTLINE_MINIMIZED_LABEL_Y_OFFSET = -(16 * 0.5 + 4);\n const MAXIMIZED_LABEL_FONT_SIZE = typography.subtitle1.fontSize;\n const MINIMIZED_LABEL_FONT_SIZE = typography.caption.fontSize;\n\n const hasActiveOutline = focused;\n\n let inputTextColor,\n activeColor,\n underlineColor,\n borderColor,\n placeholderColor,\n containerStyle: StyleProp<ViewStyle>,\n backgroundColor,\n inputStyle: StyleProp<TextStyle>;\n\n inputTextColor = colors.strong;\n if (disabled) {\n activeColor = colors.light;\n placeholderColor = colors.light;\n borderColor = \"transparent\";\n underlineColor = \"transparent\";\n backgroundColor = colors.divider;\n } else {\n activeColor = colors.primary;\n placeholderColor = borderColor = colors.light;\n underlineColor = colors.light;\n backgroundColor = colors.background;\n }\n\n const { lineHeight, ...subtitle1 } = typography.subtitle1;\n\n inputStyle = {\n paddingVertical: 0,\n color: inputTextColor,\n paddingLeft:\n leftIconName && leftIconMode === \"inset\"\n ? ICON_SIZE + (type === \"solid\" ? 16 : 12)\n : 0,\n paddingRight: rightIconName ? ICON_SIZE + 16 + 4 : 12,\n ...subtitle1,\n height: lineHeight,\n };\n\n if (type === \"underline\") {\n containerStyle = {\n borderTopLeftRadius: roundness,\n borderTopRightRadius: roundness,\n paddingBottom: 12,\n marginTop: 16,\n };\n } else {\n containerStyle = {\n borderRadius: roundness,\n borderColor: hasActiveOutline ? activeColor : borderColor,\n borderWidth: 1,\n paddingTop: labeled ? 16 * 1.5 : 16,\n paddingBottom: labeled ? 16 * 0.5 : 16,\n opacity: disabled ? disabledOpacity : 1,\n backgroundColor,\n };\n\n inputStyle.paddingHorizontal = 12;\n }\n\n if (leftIconName && leftIconMode === \"outset\") {\n containerStyle.marginLeft = ICON_SIZE + 8;\n }\n\n let leftIconColor;\n if (focused) {\n leftIconColor = colors.primary;\n } else {\n leftIconColor = colors.light;\n }\n\n const leftIconProps = {\n size: 24,\n color: leftIconColor,\n name: leftIconName || \"\",\n };\n\n const leftIconStyle: ImageStyle = {\n position: \"absolute\",\n marginTop:\n type === \"solid\"\n ? leftIconMode === \"inset\"\n ? MINIMIZED_LABEL_FONT_SIZE + 4\n : 16\n : leftIconMode === \"outset\"\n ? 16\n : 0,\n };\n\n const labelStyle = {\n ...typography.subtitle1,\n top: type === \"solid\" ? 16 : 0,\n left:\n leftIconName && leftIconMode === \"inset\"\n ? ICON_SIZE + (type === \"solid\" ? 16 : 12)\n : 0,\n transform: [\n {\n // Move label to top\n translateY: labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [\n type === \"solid\"\n ? OUTLINE_MINIMIZED_LABEL_Y_OFFSET\n : MINIMIZED_LABEL_Y_OFFSET,\n 0,\n ],\n }),\n },\n {\n // Make label smaller\n scale: labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [\n MINIMIZED_LABEL_FONT_SIZE / MAXIMIZED_LABEL_FONT_SIZE,\n 1,\n ],\n }),\n },\n {\n // Offset label scale since RN doesn't support transform origin\n translateX: labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [\n -(1 - MINIMIZED_LABEL_FONT_SIZE / MAXIMIZED_LABEL_FONT_SIZE) *\n (labelLayout.width / 2),\n 0,\n ],\n }),\n },\n ],\n };\n\n const inputStyles = [\n styles.input,\n inputStyle,\n type === \"solid\" ? { marginHorizontal: 12 } : {},\n ];\n\n // const render = (props) => <NativeTextInput {...props} />;\n\n return (\n <View style={[styles.container, style]}>\n <Touchable disabled={disabled} onPress={toggleVisibility}>\n <View pointerEvents=\"none\">\n <View style={[styles.container, style]}>\n {leftIconName && leftIconMode === \"outset\" ? (\n <Icon {...leftIconProps} style={leftIconStyle} />\n ) : null}\n <View\n style={[containerStyle, style ? { height: style.height } : {}]}\n >\n {type === \"underline\" ? (\n // When type === 'flat', render an underline\n <Animated.View\n style={[\n styles.underline,\n {\n backgroundColor: focused ? activeColor : underlineColor,\n // Underlines is thinner when input is not focused\n transform: [{ scaleY: focused ? 1 : 0.5 }],\n },\n ]}\n />\n ) : null}\n\n {label ? (\n // Position colored placeholder and gray placeholder on top of each other and crossfade them\n // This gives the effect of animating the color, but allows us to use native driver\n <View\n pointerEvents=\"none\"\n style={[\n StyleSheet.absoluteFill,\n {\n opacity:\n // Hide the label in minimized state until we measure its width\n date || focused ? (labelLayout.measured ? 1 : 0) : 1,\n },\n ]}\n >\n <AnimatedText\n onLayout={(e: LayoutChangeEvent) =>\n setLabelLayout({\n width: e.nativeEvent.layout.width,\n measured: true,\n })\n }\n style={[\n styles.placeholder,\n type === \"solid\" ? { paddingHorizontal: 12 } : {},\n labelStyle,\n {\n color: colors.light,\n opacity: labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [hasActiveOutline ? 1 : 0, 0],\n }),\n },\n ]}\n numberOfLines={1}\n >\n {label}\n </AnimatedText>\n <AnimatedText\n style={[\n styles.placeholder,\n type === \"solid\" ? { paddingHorizontal: 12 } : {},\n labelStyle,\n {\n color: placeholderColor,\n opacity: hasActiveOutline ? labeled : 1,\n },\n ]}\n numberOfLines={1}\n >\n {label}\n </AnimatedText>\n </View>\n ) : null}\n\n {leftIconName && leftIconMode === \"inset\" ? (\n <Icon\n {...leftIconProps}\n style={{\n ...leftIconStyle,\n marginLeft: type === \"solid\" ? 16 : 0,\n }}\n />\n ) : null}\n\n <NativeTextInput\n value={formatDate()}\n placeholder={label ? placeholder1 : placeholder}\n editable={!disabled}\n placeholderTextColor={placeholderColor}\n selectionColor={activeColor}\n onFocus={_handleFocus}\n onBlur={_handleBlur}\n underlineColorAndroid={\"transparent\"}\n style={inputStyles}\n {...props}\n />\n </View>\n {rightIconName ? (\n <Icon\n name={rightIconName}\n size={ICON_SIZE}\n color={colors.light}\n style={{\n position: \"absolute\",\n right: 16,\n marginTop:\n type === \"solid\" ? MINIMIZED_LABEL_FONT_SIZE + 4 : 16,\n }}\n />\n ) : null}\n </View>\n </View>\n </Touchable>\n {pickerVisible && (\n <Portal>\n <View\n style={[\n styles.picker,\n {\n backgroundColor: colors.divider,\n },\n ]}\n >\n <View\n style={[\n styles.pickerContainer,\n {\n paddingTop: insets.top,\n paddingBottom: insets.bottom,\n paddingLeft: insets.left,\n paddingRight: insets.right,\n },\n ]}\n >\n {Platform.OS === \"ios\" && (\n <Button\n Icon={Icon}\n type=\"text\"\n onPress={toggleVisibility}\n style={styles.closeButton}\n >\n Close\n </Button>\n )}\n\n <DateTimePicker\n value={getValidDate()}\n mode={mode}\n isVisible={pickerVisible}\n toggleVisibility={toggleVisibility}\n onChange={(_event: any, data: any) => {\n Platform.OS === \"ios\" ? null : toggleVisibility();\n setValue(data);\n onDateChange(data);\n }}\n />\n </View>\n </View>\n </Portal>\n )}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n alignSelf: \"stretch\",\n },\n picker: {\n position: \"absolute\",\n bottom: 0,\n left: 0,\n right: 0,\n flexDirection: \"row\",\n justifyContent: \"center\",\n },\n underline: {\n position: \"absolute\",\n left: 0,\n right: 0,\n bottom: 0,\n height: 2,\n },\n input: {\n flexGrow: 1,\n justifyContent: \"center\",\n textAlignVertical: \"center\",\n margin: 0,\n textAlign: I18nManager.isRTL ? \"right\" : \"left\",\n },\n placeholder: {\n position: \"absolute\",\n left: 0,\n },\n pickerContainer: { flexDirection: \"column\", width: \"100%\" },\n closeButton: {\n alignSelf: \"flex-end\",\n },\n});\n\nexport default withTheme(DatePicker);\n"]}
|
|
1
|
+
{"version":3,"sources":["DatePicker.tsx"],"names":["AnimatedText","Animated","createAnimatedComponent","Text","FOCUS_ANIMATION_DURATION","BLUR_ANIMATION_DURATION","ICON_SIZE","MONTHS","DatePicker","Icon","style","theme","colors","typography","roundness","disabledOpacity","date","onDateChange","defaultValue","disabled","mode","format","type","leftIconName","rightIconName","leftIconMode","label","placeholder","props","value","setValue","React","useState","useEffect","pickerVisible","setPickerVisible","labeled","Value","placeholder1","setPlaceholder1","focused","setFocused","labelLayout","setLabelLayout","measured","width","getValidDate","Date","getMonth","formatDate","newDate","toLocaleTimeString","toLocaleString","getDate","getFullYear","toggleVisibility","_handleBlur","_handleFocus","insets","_hidePlaceholder","timing","toValue","duration","useNativeDriver","start","_showPlaceholder","setTimeout","clearTimeout","MINIMIZED_LABEL_Y_OFFSET","caption","lineHeight","OUTLINE_MINIMIZED_LABEL_Y_OFFSET","MAXIMIZED_LABEL_FONT_SIZE","subtitle1","fontSize","MINIMIZED_LABEL_FONT_SIZE","hasActiveOutline","inputTextColor","activeColor","underlineColor","borderColor","placeholderColor","containerStyle","backgroundColor","inputStyle","strong","light","divider","primary","background","paddingVertical","color","paddingLeft","paddingRight","height","borderTopLeftRadius","borderTopRightRadius","paddingBottom","marginTop","borderRadius","borderWidth","paddingTop","opacity","paddingHorizontal","marginLeft","leftIconColor","leftIconProps","size","name","leftIconStyle","position","labelStyle","top","left","transform","translateY","interpolate","inputRange","outputRange","scale","translateX","inputStyles","styles","input","marginHorizontal","container","underline","scaleY","StyleSheet","absoluteFill","e","nativeEvent","layout","right","picker","pickerContainer","bottom","_event","data","create","alignSelf","flexDirection","justifyContent","flexGrow","textAlignVertical","margin","textAlign","I18nManager","isRTL","closeButton"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport {\n View,\n Animated,\n Text,\n StyleSheet,\n StyleProp,\n ViewStyle,\n TextStyle,\n TextInputProps,\n ImageStyle,\n I18nManager,\n LayoutChangeEvent,\n TextInput as NativeTextInput,\n} from \"react-native\";\nimport { useSafeAreaInsets } from \"react-native-safe-area-context\";\n\nimport dateFormat from \"dateformat\";\nimport { withTheme } from \"../../theming\";\nimport Portal from \"../Portal/Portal\";\nimport Touchable from \"../Touchable\";\nimport DateTimePicker from \"./DatePickerComponent\";\n\nimport type { Theme } from \"../../styles/DefaultTheme\";\nimport type { IconSlot } from \"../../interfaces/Icon\";\n\nconst AnimatedText = Animated.createAnimatedComponent(Text);\n\nconst FOCUS_ANIMATION_DURATION = 150;\nconst BLUR_ANIMATION_DURATION = 180;\nconst ICON_SIZE = 24;\n\ntype Props = {\n style?: StyleProp<ViewStyle> & { height?: number };\n theme: Theme;\n // initialDate?: string;\n // locale?: string;\n // minuteInterval?: number;\n // timeZoneOffsetInMinutes?: number;\n // error?: boolean;\n // type?: string;\n date?: Date;\n format?: string;\n onDateChange?: (data?: Date) => void;\n defaultValue?: Date;\n disabled?: boolean;\n mode?: \"date\" | \"time\" | \"datetime\";\n type?: \"solid\" | \"underline\";\n label?: string;\n placeholder?: string;\n leftIconName?: string;\n leftIconMode?: \"outset\" | \"inset\";\n rightIconName?: string;\n} & IconSlot &\n TextInputProps;\n\nconst MONTHS = [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n];\n\nconst DatePicker: React.FC<Props> = ({\n Icon,\n style,\n theme: { colors, typography, roundness, disabledOpacity },\n date,\n onDateChange = () => {},\n defaultValue,\n disabled = false,\n mode = \"date\",\n format,\n type = \"underline\",\n leftIconName,\n rightIconName,\n leftIconMode = \"inset\",\n label,\n placeholder,\n ...props\n}) => {\n const [value, setValue] = React.useState<any>(date || defaultValue);\n\n React.useEffect(() => {\n if (defaultValue != null) {\n setValue(defaultValue);\n }\n }, [defaultValue]);\n\n const [pickerVisible, setPickerVisible] = React.useState(false);\n const [labeled] = React.useState<Animated.Value>(\n new Animated.Value(date ? 0 : 1)\n );\n const [placeholder1, setPlaceholder1] = React.useState(\"\");\n const [focused, setFocused] = React.useState<boolean>(false);\n const [labelLayout, setLabelLayout] = React.useState<{\n measured: Boolean;\n width: number;\n }>({ measured: false, width: 0 });\n\n const getValidDate = (): Date => {\n if (!value) {\n return new Date();\n }\n return typeof value?.getMonth === \"function\" ? value : new Date();\n };\n\n const formatDate = (): string => {\n if (!value) return \"\";\n let newDate = getValidDate();\n\n if (format) return dateFormat(newDate, format);\n\n if (mode === \"time\") {\n return `${newDate.toLocaleTimeString()}`;\n }\n\n if (mode === \"datetime\") {\n return `${newDate.toLocaleString()}`;\n }\n\n return `${\n MONTHS[newDate.getMonth()]\n } ${newDate.getDate()}, ${newDate.getFullYear()}`;\n };\n\n const toggleVisibility = async () => {\n setPickerVisible(!pickerVisible);\n focused ? _handleBlur() : _handleFocus();\n };\n const insets = useSafeAreaInsets();\n\n // const _restoreLabel = () =>\n // Animated.timing(labeled, {\n // toValue: 1,\n // duration: FOCUS_ANIMATION_DURATION,\n // useNativeDriver: true,\n // }).start();\n\n // const _minmizeLabel = () =>\n // Animated.timing(labeled, {\n // toValue: 0,\n // duration: BLUR_ANIMATION_DURATION,\n // useNativeDriver: true,\n // }).start();\n\n // const _showPlaceholder = () =>\n // setTimeout(() => setPlaceholder1(placeholder || \"\"), 50);\n\n const _hidePlaceholder = () => {\n setPlaceholder1(\"\");\n };\n\n React.useEffect(() => {\n setValue(date);\n }, [date]);\n\n React.useEffect(() => {\n if (value || focused || placeholder1) {\n // _minmizeLabel();\n Animated.timing(labeled, {\n toValue: 0,\n duration: BLUR_ANIMATION_DURATION,\n useNativeDriver: true,\n }).start();\n } else {\n // _restoreLabel();\n Animated.timing(labeled, {\n toValue: 1,\n duration: FOCUS_ANIMATION_DURATION,\n useNativeDriver: true,\n }).start();\n }\n }, [value, focused, placeholder1, labeled]);\n\n React.useEffect(() => {\n const _showPlaceholder = () =>\n setTimeout(() => setPlaceholder1(placeholder || \"\"), 50);\n if (focused || !label) {\n _showPlaceholder();\n } else {\n _hidePlaceholder();\n }\n return () => {\n clearTimeout(_showPlaceholder());\n };\n }, [focused, label, placeholder]);\n\n const _handleFocus = () => {\n if (disabled) {\n return;\n }\n\n setFocused(true);\n };\n\n const _handleBlur = () => {\n if (disabled) {\n return;\n }\n setFocused(false);\n };\n\n const MINIMIZED_LABEL_Y_OFFSET = -(typography.caption.lineHeight + 4);\n const OUTLINE_MINIMIZED_LABEL_Y_OFFSET = -(16 * 0.5 + 4);\n const MAXIMIZED_LABEL_FONT_SIZE = typography.subtitle1.fontSize;\n const MINIMIZED_LABEL_FONT_SIZE = typography.caption.fontSize;\n\n const hasActiveOutline = focused;\n\n let inputTextColor,\n activeColor,\n underlineColor,\n borderColor,\n placeholderColor,\n containerStyle: StyleProp<ViewStyle>,\n backgroundColor,\n inputStyle: StyleProp<TextStyle>;\n\n inputTextColor = colors.strong;\n if (disabled) {\n activeColor = colors.light;\n placeholderColor = colors.light;\n borderColor = \"transparent\";\n underlineColor = \"transparent\";\n backgroundColor = colors.divider;\n } else {\n activeColor = colors.primary;\n placeholderColor = borderColor = colors.light;\n underlineColor = colors.light;\n backgroundColor = colors.background;\n }\n\n const { lineHeight, ...subtitle1 } = typography.subtitle1;\n\n inputStyle = {\n paddingVertical: 0,\n color: inputTextColor,\n paddingLeft:\n leftIconName && leftIconMode === \"inset\"\n ? ICON_SIZE + (type === \"solid\" ? 16 : 12)\n : 0,\n paddingRight: rightIconName ? ICON_SIZE + 16 + 4 : 12,\n ...subtitle1,\n height: lineHeight,\n };\n\n if (type === \"underline\") {\n containerStyle = {\n borderTopLeftRadius: roundness,\n borderTopRightRadius: roundness,\n paddingBottom: 12,\n marginTop: 16,\n };\n } else {\n containerStyle = {\n borderRadius: roundness,\n borderColor: hasActiveOutline ? activeColor : borderColor,\n borderWidth: 1,\n paddingTop: labeled ? 16 * 1.5 : 16,\n paddingBottom: labeled ? 16 * 0.5 : 16,\n opacity: disabled ? disabledOpacity : 1,\n backgroundColor,\n };\n\n inputStyle.paddingHorizontal = 12;\n }\n\n if (leftIconName && leftIconMode === \"outset\") {\n containerStyle.marginLeft = ICON_SIZE + 8;\n }\n\n let leftIconColor;\n if (focused) {\n leftIconColor = colors.primary;\n } else {\n leftIconColor = colors.light;\n }\n\n const leftIconProps = {\n size: 24,\n color: leftIconColor,\n name: leftIconName || \"\",\n };\n\n const leftIconStyle: ImageStyle = {\n position: \"absolute\",\n marginTop:\n type === \"solid\"\n ? leftIconMode === \"inset\"\n ? MINIMIZED_LABEL_FONT_SIZE + 4\n : 16\n : leftIconMode === \"outset\"\n ? 16\n : 0,\n };\n\n const labelStyle = {\n ...typography.subtitle1,\n top: type === \"solid\" ? 16 : 0,\n left:\n leftIconName && leftIconMode === \"inset\"\n ? ICON_SIZE + (type === \"solid\" ? 16 : 12)\n : 0,\n transform: [\n {\n // Move label to top\n translateY: labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [\n type === \"solid\"\n ? OUTLINE_MINIMIZED_LABEL_Y_OFFSET\n : MINIMIZED_LABEL_Y_OFFSET,\n 0,\n ],\n }),\n },\n {\n // Make label smaller\n scale: labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [\n MINIMIZED_LABEL_FONT_SIZE / MAXIMIZED_LABEL_FONT_SIZE,\n 1,\n ],\n }),\n },\n {\n // Offset label scale since RN doesn't support transform origin\n translateX: labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [\n -(1 - MINIMIZED_LABEL_FONT_SIZE / MAXIMIZED_LABEL_FONT_SIZE) *\n (labelLayout.width / 2),\n 0,\n ],\n }),\n },\n ],\n };\n\n const inputStyles = [\n styles.input,\n inputStyle,\n type === \"solid\" ? { marginHorizontal: 12 } : {},\n ];\n\n // const render = (props) => <NativeTextInput {...props} />;\n\n return (\n <View style={[styles.container, style]}>\n <Touchable disabled={disabled} onPress={toggleVisibility}>\n <View pointerEvents=\"none\">\n <View style={[styles.container, style]}>\n {leftIconName && leftIconMode === \"outset\" ? (\n <Icon {...leftIconProps} style={leftIconStyle} />\n ) : null}\n <View\n style={[containerStyle, style ? { height: style.height } : {}]}\n >\n {type === \"underline\" ? (\n // When type === 'flat', render an underline\n <Animated.View\n style={[\n styles.underline,\n {\n backgroundColor: focused ? activeColor : underlineColor,\n // Underlines is thinner when input is not focused\n transform: [{ scaleY: focused ? 1 : 0.5 }],\n },\n ]}\n />\n ) : null}\n\n {label ? (\n // Position colored placeholder and gray placeholder on top of each other and crossfade them\n // This gives the effect of animating the color, but allows us to use native driver\n <View\n pointerEvents=\"none\"\n style={[\n StyleSheet.absoluteFill,\n {\n opacity:\n // Hide the label in minimized state until we measure its width\n date || focused ? (labelLayout.measured ? 1 : 0) : 1,\n },\n ]}\n >\n <AnimatedText\n onLayout={(e: LayoutChangeEvent) =>\n setLabelLayout({\n width: e.nativeEvent.layout.width,\n measured: true,\n })\n }\n style={[\n styles.placeholder,\n type === \"solid\" ? { paddingHorizontal: 12 } : {},\n labelStyle,\n {\n color: colors.light,\n opacity: labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [hasActiveOutline ? 1 : 0, 0],\n }),\n },\n ]}\n numberOfLines={1}\n >\n {label}\n </AnimatedText>\n <AnimatedText\n style={[\n styles.placeholder,\n type === \"solid\" ? { paddingHorizontal: 12 } : {},\n labelStyle,\n {\n color: placeholderColor,\n opacity: hasActiveOutline ? labeled : 1,\n },\n ]}\n numberOfLines={1}\n >\n {label}\n </AnimatedText>\n </View>\n ) : null}\n\n {leftIconName && leftIconMode === \"inset\" ? (\n <Icon\n {...leftIconProps}\n style={{\n ...leftIconStyle,\n marginLeft: type === \"solid\" ? 16 : 0,\n }}\n />\n ) : null}\n\n <NativeTextInput\n value={formatDate()}\n placeholder={label ? placeholder1 : placeholder}\n editable={!disabled}\n placeholderTextColor={placeholderColor}\n selectionColor={activeColor}\n onFocus={_handleFocus}\n onBlur={_handleBlur}\n underlineColorAndroid={\"transparent\"}\n style={inputStyles}\n {...props}\n />\n </View>\n {rightIconName ? (\n <Icon\n name={rightIconName}\n size={ICON_SIZE}\n color={colors.light}\n style={{\n position: \"absolute\",\n right: 16,\n marginTop:\n type === \"solid\" ? MINIMIZED_LABEL_FONT_SIZE + 4 : 16,\n }}\n />\n ) : null}\n </View>\n </View>\n </Touchable>\n {pickerVisible && (\n <Portal>\n <View\n style={[\n styles.picker,\n {\n backgroundColor: colors.divider,\n },\n ]}\n >\n <View\n style={[\n styles.pickerContainer,\n {\n paddingTop: insets.top,\n paddingBottom: insets.bottom,\n paddingLeft: insets.left,\n paddingRight: insets.right,\n },\n ]}\n >\n <DateTimePicker\n value={getValidDate()}\n mode={mode}\n isVisible={pickerVisible}\n toggleVisibility={toggleVisibility}\n onChange={(_event: any, data: any) => {\n toggleVisibility();\n setValue(data);\n onDateChange(data);\n }}\n />\n </View>\n </View>\n </Portal>\n )}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n alignSelf: \"stretch\",\n },\n picker: {\n position: \"absolute\",\n bottom: 0,\n left: 0,\n right: 0,\n flexDirection: \"row\",\n justifyContent: \"center\",\n },\n underline: {\n position: \"absolute\",\n left: 0,\n right: 0,\n bottom: 0,\n height: 2,\n },\n input: {\n flexGrow: 1,\n justifyContent: \"center\",\n textAlignVertical: \"center\",\n margin: 0,\n textAlign: I18nManager.isRTL ? \"right\" : \"left\",\n },\n placeholder: {\n position: \"absolute\",\n left: 0,\n },\n pickerContainer: { flexDirection: \"column\", width: \"100%\" },\n closeButton: {\n alignSelf: \"flex-end\",\n },\n});\n\nexport default withTheme(DatePicker);\n"]}
|
|
@@ -19,8 +19,6 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
19
19
|
|
|
20
20
|
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; }
|
|
21
21
|
|
|
22
|
-
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); }
|
|
23
|
-
|
|
24
22
|
/* directly copied from https://github.com/callstack/react-native-paper/blob/main/src/components/Surface.tsx#L62 */
|
|
25
23
|
const Elevation = _ref => {
|
|
26
24
|
let {
|
|
@@ -37,11 +35,24 @@ const Elevation = _ref => {
|
|
|
37
35
|
colors
|
|
38
36
|
} = theme;
|
|
39
37
|
const borderRadius = radius;
|
|
40
|
-
return /*#__PURE__*/React.createElement(_reactNative.Animated.View,
|
|
38
|
+
return /*#__PURE__*/React.createElement(_reactNative.Animated.View, { ...rest,
|
|
41
39
|
style: [{
|
|
42
40
|
borderRadius,
|
|
43
41
|
backgroundColor: colors.surface
|
|
44
42
|
}, elevation ? (0, _shadow.default)(elevation) : null, style]
|
|
43
|
+
}, /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
44
|
+
style: {
|
|
45
|
+
overflow: "hidden",
|
|
46
|
+
borderRadius
|
|
47
|
+
}
|
|
48
|
+
}, children));
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
var _default = (0, _theming.withTheme)(Elevation);
|
|
52
|
+
|
|
53
|
+
exports.default = _default;
|
|
54
|
+
//# sourceMappingURL=Elevation.js.mape
|
|
55
|
+
}, elevation ? (0, _shadow.default)(elevation) : null, style]
|
|
45
56
|
}), /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
46
57
|
style: {
|
|
47
58
|
overflow: "hidden",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Elevation.
|
|
1
|
+
{"version":3,"sources":["Elevation.js"],"names":["Elevation","style","theme","children","rest","elevation","borderRadius","radius","StyleSheet","flatten","colors","React","createElement","Animated","View","backgroundColor","surface","overflow"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;AACA;AACA,MAAMA,SAAS,GAAG,QAAyC;AAAA,MAAxC;AAAEC,IAAAA,KAAF;AAASC,IAAAA,KAAT;AAAgBC,IAAAA,QAAhB;AAA0B,OAAGC;AAA7B,GAAwC;AACvD,QAAM;AAAEC,IAAAA,SAAS,GAAG,CAAd;AAAiBC,IAAAA,YAAY,EAAEC;AAA/B,MAA0CC,wBAAWC,OAAX,CAAmBR,KAAnB,KAA6B,EAA7E;AACA,QAAM;AAAES,IAAAA;AAAF,MAAaR,KAAnB;AACA,QAAMI,YAAY,GAAGC,MAArB;AACA,sBAAQI,KAAK,CAACC,aAAN,CAAoBC,sBAASC,IAA7B,EAAmC,EAAE,GAAGV,IAAL;AAAWH,IAAAA,KAAK,EAAE,CACrD;AACIK,MAAAA,YADJ;AAEIS,MAAAA,eAAe,EAAEL,MAAM,CAACM;AAF5B,KADqD,EAKrDX,SAAS,GAAG,qBAAOA,SAAP,CAAH,GAAuB,IALqB,EAMrDJ,KANqD;AAAlB,GAAnC,eAQJU,KAAK,CAACC,aAAN,CAAoBE,iBAApB,EAA0B;AAAEb,IAAAA,KAAK,EAAE;AAAEgB,MAAAA,QAAQ,EAAE,QAAZ;AAAsBX,MAAAA;AAAtB;AAAT,GAA1B,EAA2EH,QAA3E,CARI,CAAR;AASH,CAbD;;eAce,wBAAUH,SAAV,C","sourcesContent":["import * as React from \"react\";\nimport { Animated, StyleSheet, View, } from \"react-native\";\nimport shadow from \"../styles/shadow\";\nimport { withTheme } from \"../theming\";\n/* directly copied from https://github.com/callstack/react-native-paper/blob/main/src/components/Surface.tsx#L62 */\nconst Elevation = ({ style, theme, children, ...rest }) => {\n const { elevation = 4, borderRadius: radius } = StyleSheet.flatten(style) || {};\n const { colors } = theme;\n const borderRadius = radius;\n return (React.createElement(Animated.View, { ...rest, style: [\n {\n borderRadius,\n backgroundColor: colors.surface,\n },\n elevation ? shadow(elevation) : null,\n style,\n ] },\n React.createElement(View, { style: { overflow: \"hidden\", borderRadius } }, children)));\n};\nexport default withTheme(Elevation);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["FieldSearchBarFull.
|
|
1
|
+
{"version":3,"sources":["FieldSearchBarFull.tsx"],"names":["FieldSearchBarFull","showIcon","Icon","icon","placeholder","style","theme","colors","typography","onChange","changeOverride","onSubmit","submitOverride","value","defaultValue","focused","setIsFocused","React","useState","onBlur","internalValue","setInternalValue","useEffect","useCallback","text","onFocus","e","lineHeight","typeStyles","body2","handleChangeText","newValue","styles","container","Config","fieldSearchBarFullIconSize","primary","light","marginLeft","flex","color","medium","StyleSheet","create","flexDirection","alignItems"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport {\n View,\n TextInput,\n StyleSheet,\n StyleProp,\n ViewStyle,\n NativeSyntheticEvent,\n TextInputSubmitEditingEventData,\n} from \"react-native\";\nimport { withTheme } from \"../theming\";\nimport type { Theme } from \"../styles/DefaultTheme\";\nimport type { IconSlot } from \"../interfaces/Icon\";\nimport Config from \"./Config\";\n\ntype Props = {\n showIcon: boolean;\n icon?: string;\n placeholder?: string;\n style?: StyleProp<ViewStyle>;\n theme: Theme;\n onChange?: (text: string) => void;\n onSubmit?: (e: NativeSyntheticEvent<TextInputSubmitEditingEventData>) => void;\n value?: string;\n defaultValue?: string;\n} & IconSlot;\n\nconst FieldSearchBarFull: React.FC<Props> = ({\n showIcon,\n Icon,\n icon = \"search\",\n placeholder = \"\",\n style,\n theme: { colors, typography },\n onChange: changeOverride,\n onSubmit: submitOverride,\n value,\n defaultValue,\n}) => {\n const [focused, setIsFocused] = React.useState(false);\n\n const onBlur = () => {\n setIsFocused(false);\n };\n\n const [internalValue, setInternalValue] = React.useState<string | 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 onChange = React.useCallback(\n (text: string) => {\n changeOverride && changeOverride(text);\n },\n [changeOverride]\n );\n\n const onFocus = () => {\n setIsFocused(true);\n };\n\n const onSubmit = (\n e: NativeSyntheticEvent<TextInputSubmitEditingEventData>\n ) => {\n submitOverride && submitOverride(e);\n };\n\n const { lineHeight, ...typeStyles } = typography.body2; // eslint-disable-line @typescript-eslint/no-unused-vars\n\n const handleChangeText = (newValue: string) => {\n setInternalValue(newValue);\n if (onChange) {\n onChange(newValue);\n }\n };\n\n return (\n <View style={[styles.container, style]}>\n {showIcon && (\n <Icon\n name={icon}\n size={Config.fieldSearchBarFullIconSize}\n color={focused ? colors.primary : colors.light}\n />\n )}\n <View style={{ marginLeft: showIcon ? 12 : 0, flex: 1 }}>\n <TextInput\n clearButtonMode=\"while-editing\"\n placeholder={placeholder}\n value={internalValue}\n onBlur={onBlur}\n onFocus={onFocus}\n onChangeText={handleChangeText}\n onSubmitEditing={onSubmit}\n placeholderTextColor={colors.light}\n style={[\n {\n color: colors.medium,\n },\n typeStyles,\n ]}\n />\n </View>\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flexDirection: \"row\",\n alignItems: \"center\",\n },\n});\n\nexport default withTheme(FieldSearchBarFull);\n"]}
|
|
@@ -24,15 +24,16 @@ const NumberInput = _ref => {
|
|
|
24
24
|
defaultValue,
|
|
25
25
|
...props
|
|
26
26
|
} = _ref;
|
|
27
|
+
const [currentStringNumberValue, setCurrentStringNumberValue] = (0, _react.useState)("0");
|
|
27
28
|
|
|
28
|
-
const formatValueToStringNumber =
|
|
29
|
+
const formatValueToStringNumber = valueToFormat => {
|
|
29
30
|
if (valueToFormat != null) {
|
|
30
31
|
if ((0, _lodash.isString)(valueToFormat) && valueToFormat !== "") {
|
|
31
32
|
if (/^0[1-9]$/.test(valueToFormat)) {
|
|
32
33
|
return valueToFormat.slice(1);
|
|
33
34
|
} else if (/^[+-]?([0-9]+\.?[0-9]*|\.[0-9]+)$/.test(valueToFormat)) {
|
|
34
35
|
return valueToFormat;
|
|
35
|
-
} else
|
|
36
|
+
} else {
|
|
36
37
|
return currentStringNumberValue;
|
|
37
38
|
}
|
|
38
39
|
} else if ((0, _lodash.isNumber)(valueToFormat) && !(0, _lodash.isNaN)(valueToFormat)) {
|
|
@@ -41,31 +42,28 @@ const NumberInput = _ref => {
|
|
|
41
42
|
}
|
|
42
43
|
|
|
43
44
|
return "0";
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
const [currentStringNumberValue, setCurrentStringNumberValue] = (0, _react.useState)(formatValueToStringNumber("0"));
|
|
47
|
-
|
|
48
|
-
const handleChangeText = newValue => {
|
|
49
|
-
const newStringNumberValue = formatValueToStringNumber(newValue, currentStringNumberValue);
|
|
50
|
-
const number = parseFloat(newStringNumberValue);
|
|
51
|
-
setCurrentStringNumberValue(newStringNumberValue);
|
|
52
|
-
onChangeText === null || onChangeText === void 0 ? void 0 : onChangeText(number);
|
|
53
|
-
};
|
|
54
|
-
/* set currentStringNumberValue directly to defaultValue if it exists on load
|
|
55
|
-
( no need to use TextInput's defaultValue because its value is always controlled & set ) */
|
|
45
|
+
}; // set currentStringNumberValue as defaultValue prop if there is a differnce on first render only
|
|
56
46
|
|
|
57
47
|
|
|
58
48
|
(0, _react.useEffect)(() => {
|
|
59
|
-
const defaultStringNumberValue = formatValueToStringNumber(defaultValue
|
|
49
|
+
const defaultStringNumberValue = formatValueToStringNumber(defaultValue);
|
|
60
50
|
|
|
61
51
|
if (currentStringNumberValue !== defaultStringNumberValue) {
|
|
62
52
|
setCurrentStringNumberValue(defaultStringNumberValue);
|
|
63
53
|
} // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
64
54
|
|
|
65
|
-
}, []);
|
|
55
|
+
}, []);
|
|
56
|
+
|
|
57
|
+
const handleChangeText = newValue => {
|
|
58
|
+
const newStringNumberValue = formatValueToStringNumber(newValue);
|
|
59
|
+
const number = parseFloat(newStringNumberValue);
|
|
60
|
+
setCurrentStringNumberValue(newStringNumberValue);
|
|
61
|
+
onChangeText === null || onChangeText === void 0 ? void 0 : onChangeText(number);
|
|
62
|
+
}; // run handleChangeText with value prop only when value prop changes (and first render to reset currentStringNumberValue)
|
|
63
|
+
|
|
66
64
|
|
|
67
65
|
(0, _react.useEffect)(() => {
|
|
68
|
-
const nextStringNumberValue = formatValueToStringNumber(value
|
|
66
|
+
const nextStringNumberValue = formatValueToStringNumber(value);
|
|
69
67
|
|
|
70
68
|
if (currentStringNumberValue !== nextStringNumberValue) {
|
|
71
69
|
handleChangeText(nextStringNumberValue);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["NumberInput.tsx"],"names":["NumberInput","onChangeText","value","defaultValue","props","
|
|
1
|
+
{"version":3,"sources":["NumberInput.tsx"],"names":["NumberInput","onChangeText","value","defaultValue","props","currentStringNumberValue","setCurrentStringNumberValue","formatValueToStringNumber","valueToFormat","test","slice","toString","defaultStringNumberValue","handleChangeText","newValue","newStringNumberValue","number","parseFloat","nextStringNumberValue"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;;;AAQA,MAAMA,WAAsB,GAAG,QAKzB;AAAA,MAL0B;AAC9BC,IAAAA,YAD8B;AAE9BC,IAAAA,KAF8B;AAG9BC,IAAAA,YAH8B;AAI9B,OAAGC;AAJ2B,GAK1B;AACJ,QAAM,CAACC,wBAAD,EAA2BC,2BAA3B,IAA0D,qBAAS,GAAT,CAAhE;;AAEA,QAAMC,yBAAyB,GAAIC,aAAD,IAAqC;AACrE,QAAIA,aAAa,IAAI,IAArB,EAA2B;AACzB,UAAI,sBAASA,aAAT,KAA2BA,aAAa,KAAK,EAAjD,EAAqD;AACnD,YAAI,WAAWC,IAAX,CAAgBD,aAAhB,CAAJ,EAAoC;AAClC,iBAAOA,aAAa,CAACE,KAAd,CAAoB,CAApB,CAAP;AACD,SAFD,MAEO,IAAI,oCAAoCD,IAApC,CAAyCD,aAAzC,CAAJ,EAA6D;AAClE,iBAAOA,aAAP;AACD,SAFM,MAEA;AACL,iBAAOH,wBAAP;AACD;AACF,OARD,MAQO,IAAI,sBAASG,aAAT,KAA2B,CAAC,mBAAMA,aAAN,CAAhC,EAAsD;AAC3D,eAAOA,aAAa,CAACG,QAAd,EAAP;AACD;AACF;;AAED,WAAO,GAAP;AACD,GAhBD,CAHI,CAqBJ;;;AACA,wBAAU,MAAM;AACd,UAAMC,wBAAwB,GAAGL,yBAAyB,CAACJ,YAAD,CAA1D;;AAEA,QAAIE,wBAAwB,KAAKO,wBAAjC,EAA2D;AACzDN,MAAAA,2BAA2B,CAACM,wBAAD,CAA3B;AACD,KALa,CAMd;;AACD,GAPD,EAOG,EAPH;;AASA,QAAMC,gBAAgB,GAAIC,QAAD,IAAsB;AAC7C,UAAMC,oBAAoB,GAAGR,yBAAyB,CAACO,QAAD,CAAtD;AACA,UAAME,MAAM,GAAGC,UAAU,CAACF,oBAAD,CAAzB;AAEAT,IAAAA,2BAA2B,CAACS,oBAAD,CAA3B;AACAd,IAAAA,YAAY,SAAZ,IAAAA,YAAY,WAAZ,YAAAA,YAAY,CAAGe,MAAH,CAAZ;AACD,GAND,CA/BI,CAuCJ;;;AACA,wBAAU,MAAM;AACd,UAAME,qBAAqB,GAAGX,yBAAyB,CAACL,KAAD,CAAvD;;AAEA,QAAIG,wBAAwB,KAAKa,qBAAjC,EAAwD;AACtDL,MAAAA,gBAAgB,CAACK,qBAAD,CAAhB;AACD,KALa,CAMd;;AACD,GAPD,EAOG,CAAChB,KAAD,CAPH;AASA,sBACE,6BAAC,sBAAD;AACE,IAAA,YAAY,EAAC,SADf;AAEE,IAAA,KAAK,EAAEG,wBAFT;AAGE,IAAA,YAAY,EAAEQ;AAHhB,KAIMT,KAJN,EADF;AAQD,CA9DD;;eAgEeJ,W","sourcesContent":["import React, { FC, useEffect, useState } from \"react\";\nimport { TextInput } from \"react-native\";\nimport { isString, isNumber, isNaN } from \"lodash\";\n\ninterface Props {\n value?: number | string;\n defaultValue?: number | string;\n onChangeText?: (value?: number) => void;\n}\n\nconst NumberInput: FC<Props> = ({\n onChangeText,\n value,\n defaultValue,\n ...props\n}) => {\n const [currentStringNumberValue, setCurrentStringNumberValue] = useState(\"0\");\n\n const formatValueToStringNumber = (valueToFormat?: number | string) => {\n if (valueToFormat != null) {\n if (isString(valueToFormat) && valueToFormat !== \"\") {\n if (/^0[1-9]$/.test(valueToFormat)) {\n return valueToFormat.slice(1);\n } else if (/^[+-]?([0-9]+\\.?[0-9]*|\\.[0-9]+)$/.test(valueToFormat)) {\n return valueToFormat;\n } else {\n return currentStringNumberValue;\n }\n } else if (isNumber(valueToFormat) && !isNaN(valueToFormat)) {\n return valueToFormat.toString();\n }\n }\n\n return \"0\";\n };\n\n // set currentStringNumberValue as defaultValue prop if there is a differnce on first render only\n useEffect(() => {\n const defaultStringNumberValue = formatValueToStringNumber(defaultValue);\n\n if (currentStringNumberValue !== defaultStringNumberValue) {\n setCurrentStringNumberValue(defaultStringNumberValue);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handleChangeText = (newValue: string) => {\n const newStringNumberValue = formatValueToStringNumber(newValue);\n const number = parseFloat(newStringNumberValue);\n\n setCurrentStringNumberValue(newStringNumberValue);\n onChangeText?.(number);\n };\n\n // run handleChangeText with value prop only when value prop changes (and first render to reset currentStringNumberValue)\n useEffect(() => {\n const nextStringNumberValue = formatValueToStringNumber(value);\n\n if (currentStringNumberValue !== nextStringNumberValue) {\n handleChangeText(nextStringNumberValue);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value]);\n\n return (\n <TextInput\n keyboardType=\"numeric\"\n value={currentStringNumberValue}\n onChangeText={handleChangeText}\n {...props}\n />\n );\n};\n\nexport default NumberInput;\n"]}
|
|
@@ -304,7 +304,8 @@ class TextField extends React.Component {
|
|
|
304
304
|
};
|
|
305
305
|
const leftIconStyle = {
|
|
306
306
|
position: "absolute",
|
|
307
|
-
marginTop: type === "solid" ? MINIMIZED_LABEL_FONT_SIZE + 4 : leftIconMode === "outset" ? 16 : 0
|
|
307
|
+
marginTop: type === "solid" ? MINIMIZED_LABEL_FONT_SIZE + 4 : leftIconMode === "outset" ? 16 : 0,
|
|
308
|
+
marginLeft: leftIconMode === "inset" && type === "solid" ? 16 : 0
|
|
308
309
|
};
|
|
309
310
|
const labelStyle = { ...typography.subtitle1,
|
|
310
311
|
top: type === "solid" ? 16 : 0,
|
|
@@ -420,11 +421,13 @@ class TextField extends React.Component {
|
|
|
420
421
|
opacity: hasActiveOutline ? this.state.labeled : 1
|
|
421
422
|
}],
|
|
422
423
|
numberOfLines: 1
|
|
423
|
-
}, label)) : null, leftIconName && leftIconMode === "inset" ? /*#__PURE__*/React.createElement(
|
|
424
|
-
style: {
|
|
425
|
-
|
|
424
|
+
}, label)) : null, leftIconName && leftIconMode === "inset" ? /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
425
|
+
style: {
|
|
426
|
+
justifyContent: type === "solid" ? "center" : undefined
|
|
426
427
|
}
|
|
427
|
-
}
|
|
428
|
+
}, /*#__PURE__*/React.createElement(Icon, _extends({}, leftIconProps, {
|
|
429
|
+
style: leftIconStyle
|
|
430
|
+
}))) : null, render({
|
|
428
431
|
ref: c => {
|
|
429
432
|
this._root = c;
|
|
430
433
|
},
|