ferns-ui 0.36.1 → 0.36.3
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 +492 -0
- package/dist/ActionSheet.js +649 -0
- package/dist/ActionSheet.js.map +1 -0
- package/dist/Avatar.d.ts +68 -0
- package/dist/Avatar.js +152 -0
- package/dist/Avatar.js.map +1 -0
- package/dist/Badge.d.ts +10 -0
- package/dist/Badge.js +36 -0
- package/dist/Badge.js.map +1 -0
- package/dist/Banner.d.ts +27 -0
- package/dist/Banner.js +56 -0
- package/dist/Banner.js.map +1 -0
- package/dist/BlurBox.d.ts +5 -0
- package/dist/BlurBox.js +28 -0
- package/dist/BlurBox.js.map +1 -0
- package/dist/BlurBox.native.d.ts +6 -0
- package/dist/BlurBox.native.js +30 -0
- package/dist/BlurBox.native.js.map +1 -0
- package/dist/Body.d.ts +6 -0
- package/dist/Body.js +21 -0
- package/dist/Body.js.map +1 -0
- package/dist/Box.d.ts +3 -0
- package/dist/Box.js +251 -0
- package/dist/Box.js.map +1 -0
- package/dist/Button.d.ts +26 -0
- package/dist/Button.js +120 -0
- package/dist/Button.js.map +1 -0
- package/dist/Card.d.ts +5 -0
- package/dist/Card.js +8 -0
- package/dist/Card.js.map +1 -0
- package/dist/CheckBox.d.ts +3 -0
- package/dist/CheckBox.js +40 -0
- package/dist/CheckBox.js.map +1 -0
- package/dist/Common.d.ts +868 -0
- package/dist/Common.js +46 -0
- package/dist/Common.js.map +1 -0
- package/dist/Constants.d.ts +4 -0
- package/dist/Constants.js +54 -0
- package/dist/Constants.js.map +1 -0
- package/dist/CustomSelect.d.ts +14 -0
- package/dist/CustomSelect.js +43 -0
- package/dist/CustomSelect.js.map +1 -0
- package/dist/DateTimeActionSheet.d.ts +12 -0
- package/dist/DateTimeActionSheet.js +248 -0
- package/dist/DateTimeActionSheet.js.map +1 -0
- package/dist/DateTimeField.android.d.ts +3 -0
- package/dist/DateTimeField.android.js +66 -0
- package/dist/DateTimeField.android.js.map +1 -0
- package/dist/DateTimeField.d.ts +3 -0
- package/dist/DateTimeField.ios.d.ts +3 -0
- package/dist/DateTimeField.ios.js +48 -0
- package/dist/DateTimeField.ios.js.map +1 -0
- package/dist/DateTimeField.js +35 -0
- package/dist/DateTimeField.js.map +1 -0
- package/dist/DecimalRangeActionSheet.d.ts +18 -0
- package/dist/DecimalRangeActionSheet.js +65 -0
- package/dist/DecimalRangeActionSheet.js.map +1 -0
- package/dist/ErrorBoundary.d.ts +19 -0
- package/dist/ErrorBoundary.js +29 -0
- package/dist/ErrorBoundary.js.map +1 -0
- package/dist/ErrorPage.d.ts +10 -0
- package/dist/ErrorPage.js +20 -0
- package/dist/ErrorPage.js.map +1 -0
- package/dist/FernsProvider.d.ts +4 -0
- package/dist/FernsProvider.js +9 -0
- package/dist/FernsProvider.js.map +1 -0
- package/dist/Field.d.ts +17 -0
- package/dist/Field.js +114 -0
- package/dist/Field.js.map +1 -0
- package/dist/FieldWithLabels.d.ts +3 -0
- package/dist/FieldWithLabels.js +8 -0
- package/dist/FieldWithLabels.js.map +1 -0
- package/dist/FlatList.d.ts +2 -0
- package/dist/FlatList.js +3 -0
- package/dist/FlatList.js.map +1 -0
- package/dist/Form.d.ts +22 -0
- package/dist/Form.js +89 -0
- package/dist/Form.js.map +1 -0
- package/dist/HeaderButtons.d.ts +31 -0
- package/dist/HeaderButtons.js +53 -0
- package/dist/HeaderButtons.js.map +1 -0
- package/dist/Heading.d.ts +11 -0
- package/dist/Heading.js +46 -0
- package/dist/Heading.js.map +1 -0
- package/dist/HeightActionSheet.d.ts +16 -0
- package/dist/HeightActionSheet.js +58 -0
- package/dist/HeightActionSheet.js.map +1 -0
- package/dist/Hyperlink.d.ts +43 -0
- package/dist/Hyperlink.js +135 -0
- package/dist/Hyperlink.js.map +1 -0
- package/dist/Icon.d.ts +4 -0
- package/dist/Icon.js +14 -0
- package/dist/Icon.js.map +1 -0
- package/dist/IconButton.d.ts +26 -0
- package/dist/IconButton.js +78 -0
- package/dist/IconButton.js.map +1 -0
- package/dist/Image.d.ts +8 -0
- package/dist/Image.js +37 -0
- package/dist/Image.js.map +1 -0
- package/dist/ImageBackground.d.ts +10 -0
- package/dist/ImageBackground.js +8 -0
- package/dist/ImageBackground.js.map +1 -0
- package/dist/InfoTooltipButton.d.ts +8 -0
- package/dist/InfoTooltipButton.js +6 -0
- package/dist/InfoTooltipButton.js.map +1 -0
- package/dist/Layer.d.ts +9 -0
- package/dist/Layer.js +12 -0
- package/dist/Layer.js.map +1 -0
- package/dist/Link.d.ts +9 -0
- package/dist/Link.js +12 -0
- package/dist/Link.js.map +1 -0
- package/dist/Mask.d.ts +2 -0
- package/dist/Mask.js +19 -0
- package/dist/Mask.js.map +1 -0
- package/dist/MediaQuery.d.ts +4 -0
- package/dist/MediaQuery.js +52 -0
- package/dist/MediaQuery.js.map +1 -0
- package/dist/Meta.d.ts +5 -0
- package/dist/Meta.js +7 -0
- package/dist/Meta.js.map +1 -0
- package/dist/Modal.d.ts +19 -0
- package/dist/Modal.js +101 -0
- package/dist/Modal.js.map +1 -0
- package/dist/ModalSheet.d.ts +7 -0
- package/dist/ModalSheet.js +42 -0
- package/dist/ModalSheet.js.map +1 -0
- package/dist/NumberPickerActionSheet.d.ts +16 -0
- package/dist/NumberPickerActionSheet.js +29 -0
- package/dist/NumberPickerActionSheet.js.map +1 -0
- package/dist/Page.d.ts +26 -0
- package/dist/Page.js +38 -0
- package/dist/Page.js.map +1 -0
- package/dist/Permissions.d.ts +2 -0
- package/dist/Permissions.js +35 -0
- package/dist/Permissions.js.map +1 -0
- package/dist/PickerSelect.d.ts +109 -0
- package/dist/PickerSelect.js +296 -0
- package/dist/PickerSelect.js.map +1 -0
- package/dist/Pill.d.ts +5 -0
- package/dist/Pill.js +10 -0
- package/dist/Pill.js.map +1 -0
- package/dist/Pog.d.ts +15 -0
- package/dist/Pog.js +48 -0
- package/dist/Pog.js.map +1 -0
- package/dist/ProgressBar.d.ts +9 -0
- package/dist/ProgressBar.js +41 -0
- package/dist/ProgressBar.js.map +1 -0
- package/dist/ScrollView.d.ts +2 -0
- package/dist/ScrollView.js +3 -0
- package/dist/ScrollView.js.map +1 -0
- package/dist/SegmentedControl.d.ts +3 -0
- package/dist/SegmentedControl.js +55 -0
- package/dist/SegmentedControl.js.map +1 -0
- package/dist/SelectList.d.ts +18 -0
- package/dist/SelectList.js +48 -0
- package/dist/SelectList.js.map +1 -0
- package/dist/SideDrawer.d.ts +13 -0
- package/dist/SideDrawer.js +22 -0
- package/dist/SideDrawer.js.map +1 -0
- package/dist/Spinner.d.ts +3 -0
- package/dist/Spinner.js +16 -0
- package/dist/Spinner.js.map +1 -0
- package/dist/SplitPage.d.ts +3 -0
- package/dist/SplitPage.js +149 -0
- package/dist/SplitPage.js.map +1 -0
- package/dist/SplitPage.native.d.ts +3 -0
- package/dist/SplitPage.native.js +79 -0
- package/dist/SplitPage.native.js.map +1 -0
- package/dist/Switch.d.ts +5 -0
- package/dist/Switch.js +10 -0
- package/dist/Switch.js.map +1 -0
- package/dist/Table.d.ts +30 -0
- package/dist/Table.js +31 -0
- package/dist/Table.js.map +1 -0
- package/dist/TableHeader.d.ts +22 -0
- package/dist/TableHeader.js +11 -0
- package/dist/TableHeader.js.map +1 -0
- package/dist/TableHeaderCell.d.ts +15 -0
- package/dist/TableHeaderCell.js +36 -0
- package/dist/TableHeaderCell.js.map +1 -0
- package/dist/TableRow.d.ts +29 -0
- package/dist/TableRow.js +30 -0
- package/dist/TableRow.js.map +1 -0
- package/dist/TapToEdit.d.ts +19 -0
- package/dist/TapToEdit.js +136 -0
- package/dist/TapToEdit.js.map +1 -0
- package/dist/Text.d.ts +19 -0
- package/dist/Text.js +91 -0
- package/dist/Text.js.map +1 -0
- package/dist/TextArea.d.ts +6 -0
- package/dist/TextArea.js +24 -0
- package/dist/TextArea.js.map +1 -0
- package/dist/TextField.d.ts +3 -0
- package/dist/TextField.js +260 -0
- package/dist/TextField.js.map +1 -0
- package/dist/TextFieldNumberActionSheet.d.ts +15 -0
- package/dist/TextFieldNumberActionSheet.js +28 -0
- package/dist/TextFieldNumberActionSheet.js.map +1 -0
- package/dist/Toast.d.ts +12 -0
- package/dist/Toast.js +46 -0
- package/dist/Toast.js.map +1 -0
- package/dist/Tooltip.d.ts +9 -0
- package/dist/Tooltip.js +174 -0
- package/dist/Tooltip.js.map +1 -0
- package/dist/UnifiedScreens.d.ts +9 -0
- package/dist/UnifiedScreens.js +25 -0
- package/dist/UnifiedScreens.js.map +1 -0
- package/dist/Unifier.d.ts +45 -0
- package/dist/Unifier.js +291 -0
- package/dist/Unifier.js.map +1 -0
- package/dist/Utilities.d.ts +31 -0
- package/dist/Utilities.js +73 -0
- package/dist/Utilities.js.map +1 -0
- package/dist/WithLabel.d.ts +14 -0
- package/dist/WithLabel.js +15 -0
- package/dist/WithLabel.js.map +1 -0
- package/dist/dayjsExtended.d.ts +2 -0
- package/{src/dayjsExtended.ts → dist/dayjsExtended.js} +1 -2
- package/dist/dayjsExtended.js.map +1 -0
- package/dist/index.d.ts +1299 -0
- package/dist/index.js.map +1 -0
- package/dist/tableContext.d.ts +21 -0
- package/dist/tableContext.js +35 -0
- package/dist/tableContext.js.map +1 -0
- package/package.json +4 -1
- package/checkDeps.js +0 -19
- package/src/ActionSheet.tsx +0 -1231
- package/src/Avatar.tsx +0 -317
- package/src/Badge.tsx +0 -65
- package/src/Banner.tsx +0 -124
- package/src/BlurBox.native.tsx +0 -40
- package/src/BlurBox.tsx +0 -31
- package/src/Body.tsx +0 -32
- package/src/Box.tsx +0 -308
- package/src/Button.tsx +0 -219
- package/src/Card.tsx +0 -23
- package/src/CheckBox.tsx +0 -118
- package/src/Common.ts +0 -2743
- package/src/Constants.ts +0 -53
- package/src/CustomSelect.tsx +0 -85
- package/src/DateTimeActionSheet.tsx +0 -409
- package/src/DateTimeField.android.tsx +0 -101
- package/src/DateTimeField.ios.tsx +0 -83
- package/src/DateTimeField.tsx +0 -69
- package/src/DecimalRangeActionSheet.tsx +0 -113
- package/src/ErrorBoundary.tsx +0 -37
- package/src/ErrorPage.tsx +0 -44
- package/src/FernsProvider.tsx +0 -21
- package/src/Field.tsx +0 -299
- package/src/FieldWithLabels.tsx +0 -36
- package/src/FlatList.tsx +0 -2
- package/src/Form.tsx +0 -182
- package/src/HeaderButtons.tsx +0 -107
- package/src/Heading.tsx +0 -53
- package/src/HeightActionSheet.tsx +0 -104
- package/src/Hyperlink.tsx +0 -181
- package/src/Icon.tsx +0 -24
- package/src/IconButton.tsx +0 -165
- package/src/Image.tsx +0 -50
- package/src/ImageBackground.tsx +0 -14
- package/src/InfoTooltipButton.tsx +0 -23
- package/src/Layer.tsx +0 -17
- package/src/Link.tsx +0 -17
- package/src/Mask.tsx +0 -21
- package/src/MediaQuery.ts +0 -46
- package/src/Meta.tsx +0 -9
- package/src/Modal.tsx +0 -248
- package/src/ModalSheet.tsx +0 -58
- package/src/NumberPickerActionSheet.tsx +0 -66
- package/src/Page.tsx +0 -133
- package/src/Permissions.ts +0 -44
- package/src/PickerSelect.tsx +0 -553
- package/src/Pill.tsx +0 -24
- package/src/Pog.tsx +0 -87
- package/src/ProgressBar.tsx +0 -55
- package/src/ScrollView.tsx +0 -2
- package/src/SegmentedControl.tsx +0 -102
- package/src/SelectList.tsx +0 -89
- package/src/SideDrawer.tsx +0 -62
- package/src/Spinner.tsx +0 -20
- package/src/SplitPage.native.tsx +0 -160
- package/src/SplitPage.tsx +0 -302
- package/src/Switch.tsx +0 -19
- package/src/Table.tsx +0 -87
- package/src/TableHeader.tsx +0 -36
- package/src/TableHeaderCell.tsx +0 -76
- package/src/TableRow.tsx +0 -87
- package/src/TapToEdit.tsx +0 -221
- package/src/Text.tsx +0 -131
- package/src/TextArea.tsx +0 -16
- package/src/TextField.tsx +0 -401
- package/src/TextFieldNumberActionSheet.tsx +0 -61
- package/src/Toast.tsx +0 -106
- package/src/Tooltip.tsx +0 -269
- package/src/UnifiedScreens.ts +0 -24
- package/src/Unifier.ts +0 -371
- package/src/Utilities.tsx +0 -159
- package/src/WithLabel.tsx +0 -57
- package/src/index.tsx +0 -1346
- package/src/polyfill.d.ts +0 -11
- package/src/tableContext.tsx +0 -80
- package/tsconfig.json +0 -30
- package/updateDeps.js +0 -14
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import isArray from "lodash/isArray";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import DatePicker from "react-date-picker";
|
|
4
|
+
import DateTimePickerWeb from "react-datetime-picker";
|
|
5
|
+
import TimePicker from "react-time-picker";
|
|
6
|
+
import { Box } from "./Box";
|
|
7
|
+
import { WithLabel } from "./WithLabel";
|
|
8
|
+
export const DateTimeField = ({ mode, value, onChange, errorMessage, errorMessageColor, }) => {
|
|
9
|
+
return (React.createElement(WithLabel, { label: errorMessage, labelColor: errorMessageColor || "red", labelPlacement: "after", labelSize: "sm" },
|
|
10
|
+
React.createElement(Box, { flex: "grow", maxWidth: 300, zIndex: "auto" },
|
|
11
|
+
mode === "datetime" && (React.createElement(DateTimePickerWeb, { disableClock: true, value: value, onChange: (newVal) => {
|
|
12
|
+
if (isArray(newVal) || !newVal) {
|
|
13
|
+
console.warn("DateTimePicker returned an array", newVal);
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
onChange(newVal);
|
|
17
|
+
} })),
|
|
18
|
+
mode === "date" && (React.createElement(DatePicker, { value: value, onChange: (newVal) => {
|
|
19
|
+
if (isArray(newVal) || !newVal) {
|
|
20
|
+
console.warn("DatePicker returned an array", newVal);
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
onChange(newVal);
|
|
24
|
+
} })),
|
|
25
|
+
mode === "time" && (React.createElement(TimePicker, { disableClock: true, value: value, onChange: (newVal) => {
|
|
26
|
+
if (isArray(newVal) || !newVal) {
|
|
27
|
+
console.warn("TimePicker returned an array", newVal);
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
// TimePicker returns a string or Date, so we need to make sure it's a Date
|
|
31
|
+
const newDate = new Date(newVal);
|
|
32
|
+
onChange(newDate);
|
|
33
|
+
} })))));
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=DateTimeField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateTimeField.js","sourceRoot":"","sources":["../src/DateTimeField.tsx"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,KAAqB,MAAM,OAAO,CAAC;AAC1C,OAAO,UAAU,MAAM,mBAAmB,CAAC;AAC3C,OAAO,iBAAiB,MAAM,uBAAuB,CAAC;AACtD,OAAO,UAAU,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAC,GAAG,EAAC,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAEtC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAC5B,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,iBAAiB,GACgB,EAAgB,EAAE;IACnD,OAAO,CACL,oBAAC,SAAS,IACR,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,iBAAiB,IAAI,KAAK,EACtC,cAAc,EAAC,OAAO,EACtB,SAAS,EAAC,IAAI;QAEd,oBAAC,GAAG,IAAC,IAAI,EAAC,MAAM,EAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAC,MAAM;YAC1C,IAAI,KAAK,UAAU,IAAI,CACtB,oBAAC,iBAAiB,IAChB,YAAY,QACZ,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;oBACnB,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE;wBAC9B,OAAO,CAAC,IAAI,CAAC,kCAAkC,EAAE,MAAM,CAAC,CAAC;wBACzD,OAAO;qBACR;oBACD,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACnB,CAAC,GACD,CACH;YACA,IAAI,KAAK,MAAM,IAAI,CAClB,oBAAC,UAAU,IACT,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;oBACnB,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE;wBAC9B,OAAO,CAAC,IAAI,CAAC,8BAA8B,EAAE,MAAM,CAAC,CAAC;wBACrD,OAAO;qBACR;oBACD,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACnB,CAAC,GACD,CACH;YACA,IAAI,KAAK,MAAM,IAAI,CAClB,oBAAC,UAAU,IACT,YAAY,QACZ,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;oBACnB,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE;wBAC9B,OAAO,CAAC,IAAI,CAAC,8BAA8B,EAAE,MAAM,CAAC,CAAC;wBACrD,OAAO;qBACR;oBACD,2EAA2E;oBAC3E,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;oBACjC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACpB,CAAC,GACD,CACH,CACG,CACI,CACb,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { OnChangeCallback } from "./Common";
|
|
3
|
+
interface DecimalRangeActionSheetProps {
|
|
4
|
+
value: string;
|
|
5
|
+
min: number;
|
|
6
|
+
max: number;
|
|
7
|
+
onChange: OnChangeCallback;
|
|
8
|
+
actionSheetRef: React.RefObject<any>;
|
|
9
|
+
}
|
|
10
|
+
interface DecimalRangeActionSheetState {
|
|
11
|
+
whole: string;
|
|
12
|
+
decimal: string;
|
|
13
|
+
}
|
|
14
|
+
export declare class DecimalRangeActionSheet extends React.Component<DecimalRangeActionSheetProps, DecimalRangeActionSheetState> {
|
|
15
|
+
constructor(props: DecimalRangeActionSheetProps);
|
|
16
|
+
render(): React.JSX.Element;
|
|
17
|
+
}
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { Picker } from "@react-native-picker/picker";
|
|
2
|
+
import range from "lodash/range";
|
|
3
|
+
import React from "react";
|
|
4
|
+
import { ActionSheet } from "./ActionSheet";
|
|
5
|
+
import { Box } from "./Box";
|
|
6
|
+
import { Button } from "./Button";
|
|
7
|
+
const PICKER_HEIGHT = 104;
|
|
8
|
+
export class DecimalRangeActionSheet extends React.Component {
|
|
9
|
+
constructor(props) {
|
|
10
|
+
super(props);
|
|
11
|
+
this.state = {
|
|
12
|
+
whole: String(Math.floor(Number(props.value))),
|
|
13
|
+
decimal: String((Number(props.value) * 10) % 10),
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
render() {
|
|
17
|
+
return (React.createElement(ActionSheet, { ref: this.props.actionSheetRef, bounceOnOpen: true, gestureEnabled: true },
|
|
18
|
+
React.createElement(Box, { marginBottom: 8, paddingX: 4, width: "100%" },
|
|
19
|
+
React.createElement(Box, { alignItems: "end", display: "flex", width: "100%" },
|
|
20
|
+
React.createElement(Box, { width: "33%" },
|
|
21
|
+
React.createElement(Button, { color: "blue", size: "lg", text: "Close", type: "ghost", onClick: () => {
|
|
22
|
+
var _a, _b;
|
|
23
|
+
(_b = (_a = this.props.actionSheetRef) === null || _a === void 0 ? void 0 : _a.current) === null || _b === void 0 ? void 0 : _b.setModalVisible(false);
|
|
24
|
+
} }))),
|
|
25
|
+
React.createElement(Box, { direction: "row", width: "100%" },
|
|
26
|
+
React.createElement(Box, { width: "50%" },
|
|
27
|
+
React.createElement(Picker, { itemStyle: {
|
|
28
|
+
height: PICKER_HEIGHT,
|
|
29
|
+
}, selectedValue: this.state.whole, style: {
|
|
30
|
+
height: PICKER_HEIGHT,
|
|
31
|
+
backgroundColor: "#FFFFFF",
|
|
32
|
+
}, onValueChange: (whole) => {
|
|
33
|
+
this.setState({ whole: String(whole) });
|
|
34
|
+
this.props.onChange({
|
|
35
|
+
value: String(Number(whole) + Number(this.state.decimal) * 0.1),
|
|
36
|
+
});
|
|
37
|
+
} }, range(this.props.min, this.props.max + 1).map((n) => {
|
|
38
|
+
// console.log("FIRST", String(n));
|
|
39
|
+
return React.createElement(Picker.Item, { key: String(n), label: String(n), value: String(n) });
|
|
40
|
+
}))),
|
|
41
|
+
React.createElement(Box, { width: "50%" },
|
|
42
|
+
React.createElement(Picker, { itemStyle: {
|
|
43
|
+
height: PICKER_HEIGHT,
|
|
44
|
+
}, selectedValue: this.state.decimal, style: {
|
|
45
|
+
height: PICKER_HEIGHT,
|
|
46
|
+
backgroundColor: "#FFFFFF",
|
|
47
|
+
}, onValueChange: (decimal) => {
|
|
48
|
+
// console.log(
|
|
49
|
+
// "DECIMAL",
|
|
50
|
+
// decimal,
|
|
51
|
+
// this.state.whole,
|
|
52
|
+
// Number(decimal.toString()) * 0.1,
|
|
53
|
+
// String(this.state.whole + Number(decimal) * 0.1)
|
|
54
|
+
// );
|
|
55
|
+
this.setState({ decimal: String(decimal) });
|
|
56
|
+
this.props.onChange({
|
|
57
|
+
value: String(Number(this.state.whole) + Number(decimal) * 0.1),
|
|
58
|
+
});
|
|
59
|
+
} }, range(0, 10).map((n) => {
|
|
60
|
+
// console.log("N", n);
|
|
61
|
+
return React.createElement(Picker.Item, { key: String(n), label: `.${String(n)}`, value: String(n) });
|
|
62
|
+
})))))));
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=DecimalRangeActionSheet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DecimalRangeActionSheet.js","sourceRoot":"","sources":["../src/DecimalRangeActionSheet.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ErrorBoundaryProps } from "./Common";
|
|
3
|
+
interface State {
|
|
4
|
+
error?: Error;
|
|
5
|
+
}
|
|
6
|
+
export declare class ErrorBoundary extends React.Component<ErrorBoundaryProps, State> {
|
|
7
|
+
state: {
|
|
8
|
+
error: undefined;
|
|
9
|
+
};
|
|
10
|
+
static getDerivedStateFromError(error: Error): {
|
|
11
|
+
error: Error;
|
|
12
|
+
};
|
|
13
|
+
componentDidCatch(error: Error, info: {
|
|
14
|
+
componentStack: string;
|
|
15
|
+
}): void;
|
|
16
|
+
resetError: () => void;
|
|
17
|
+
render(): string | number | boolean | Iterable<React.ReactNode> | React.JSX.Element | null | undefined;
|
|
18
|
+
}
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ErrorPage } from "./ErrorPage";
|
|
3
|
+
export class ErrorBoundary extends React.Component {
|
|
4
|
+
constructor() {
|
|
5
|
+
super(...arguments);
|
|
6
|
+
this.state = { error: undefined };
|
|
7
|
+
this.resetError = () => {
|
|
8
|
+
this.setState({ error: undefined });
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
static getDerivedStateFromError(error) {
|
|
12
|
+
console.warn("[ErrorBoundary] Derived error", error);
|
|
13
|
+
return { error };
|
|
14
|
+
}
|
|
15
|
+
componentDidCatch(error, info) {
|
|
16
|
+
console.warn("[ErrorBoundary] Caught error", error);
|
|
17
|
+
if (this.props.onError) {
|
|
18
|
+
this.props.onError(error, info.componentStack);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
render() {
|
|
22
|
+
const error = this.state.error;
|
|
23
|
+
if (error) {
|
|
24
|
+
return React.createElement(ErrorPage, { error: error, resetError: this.resetError });
|
|
25
|
+
}
|
|
26
|
+
return this.props.children;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=ErrorBoundary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ErrorBoundary.js","sourceRoot":"","sources":["../src/ErrorBoundary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAMtC,MAAM,OAAO,aAAc,SAAQ,KAAK,CAAC,SAAoC;IAA7E;;QACE,UAAK,GAAG,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC;QAe3B,eAAU,GAAG,GAAG,EAAE;YAChB,IAAI,CAAC,QAAQ,CAAC,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC,CAAC;QACpC,CAAC,CAAC;IASJ,CAAC;IAxBC,MAAM,CAAC,wBAAwB,CAAC,KAAY;QAC1C,OAAO,CAAC,IAAI,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;QACrD,OAAO,EAAC,KAAK,EAAC,CAAC;IACjB,CAAC;IAED,iBAAiB,CAAC,KAAY,EAAE,IAA8B;QAC5D,OAAO,CAAC,IAAI,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;QAEpD,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;YACtB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;SAChD;IACH,CAAC;IAMD,MAAM;QACJ,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC/B,IAAI,KAAK,EAAE;YACT,OAAO,oBAAC,SAAS,IAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,GAAI,CAAC;SACjE;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC7B,CAAC;CACF"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
interface ErrorPageProps {
|
|
3
|
+
error: Error;
|
|
4
|
+
resetError: () => void;
|
|
5
|
+
}
|
|
6
|
+
export declare class ErrorPage extends React.Component<ErrorPageProps, {}> {
|
|
7
|
+
constructor(props: ErrorPageProps);
|
|
8
|
+
render(): React.JSX.Element;
|
|
9
|
+
}
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Box } from "./Box";
|
|
3
|
+
import { Button } from "./Button";
|
|
4
|
+
import { Text } from "./Text";
|
|
5
|
+
export class ErrorPage extends React.Component {
|
|
6
|
+
constructor(props) {
|
|
7
|
+
super(props);
|
|
8
|
+
this.state = {};
|
|
9
|
+
}
|
|
10
|
+
render() {
|
|
11
|
+
return (React.createElement(Box, { alignItems: "center", direction: "column", display: "flex", height: "100%", justifyContent: "center", padding: 6, width: "100%" },
|
|
12
|
+
React.createElement(Text, { align: "center", color: "red", size: "lg", weight: "bold" }, "Oops!"),
|
|
13
|
+
React.createElement(Box, { paddingY: 3 },
|
|
14
|
+
React.createElement(Text, { align: "center" }, "There's an error. Sorry! Our team just got a notification about the error so they can fix it as soon as possible!")),
|
|
15
|
+
React.createElement(Box, { paddingY: 3 },
|
|
16
|
+
React.createElement(Text, null, this.props.error.toString())),
|
|
17
|
+
React.createElement(Button, { color: "blue", text: "Try again", onClick: this.props.resetError })));
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=ErrorPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ErrorPage.js","sourceRoot":"","sources":["../src/ErrorPage.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;AAChC,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAM5B,MAAM,OAAO,SAAU,SAAQ,KAAK,CAAC,SAA6B;IAChE,YAAY,KAAqB;QAC/B,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,CAAC;IAED,MAAM;QACJ,OAAO,CACL,oBAAC,GAAG,IACF,UAAU,EAAC,QAAQ,EACnB,SAAS,EAAC,QAAQ,EAClB,OAAO,EAAC,MAAM,EACd,MAAM,EAAC,MAAM,EACb,cAAc,EAAC,QAAQ,EACvB,OAAO,EAAE,CAAC,EACV,KAAK,EAAC,MAAM;YAEZ,oBAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,YAEjD;YACP,oBAAC,GAAG,IAAC,QAAQ,EAAE,CAAC;gBACd,oBAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,wHAGb,CACH;YACN,oBAAC,GAAG,IAAC,QAAQ,EAAE,CAAC;gBACd,oBAAC,IAAI,QAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAQ,CACtC;YACN,oBAAC,MAAM,IAAC,KAAK,EAAC,MAAM,EAAC,IAAI,EAAC,WAAW,EAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,GAAI,CACpE,CACP,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Host } from "react-native-portalize";
|
|
3
|
+
import { ToastProvider } from "react-native-toast-notifications";
|
|
4
|
+
import { Toast } from "./Toast";
|
|
5
|
+
export function FernsProvider({ children }) {
|
|
6
|
+
return (React.createElement(ToastProvider, { animationDuration: 250, animationType: "slide-in", duration: 50000, offset: 50, placement: "bottom", renderToast: (toastOptions) => React.createElement(Toast, Object.assign({}, toastOptions)), swipeEnabled: true },
|
|
7
|
+
React.createElement(Host, null, children)));
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=FernsProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FernsProvider.js","sourceRoot":"","sources":["../src/FernsProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,IAAI,EAAC,MAAM,wBAAwB,CAAC;AAC5C,OAAO,EAAC,aAAa,EAAC,MAAM,kCAAkC,CAAC;AAE/D,OAAO,EAAC,KAAK,EAAC,MAAM,SAAS,CAAC;AAE9B,MAAM,UAAU,aAAa,CAAC,EAAC,QAAQ,EAA8B;IACnE,OAAO,CACL,oBAAC,aAAa,IACZ,iBAAiB,EAAE,GAAG,EACtB,aAAa,EAAC,UAAU,EACxB,QAAQ,EAAE,KAAK,EACf,MAAM,EAAE,EAAE,EACV,SAAS,EAAC,QAAQ,EAClB,WAAW,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,oBAAC,KAAK,oBAAM,YAAoB,EAAI,EACnE,YAAY;QAEZ,oBAAC,IAAI,QAAE,QAAQ,CAAQ,CACT,CACjB,CAAC;AACJ,CAAC"}
|
package/dist/Field.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { FieldWithLabelsProps } from "./Common";
|
|
3
|
+
import { SelectListOptions } from "./SelectList";
|
|
4
|
+
export interface FieldProps extends FieldWithLabelsProps {
|
|
5
|
+
name?: string;
|
|
6
|
+
label?: string;
|
|
7
|
+
height?: number;
|
|
8
|
+
type?: "address" | "boolean" | "currency" | "customSelect" | "date" | "datetime" | "email" | "multiselect" | "number" | "password" | "percent" | "phoneNumber" | "select" | "text" | "textarea" | "time" | "url";
|
|
9
|
+
rows?: number;
|
|
10
|
+
value?: any;
|
|
11
|
+
onChange?: any;
|
|
12
|
+
options?: SelectListOptions;
|
|
13
|
+
placeholder?: string;
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
useCheckbox?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export declare const Field: ({ name, label, labelColor, height, type, rows, value, onChange, options, placeholder, disabled, errorMessage, errorMessageColor, helperText, helperTextColor, }: FieldProps) => React.JSX.Element;
|
package/dist/Field.js
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Box } from "./Box";
|
|
3
|
+
import { CheckBox } from "./CheckBox";
|
|
4
|
+
import { USSTATESLIST } from "./Constants";
|
|
5
|
+
import { CustomSelect } from "./CustomSelect";
|
|
6
|
+
import { FieldWithLabels } from "./FieldWithLabels";
|
|
7
|
+
import { SelectList } from "./SelectList";
|
|
8
|
+
import { Switch } from "./Switch";
|
|
9
|
+
import { Text } from "./Text";
|
|
10
|
+
import { TextArea } from "./TextArea";
|
|
11
|
+
import { TextField } from "./TextField";
|
|
12
|
+
export const Field = ({ name, label, labelColor, height, type, rows, value, onChange, options, placeholder, disabled, errorMessage, errorMessageColor, helperText, helperTextColor, }) => {
|
|
13
|
+
const handleAddressChange = (field, newValue) => {
|
|
14
|
+
onChange(Object.assign(Object.assign({}, value), { [field]: newValue }));
|
|
15
|
+
};
|
|
16
|
+
const handleSwitchChange = (switchValue) => {
|
|
17
|
+
onChange(switchValue);
|
|
18
|
+
};
|
|
19
|
+
const renderField = () => {
|
|
20
|
+
if (type === "select") {
|
|
21
|
+
if (!options) {
|
|
22
|
+
console.error("Field with type=select require options");
|
|
23
|
+
return undefined;
|
|
24
|
+
}
|
|
25
|
+
return (React.createElement(SelectList, { disabled: disabled, id: name, options: options, placeholder: placeholder, value: value, onChange: onChange }));
|
|
26
|
+
}
|
|
27
|
+
else if (type === "multiselect") {
|
|
28
|
+
if (options === undefined) {
|
|
29
|
+
console.error("Field with type=multiselect require options");
|
|
30
|
+
return undefined;
|
|
31
|
+
}
|
|
32
|
+
return (React.createElement(Box, { width: "100%" }, options.map((o) => (React.createElement(Box, { key: o.label + o.value, alignItems: "center", direction: "row", justifyContent: "between", width: "100%" },
|
|
33
|
+
React.createElement(Box, { flex: "shrink", marginRight: 2 },
|
|
34
|
+
React.createElement(Text, { weight: "bold" }, o.label)),
|
|
35
|
+
React.createElement(Box, null,
|
|
36
|
+
React.createElement(CheckBox, { key: o.label + o.value, checked: (value !== null && value !== void 0 ? value : []).includes(o.value), disabled: disabled, name: name, size: "sm", onChange: (result) => {
|
|
37
|
+
let newValue;
|
|
38
|
+
if (result.value) {
|
|
39
|
+
if (value.includes(o.value)) {
|
|
40
|
+
console.warn(`Tried to add value that already exists: ${o.value}`);
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
newValue = [...value, o.value];
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
newValue = value.filter((v) => v !== o.value);
|
|
47
|
+
}
|
|
48
|
+
onChange(newValue);
|
|
49
|
+
} })))))));
|
|
50
|
+
}
|
|
51
|
+
else if (type === "textarea") {
|
|
52
|
+
return (React.createElement(TextArea, { disabled: disabled, height: height !== null && height !== void 0 ? height : 100, id: name, placeholder: Boolean(value) ? "" : placeholder, rows: rows, value: String(value), onChange: (result) => onChange(result.value) }));
|
|
53
|
+
}
|
|
54
|
+
else if (type === "boolean") {
|
|
55
|
+
return (React.createElement(Switch, { disabled: disabled, id: name, name: name, switched: Boolean(value), onChange: (result) => handleSwitchChange(result) }));
|
|
56
|
+
}
|
|
57
|
+
else if (type && ["date", "time", "datetime"].includes(type)) {
|
|
58
|
+
return (React.createElement(TextField, { disabled: disabled, id: name, placeholder: placeholder, type: type, value: value, onChange: (result) => onChange(result.value) }));
|
|
59
|
+
}
|
|
60
|
+
else if (type === "address") {
|
|
61
|
+
const addressValue = value ? value : {};
|
|
62
|
+
const { address1 = "", address2 = "", city = "", state = "", zipcode = "", } = addressValue;
|
|
63
|
+
return (React.createElement(React.Fragment, null,
|
|
64
|
+
React.createElement(TextField, { disabled: disabled, id: "address1", label: "Street Address", type: "text", value: address1, onChange: (result) => handleAddressChange("address1", result.value) }),
|
|
65
|
+
React.createElement(TextField, { disabled: disabled, id: "address2", label: "Apt, suite, etc", type: "text", value: address2, onChange: (result) => handleAddressChange("address2", result.value) }),
|
|
66
|
+
React.createElement(TextField, { disabled: disabled, id: "city", label: "City", type: "text", value: city, onChange: (result) => handleAddressChange("city", result.value) }),
|
|
67
|
+
React.createElement(SelectList, { disabled: disabled, id: "state", label: "State", options: USSTATESLIST, placeholder: "Select state", style: { borderRadius: 16 }, value: state, onChange: (result) => handleAddressChange("state", result) }),
|
|
68
|
+
React.createElement(TextField, { disabled: disabled, id: "zipcode", label: "Zipcode", type: "text", value: zipcode, onChange: (result) => handleAddressChange("zipcode", result.value) })));
|
|
69
|
+
}
|
|
70
|
+
else if (type === "customSelect") {
|
|
71
|
+
if (!options) {
|
|
72
|
+
console.error("Field with type=customSelect require options");
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
return (React.createElement(CustomSelect, { disabled: disabled, options: options, placeholder: placeholder, value: value, onChange: onChange }));
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
let tfType = "text";
|
|
79
|
+
let tfValue = value;
|
|
80
|
+
// Number is supported differently because we need fractional numbers and they don't work
|
|
81
|
+
// well on iOS.
|
|
82
|
+
if (type &&
|
|
83
|
+
["date", "time", "datetime", "email", "phoneNumber", "password", "url"].includes(type)) {
|
|
84
|
+
tfType = type;
|
|
85
|
+
}
|
|
86
|
+
else if (type === "percent" || type === "currency") {
|
|
87
|
+
tfType = "text";
|
|
88
|
+
}
|
|
89
|
+
let autoComplete = "on";
|
|
90
|
+
if (tfType === "password") {
|
|
91
|
+
autoComplete = "current-password";
|
|
92
|
+
}
|
|
93
|
+
else if (tfType === "email") {
|
|
94
|
+
autoComplete = "username";
|
|
95
|
+
}
|
|
96
|
+
if (type === "percent") {
|
|
97
|
+
tfValue = `${Number(value).toFixed(0)}%`;
|
|
98
|
+
}
|
|
99
|
+
else if (type === "currency") {
|
|
100
|
+
tfValue = `$${Number(value).toFixed(2)}`;
|
|
101
|
+
}
|
|
102
|
+
return (React.createElement(TextField, { autoComplete: autoComplete, disabled: disabled, id: name, placeholder: placeholder, type: tfType, value: tfValue, onChange: (result) => onChange(result.value) }));
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
const children = renderField();
|
|
106
|
+
return (React.createElement(Box, { marginBottom: 5 },
|
|
107
|
+
React.createElement(FieldWithLabels, { errorMessage,
|
|
108
|
+
errorMessageColor,
|
|
109
|
+
helperText,
|
|
110
|
+
helperTextColor,
|
|
111
|
+
label,
|
|
112
|
+
labelColor }, children)));
|
|
113
|
+
};
|
|
114
|
+
//# sourceMappingURL=Field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Field.js","sourceRoot":"","sources":["../src/Field.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { WithLabel } from "./WithLabel";
|
|
3
|
+
export const FieldWithLabels = ({ children, errorMessage, errorMessageColor = "red", helperText, helperTextColor = "darkGray", label, labelColor = "darkGray", }) => {
|
|
4
|
+
return (React.createElement(WithLabel, { label: helperText, labelColor: helperTextColor, labelPlacement: "after", labelSize: "sm", show: Boolean(helperText) },
|
|
5
|
+
React.createElement(WithLabel, { label: errorMessage, labelColor: errorMessageColor, labelPlacement: "after", labelSize: "md", show: Boolean(errorMessage) },
|
|
6
|
+
React.createElement(WithLabel, { label: label, labelColor: labelColor, show: Boolean(label) }, children))));
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=FieldWithLabels.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FieldWithLabels.js","sourceRoot":"","sources":["../src/FieldWithLabels.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAEtC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAC9B,QAAQ,EACR,YAAY,EACZ,iBAAiB,GAAG,KAAK,EACzB,UAAU,EACV,eAAe,GAAG,UAAU,EAC5B,KAAK,EACL,UAAU,GAAG,UAAU,GACF,EAAE,EAAE;IACzB,OAAO,CACL,oBAAC,SAAS,IACR,KAAK,EAAE,UAAU,EACjB,UAAU,EAAE,eAAe,EAC3B,cAAc,EAAC,OAAO,EACtB,SAAS,EAAC,IAAI,EACd,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC;QAEzB,oBAAC,SAAS,IACR,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,iBAAiB,EAC7B,cAAc,EAAC,OAAO,EACtB,SAAS,EAAC,IAAI,EACd,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC;YAE3B,oBAAC,SAAS,IAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAClE,QAAQ,CACC,CACF,CACF,CACb,CAAC;AACJ,CAAC,CAAC"}
|
package/dist/FlatList.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FlatList.js","sourceRoot":"","sources":["../src/FlatList.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,cAAc,CAAC;AACtC,OAAO,EAAC,QAAQ,EAAC,CAAC"}
|
package/dist/Form.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
interface FormLineProps {
|
|
3
|
+
name: string;
|
|
4
|
+
value: any;
|
|
5
|
+
onSave: (value: any) => void;
|
|
6
|
+
kind: "boolean" | "string" | "textarea" | "select" | "multiboolean";
|
|
7
|
+
options?: string[];
|
|
8
|
+
}
|
|
9
|
+
interface FormLineState {
|
|
10
|
+
editing: boolean;
|
|
11
|
+
value: any;
|
|
12
|
+
}
|
|
13
|
+
export declare class FormLine extends React.Component<FormLineProps, FormLineState> {
|
|
14
|
+
constructor(props: FormLineProps);
|
|
15
|
+
renderMultiBoolean(): React.JSX.Element;
|
|
16
|
+
renderBooleanField(): React.JSX.Element;
|
|
17
|
+
renderTextField(): React.JSX.Element;
|
|
18
|
+
renderTextArea(): React.JSX.Element;
|
|
19
|
+
renderSelect(): React.JSX.Element;
|
|
20
|
+
render(): React.JSX.Element;
|
|
21
|
+
}
|
|
22
|
+
export {};
|
package/dist/Form.js
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Box } from "./Box";
|
|
3
|
+
import { Button } from "./Button";
|
|
4
|
+
import { IconButton } from "./IconButton";
|
|
5
|
+
import { SelectList } from "./SelectList";
|
|
6
|
+
import { Switch } from "./Switch";
|
|
7
|
+
import { Text } from "./Text";
|
|
8
|
+
import { TextArea } from "./TextArea";
|
|
9
|
+
import { TextField } from "./TextField";
|
|
10
|
+
function objToJoinedString(obj) {
|
|
11
|
+
return Object.keys(obj || {})
|
|
12
|
+
.map((k) => (obj[k] ? k : undefined))
|
|
13
|
+
.filter((v) => v)
|
|
14
|
+
.join(", ");
|
|
15
|
+
}
|
|
16
|
+
export class FormLine extends React.Component {
|
|
17
|
+
constructor(props) {
|
|
18
|
+
super(props);
|
|
19
|
+
this.state = { editing: false, value: "" };
|
|
20
|
+
}
|
|
21
|
+
renderMultiBoolean() {
|
|
22
|
+
return (React.createElement(React.Fragment, null,
|
|
23
|
+
React.createElement(Box, { marginRight: 2 },
|
|
24
|
+
React.createElement(Text, { weight: "bold" }, this.props.name)),
|
|
25
|
+
React.createElement(Box, { direction: "column", display: "flex" }, Object.keys(this.props.value).map((k) => (React.createElement(React.Fragment, null,
|
|
26
|
+
React.createElement(Text, { weight: "bold" }, k),
|
|
27
|
+
React.createElement(Switch, { id: k, switched: this.state.value[k], onChange: () => {
|
|
28
|
+
this.setState({ value: Object.assign(Object.assign({}, this.state.value), { [k]: !this.state.value[k] }) });
|
|
29
|
+
} })))))));
|
|
30
|
+
}
|
|
31
|
+
renderBooleanField() {
|
|
32
|
+
return (React.createElement(React.Fragment, null,
|
|
33
|
+
React.createElement(Box, { marginRight: 2 },
|
|
34
|
+
React.createElement(Text, { weight: "bold" }, this.props.name)),
|
|
35
|
+
React.createElement(Switch, { id: this.props.name, switched: this.state.value, onChange: () => this.setState({ value: !this.state.value }) })));
|
|
36
|
+
}
|
|
37
|
+
renderTextField() {
|
|
38
|
+
return (React.createElement(React.Fragment, null,
|
|
39
|
+
React.createElement(Box, { marginRight: 2 },
|
|
40
|
+
React.createElement(Text, { weight: "bold" }, this.props.name)),
|
|
41
|
+
React.createElement(TextField, { id: this.props.name, value: this.state.value, onChange: (result) => this.setState({ value: result.value }) })));
|
|
42
|
+
}
|
|
43
|
+
renderTextArea() {
|
|
44
|
+
return (React.createElement(React.Fragment, null,
|
|
45
|
+
React.createElement(Box, { marginRight: 2 },
|
|
46
|
+
React.createElement(Text, { weight: "bold" }, this.props.name)),
|
|
47
|
+
React.createElement(TextArea, { id: this.props.name, value: this.state.value, onChange: (result) => this.setState({ value: result.value }) }),
|
|
48
|
+
React.createElement(Button, { size: "sm", text: "Save", onClick: () => this.props.onSave(this.state.value) })));
|
|
49
|
+
}
|
|
50
|
+
renderSelect() {
|
|
51
|
+
return (React.createElement(React.Fragment, null,
|
|
52
|
+
React.createElement(Box, { marginRight: 2 },
|
|
53
|
+
React.createElement(Text, { weight: "bold" }, this.props.name)),
|
|
54
|
+
React.createElement(SelectList, { id: this.props.name, options: (this.props.options || []).map((o) => ({ label: o !== null && o !== void 0 ? o : "---", value: o })), value: this.state.value, onChange: (result) => {
|
|
55
|
+
this.setState({ value: result });
|
|
56
|
+
} })));
|
|
57
|
+
}
|
|
58
|
+
render() {
|
|
59
|
+
if (!this.state.editing) {
|
|
60
|
+
let text = this.props.value;
|
|
61
|
+
if (text === undefined) {
|
|
62
|
+
text = " - ";
|
|
63
|
+
}
|
|
64
|
+
if (typeof text === "object") {
|
|
65
|
+
text = objToJoinedString(text);
|
|
66
|
+
}
|
|
67
|
+
return (React.createElement(Box, { direction: "row", display: "flex" },
|
|
68
|
+
React.createElement(IconButton, { accessibilityLabel: "edit", icon: "edit", iconColor: "darkGray", prefix: "far", size: "xs", onClick: () => this.setState({ editing: true, value: this.props.value }) }),
|
|
69
|
+
React.createElement(Box, { marginRight: 2 },
|
|
70
|
+
React.createElement(Text, { weight: "bold" },
|
|
71
|
+
this.props.name,
|
|
72
|
+
": ")),
|
|
73
|
+
React.createElement(Text, null, text)));
|
|
74
|
+
}
|
|
75
|
+
return (React.createElement(Box, { direction: "row", display: "flex" },
|
|
76
|
+
React.createElement(IconButton, { accessibilityLabel: "edit", icon: "times", iconColor: "darkGray", prefix: "far", size: "xs", onClick: () => this.setState({ editing: false }) }),
|
|
77
|
+
this.props.kind === "boolean" && this.renderBooleanField(),
|
|
78
|
+
this.props.kind === "multiboolean" && this.renderMultiBoolean(),
|
|
79
|
+
this.props.kind === "string" && this.renderTextField(),
|
|
80
|
+
this.props.kind === "textarea" && this.renderTextArea(),
|
|
81
|
+
this.props.kind === "select" && this.renderSelect(),
|
|
82
|
+
React.createElement(Box, { width: 60 },
|
|
83
|
+
React.createElement(Button, { color: "blue", size: "sm", text: "Save", onClick: () => {
|
|
84
|
+
this.props.onSave(this.state.value);
|
|
85
|
+
this.setState({ editing: false });
|
|
86
|
+
} }))));
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=Form.js.map
|
package/dist/Form.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Form.js","sourceRoot":"","sources":["../src/Form.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { BackButtonInterface, SearchButtonProps } from "./Common";
|
|
3
|
+
interface HeaderButtonProps {
|
|
4
|
+
onClick: () => void;
|
|
5
|
+
text: string;
|
|
6
|
+
}
|
|
7
|
+
interface HeaderButtonState {
|
|
8
|
+
}
|
|
9
|
+
export declare class HeaderButton extends React.Component<HeaderButtonProps, HeaderButtonState> {
|
|
10
|
+
constructor(props: HeaderButtonProps);
|
|
11
|
+
render(): React.JSX.Element;
|
|
12
|
+
}
|
|
13
|
+
export declare class SearchButton extends React.Component<SearchButtonProps, {}> {
|
|
14
|
+
render(): React.JSX.Element;
|
|
15
|
+
}
|
|
16
|
+
export declare class BackButton extends React.Component<BackButtonInterface, {}> {
|
|
17
|
+
render(): React.JSX.Element;
|
|
18
|
+
}
|
|
19
|
+
export declare class FilterButton extends React.Component<SearchButtonProps, {}> {
|
|
20
|
+
render(): React.JSX.Element;
|
|
21
|
+
}
|
|
22
|
+
export declare class EditButton extends React.Component<SearchButtonProps, {}> {
|
|
23
|
+
render(): React.JSX.Element;
|
|
24
|
+
}
|
|
25
|
+
export declare class UseButton extends React.Component<SearchButtonProps, {}> {
|
|
26
|
+
render(): React.JSX.Element;
|
|
27
|
+
}
|
|
28
|
+
export declare class AddTabButton extends React.Component<SearchButtonProps, {}> {
|
|
29
|
+
render(): React.JSX.Element;
|
|
30
|
+
}
|
|
31
|
+
export {};
|