ferns-ui 0.26.0 → 0.26.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/dist/ActionSheet.d.ts +1 -1
- package/dist/ActionSheet.js +1 -2
- package/dist/ActionSheet.js.map +1 -1
- package/dist/CheckBox.d.ts +1 -4
- package/dist/CheckBox.js +33 -20
- package/dist/CheckBox.js.map +1 -1
- package/dist/Common.d.ts +44 -10
- package/dist/Common.js.map +1 -1
- package/dist/DateTimeField.android.d.ts +1 -1
- package/dist/DateTimeField.android.js +58 -16
- package/dist/DateTimeField.android.js.map +1 -1
- package/dist/DateTimeField.d.ts +2 -2
- package/dist/DateTimeField.ios.d.ts +1 -1
- package/dist/DateTimeField.ios.js +43 -12
- package/dist/DateTimeField.ios.js.map +1 -1
- package/dist/DateTimeField.js.map +1 -1
- package/dist/Field.js +2 -2
- package/dist/Field.js.map +1 -1
- package/dist/Mask.d.ts +2 -3
- package/dist/MediaQuery.d.ts +1 -0
- package/dist/MediaQuery.js +16 -0
- package/dist/MediaQuery.js.map +1 -1
- package/dist/Page.js.map +1 -1
- package/dist/SegmentedControl.js +6 -2
- package/dist/SegmentedControl.js.map +1 -1
- package/dist/SelectList.d.ts +1 -1
- package/dist/SelectList.js +9 -8
- package/dist/SelectList.js.map +1 -1
- package/dist/SplitPage.d.ts +3 -21
- package/dist/SplitPage.js +78 -23
- package/dist/SplitPage.js.map +1 -1
- package/dist/SplitPage.native.d.ts +3 -0
- package/dist/SplitPage.native.js +75 -0
- package/dist/SplitPage.native.js.map +1 -0
- package/dist/TapToEdit.js +11 -17
- package/dist/TapToEdit.js.map +1 -1
- package/dist/TextField.js +11 -6
- package/dist/TextField.js.map +1 -1
- package/dist/Utilities.d.ts +1 -0
- package/dist/Utilities.js +18 -2
- package/dist/Utilities.js.map +1 -1
- package/dist/WithLabel.d.ts +3 -3
- package/dist/WithLabel.js +3 -0
- package/dist/WithLabel.js.map +1 -1
- package/dist/index.d.ts +5 -4
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +2 -1
- package/src/ActionSheet.tsx +2 -3
- package/src/CheckBox.tsx +85 -60
- package/src/Common.ts +49 -10
- package/src/DateTimeField.android.tsx +71 -26
- package/src/DateTimeField.ios.tsx +55 -13
- package/src/DateTimeField.tsx +2 -2
- package/src/Field.tsx +4 -4
- package/src/Mask.tsx +2 -2
- package/src/MediaQuery.ts +14 -0
- package/src/Page.tsx +0 -1
- package/src/SegmentedControl.tsx +3 -3
- package/src/SelectList.tsx +9 -2
- package/src/SplitPage.native.tsx +156 -0
- package/src/SplitPage.tsx +136 -47
- package/src/TapToEdit.tsx +9 -22
- package/src/TextField.tsx +26 -17
- package/src/Utilities.tsx +24 -3
- package/src/WithLabel.tsx +6 -3
- package/src/index.tsx +6 -5
package/dist/MediaQuery.js
CHANGED
|
@@ -30,4 +30,20 @@ export function mediaQueryLargerThan(size) {
|
|
|
30
30
|
}
|
|
31
31
|
return false;
|
|
32
32
|
}
|
|
33
|
+
export function mediaQuerySmallerThan(size) {
|
|
34
|
+
const media = mediaQuery();
|
|
35
|
+
if (size === "lg") {
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
else if (size === "md") {
|
|
39
|
+
return ["xs", "sm", "md"].includes(media);
|
|
40
|
+
}
|
|
41
|
+
else if (size === "sm") {
|
|
42
|
+
return ["xs", "sm"].includes(media);
|
|
43
|
+
}
|
|
44
|
+
else if (size === "xs") {
|
|
45
|
+
return ["xs"].includes(media);
|
|
46
|
+
}
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
33
49
|
//# sourceMappingURL=MediaQuery.js.map
|
package/dist/MediaQuery.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaQuery.js","sourceRoot":"","sources":["../src/MediaQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAExC,MAAM,UAAU,UAAU;IACxB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;IAC7C,IAAI,KAAK,GAAG,GAAG,EAAE;QACf,OAAO,IAAI,CAAC;KACb;SAAM,IAAI,KAAK,GAAG,GAAG,EAAE;QACtB,OAAO,IAAI,CAAC;KACb;SAAM,IAAI,KAAK,GAAG,IAAI,EAAE;QACvB,OAAO,IAAI,CAAC;KACb;SAAM;QACL,OAAO,IAAI,CAAC;KACb;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAA+B;IAClE,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;IAC3B,IAAI,IAAI,KAAK,IAAI,EAAE;QACjB,OAAO,IAAI,CAAC;KACb;SAAM,IAAI,IAAI,KAAK,IAAI,EAAE;QACxB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KAC3C;SAAM,IAAI,IAAI,KAAK,IAAI,EAAE;QACxB,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KACrC;SAAM,IAAI,IAAI,KAAK,IAAI,EAAE;QACxB,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KAC/B;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"MediaQuery.js","sourceRoot":"","sources":["../src/MediaQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAExC,MAAM,UAAU,UAAU;IACxB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;IAC7C,IAAI,KAAK,GAAG,GAAG,EAAE;QACf,OAAO,IAAI,CAAC;KACb;SAAM,IAAI,KAAK,GAAG,GAAG,EAAE;QACtB,OAAO,IAAI,CAAC;KACb;SAAM,IAAI,KAAK,GAAG,IAAI,EAAE;QACvB,OAAO,IAAI,CAAC;KACb;SAAM;QACL,OAAO,IAAI,CAAC;KACb;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAA+B;IAClE,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;IAC3B,IAAI,IAAI,KAAK,IAAI,EAAE;QACjB,OAAO,IAAI,CAAC;KACb;SAAM,IAAI,IAAI,KAAK,IAAI,EAAE;QACxB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KAC3C;SAAM,IAAI,IAAI,KAAK,IAAI,EAAE;QACxB,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KACrC;SAAM,IAAI,IAAI,KAAK,IAAI,EAAE;QACxB,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KAC/B;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAA+B;IACnE,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;IAC3B,IAAI,IAAI,KAAK,IAAI,EAAE;QACjB,OAAO,IAAI,CAAC;KACb;SAAM,IAAI,IAAI,KAAK,IAAI,EAAE;QACxB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KAC3C;SAAM,IAAI,IAAI,KAAK,IAAI,EAAE;QACxB,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KACrC;SAAM,IAAI,IAAI,KAAK,IAAI,EAAE;QACxB,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KAC/B;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
package/dist/Page.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Page.js","sourceRoot":"","sources":["../src/Page.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,GAAG,EAAC,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAEhC,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAClC,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AACxC,+EAA+E;AAC/E,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAClC,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAsBlC,MAAM,OAAO,IAAK,SAAQ,KAAK,CAAC,SAAwB;IAAxD;;QACE,mBAAc,GAAyB,KAAK,CAAC,SAAS,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"Page.js","sourceRoot":"","sources":["../src/Page.tsx"],"names":[],"mappings":"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"}
|
package/dist/SegmentedControl.js
CHANGED
|
@@ -15,7 +15,7 @@ export const SegmentedControl = ({ items, onChange = () => { }, selectedItemInde
|
|
|
15
15
|
return null;
|
|
16
16
|
}
|
|
17
17
|
if (!multiselect && (selectedItemIndexes === null || selectedItemIndexes === void 0 ? void 0 : selectedItemIndexes.length) && (selectedItemIndexes === null || selectedItemIndexes === void 0 ? void 0 : selectedItemIndexes.length) > 1) {
|
|
18
|
-
console.warn("
|
|
18
|
+
console.warn("Multiple selections not allowed without multiselect flag");
|
|
19
19
|
return null;
|
|
20
20
|
}
|
|
21
21
|
if ((selectedItemIndexes === null || selectedItemIndexes === void 0 ? void 0 : selectedItemIndexes.length) && (selectedItemIndexes === null || selectedItemIndexes === void 0 ? void 0 : selectedItemIndexes.length) > selectLimit) {
|
|
@@ -27,7 +27,11 @@ export const SegmentedControl = ({ items, onChange = () => { }, selectedItemInde
|
|
|
27
27
|
? "white"
|
|
28
28
|
: "lightGray";
|
|
29
29
|
};
|
|
30
|
-
return (React.createElement(Box, { color: "lightGray", direction: "row", display: "flex", height: 40, justifyContent: "between",
|
|
30
|
+
return (React.createElement(Box, { color: "lightGray", direction: "row", display: "flex", height: 40, justifyContent: "between",
|
|
31
|
+
// padding={1}
|
|
32
|
+
rounding: 3, width: "100%" }, items.map((item, index) => (React.createElement(Box, { key: index, color: isTabActive(index), height: "100%",
|
|
33
|
+
// paddingX={2}
|
|
34
|
+
rounding: 3, width: `${100 / items.length}%` },
|
|
31
35
|
React.createElement(Box, { alignItems: "center", display: "flex", height: "100%", justifyContent: "center", width: "100%", onClick: () => {
|
|
32
36
|
if ((selectedItemIndexes === null || selectedItemIndexes === void 0 ? void 0 : selectedItemIndexes.length) === selectLimit &&
|
|
33
37
|
!(selectedItemIndexes === null || selectedItemIndexes === void 0 ? void 0 : selectedItemIndexes.includes(index))) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SegmentedControl.js","sourceRoot":"","sources":["../src/SegmentedControl.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,GAAG,EAAC,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAE5B,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAC/B,KAAK,EACL,QAAQ,GAAG,GAAG,EAAE,GAAE,CAAC,EACnB,mBAAmB,GAAG,SAAS,EAC/B,iBAAiB,GAAG,SAAS,EAC7B,WAAW,GAAG,KAAK,EACnB,WAAW,GAAG,CAAC,GACO,EAAE,EAAE;IAC1B,MAAM,UAAU,GAAG,CAAC,IAA8B,EAAE,EAAE;QACpD,OAAO,oBAAC,IAAI,IAAC,MAAM,EAAC,MAAM,IAAE,IAAI,CAAQ,CAAC;QACzC,kCAAkC;QAClC,8CAA8C;QAC9C,WAAW;QACX,iBAAiB;QACjB,IAAI;IACN,CAAC,CAAC;IAEF,IAAI,iBAAiB,KAAK,SAAS,IAAI,mBAAmB,KAAK,SAAS,EAAE;QACxE,OAAO,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;QAC7F,OAAO,IAAI,CAAC;KACb;IAED,IAAI,CAAC,WAAW,KAAI,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,MAAM,CAAA,IAAI,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,MAAM,IAAG,CAAC,EAAE;QAClF,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"SegmentedControl.js","sourceRoot":"","sources":["../src/SegmentedControl.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,GAAG,EAAC,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAE5B,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAC/B,KAAK,EACL,QAAQ,GAAG,GAAG,EAAE,GAAE,CAAC,EACnB,mBAAmB,GAAG,SAAS,EAC/B,iBAAiB,GAAG,SAAS,EAC7B,WAAW,GAAG,KAAK,EACnB,WAAW,GAAG,CAAC,GACO,EAAE,EAAE;IAC1B,MAAM,UAAU,GAAG,CAAC,IAA8B,EAAE,EAAE;QACpD,OAAO,oBAAC,IAAI,IAAC,MAAM,EAAC,MAAM,IAAE,IAAI,CAAQ,CAAC;QACzC,kCAAkC;QAClC,8CAA8C;QAC9C,WAAW;QACX,iBAAiB;QACjB,IAAI;IACN,CAAC,CAAC;IAEF,IAAI,iBAAiB,KAAK,SAAS,IAAI,mBAAmB,KAAK,SAAS,EAAE;QACxE,OAAO,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;QAC7F,OAAO,IAAI,CAAC;KACb;IAED,IAAI,CAAC,WAAW,KAAI,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,MAAM,CAAA,IAAI,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,MAAM,IAAG,CAAC,EAAE;QAClF,OAAO,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC;KACb;IAED,IAAI,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,MAAM,KAAI,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,MAAM,IAAG,WAAW,EAAE;QAC5E,OAAO,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC;KACb;IAED,MAAM,WAAW,GAAG,CAAC,KAAU,EAAE,EAAE;QACjC,OAAO,iBAAiB,KAAK,KAAK,KAAI,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;YACxE,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,WAAW,CAAC;IAClB,CAAC,CAAC;IAEF,OAAO,CACL,oBAAC,GAAG,IACF,KAAK,EAAC,WAAW,EACjB,SAAS,EAAC,KAAK,EACf,OAAO,EAAC,MAAM,EACd,MAAM,EAAE,EAAE,EACV,cAAc,EAAC,SAAS;QACxB,cAAc;QACd,QAAQ,EAAE,CAAC,EACX,KAAK,EAAC,MAAM,IAEX,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAC1B,oBAAC,GAAG,IACF,GAAG,EAAE,KAAK,EACV,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,EACzB,MAAM,EAAC,MAAM;QACb,eAAe;QACf,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE,GAAG,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG;QAE/B,oBAAC,GAAG,IACF,UAAU,EAAC,QAAQ,EACnB,OAAO,EAAC,MAAM,EACd,MAAM,EAAC,MAAM,EACb,cAAc,EAAC,QAAQ,EACvB,KAAK,EAAC,MAAM,EACZ,OAAO,EAAE,GAAG,EAAE;gBACZ,IACE,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,MAAM,MAAK,WAAW;oBAC3C,CAAC,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,QAAQ,CAAC,KAAK,CAAC,CAAA,EACrC;oBACA,OAAO;iBACR;gBACD,IAAI,WAAW,EAAE;oBACf,IAAI,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,QAAQ,CAAC,KAAK,CAAC,EAAE;wBACxC,QAAQ,CAAC,EAAC,WAAW,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,EAAC,CAAC,CAAC;qBACzE;yBAAM;wBACL,MAAM,cAAc,GAAG,CAAC,GAAI,mBAAgC,CAAC,CAAC;wBAC9D,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,IAAI,CAAC,KAAK,CAAC,CAAC;wBAC5B,QAAQ,CAAC,EAAC,WAAW,EAAE,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,IAAI,EAAc,EAAC,CAAC,CAAC;qBAC7D;iBACF;qBAAM;oBACL,QAAQ,CAAC,EAAC,WAAW,EAAE,KAAK,EAAC,CAAC,CAAC;iBAChC;YACH,CAAC,IAEA,UAAU,CAAC,IAAI,CAAC,CACb,CACF,CACP,CAAC,CACE,CACP,CAAC;AACJ,CAAC,CAAC"}
|
package/dist/SelectList.d.ts
CHANGED
|
@@ -15,4 +15,4 @@ export interface SelectListProps extends FieldWithLabelsProps {
|
|
|
15
15
|
placeholder?: string;
|
|
16
16
|
style?: StyleProp;
|
|
17
17
|
}
|
|
18
|
-
export declare function SelectList({ options, value, onChange, label, labelColor, style, placeholder, }: SelectListProps): JSX.Element;
|
|
18
|
+
export declare function SelectList({ options, value, onChange, label, labelColor, style, placeholder, disabled, }: SelectListProps): JSX.Element;
|
package/dist/SelectList.js
CHANGED
|
@@ -4,16 +4,17 @@ import { Icon } from "./Icon";
|
|
|
4
4
|
import { RNPickerSelect } from "./PickerSelect";
|
|
5
5
|
import { Unifier } from "./Unifier";
|
|
6
6
|
import { WithLabel } from "./WithLabel";
|
|
7
|
-
export function SelectList({ options, value, onChange, label, labelColor, style, placeholder, }) {
|
|
7
|
+
export function SelectList({ options, value, onChange, label, labelColor, style, placeholder, disabled, }) {
|
|
8
8
|
const withLabelProps = { label, labelColor };
|
|
9
|
+
let backgroundColor = (style === null || style === void 0 ? void 0 : style.backgroundColor) || Unifier.theme.white;
|
|
10
|
+
if (disabled) {
|
|
11
|
+
backgroundColor = Unifier.theme.lightGray;
|
|
12
|
+
}
|
|
9
13
|
return (React.createElement(WithLabel, Object.assign({}, withLabelProps),
|
|
10
|
-
React.createElement(RNPickerSelect
|
|
11
|
-
|
|
12
|
-
, {
|
|
13
|
-
// Icon only needed for iOs, web and android use default icons
|
|
14
|
-
Icon: () => {
|
|
14
|
+
React.createElement(RNPickerSelect, { Icon: () => {
|
|
15
|
+
// Icon only needed for iOS, web and android use default icons
|
|
15
16
|
return Platform.OS === "ios" ? (React.createElement(Icon, { color: "darkGray", name: "angle-down", size: "md" })) : null;
|
|
16
|
-
}, items: options, placeholder: placeholder ? { label: placeholder, value: "" } : {}, style: {
|
|
17
|
+
}, disabled: disabled, items: options, placeholder: placeholder ? { label: placeholder, value: "" } : {}, style: {
|
|
17
18
|
viewContainer: {
|
|
18
19
|
flexDirection: (style === null || style === void 0 ? void 0 : style.flexDirection) || "row",
|
|
19
20
|
justifyContent: (style === null || style === void 0 ? void 0 : style.justifyContent) || "center",
|
|
@@ -23,7 +24,7 @@ export function SelectList({ options, value, onChange, label, labelColor, style,
|
|
|
23
24
|
borderColor: (style === null || style === void 0 ? void 0 : style.borderColor) || Unifier.theme.gray,
|
|
24
25
|
borderWidth: (style === null || style === void 0 ? void 0 : style.borderWidth) || 1,
|
|
25
26
|
borderRadius: (style === null || style === void 0 ? void 0 : style.borderRadius) || 5,
|
|
26
|
-
backgroundColor
|
|
27
|
+
backgroundColor,
|
|
27
28
|
},
|
|
28
29
|
inputIOS: {
|
|
29
30
|
paddingVertical: 12,
|
package/dist/SelectList.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectList.js","sourceRoot":"","sources":["../src/SelectList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,QAAQ,EAAC,MAAM,cAAc,CAAC;AAGtC,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAC,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAClC,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAiBtC,MAAM,UAAU,UAAU,CAAC,EACzB,OAAO,EACP,KAAK,EACL,QAAQ,EACR,KAAK,EACL,UAAU,EACV,KAAK,EACL,WAAW,
|
|
1
|
+
{"version":3,"file":"SelectList.js","sourceRoot":"","sources":["../src/SelectList.tsx"],"names":[],"mappings":"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"}
|
package/dist/SplitPage.d.ts
CHANGED
|
@@ -1,21 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
interface SplitPageProps {
|
|
5
|
-
children?: ReactChild | ReactChild[] | null;
|
|
6
|
-
tabs?: string[];
|
|
7
|
-
navigation?: any;
|
|
8
|
-
loading?: boolean;
|
|
9
|
-
color?: Color;
|
|
10
|
-
keyboardOffset?: number;
|
|
11
|
-
renderListViewItem: (itemInfo: ListRenderItemInfo<any>) => ReactElement | null;
|
|
12
|
-
renderListViewHeader?: () => ReactElement | null;
|
|
13
|
-
renderContent?: (index?: number) => ReactElement | ReactElement[] | null;
|
|
14
|
-
listViewData: any[];
|
|
15
|
-
listViewExtraData?: any;
|
|
16
|
-
listViewWidth?: number;
|
|
17
|
-
renderChild?: () => ReactChild;
|
|
18
|
-
selectLimit?: number;
|
|
19
|
-
}
|
|
20
|
-
export declare const SplitPage: ({ children, tabs, loading, color, keyboardOffset, renderListViewItem, renderListViewHeader, renderContent, listViewData, listViewExtraData, listViewWidth, selectLimit, }: SplitPageProps) => JSX.Element | null;
|
|
21
|
-
export {};
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { SplitPageProps } from "./Common";
|
|
3
|
+
export declare const SplitPage: ({ children, tabs, loading, color, keyboardOffset, renderListViewItem, renderListViewHeader, renderContent, onSelectionChange, listViewData, listViewExtraData, listViewWidth, bottomNavBarHeight, showItemList, selectLimit, }: SplitPageProps) => JSX.Element | null;
|
package/dist/SplitPage.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import React, { Children, useState } from "react";
|
|
2
|
-
import { ScrollView, View } from "react-native";
|
|
1
|
+
import React, { Children, useCallback, useEffect, useState } from "react";
|
|
2
|
+
import { Dimensions, ScrollView, View } from "react-native";
|
|
3
|
+
import { SwiperFlatList } from "react-native-swiper-flatlist";
|
|
3
4
|
import { Box } from "./Box";
|
|
4
|
-
import { SPACING } from "./Common";
|
|
5
5
|
import { FlatList } from "./FlatList";
|
|
6
6
|
import { IconButton } from "./IconButton";
|
|
7
7
|
import { mediaQueryLargerThan } from "./MediaQuery";
|
|
@@ -10,10 +10,25 @@ import { Spinner } from "./Spinner";
|
|
|
10
10
|
import { Unifier } from "./Unifier";
|
|
11
11
|
// A component for rendering a list on one side and a details view on the right for large screens,
|
|
12
12
|
// and a scrollable list where clicking an item takes you the details view.
|
|
13
|
-
export const SplitPage = ({ children, tabs = [], loading = false, color, keyboardOffset, renderListViewItem, renderListViewHeader, renderContent, listViewData, listViewExtraData, listViewWidth, selectLimit, }) => {
|
|
13
|
+
export const SplitPage = ({ children, tabs = [], loading = false, color, keyboardOffset, renderListViewItem, renderListViewHeader, renderContent, onSelectionChange = () => { }, listViewData, listViewExtraData, listViewWidth, bottomNavBarHeight, showItemList, selectLimit, }) => {
|
|
14
14
|
const [selectedId, setSelectedId] = useState(undefined);
|
|
15
15
|
const [activeTabs, setActiveTabs] = useState(tabs.length > 2 ? [0, 1] : []);
|
|
16
|
+
const { width } = Dimensions.get("window");
|
|
17
|
+
const isMobileDevice = !mediaQueryLargerThan("sm");
|
|
16
18
|
const elementArray = Children.toArray(children);
|
|
19
|
+
const onItemSelect = useCallback((item) => {
|
|
20
|
+
setSelectedId(item.index);
|
|
21
|
+
onSelectionChange(item);
|
|
22
|
+
}, [onSelectionChange]);
|
|
23
|
+
const onItemDeselect = useCallback(() => {
|
|
24
|
+
setSelectedId(undefined);
|
|
25
|
+
onSelectionChange(undefined);
|
|
26
|
+
}, [onSelectionChange]);
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
if (showItemList) {
|
|
29
|
+
onItemDeselect();
|
|
30
|
+
}
|
|
31
|
+
}, [showItemList, onItemDeselect]);
|
|
17
32
|
if (!children && !renderContent) {
|
|
18
33
|
console.warn("A child node is required");
|
|
19
34
|
return null;
|
|
@@ -24,31 +39,23 @@ export const SplitPage = ({ children, tabs = [], loading = false, color, keyboar
|
|
|
24
39
|
}
|
|
25
40
|
const renderItem = (itemInfo) => {
|
|
26
41
|
return (React.createElement(Box, { onClick: () => {
|
|
27
|
-
|
|
42
|
+
onItemSelect(itemInfo);
|
|
28
43
|
} }, renderListViewItem(itemInfo)));
|
|
29
44
|
};
|
|
30
45
|
const renderList = () => {
|
|
31
|
-
if (!mediaQueryLargerThan("sm") && selectedId) {
|
|
32
|
-
return null;
|
|
33
|
-
}
|
|
34
46
|
return (React.createElement(View, { style: {
|
|
35
|
-
width:
|
|
36
|
-
maxWidth:
|
|
47
|
+
width: listViewWidth !== null && listViewWidth !== void 0 ? listViewWidth : 300,
|
|
48
|
+
maxWidth: listViewWidth !== null && listViewWidth !== void 0 ? listViewWidth : 300,
|
|
37
49
|
flexGrow: 1,
|
|
38
50
|
flexShrink: 0,
|
|
39
51
|
display: "flex",
|
|
40
|
-
paddingTop: "12px",
|
|
41
|
-
paddingBottom: "12px",
|
|
42
52
|
flexDirection: "column",
|
|
43
53
|
} },
|
|
44
54
|
renderListViewHeader && renderListViewHeader(),
|
|
45
55
|
React.createElement(FlatList, { data: listViewData, extraData: listViewExtraData, keyExtractor: (item) => item.id, renderItem: renderItem })));
|
|
46
56
|
};
|
|
47
57
|
const renderListContent = () => {
|
|
48
|
-
return (React.createElement(Box, { flex: "grow", padding: 2 },
|
|
49
|
-
!mediaQueryLargerThan("sm") && (React.createElement(Box, { width: "100%" },
|
|
50
|
-
React.createElement(IconButton, { accessibilityLabel: "close", icon: "times", iconColor: "darkGray", onClick: () => setSelectedId(undefined) }))),
|
|
51
|
-
renderContent && renderContent(selectedId)));
|
|
58
|
+
return (React.createElement(Box, { flex: "grow", padding: 2 }, renderContent && renderContent(selectedId)));
|
|
52
59
|
};
|
|
53
60
|
const renderChildrenContent = () => {
|
|
54
61
|
if (Array.isArray(children) && children.length > 2) {
|
|
@@ -58,18 +65,19 @@ export const SplitPage = ({ children, tabs = [], loading = false, color, keyboar
|
|
|
58
65
|
height: "100%",
|
|
59
66
|
alignItems: "center",
|
|
60
67
|
} },
|
|
61
|
-
React.createElement(Box, {
|
|
68
|
+
React.createElement(Box, { marginBottom: 4, paddingX: 4, width: "100%" },
|
|
62
69
|
React.createElement(SegmentedControl, { items: tabs, multiselect: true, selectLimit: selectLimit || tabs.length, selectedItemIndexes: activeTabs, onChange: (index) => {
|
|
63
70
|
setActiveTabs([...index.activeIndex]);
|
|
64
71
|
} })),
|
|
65
|
-
React.createElement(Box, { direction: "row", flex: "grow", height: "100%", paddingX:
|
|
72
|
+
React.createElement(Box, { direction: "row", flex: "grow", height: "100%", paddingX: 4, width: activeTabs.length > 1 ? "100%" : "60%" }, activeTabs.map((tabIndex, i) => {
|
|
66
73
|
return (React.createElement(ScrollView, { key: tabIndex, contentContainerStyle: {
|
|
67
74
|
flex: 1,
|
|
68
75
|
}, style: {
|
|
69
76
|
flex: 1,
|
|
70
77
|
width: "60%",
|
|
71
|
-
padding: 3 * SPACING,
|
|
72
78
|
height: "100%",
|
|
79
|
+
paddingRight: i ? 0 : 16,
|
|
80
|
+
paddingLeft: i ? 16 : 0,
|
|
73
81
|
} }, elementArray[tabIndex]));
|
|
74
82
|
}))));
|
|
75
83
|
}
|
|
@@ -80,15 +88,62 @@ export const SplitPage = ({ children, tabs = [], loading = false, color, keyboar
|
|
|
80
88
|
}, style: {
|
|
81
89
|
flex: 1,
|
|
82
90
|
width: "60%",
|
|
83
|
-
padding: 3 * SPACING,
|
|
84
91
|
height: "100%",
|
|
85
92
|
} }, element));
|
|
86
93
|
})));
|
|
87
94
|
}
|
|
88
95
|
};
|
|
89
|
-
|
|
96
|
+
const renderMobileList = () => {
|
|
97
|
+
if (isMobileDevice && selectedId !== undefined) {
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
return (React.createElement(View, { style: {
|
|
101
|
+
width: "100%",
|
|
102
|
+
maxWidth: "100%",
|
|
103
|
+
height: "100%",
|
|
104
|
+
flexGrow: 1,
|
|
105
|
+
flexShrink: 0,
|
|
106
|
+
display: "flex",
|
|
107
|
+
flexDirection: "column",
|
|
108
|
+
} },
|
|
109
|
+
renderListViewHeader && renderListViewHeader(),
|
|
110
|
+
React.createElement(FlatList, { data: listViewData, extraData: listViewExtraData, keyExtractor: (item) => item.id, nestedScrollEnabled: true, renderItem: renderItem })));
|
|
111
|
+
};
|
|
112
|
+
const renderMobileListContent = () => {
|
|
113
|
+
if (isMobileDevice && selectedId === undefined) {
|
|
114
|
+
return null;
|
|
115
|
+
}
|
|
116
|
+
return (React.createElement(Box, { flex: "grow", padding: 2 },
|
|
117
|
+
isMobileDevice && (React.createElement(Box, { width: "100%" },
|
|
118
|
+
React.createElement(IconButton, { accessibilityLabel: "close", icon: "times", iconColor: "darkGray", onClick: () => onItemDeselect() }))),
|
|
119
|
+
renderContent && renderContent(selectedId)));
|
|
120
|
+
};
|
|
121
|
+
const renderMobileChildrenContent = () => {
|
|
122
|
+
if (selectedId === undefined) {
|
|
123
|
+
return null;
|
|
124
|
+
}
|
|
125
|
+
return (React.createElement(SwiperFlatList, { nestedScrollEnabled: true, paginationStyle: { justifyContent: "center", width: "95%" }, renderAll: true, showPagination: true, style: { width: "100%" } }, elementArray.map((element, i) => {
|
|
126
|
+
return (React.createElement(View, { key: i, style: {
|
|
127
|
+
width: width - 8,
|
|
128
|
+
padding: 4,
|
|
129
|
+
height: elementArray.length > 1 ? "90vh" : "100vh",
|
|
130
|
+
paddingBottom: bottomNavBarHeight,
|
|
131
|
+
} }, element));
|
|
132
|
+
})));
|
|
133
|
+
};
|
|
134
|
+
const renderSplitPage = () => {
|
|
135
|
+
return (React.createElement(React.Fragment, null,
|
|
136
|
+
renderList(),
|
|
137
|
+
renderContent ? renderListContent() : renderChildrenContent()));
|
|
138
|
+
};
|
|
139
|
+
const renderMobileSplitPage = () => {
|
|
140
|
+
const renderMainContent = renderContent
|
|
141
|
+
? renderMobileListContent()
|
|
142
|
+
: renderMobileChildrenContent();
|
|
143
|
+
return selectedId === undefined ? renderMobileList() : renderMainContent;
|
|
144
|
+
};
|
|
145
|
+
return (React.createElement(Box, { avoidKeyboard: true, color: color || "lightGray", direction: "row", display: "flex", height: "100%", keyboardOffset: keyboardOffset, padding: 2, width: "100%" },
|
|
90
146
|
loading === true && React.createElement(Spinner, { color: Unifier.theme.darkGray, size: "md" }),
|
|
91
|
-
|
|
92
|
-
renderContent ? renderListContent() : renderChildrenContent()));
|
|
147
|
+
Boolean(isMobileDevice) ? renderMobileSplitPage() : renderSplitPage()));
|
|
93
148
|
};
|
|
94
149
|
//# sourceMappingURL=SplitPage.js.map
|
package/dist/SplitPage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SplitPage.js","sourceRoot":"","sources":["../src/SplitPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"SplitPage.js","sourceRoot":"","sources":["../src/SplitPage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { SplitPageProps } from "./Common";
|
|
3
|
+
export declare const SplitPage: ({ children, loading, color, keyboardOffset, renderListViewItem, renderListViewHeader, renderContent, onSelectionChange, listViewData, listViewExtraData, bottomNavBarHeight, showItemList, }: SplitPageProps) => JSX.Element | null;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
// TODO: Update SplitPage native to have desktop UX for tablet sized screens
|
|
2
|
+
import React, { Children, useCallback, useEffect, useState } from "react";
|
|
3
|
+
import { Dimensions, View } from "react-native";
|
|
4
|
+
import { SwiperFlatList } from "react-native-swiper-flatlist";
|
|
5
|
+
import { Box } from "./Box";
|
|
6
|
+
import { FlatList } from "./FlatList";
|
|
7
|
+
import { IconButton } from "./IconButton";
|
|
8
|
+
import { Spinner } from "./Spinner";
|
|
9
|
+
import { Unifier } from "./Unifier";
|
|
10
|
+
export const SplitPage = ({ children, loading = false, color, keyboardOffset, renderListViewItem, renderListViewHeader, renderContent, onSelectionChange = () => { }, listViewData, listViewExtraData, bottomNavBarHeight, showItemList, }) => {
|
|
11
|
+
const [selectedId, setSelectedId] = useState(undefined);
|
|
12
|
+
const elementArray = Children.toArray(children);
|
|
13
|
+
const { width } = Dimensions.get("window");
|
|
14
|
+
const onItemSelect = useCallback((item) => {
|
|
15
|
+
setSelectedId(item.index);
|
|
16
|
+
onSelectionChange(item);
|
|
17
|
+
}, [onSelectionChange]);
|
|
18
|
+
const onItemDeselect = useCallback(() => {
|
|
19
|
+
setSelectedId(undefined);
|
|
20
|
+
onSelectionChange(undefined);
|
|
21
|
+
}, [onSelectionChange]);
|
|
22
|
+
useEffect(() => {
|
|
23
|
+
if (showItemList) {
|
|
24
|
+
onItemDeselect();
|
|
25
|
+
}
|
|
26
|
+
}, [showItemList, onItemDeselect]);
|
|
27
|
+
if (!children && !renderContent) {
|
|
28
|
+
console.warn("A child node is required");
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
const renderItem = (itemInfo) => {
|
|
32
|
+
return (React.createElement(Box, { onClick: () => {
|
|
33
|
+
Unifier.utils.haptic();
|
|
34
|
+
onItemSelect(itemInfo);
|
|
35
|
+
} }, renderListViewItem(itemInfo)));
|
|
36
|
+
};
|
|
37
|
+
const renderList = () => {
|
|
38
|
+
if (selectedId !== undefined) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
return (React.createElement(View, { style: {
|
|
42
|
+
width: "100%",
|
|
43
|
+
maxWidth: "100%",
|
|
44
|
+
flexGrow: 1,
|
|
45
|
+
flexShrink: 0,
|
|
46
|
+
display: "flex",
|
|
47
|
+
flexDirection: "column",
|
|
48
|
+
paddingBottom: bottomNavBarHeight,
|
|
49
|
+
} },
|
|
50
|
+
renderListViewHeader && renderListViewHeader(),
|
|
51
|
+
React.createElement(FlatList, { data: listViewData, extraData: listViewExtraData, keyExtractor: (item) => item.id, renderItem: renderItem })));
|
|
52
|
+
};
|
|
53
|
+
const renderListContent = () => {
|
|
54
|
+
if (selectedId === undefined) {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
return (React.createElement(Box, { flex: "grow", padding: 2 },
|
|
58
|
+
React.createElement(Box, { width: "100%" },
|
|
59
|
+
React.createElement(IconButton, { accessibilityLabel: "close", icon: "times", iconColor: "darkGray", onClick: () => onItemDeselect() })),
|
|
60
|
+
renderContent && renderContent(selectedId)));
|
|
61
|
+
};
|
|
62
|
+
const renderChildrenContent = () => {
|
|
63
|
+
if (selectedId === undefined) {
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
return (React.createElement(SwiperFlatList, { nestedScrollEnabled: true, renderAll: true, showPagination: elementArray.length > 1, style: { width: "100%" } }, elementArray.map((element, i) => {
|
|
67
|
+
return (React.createElement(View, { key: i, style: { width, height: elementArray.length > 1 ? "95%" : "100%", padding: 4 } }, element));
|
|
68
|
+
})));
|
|
69
|
+
};
|
|
70
|
+
const renderMainContent = renderContent ? renderListContent() : renderChildrenContent();
|
|
71
|
+
return (React.createElement(Box, { avoidKeyboard: true, color: color || "lightGray", flex: "grow", height: "100%", keyboardOffset: keyboardOffset, width: "100%" },
|
|
72
|
+
loading === true && React.createElement(Spinner, { color: Unifier.theme.darkGray, size: "md" }),
|
|
73
|
+
selectedId === undefined ? renderList() : renderMainContent));
|
|
74
|
+
};
|
|
75
|
+
//# sourceMappingURL=SplitPage.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SplitPage.native.js","sourceRoot":"","sources":["../src/SplitPage.native.tsx"],"names":[],"mappings":"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"}
|
package/dist/TapToEdit.js
CHANGED
|
@@ -16,8 +16,9 @@ import { Button } from "./Button";
|
|
|
16
16
|
import { Field } from "./Field";
|
|
17
17
|
import { Icon } from "./Icon";
|
|
18
18
|
import { Text } from "./Text";
|
|
19
|
+
import { formatAddress } from "./Utilities";
|
|
19
20
|
export const TapToEdit = (_a) => {
|
|
20
|
-
var _b
|
|
21
|
+
var _b;
|
|
21
22
|
var { value, setValue, placeholder, title, onSave, editable = true, isEditing = false, rowBoxProps, transform, fieldComponent } = _a, fieldProps = __rest(_a, ["value", "setValue", "placeholder", "title", "onSave", "editable", "isEditing", "rowBoxProps", "transform", "fieldComponent"]);
|
|
22
23
|
const [editing, setEditing] = useState(false);
|
|
23
24
|
if (editable && !setValue) {
|
|
@@ -72,24 +73,17 @@ export const TapToEdit = (_a) => {
|
|
|
72
73
|
}
|
|
73
74
|
else if ((fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.type) === "url") {
|
|
74
75
|
// Show only the domain, full links are likely too long.
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
else if ((fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.type) === "address") {
|
|
79
|
-
let city = "";
|
|
80
|
-
if (value === null || value === void 0 ? void 0 : value.city) {
|
|
81
|
-
city = (value === null || value === void 0 ? void 0 : value.state) || value.zipcode ? `${value.city}, ` : `${value.city}`;
|
|
76
|
+
try {
|
|
77
|
+
const url = new URL(value);
|
|
78
|
+
displayValue = (_b = url === null || url === void 0 ? void 0 : url.hostname) !== null && _b !== void 0 ? _b : value;
|
|
82
79
|
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
80
|
+
catch (e) {
|
|
81
|
+
console.debug(`Invalid URL: ${value}`);
|
|
82
|
+
displayValue = value;
|
|
86
83
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
const addressLineThree = `${city}${state}${zip}`;
|
|
91
|
-
// Only add new lines if lines before and after are not empty to avoid awkward whitespace
|
|
92
|
-
displayValue = `${addressLineOne}${addressLineOne && (addressLineTwo || addressLineThree) ? `\n` : ""}${addressLineTwo}${addressLineTwo && addressLineThree ? `\n` : ""}${addressLineThree}`;
|
|
84
|
+
}
|
|
85
|
+
else if ((fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.type) === "address") {
|
|
86
|
+
displayValue = formatAddress(value);
|
|
93
87
|
}
|
|
94
88
|
}
|
|
95
89
|
const openLink = () => {
|
package/dist/TapToEdit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TapToEdit.js","sourceRoot":"","sources":["../src/TapToEdit.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAe,QAAQ,EAAC,MAAM,OAAO,CAAC;AACpD,OAAO,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AAErC,OAAO,EAAC,GAAG,EAAC,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAEhC,OAAO,EAAC,KAAK,EAAa,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"TapToEdit.js","sourceRoot":"","sources":["../src/TapToEdit.tsx"],"names":[],"mappings":"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"}
|
package/dist/TextField.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AsYouType } from "libphonenumber-js";
|
|
2
2
|
import moment from "moment-timezone";
|
|
3
|
-
import React, { useState } from "react";
|
|
3
|
+
import React, { useCallback, useMemo, useState } from "react";
|
|
4
4
|
import { ActivityIndicator, Platform, TextInput, View } from "react-native";
|
|
5
5
|
import { Calendar } from "react-native-calendars";
|
|
6
6
|
import { Box } from "./Box";
|
|
@@ -96,7 +96,7 @@ export function TextField({ blurOnSubmit = true, value, height: propsHeight, onC
|
|
|
96
96
|
else {
|
|
97
97
|
borderColor = Unifier.theme.gray;
|
|
98
98
|
}
|
|
99
|
-
const getHeight = () => {
|
|
99
|
+
const getHeight = useCallback(() => {
|
|
100
100
|
if (grow) {
|
|
101
101
|
return Math.max(40, height);
|
|
102
102
|
}
|
|
@@ -106,7 +106,14 @@ export function TextField({ blurOnSubmit = true, value, height: propsHeight, onC
|
|
|
106
106
|
else {
|
|
107
107
|
return 40;
|
|
108
108
|
}
|
|
109
|
-
};
|
|
109
|
+
}, [grow, height, multiline]);
|
|
110
|
+
const defaultTextInputStyles = useMemo(() => {
|
|
111
|
+
const defaultStyles = Object.assign({ flex: 1, paddingTop: 10, paddingRight: 10, paddingBottom: 10, paddingLeft: 0, height: getHeight(), width: "100%", color: Unifier.theme.darkGray, fontFamily: Unifier.theme.primaryFont }, style);
|
|
112
|
+
if (Platform.OS === "web") {
|
|
113
|
+
defaultStyles.outline = 0;
|
|
114
|
+
}
|
|
115
|
+
return defaultStyles;
|
|
116
|
+
}, [getHeight, style]);
|
|
110
117
|
const isHandledByModal = type === "date" || type === "numberRange" || type === "decimalRange" || type === "height";
|
|
111
118
|
const isEditable = !disabled && !isHandledByModal;
|
|
112
119
|
const shouldAutocorrect = type === "text" && (!autoComplete || autoComplete === "on");
|
|
@@ -176,9 +183,7 @@ export function TextField({ blurOnSubmit = true, value, height: propsHeight, onC
|
|
|
176
183
|
if (inputRef) {
|
|
177
184
|
inputRef(ref);
|
|
178
185
|
}
|
|
179
|
-
}, autoCapitalize: type === "text" ? "sentences" : "none", autoCorrect: shouldAutocorrect, autoFocus: autoFocus, blurOnSubmit: blurOnSubmit, editable: isEditable, keyboardType: keyboardType, multiline: multiline, numberOfLines: rows || 4, placeholder: placeholder, placeholderTextColor: Unifier.theme.gray, returnKeyType: type === "number" || type === "decimal" ? "done" : returnKeyType, secureTextEntry: type === "password", style:
|
|
180
|
-
// Remove border in web.
|
|
181
|
-
outlineWidth: 0 }, style),
|
|
186
|
+
}, autoCapitalize: type === "text" ? "sentences" : "none", autoCorrect: shouldAutocorrect, autoFocus: autoFocus, blurOnSubmit: blurOnSubmit, editable: isEditable, keyboardType: keyboardType, multiline: multiline, numberOfLines: rows || 4, placeholder: placeholder, placeholderTextColor: Unifier.theme.gray, returnKeyType: type === "number" || type === "decimal" ? "done" : returnKeyType, secureTextEntry: type === "password", style: defaultTextInputStyles,
|
|
182
187
|
// For react-native-autofocus
|
|
183
188
|
textContentType: textContentType, underlineColorAndroid: "transparent", value: value, onBlur: () => {
|
|
184
189
|
if (!isHandledByModal) {
|