@terreno/ui 0.0.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/LICENSE +203 -0
- package/README.md +160 -0
- package/dist/Accordion.d.ts +3 -0
- package/dist/Accordion.js +30 -0
- package/dist/Accordion.js.map +1 -0
- package/dist/ActionSheet.d.ts +169 -0
- package/dist/ActionSheet.js +637 -0
- package/dist/ActionSheet.js.map +1 -0
- package/dist/AddressField.d.ts +3 -0
- package/dist/AddressField.js +18 -0
- package/dist/AddressField.js.map +1 -0
- package/dist/Avatar.d.ts +3 -0
- package/dist/Avatar.js +189 -0
- package/dist/Avatar.js.map +1 -0
- package/dist/Badge.d.ts +3 -0
- package/dist/Badge.js +100 -0
- package/dist/Badge.js.map +1 -0
- package/dist/Banner.d.ts +4 -0
- package/dist/Banner.js +103 -0
- package/dist/Banner.js.map +1 -0
- package/dist/Body.d.ts +3 -0
- package/dist/Body.js +17 -0
- package/dist/Body.js.map +1 -0
- package/dist/BooleanField.d.ts +3 -0
- package/dist/BooleanField.js +89 -0
- package/dist/BooleanField.js.map +1 -0
- package/dist/Box.d.ts +3 -0
- package/dist/Box.js +289 -0
- package/dist/Box.js.map +1 -0
- package/dist/Button.d.ts +3 -0
- package/dist/Button.js +105 -0
- package/dist/Button.js.map +1 -0
- package/dist/Card.d.ts +2 -0
- package/dist/Card.js +18 -0
- package/dist/Card.js.map +1 -0
- package/dist/CheckBox.d.ts +3 -0
- package/dist/CheckBox.js +28 -0
- package/dist/CheckBox.js.map +1 -0
- package/dist/Common.d.ts +2325 -0
- package/dist/Common.js +47 -0
- package/dist/Common.js.map +1 -0
- package/dist/CommonIconTypes.d.ts +3 -0
- package/dist/CommonIconTypes.js +2 -0
- package/dist/CommonIconTypes.js.map +1 -0
- package/dist/Constants.d.ts +12685 -0
- package/dist/Constants.js +3310 -0
- package/dist/Constants.js.map +1 -0
- package/dist/CustomSelectField.d.ts +3 -0
- package/dist/CustomSelectField.js +59 -0
- package/dist/CustomSelectField.js.map +1 -0
- package/dist/DataTable.d.ts +3 -0
- package/dist/DataTable.js +190 -0
- package/dist/DataTable.js.map +1 -0
- package/dist/DateTimeActionSheet.d.ts +2 -0
- package/dist/DateTimeActionSheet.js +270 -0
- package/dist/DateTimeActionSheet.js.map +1 -0
- package/dist/DateTimeField.d.ts +3 -0
- package/dist/DateTimeField.js +514 -0
- package/dist/DateTimeField.js.map +1 -0
- package/dist/DateUtilities.d.ts +57 -0
- package/dist/DateUtilities.js +308 -0
- package/dist/DateUtilities.js.map +1 -0
- package/dist/DecimalRangeActionSheet.d.ts +6 -0
- package/dist/DecimalRangeActionSheet.js +45 -0
- package/dist/DecimalRangeActionSheet.js.map +1 -0
- package/dist/DismissButton.d.ts +3 -0
- package/dist/DismissButton.js +12 -0
- package/dist/DismissButton.js.map +1 -0
- package/dist/EmailField.d.ts +3 -0
- package/dist/EmailField.js +48 -0
- package/dist/EmailField.js.map +1 -0
- package/dist/EmojiSelector.d.ts +113 -0
- package/dist/EmojiSelector.js +322 -0
- package/dist/EmojiSelector.js.map +1 -0
- package/dist/ErrorBoundary.d.ts +19 -0
- package/dist/ErrorBoundary.js +30 -0
- package/dist/ErrorBoundary.js.map +1 -0
- package/dist/ErrorPage.d.ts +6 -0
- package/dist/ErrorPage.js +15 -0
- package/dist/ErrorPage.js.map +1 -0
- package/dist/Field.d.ts +3 -0
- package/dist/Field.js +80 -0
- package/dist/Field.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/Heading.d.ts +3 -0
- package/dist/Heading.js +43 -0
- package/dist/Heading.js.map +1 -0
- package/dist/HeightActionSheet.d.ts +11 -0
- package/dist/HeightActionSheet.js +46 -0
- package/dist/HeightActionSheet.js.map +1 -0
- package/dist/Hyperlink.d.ts +30 -0
- package/dist/Hyperlink.js +144 -0
- package/dist/Hyperlink.js.map +1 -0
- package/dist/Icon.d.ts +3 -0
- package/dist/Icon.js +15 -0
- package/dist/Icon.js.map +1 -0
- package/dist/IconButton.d.ts +3 -0
- package/dist/IconButton.js +111 -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 +9 -0
- package/dist/ImageBackground.js.map +1 -0
- package/dist/InfoModalIcon.d.ts +3 -0
- package/dist/InfoModalIcon.js +10 -0
- package/dist/InfoModalIcon.js.map +1 -0
- package/dist/InfoTooltipButton.d.ts +3 -0
- package/dist/InfoTooltipButton.js +6 -0
- package/dist/InfoTooltipButton.js.map +1 -0
- package/dist/Link.d.ts +3 -0
- package/dist/Link.js +10 -0
- package/dist/Link.js.map +1 -0
- package/dist/MarkdownView.d.ts +5 -0
- package/dist/MarkdownView.js +44 -0
- package/dist/MarkdownView.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/MobileAddressAutoComplete.d.ts +2 -0
- package/dist/MobileAddressAutoComplete.js +54 -0
- package/dist/MobileAddressAutoComplete.js.map +1 -0
- package/dist/Modal.d.ts +3 -0
- package/dist/Modal.js +127 -0
- package/dist/Modal.js.map +1 -0
- package/dist/ModalSheet.d.ts +6 -0
- package/dist/ModalSheet.js +42 -0
- package/dist/ModalSheet.js.map +1 -0
- package/dist/MultiselectField.d.ts +3 -0
- package/dist/MultiselectField.js +45 -0
- package/dist/MultiselectField.js.map +1 -0
- package/dist/NumberField.d.ts +3 -0
- package/dist/NumberField.js +60 -0
- package/dist/NumberField.js.map +1 -0
- package/dist/NumberPickerActionSheet.d.ts +7 -0
- package/dist/NumberPickerActionSheet.js +22 -0
- package/dist/NumberPickerActionSheet.js.map +1 -0
- package/dist/OpenAPIContext.d.ts +4 -0
- package/dist/OpenAPIContext.js +53 -0
- package/dist/OpenAPIContext.js.map +1 -0
- package/dist/Page.d.ts +7 -0
- package/dist/Page.js +24 -0
- package/dist/Page.js.map +1 -0
- package/dist/Pagination.d.ts +3 -0
- package/dist/Pagination.js +106 -0
- package/dist/Pagination.js.map +1 -0
- package/dist/PasswordField.d.ts +2 -0
- package/dist/PasswordField.js +6 -0
- package/dist/PasswordField.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/PhoneNumberField.d.ts +3 -0
- package/dist/PhoneNumberField.js +83 -0
- package/dist/PhoneNumberField.js.map +1 -0
- package/dist/PickerSelect.d.ts +46 -0
- package/dist/PickerSelect.js +306 -0
- package/dist/PickerSelect.js.map +1 -0
- package/dist/Radio.d.ts +3 -0
- package/dist/Radio.js +21 -0
- package/dist/Radio.js.map +1 -0
- package/dist/RadioField.d.ts +3 -0
- package/dist/RadioField.js +16 -0
- package/dist/RadioField.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/SectionDivider.d.ts +2 -0
- package/dist/SectionDivider.js +12 -0
- package/dist/SectionDivider.js.map +1 -0
- package/dist/SegmentedControl.d.ts +3 -0
- package/dist/SegmentedControl.js +65 -0
- package/dist/SegmentedControl.js.map +1 -0
- package/dist/SelectBadge.d.ts +3 -0
- package/dist/SelectBadge.js +166 -0
- package/dist/SelectBadge.js.map +1 -0
- package/dist/SelectField.d.ts +3 -0
- package/dist/SelectField.js +16 -0
- package/dist/SelectField.js.map +1 -0
- package/dist/SideDrawer.d.ts +3 -0
- package/dist/SideDrawer.js +32 -0
- package/dist/SideDrawer.js.map +1 -0
- package/dist/Signature.d.ts +8 -0
- package/dist/Signature.js +21 -0
- package/dist/Signature.js.map +1 -0
- package/dist/Signature.native.d.ts +8 -0
- package/dist/Signature.native.js +26 -0
- package/dist/Signature.native.js.map +1 -0
- package/dist/SignatureField.d.ts +3 -0
- package/dist/SignatureField.js +42 -0
- package/dist/SignatureField.js.map +1 -0
- package/dist/Slider.d.ts +3 -0
- package/dist/Slider.js +78 -0
- package/dist/Slider.js.map +1 -0
- package/dist/Spinner.d.ts +3 -0
- package/dist/Spinner.js +33 -0
- package/dist/Spinner.js.map +1 -0
- package/dist/SplitPage.d.ts +2 -0
- package/dist/SplitPage.js +139 -0
- package/dist/SplitPage.js.map +1 -0
- package/dist/SplitPage.native.d.ts +2 -0
- package/dist/SplitPage.native.js +75 -0
- package/dist/SplitPage.native.js.map +1 -0
- package/dist/TapToEdit.d.ts +4 -0
- package/dist/TapToEdit.js +170 -0
- package/dist/TapToEdit.js.map +1 -0
- package/dist/TerrenoProvider.d.ts +6 -0
- package/dist/TerrenoProvider.js +10 -0
- package/dist/TerrenoProvider.js.map +1 -0
- package/dist/Text.d.ts +3 -0
- package/dist/Text.js +95 -0
- package/dist/Text.js.map +1 -0
- package/dist/TextArea.d.ts +3 -0
- package/dist/TextArea.js +6 -0
- package/dist/TextArea.js.map +1 -0
- package/dist/TextField.d.ts +3 -0
- package/dist/TextField.js +144 -0
- package/dist/TextField.js.map +1 -0
- package/dist/TextFieldNumberActionSheet.d.ts +7 -0
- package/dist/TextFieldNumberActionSheet.js +20 -0
- package/dist/TextFieldNumberActionSheet.js.map +1 -0
- package/dist/Theme.d.ts +96 -0
- package/dist/Theme.js +213 -0
- package/dist/Theme.js.map +1 -0
- package/dist/TimezonePicker.d.ts +11 -0
- package/dist/TimezonePicker.js +27 -0
- package/dist/TimezonePicker.js.map +1 -0
- package/dist/Toast.d.ts +23 -0
- package/dist/Toast.js +157 -0
- package/dist/Toast.js.map +1 -0
- package/dist/Tooltip.d.ts +3 -0
- package/dist/Tooltip.js +289 -0
- package/dist/Tooltip.js.map +1 -0
- package/dist/UnifiedAddressAutoComplete.d.ts +2 -0
- package/dist/UnifiedAddressAutoComplete.js +23 -0
- package/dist/UnifiedAddressAutoComplete.js.map +1 -0
- package/dist/Unifier.d.ts +43 -0
- package/dist/Unifier.js +154 -0
- package/dist/Unifier.js.map +1 -0
- package/dist/Utilities.d.ts +56 -0
- package/dist/Utilities.js +193 -0
- package/dist/Utilities.js.map +1 -0
- package/dist/WebAddressAutocomplete.d.ts +3 -0
- package/dist/WebAddressAutocomplete.js +61 -0
- package/dist/WebAddressAutocomplete.js.map +1 -0
- package/dist/fieldElements/FieldError.d.ts +6 -0
- package/dist/fieldElements/FieldError.js +9 -0
- package/dist/fieldElements/FieldError.js.map +1 -0
- package/dist/fieldElements/FieldHelperText.d.ts +6 -0
- package/dist/fieldElements/FieldHelperText.js +8 -0
- package/dist/fieldElements/FieldHelperText.js.map +1 -0
- package/dist/fieldElements/FieldTitle.d.ts +6 -0
- package/dist/fieldElements/FieldTitle.js +16 -0
- package/dist/fieldElements/FieldTitle.js.map +1 -0
- package/dist/fieldElements/index.d.ts +3 -0
- package/dist/fieldElements/index.js +4 -0
- package/dist/fieldElements/index.js.map +1 -0
- package/dist/icons/MobileIcon.d.ts +2 -0
- package/dist/icons/MobileIcon.js +18 -0
- package/dist/icons/MobileIcon.js.map +1 -0
- package/dist/icons/OfflineIcon.d.ts +2 -0
- package/dist/icons/OfflineIcon.js +18 -0
- package/dist/icons/OfflineIcon.js.map +1 -0
- package/dist/icons/OnlineIcon.d.ts +2 -0
- package/dist/icons/OnlineIcon.js +19 -0
- package/dist/icons/OnlineIcon.js.map +1 -0
- package/dist/icons/OutOfficeIcon.d.ts +2 -0
- package/dist/icons/OutOfficeIcon.js +18 -0
- package/dist/icons/OutOfficeIcon.js.map +1 -0
- package/dist/icons/index.d.ts +4 -0
- package/dist/icons/index.js +5 -0
- package/dist/icons/index.js.map +1 -0
- package/dist/index.d.ts +1328 -0
- package/dist/index.js +89 -0
- package/dist/index.js.map +1 -0
- package/dist/table/Table.d.ts +3 -0
- package/dist/table/Table.js +53 -0
- package/dist/table/Table.js.map +1 -0
- package/dist/table/TableBadge.d.ts +6 -0
- package/dist/table/TableBadge.js +23 -0
- package/dist/table/TableBadge.js.map +1 -0
- package/dist/table/TableBoolean.d.ts +6 -0
- package/dist/table/TableBoolean.js +37 -0
- package/dist/table/TableBoolean.js.map +1 -0
- package/dist/table/TableDate.d.ts +3 -0
- package/dist/table/TableDate.js +27 -0
- package/dist/table/TableDate.js.map +1 -0
- package/dist/table/TableHeader.d.ts +6 -0
- package/dist/table/TableHeader.js +10 -0
- package/dist/table/TableHeader.js.map +1 -0
- package/dist/table/TableHeaderCell.d.ts +6 -0
- package/dist/table/TableHeaderCell.js +54 -0
- package/dist/table/TableHeaderCell.js.map +1 -0
- package/dist/table/TableIconButton.d.ts +3 -0
- package/dist/table/TableIconButton.js +39 -0
- package/dist/table/TableIconButton.js.map +1 -0
- package/dist/table/TableNumber.d.ts +3 -0
- package/dist/table/TableNumber.js +18 -0
- package/dist/table/TableNumber.js.map +1 -0
- package/dist/table/TableRow.d.ts +6 -0
- package/dist/table/TableRow.js +22 -0
- package/dist/table/TableRow.js.map +1 -0
- package/dist/table/TableText.d.ts +3 -0
- package/dist/table/TableText.js +18 -0
- package/dist/table/TableText.js.map +1 -0
- package/dist/table/TableTitle.d.ts +3 -0
- package/dist/table/TableTitle.js +21 -0
- package/dist/table/TableTitle.js.map +1 -0
- package/dist/table/tableContext.d.ts +5 -0
- package/dist/table/tableContext.js +38 -0
- package/dist/table/tableContext.js.map +1 -0
- package/dist/useStoredState.d.ts +1 -0
- package/dist/useStoredState.js +49 -0
- package/dist/useStoredState.js.map +1 -0
- package/package.json +123 -0
- package/src/Accordion.test.tsx +104 -0
- package/src/Accordion.tsx +81 -0
- package/src/ActionSheet.tsx +881 -0
- package/src/AddressField.test.tsx +120 -0
- package/src/AddressField.tsx +122 -0
- package/src/Avatar.test.tsx +163 -0
- package/src/Avatar.tsx +298 -0
- package/src/Badge.test.tsx +116 -0
- package/src/Badge.tsx +136 -0
- package/src/Banner.tsx +200 -0
- package/src/Body.tsx +34 -0
- package/src/BooleanField.tsx +141 -0
- package/src/Box.test.tsx +662 -0
- package/src/Box.tsx +368 -0
- package/src/Button.tsx +196 -0
- package/src/Card.tsx +19 -0
- package/src/CheckBox.tsx +45 -0
- package/src/Common.ts +2787 -0
- package/src/CommonIconTypes.ts +2030 -0
- package/src/Constants.ts +3311 -0
- package/src/CustomSelectField.tsx +115 -0
- package/src/DataTable.tsx +674 -0
- package/src/DateTimeActionSheet.tsx +559 -0
- package/src/DateTimeField.test.tsx +393 -0
- package/src/DateTimeField.tsx +777 -0
- package/src/DateUtilities.test.ts +440 -0
- package/src/DateUtilities.tsx +370 -0
- package/src/DecimalRangeActionSheet.tsx +85 -0
- package/src/DismissButton.tsx +31 -0
- package/src/EmailField.tsx +66 -0
- package/src/EmojiSelector.test.tsx +61 -0
- package/src/EmojiSelector.tsx +510 -0
- package/src/ErrorBoundary.tsx +37 -0
- package/src/ErrorPage.tsx +41 -0
- package/src/Field.tsx +101 -0
- package/src/FlatList.tsx +2 -0
- package/src/Heading.tsx +66 -0
- package/src/HeightActionSheet.tsx +91 -0
- package/src/Hyperlink.tsx +179 -0
- package/src/Icon.tsx +36 -0
- package/src/IconButton.tsx +217 -0
- package/src/Image.tsx +51 -0
- package/src/ImageBackground.tsx +14 -0
- package/src/InfoModalIcon.tsx +42 -0
- package/src/InfoTooltipButton.tsx +16 -0
- package/src/Link.tsx +22 -0
- package/src/MarkdownView.tsx +67 -0
- package/src/MediaQuery.ts +46 -0
- package/src/MobileAddressAutoComplete.tsx +126 -0
- package/src/Modal.tsx +300 -0
- package/src/ModalSheet.tsx +58 -0
- package/src/MultiselectField.tsx +112 -0
- package/src/NumberField.tsx +67 -0
- package/src/NumberPickerActionSheet.tsx +51 -0
- package/src/OpenAPIContext.tsx +74 -0
- package/src/Page.tsx +105 -0
- package/src/Pagination.tsx +169 -0
- package/src/PasswordField.tsx +7 -0
- package/src/Permissions.ts +43 -0
- package/src/PhoneNumberField.tsx +109 -0
- package/src/PickerSelect.tsx +571 -0
- package/src/Radio.tsx +33 -0
- package/src/RadioField.tsx +43 -0
- package/src/ScrollView.tsx +2 -0
- package/src/SectionDivider.tsx +18 -0
- package/src/SegmentedControl.tsx +126 -0
- package/src/SelectBadge.tsx +280 -0
- package/src/SelectField.tsx +41 -0
- package/src/SideDrawer.tsx +56 -0
- package/src/Signature.native.tsx +57 -0
- package/src/Signature.tsx +44 -0
- package/src/SignatureField.tsx +92 -0
- package/src/Slider.tsx +199 -0
- package/src/Spinner.tsx +35 -0
- package/src/SplitPage.native.tsx +163 -0
- package/src/SplitPage.tsx +304 -0
- package/src/TapToEdit.tsx +292 -0
- package/src/TerrenoProvider.tsx +31 -0
- package/src/Text.tsx +123 -0
- package/src/TextArea.test.tsx +255 -0
- package/src/TextArea.tsx +8 -0
- package/src/TextField.test.tsx +487 -0
- package/src/TextField.tsx +260 -0
- package/src/TextFieldNumberActionSheet.tsx +46 -0
- package/src/Theme.tsx +248 -0
- package/src/TimezonePicker.tsx +45 -0
- package/src/Toast.tsx +234 -0
- package/src/Tooltip.tsx +407 -0
- package/src/UnifiedAddressAutoComplete.tsx +66 -0
- package/src/Unifier.ts +172 -0
- package/src/Utilities.tsx +329 -0
- package/src/WebAddressAutocomplete.tsx +84 -0
- package/src/__snapshots__/Accordion.test.tsx.snap +126 -0
- package/src/__snapshots__/AddressField.test.tsx.snap +1197 -0
- package/src/__snapshots__/Avatar.test.tsx.snap +57 -0
- package/src/__snapshots__/Badge.test.tsx.snap +55 -0
- package/src/__snapshots__/Box.test.tsx.snap +162 -0
- package/src/__snapshots__/EmojiSelector.test.tsx.snap +422 -0
- package/src/__snapshots__/TextArea.test.tsx.snap +521 -0
- package/src/__snapshots__/TextField.test.tsx.snap +569 -0
- package/src/bunSetup.ts +1235 -0
- package/src/fieldElements/FieldError.tsx +24 -0
- package/src/fieldElements/FieldHelperText.tsx +20 -0
- package/src/fieldElements/FieldTitle.tsx +31 -0
- package/src/fieldElements/index.tsx +3 -0
- package/src/icons/MobileIcon.tsx +40 -0
- package/src/icons/OfflineIcon.tsx +37 -0
- package/src/icons/OnlineIcon.tsx +39 -0
- package/src/icons/OutOfficeIcon.tsx +36 -0
- package/src/icons/index.ts +4 -0
- package/src/index.tsx +1375 -0
- package/src/polyfill.d.ts +11 -0
- package/src/table/Table.tsx +109 -0
- package/src/table/TableBadge.tsx +46 -0
- package/src/table/TableBoolean.tsx +70 -0
- package/src/table/TableDate.tsx +38 -0
- package/src/table/TableHeader.tsx +20 -0
- package/src/table/TableHeaderCell.tsx +94 -0
- package/src/table/TableIconButton.tsx +61 -0
- package/src/table/TableNumber.tsx +29 -0
- package/src/table/TableRow.tsx +67 -0
- package/src/table/TableText.tsx +29 -0
- package/src/table/TableTitle.tsx +31 -0
- package/src/table/tableContext.tsx +67 -0
- package/src/test-utils.tsx +27 -0
- package/src/types/react-native-swiper-flatlist.d.ts +56 -0
- package/src/useStoredState.test.tsx +143 -0
- package/src/useStoredState.ts +56 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useRef, useState } from "react";
|
|
3
|
+
import { TouchableOpacity, View } from "react-native";
|
|
4
|
+
import { GooglePlacesAutocomplete, } from "react-native-google-places-autocomplete";
|
|
5
|
+
import { GOOGLE_PLACES_API_RESTRICTIONS } from "./Constants";
|
|
6
|
+
import { TextField } from "./TextField";
|
|
7
|
+
import { useTheme } from "./Theme";
|
|
8
|
+
import { processAddressComponents } from "./Utilities";
|
|
9
|
+
export const MobileAddressAutocomplete = ({ disabled, googleMapsApiKey, includeCounty, inputValue,
|
|
10
|
+
// More on react-native-google-places-autocomplete styles here: https://github.com/FaridSafi/react-native-google-places-autocomplete#styling
|
|
11
|
+
styles, handleAddressChange, handleAutoCompleteChange, testID, }) => {
|
|
12
|
+
var _a, _b;
|
|
13
|
+
const { theme } = useTheme();
|
|
14
|
+
const ref = useRef(null);
|
|
15
|
+
const [isFocused, setIsFocused] = useState(false);
|
|
16
|
+
// Load the Google Maps script and initialize the autocomplete.
|
|
17
|
+
useEffect(() => {
|
|
18
|
+
if (!googleMapsApiKey)
|
|
19
|
+
return;
|
|
20
|
+
if (ref === null || ref === void 0 ? void 0 : ref.current) {
|
|
21
|
+
ref.current.setAddressText(inputValue);
|
|
22
|
+
}
|
|
23
|
+
}, [googleMapsApiKey, inputValue]);
|
|
24
|
+
const textInputContainerStyles = Object.assign({ backgroundColor: theme.surface.base, borderColor: isFocused ? theme.border.hover : theme.border.default, borderRadius: theme.radius.default, borderWidth: isFocused ? 5 : 1, paddingHorizontal: isFocused ? 10 : 14, paddingVertical: isFocused ? 0 : 4 }, styles === null || styles === void 0 ? void 0 : styles.textInputContainer);
|
|
25
|
+
const textInputStyles = Object.assign({ backgroundColor: theme.surface.base, borderRadius: theme.radius.default, color: theme.text.primary, fontFamily: "text", fontSize: (_b = (_a = styles === null || styles === void 0 ? void 0 : styles.textInput) === null || _a === void 0 ? void 0 : _a.fontSize) !== null && _b !== void 0 ? _b : 14, height: 40, marginBottom: 0, paddingHorizontal: 0, paddingVertical: 4 }, styles === null || styles === void 0 ? void 0 : styles.textInput);
|
|
26
|
+
if (!googleMapsApiKey) {
|
|
27
|
+
return (_jsx(TextField, { disabled: disabled, id: "address1", onChange: (result) => handleAddressChange(result), testID: testID, type: "text", value: inputValue }));
|
|
28
|
+
}
|
|
29
|
+
return (_jsx(TouchableOpacity, { activeOpacity: 1, "aria-role": "button", onPress: () => setIsFocused(false), style: { flex: 1 }, children: _jsx(View, { children: _jsx(GooglePlacesAutocomplete, { disableScroll: true, fetchDetails: true, GooglePlacesDetailsQuery: {
|
|
30
|
+
fields: Object.values(GOOGLE_PLACES_API_RESTRICTIONS.fields).join(","),
|
|
31
|
+
}, onPress: (_data, details = null) => {
|
|
32
|
+
const addressComponents = details === null || details === void 0 ? void 0 : details.address_components;
|
|
33
|
+
const formattedAddressObject = processAddressComponents(addressComponents, {
|
|
34
|
+
includeCounty,
|
|
35
|
+
});
|
|
36
|
+
const { address1 } = formattedAddressObject;
|
|
37
|
+
handleAutoCompleteChange(formattedAddressObject);
|
|
38
|
+
if (ref.current) {
|
|
39
|
+
ref.current.setAddressText(address1);
|
|
40
|
+
}
|
|
41
|
+
setIsFocused(false);
|
|
42
|
+
}, placeholder: "Street Address", query: {
|
|
43
|
+
components: `country:${GOOGLE_PLACES_API_RESTRICTIONS.components.country}`,
|
|
44
|
+
key: googleMapsApiKey,
|
|
45
|
+
language: "en",
|
|
46
|
+
}, ref: ref, styles: Object.assign({ textInput: Object.assign({}, textInputStyles), textInputContainer: Object.assign({}, textInputContainerStyles) }, styles), textInputProps: {
|
|
47
|
+
onBlur: () => setIsFocused(false),
|
|
48
|
+
onChange: (event) => {
|
|
49
|
+
handleAddressChange(event.nativeEvent.text);
|
|
50
|
+
},
|
|
51
|
+
onFocus: () => setIsFocused(true),
|
|
52
|
+
} }) }) }));
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=MobileAddressAutoComplete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MobileAddressAutoComplete.js","sourceRoot":"","sources":["../src/MobileAddressAutoComplete.tsx"],"names":[],"mappings":"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"}
|
package/dist/Modal.d.ts
ADDED
package/dist/Modal.js
ADDED
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useRef } from "react";
|
|
3
|
+
import { Dimensions, Pressable, Modal as RNModal, View } from "react-native";
|
|
4
|
+
import ActionSheet from "react-native-actions-sheet";
|
|
5
|
+
import { Gesture, GestureDetector } from "react-native-gesture-handler";
|
|
6
|
+
import { runOnJS } from "react-native-reanimated";
|
|
7
|
+
import { Button } from "./Button";
|
|
8
|
+
import { Heading } from "./Heading";
|
|
9
|
+
import { Icon } from "./Icon";
|
|
10
|
+
import { isMobileDevice } from "./MediaQuery";
|
|
11
|
+
import { Text } from "./Text";
|
|
12
|
+
import { useTheme } from "./Theme";
|
|
13
|
+
import { isNative } from "./Utilities";
|
|
14
|
+
const getModalSize = (size) => {
|
|
15
|
+
const sizeMap = {
|
|
16
|
+
lg: 900,
|
|
17
|
+
md: 720,
|
|
18
|
+
sm: 540,
|
|
19
|
+
};
|
|
20
|
+
let sizePx = sizeMap[size] || sizeMap.sm;
|
|
21
|
+
if (sizePx > Dimensions.get("window").width) {
|
|
22
|
+
sizePx = "90%";
|
|
23
|
+
}
|
|
24
|
+
return sizePx;
|
|
25
|
+
};
|
|
26
|
+
const ModalContent = ({ children, title, subtitle, text, primaryButtonText, primaryButtonDisabled, secondaryButtonText, primaryButtonOnClick, secondaryButtonOnClick, onDismiss, sizePx, theme, isMobile, }) => {
|
|
27
|
+
return (_jsxs(View, { style: Object.assign({ alignItems: "center", alignSelf: "center", backgroundColor: theme.surface.base, borderRadius: theme.radius.default, maxHeight: "100%", padding: 32, width: sizePx, zIndex: 1 }, (isMobile
|
|
28
|
+
? {}
|
|
29
|
+
: {
|
|
30
|
+
boxShadow: "0px 4px 24px rgba(0, 0, 0, 0.5)",
|
|
31
|
+
elevation: 24,
|
|
32
|
+
margin: "auto",
|
|
33
|
+
})), children: [_jsx(View, { style: { alignSelf: "flex-end", position: "relative" }, children: _jsx(Pressable, { accessibilityHint: "Closes the modal", "aria-label": "Close modal", "aria-role": "button", onPress: onDismiss, style: {
|
|
34
|
+
alignItems: "center",
|
|
35
|
+
bottom: -8,
|
|
36
|
+
flex: 1,
|
|
37
|
+
justifyContent: "center",
|
|
38
|
+
left: -8,
|
|
39
|
+
position: "absolute",
|
|
40
|
+
right: -8,
|
|
41
|
+
top: -8,
|
|
42
|
+
}, children: _jsx(Icon, { iconName: "x", size: "sm" }) }) }), title && (_jsx(View, { accessibilityHint: "Modal title", "aria-label": title, "aria-role": "header", style: { alignSelf: "flex-start" }, children: _jsx(Heading, { size: "lg", children: title }) })), subtitle && (_jsx(View, { accessibilityHint: "Modal Sub Heading Text", "aria-label": subtitle, "aria-role": "text", style: { alignSelf: "flex-start", marginTop: subtitle ? 8 : 0 }, children: _jsx(Text, { size: "lg", children: subtitle }) })), text && (_jsx(View, { accessibilityHint: "Modal body text", "aria-label": text, "aria-role": "text", style: { alignSelf: "flex-start", marginVertical: text ? 12 : 0 }, children: _jsx(Text, { children: text }) })), children && (_jsx(View, { style: {
|
|
43
|
+
flex: isMobile ? undefined : 1,
|
|
44
|
+
marginTop: text ? 0 : 12,
|
|
45
|
+
width: "100%",
|
|
46
|
+
}, children: children })), _jsxs(View, { style: {
|
|
47
|
+
alignSelf: "flex-end",
|
|
48
|
+
flexDirection: "row",
|
|
49
|
+
marginTop: text && !children ? 20 : 32,
|
|
50
|
+
}, children: [Boolean(secondaryButtonText && secondaryButtonOnClick) && (_jsx(View, { style: { marginRight: primaryButtonText ? 20 : 0 }, children: _jsx(Button, { onClick: secondaryButtonOnClick, text: secondaryButtonText, variant: "muted" }) })), Boolean(primaryButtonText && primaryButtonOnClick) && (_jsx(Button, { disabled: primaryButtonDisabled, onClick: primaryButtonOnClick, text: primaryButtonText }))] })] }));
|
|
51
|
+
};
|
|
52
|
+
export const Modal = ({ children, persistOnBackgroundClick = false, primaryButtonDisabled = false, primaryButtonText, secondaryButtonText, size = "sm", subtitle, text, title, visible, onDismiss, primaryButtonOnClick, secondaryButtonOnClick, }) => {
|
|
53
|
+
const actionSheetRef = useRef(null);
|
|
54
|
+
const { theme } = useTheme();
|
|
55
|
+
const handleDismiss = () => {
|
|
56
|
+
if (visible && onDismiss) {
|
|
57
|
+
onDismiss();
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
const handlePrimaryButtonClick = (value) => {
|
|
61
|
+
if (visible && primaryButtonOnClick) {
|
|
62
|
+
return primaryButtonOnClick(value);
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
const handleSecondaryButtonClick = (value) => {
|
|
66
|
+
if (visible && secondaryButtonOnClick) {
|
|
67
|
+
return secondaryButtonOnClick(value);
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
const dragToClose = Gesture.Pan().onEnd((event) => {
|
|
71
|
+
if (event.translationY > 20) {
|
|
72
|
+
// Gesture callbacks run on the UI thread, runOnJS is required to safely invoke handleDismiss on the JS thread
|
|
73
|
+
runOnJS(handleDismiss)();
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
// Open the action sheet ref when the visible prop changes.
|
|
77
|
+
useEffect(() => {
|
|
78
|
+
if (actionSheetRef.current) {
|
|
79
|
+
actionSheetRef.current.setModalVisible(visible);
|
|
80
|
+
}
|
|
81
|
+
}, [visible]);
|
|
82
|
+
const isMobile = isMobileDevice() && isNative();
|
|
83
|
+
const sizePx = getModalSize(size);
|
|
84
|
+
const modalContentProps = {
|
|
85
|
+
isMobile,
|
|
86
|
+
onDismiss: handleDismiss,
|
|
87
|
+
persistOnBackgroundClick,
|
|
88
|
+
primaryButtonDisabled,
|
|
89
|
+
primaryButtonOnClick: handlePrimaryButtonClick,
|
|
90
|
+
primaryButtonText,
|
|
91
|
+
secondaryButtonOnClick: handleSecondaryButtonClick,
|
|
92
|
+
secondaryButtonText,
|
|
93
|
+
sizePx,
|
|
94
|
+
subtitle,
|
|
95
|
+
text,
|
|
96
|
+
theme,
|
|
97
|
+
title,
|
|
98
|
+
};
|
|
99
|
+
if (isMobile) {
|
|
100
|
+
return (_jsx(ActionSheet, { closeOnTouchBackdrop: !persistOnBackgroundClick, gestureEnabled: false,
|
|
101
|
+
// Disable ActionSheet's built-in gestures to avoid conflicts with scrolling
|
|
102
|
+
onClose: handleDismiss, ref: actionSheetRef, children: _jsxs(View, { children: [_jsx(GestureDetector, { gesture: dragToClose, children: _jsx(View, { accessibilityHint: "Pull down to close the modal", "aria-label": "Pull down bar", "aria-role": "adjustable",
|
|
103
|
+
// add hitSlop to make the bar easier to hit since it's small
|
|
104
|
+
hitSlop: { bottom: 20, left: 50, right: 50, top: 20 }, style: {
|
|
105
|
+
alignItems: "center",
|
|
106
|
+
alignSelf: "center",
|
|
107
|
+
backgroundColor: "#9A9A9A",
|
|
108
|
+
borderRadius: 5,
|
|
109
|
+
height: 3,
|
|
110
|
+
justifyContent: "center",
|
|
111
|
+
marginTop: 10,
|
|
112
|
+
padding: 2,
|
|
113
|
+
width: "30%",
|
|
114
|
+
} }) }), _jsx(ModalContent, Object.assign({}, modalContentProps, { children: children }))] }) }));
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
return (_jsx(RNModal, { animationType: "slide", onRequestClose: handleDismiss, transparent: true, visible: visible, children: _jsx(Pressable, { onPress: persistOnBackgroundClick ? undefined : handleDismiss, style: {
|
|
118
|
+
alignItems: "center",
|
|
119
|
+
backgroundColor: "rgba(0, 0, 0, 0.5)",
|
|
120
|
+
flex: 1,
|
|
121
|
+
justifyContent: "center",
|
|
122
|
+
}, children: _jsx(Pressable, { onPress: (e) => {
|
|
123
|
+
persistOnBackgroundClick ? null : e.stopPropagation();
|
|
124
|
+
}, style: { cursor: "auto" }, children: _jsx(ModalContent, Object.assign({}, modalContentProps, { children: children })) }) }) }));
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
//# sourceMappingURL=Modal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Modal.js","sourceRoot":"","sources":["../src/Modal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const useCombinedRefs: (...refs: any) => import("react").RefObject<any>;
|
|
2
|
+
interface Props {
|
|
3
|
+
children: any;
|
|
4
|
+
}
|
|
5
|
+
export declare const SimpleContent: import("react").ForwardRefExoticComponent<Props & import("react").RefAttributes<unknown>>;
|
|
6
|
+
export {};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef, useEffect, useRef } from "react";
|
|
3
|
+
import { Animated } from "react-native";
|
|
4
|
+
import { Modalize } from "react-native-modalize";
|
|
5
|
+
import { Portal } from "react-native-portalize";
|
|
6
|
+
export const useCombinedRefs = (...refs) => {
|
|
7
|
+
const targetRef = useRef(null);
|
|
8
|
+
// Iterate through the refs array, and set the ref.current value to the targetRef
|
|
9
|
+
useEffect(() => {
|
|
10
|
+
refs.forEach((ref) => {
|
|
11
|
+
if (!ref) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
if (typeof ref === "function") {
|
|
15
|
+
ref(targetRef.current);
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
ref.current = targetRef.current;
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
}, [refs]);
|
|
22
|
+
return targetRef;
|
|
23
|
+
};
|
|
24
|
+
export const SimpleContent = forwardRef((props, ref) => {
|
|
25
|
+
const modalizeRef = useRef(null);
|
|
26
|
+
const combinedRef = useCombinedRefs(ref, modalizeRef);
|
|
27
|
+
const animated = useRef(new Animated.Value(0)).current;
|
|
28
|
+
// const renderHeader = () => (
|
|
29
|
+
// <Box paddingY={4} marginTop={4} marginBottom={4}>
|
|
30
|
+
// <Text>50 users online</Text>
|
|
31
|
+
// </Box>
|
|
32
|
+
// );
|
|
33
|
+
return (_jsx(Portal, { children: _jsx(Modalize
|
|
34
|
+
// HeaderComponent={renderHeader}
|
|
35
|
+
, {
|
|
36
|
+
// HeaderComponent={renderHeader}
|
|
37
|
+
adjustToContentHeight: true, panGestureAnimatedValue: animated, ref: combinedRef, scrollViewProps: {
|
|
38
|
+
showsVerticalScrollIndicator: false,
|
|
39
|
+
stickyHeaderIndices: [0],
|
|
40
|
+
}, children: props.children }) }));
|
|
41
|
+
});
|
|
42
|
+
//# sourceMappingURL=ModalSheet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModalSheet.js","sourceRoot":"","sources":["../src/ModalSheet.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,UAAU,EAAE,SAAS,EAAE,MAAM,EAAC,MAAM,OAAO,CAAC;AACpD,OAAO,EAAC,QAAQ,EAAC,MAAM,cAAc,CAAC;AACtC,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAC,MAAM,EAAC,MAAM,wBAAwB,CAAC;AAE9C,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAG,IAAS,EAAE,EAAE;IAC9C,MAAM,SAAS,GAAG,MAAM,CAAM,IAAI,CAAC,CAAC;IAEpC,iFAAiF;IACjF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,OAAO,CAAC,CAAC,GAAQ,EAAE,EAAE;YACxB,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,OAAO;YACT,CAAC;YAED,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE,CAAC;gBAC9B,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;YAClC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAMF,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CAAC,CAAC,KAAY,EAAE,GAAG,EAAE,EAAE;IAC5D,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAEvD,+BAA+B;IAC/B,sDAAsD;IACtD,mCAAmC;IACnC,WAAW;IACX,KAAK;IAEL,OAAO,CACL,KAAC,MAAM,cACL,KAAC,QAAQ;QACP,iCAAiC;;YAAjC,iCAAiC;YACjC,qBAAqB,QACrB,uBAAuB,EAAE,QAAQ,EACjC,GAAG,EAAE,WAAW,EAChB,eAAe,EAAE;gBACf,4BAA4B,EAAE,KAAK;gBACnC,mBAAmB,EAAE,CAAC,CAAC,CAAC;aACzB,YAEA,KAAK,CAAC,QAAQ,GACN,GACJ,CACV,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useState } from "react";
|
|
3
|
+
import { TouchableOpacity, View } from "react-native";
|
|
4
|
+
import { CheckBox } from "./CheckBox";
|
|
5
|
+
import { FieldError, FieldHelperText } from "./fieldElements";
|
|
6
|
+
import { Heading } from "./Heading";
|
|
7
|
+
import { isMobileDevice } from "./MediaQuery";
|
|
8
|
+
import { Text } from "./Text";
|
|
9
|
+
const Option = ({ value, label, isDefault, selected, onSelect }) => {
|
|
10
|
+
return (_jsxs(View, { style: {
|
|
11
|
+
display: "flex",
|
|
12
|
+
flexDirection: isDefault ? "row" : "row-reverse",
|
|
13
|
+
justifyContent: "space-between",
|
|
14
|
+
}, children: [_jsx(View, { style: { flex: 1, flexWrap: "wrap" }, children: _jsx(Text, { children: label !== null && label !== void 0 ? label : value }) }), _jsx(TouchableOpacity, { accessibilityHint: `Select ${label !== null && label !== void 0 ? label : value} from list of options`, "aria-label": label !== null && label !== void 0 ? label : value, "aria-role": "checkbox", hitSlop: { bottom: 10, left: 10, right: 10, top: 10 }, onPress: onSelect, style: {
|
|
15
|
+
justifyContent: "center",
|
|
16
|
+
}, children: _jsx(View, { style: {
|
|
17
|
+
paddingEnd: isDefault ? 0 : 8,
|
|
18
|
+
paddingStart: isDefault ? 8 : 0,
|
|
19
|
+
}, children: _jsx(CheckBox, { selected: selected }) }) }, value)] }));
|
|
20
|
+
};
|
|
21
|
+
export const MultiselectField = ({ options, title, value = [], variant = "leftText", onChange, errorText, helperText, disabled, }) => {
|
|
22
|
+
const isMobile = isMobileDevice();
|
|
23
|
+
const isDefault = variant === "leftText";
|
|
24
|
+
const [selectedItems, setSelectedItems] = useState(value);
|
|
25
|
+
// set the selected items to the value passed in the props
|
|
26
|
+
useEffect(() => {
|
|
27
|
+
setSelectedItems(value);
|
|
28
|
+
}, [value]);
|
|
29
|
+
const toggleItem = (item) => {
|
|
30
|
+
const newSelectedItems = selectedItems.includes(item)
|
|
31
|
+
? selectedItems.filter((selected) => selected !== item)
|
|
32
|
+
: [...selectedItems, item];
|
|
33
|
+
setSelectedItems(newSelectedItems);
|
|
34
|
+
onChange(newSelectedItems);
|
|
35
|
+
};
|
|
36
|
+
return (_jsxs(View, { accessibilityHint: "Contains a prompt and list of options to select", "aria-label": title, "aria-role": "combobox", style: {
|
|
37
|
+
display: "flex",
|
|
38
|
+
gap: isMobile ? 16 : 8,
|
|
39
|
+
width: "100%",
|
|
40
|
+
}, children: [_jsx(Heading, { color: "primary", size: "sm", children: title }), Boolean(errorText) && _jsx(FieldError, { text: errorText }), disabled ? (_jsx(Text, { children: value.join(", ") })) : (options.map((option) => {
|
|
41
|
+
var _a;
|
|
42
|
+
return (_jsx(Option, { isDefault: isDefault, label: option.label, onSelect: () => toggleItem(option.value), selected: selectedItems.includes(option.value), value: option.value }, (_a = option.key) !== null && _a !== void 0 ? _a : option.value));
|
|
43
|
+
})), Boolean(helperText) && _jsx(FieldHelperText, { text: helperText })] }));
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=MultiselectField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MultiselectField.js","sourceRoot":"","sources":["../src/MultiselectField.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
+
t[p] = s[p];
|
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
+
t[p[i]] = s[p[i]];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
12
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
|
+
import { useCallback, useEffect, useState } from "react";
|
|
14
|
+
import { TextField } from "./TextField";
|
|
15
|
+
export const NumberField = (_a) => {
|
|
16
|
+
var { errorText, value: valueProp, max, min, type, onChange } = _a, rest = __rest(_a, ["errorText", "value", "max", "min", "type", "onChange"]);
|
|
17
|
+
const [value, setValue] = useState(valueProp !== null && valueProp !== void 0 ? valueProp : "");
|
|
18
|
+
// Sync local state with incoming prop values
|
|
19
|
+
useEffect(() => {
|
|
20
|
+
setValue(valueProp !== null && valueProp !== void 0 ? valueProp : "");
|
|
21
|
+
}, [valueProp]);
|
|
22
|
+
const getError = useCallback((newV) => {
|
|
23
|
+
const v = String(newV);
|
|
24
|
+
if (!v) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
const num = type === "number" ? parseInt(v, 10) : parseFloat(v);
|
|
28
|
+
if (Number.isNaN(num) || (type === "number" && v.match(/[^0-9]/) !== null)) {
|
|
29
|
+
return "Value must be an integer";
|
|
30
|
+
}
|
|
31
|
+
else if ((type === "decimal" && v.match(/[^0-9.]+/) !== null) ||
|
|
32
|
+
(v.match(/\./g) || []).length > 1) {
|
|
33
|
+
return "Value must be a decimal";
|
|
34
|
+
}
|
|
35
|
+
else if (max !== undefined && num > max) {
|
|
36
|
+
return `Value must be less than or equal to ${max}`;
|
|
37
|
+
}
|
|
38
|
+
else if (min !== undefined && num < min) {
|
|
39
|
+
return `Value must be greater than or equal to ${min}`;
|
|
40
|
+
}
|
|
41
|
+
return undefined;
|
|
42
|
+
}, [max, min, type]);
|
|
43
|
+
const error = errorText || getError(value);
|
|
44
|
+
// Only return the value if it is a valid number
|
|
45
|
+
const localOnChange = useCallback((v) => {
|
|
46
|
+
if (type === "decimal" && v === ".") {
|
|
47
|
+
// if type is decimal and dot is the first character add 0 before it
|
|
48
|
+
setValue("0.");
|
|
49
|
+
onChange("0.");
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
const err = getError(v);
|
|
53
|
+
if (!err) {
|
|
54
|
+
setValue(v);
|
|
55
|
+
onChange(v);
|
|
56
|
+
}
|
|
57
|
+
}, [getError, onChange, type]);
|
|
58
|
+
return _jsx(TextField, Object.assign({}, rest, { errorText: error, onChange: localOnChange, value: value }));
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=NumberField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NumberField.js","sourceRoot":"","sources":["../src/NumberField.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { NumberPickerActionSheetProps } from "./Common";
|
|
3
|
+
type NumberPickerActionSheetState = {};
|
|
4
|
+
export declare class NumberPickerActionSheet extends React.Component<NumberPickerActionSheetProps, NumberPickerActionSheetState> {
|
|
5
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
}
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Picker } from "@react-native-picker/picker";
|
|
3
|
+
import range from "lodash/range";
|
|
4
|
+
import React from "react";
|
|
5
|
+
import { ActionSheet } from "./ActionSheet";
|
|
6
|
+
import { Box } from "./Box";
|
|
7
|
+
import { Button } from "./Button";
|
|
8
|
+
const PICKER_HEIGHT = 104;
|
|
9
|
+
export class NumberPickerActionSheet extends React.Component {
|
|
10
|
+
render() {
|
|
11
|
+
return (_jsx(ActionSheet, { bounceOnOpen: true, gestureEnabled: true, ref: this.props.actionSheetRef, children: _jsxs(Box, { marginBottom: 8, paddingX: 4, width: "100%", children: [_jsx(Box, { alignItems: "end", display: "flex", width: "100%", children: _jsx(Box, { width: "33%", children: _jsx(Button, { onClick: () => {
|
|
12
|
+
var _a, _b;
|
|
13
|
+
(_b = (_a = this.props.actionSheetRef) === null || _a === void 0 ? void 0 : _a.current) === null || _b === void 0 ? void 0 : _b.setModalVisible(false);
|
|
14
|
+
}, text: "Close" }) }) }), _jsx(Picker, { itemStyle: {
|
|
15
|
+
height: PICKER_HEIGHT,
|
|
16
|
+
}, onValueChange: (itemValue) => this.props.onChange(String(itemValue)), selectedValue: String(this.props.value), style: {
|
|
17
|
+
backgroundColor: "#FFFFFF",
|
|
18
|
+
height: PICKER_HEIGHT,
|
|
19
|
+
}, children: range(this.props.min, this.props.max).map((n) => (_jsx(Picker.Item, { label: String(n), value: String(n) }, String(n)))) })] }) }));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=NumberPickerActionSheet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NumberPickerActionSheet.js","sourceRoot":"","sources":["../src/NumberPickerActionSheet.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,6BAA6B,CAAC;AACnD,OAAO,KAAK,MAAM,cAAc,CAAC;AACjC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,GAAG,EAAC,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAGhC,MAAM,aAAa,GAAG,GAAG,CAAC;AAI1B,MAAM,OAAO,uBAAwB,SAAQ,KAAK,CAAC,SAGlD;IACC,MAAM;QACJ,OAAO,CACL,KAAC,WAAW,IAAC,YAAY,QAAC,cAAc,QAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,YACrE,MAAC,GAAG,IAAC,YAAY,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAC,MAAM,aAC7C,KAAC,GAAG,IAAC,UAAU,EAAC,KAAK,EAAC,OAAO,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,YAC/C,KAAC,GAAG,IAAC,KAAK,EAAC,KAAK,YACd,KAAC,MAAM,IACL,OAAO,EAAE,GAAG,EAAE;;oCACZ,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,cAAc,0CAAE,OAAO,0CAAE,eAAe,CAAC,KAAK,CAAC,CAAC;gCAC7D,CAAC,EACD,IAAI,EAAC,OAAO,GACZ,GACE,GACF,EACN,KAAC,MAAM,IACL,SAAS,EAAE;4BACT,MAAM,EAAE,aAAa;yBACtB,EACD,aAAa,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EACpE,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EACvC,KAAK,EAAE;4BACL,eAAe,EAAE,SAAS;4BAC1B,MAAM,EAAE,aAAa;yBACtB,YAEA,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAChD,KAAC,MAAM,CAAC,IAAI,IAAiB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,IAA7C,MAAM,CAAC,CAAC,CAAC,CAAwC,CACpE,CAAC,GACK,IACL,GACM,CACf,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type React from "react";
|
|
2
|
+
import type { OpenAPIContextType, OpenAPIProviderProps } from "./Common";
|
|
3
|
+
export declare const OpenAPIProvider: ({ children, specUrl }: OpenAPIProviderProps) => React.ReactElement;
|
|
4
|
+
export declare const useOpenAPISpec: () => OpenAPIContextType;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import camelCase from "lodash/camelCase";
|
|
3
|
+
import { createContext, useContext, useEffect, useState } from "react";
|
|
4
|
+
const OpenAPIContext = createContext(null);
|
|
5
|
+
export const OpenAPIProvider = ({ children, specUrl }) => {
|
|
6
|
+
const [spec, setSpec] = useState(null);
|
|
7
|
+
const getModelFields = (modelName) => {
|
|
8
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
9
|
+
const modelPath = `/${camelCase(modelName.replace(/\s/g, ""))}/`;
|
|
10
|
+
const rootConfig = (_a = spec === null || spec === void 0 ? void 0 : spec.paths) === null || _a === void 0 ? void 0 : _a[modelPath];
|
|
11
|
+
if (!rootConfig) {
|
|
12
|
+
if ((spec === null || spec === void 0 ? void 0 : spec.paths) && modelName) {
|
|
13
|
+
console.warn(`No OpenAPI model found for ${modelName}`);
|
|
14
|
+
}
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
return (_j = (_h = (_g = (_f = (_e = (_d = (_c = (_b = rootConfig === null || rootConfig === void 0 ? void 0 : rootConfig.get) === null || _b === void 0 ? void 0 : _b.responses) === null || _c === void 0 ? void 0 : _c["200"]) === null || _d === void 0 ? void 0 : _d.content) === null || _e === void 0 ? void 0 : _e["application/json"]) === null || _f === void 0 ? void 0 : _f.schema) === null || _g === void 0 ? void 0 : _g.properties) === null || _h === void 0 ? void 0 : _h.data) === null || _j === void 0 ? void 0 : _j.items;
|
|
18
|
+
};
|
|
19
|
+
const getModelField = (modelName, fieldName) => {
|
|
20
|
+
var _a, _b;
|
|
21
|
+
const fields = getModelFields(modelName);
|
|
22
|
+
const dotFields = fieldName.split(".");
|
|
23
|
+
let field = (_a = fields === null || fields === void 0 ? void 0 : fields.properties) === null || _a === void 0 ? void 0 : _a[dotFields[0]];
|
|
24
|
+
if (!field && fieldName && (fields === null || fields === void 0 ? void 0 : fields.properties)) {
|
|
25
|
+
console.warn(`No OpenAPI field found for ${modelName}:${fieldName}`);
|
|
26
|
+
}
|
|
27
|
+
for (const dotField of dotFields.slice(1)) {
|
|
28
|
+
field = (_b = field === null || field === void 0 ? void 0 : field.properties) === null || _b === void 0 ? void 0 : _b[dotField];
|
|
29
|
+
}
|
|
30
|
+
return field;
|
|
31
|
+
};
|
|
32
|
+
// Fetch the OpenAPI spec from the provided URL.
|
|
33
|
+
useEffect(() => {
|
|
34
|
+
if (!specUrl) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
fetch(specUrl)
|
|
38
|
+
.then(async (response) => {
|
|
39
|
+
const data = (await response.json());
|
|
40
|
+
setSpec(data);
|
|
41
|
+
})
|
|
42
|
+
.catch((error) => console.error(`Error fetching OpenAPI spec: ${error}`));
|
|
43
|
+
}, [specUrl]);
|
|
44
|
+
return (_jsx(OpenAPIContext.Provider, { value: { getModelField, getModelFields, spec }, children: children }));
|
|
45
|
+
};
|
|
46
|
+
export const useOpenAPISpec = () => {
|
|
47
|
+
const context = useContext(OpenAPIContext);
|
|
48
|
+
if (!context) {
|
|
49
|
+
throw new Error("useOpenAPISpec must be used within an OpenAPIProvider");
|
|
50
|
+
}
|
|
51
|
+
return context;
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=OpenAPIContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenAPIContext.js","sourceRoot":"","sources":["../src/OpenAPIContext.tsx"],"names":[],"mappings":"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"}
|
package/dist/Page.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { PageProps } from "./Common";
|
|
3
|
+
export declare class Page extends React.Component<PageProps, {}> {
|
|
4
|
+
actionSheetRef: React.RefObject<any>;
|
|
5
|
+
renderHeader(): import("react/jsx-runtime").JSX.Element | null;
|
|
6
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
}
|
package/dist/Page.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { Box } from "./Box";
|
|
4
|
+
import { Button } from "./Button";
|
|
5
|
+
import { ErrorBoundary } from "./ErrorBoundary";
|
|
6
|
+
import { Heading } from "./Heading";
|
|
7
|
+
import { IconButton } from "./IconButton";
|
|
8
|
+
import { Spinner } from "./Spinner";
|
|
9
|
+
export class Page extends React.Component {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments);
|
|
12
|
+
this.actionSheetRef = React.createRef();
|
|
13
|
+
}
|
|
14
|
+
renderHeader() {
|
|
15
|
+
if (!this.props.title && !this.props.backButton) {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
return (_jsxs(Box, { direction: "row", display: "flex", width: "100%", children: [this.props.backButton && (_jsx(Box, { alignItems: "center", display: "block", justifyContent: "center", paddingY: 3, children: _jsx(IconButton, { accessibilityHint: "Navigate back", accessibilityLabel: "", iconName: "chevron-left", onClick: () => this.props.navigation.goBack() }) })), this.props.closeButton && (_jsx(Box, { alignItems: "center", display: "block", justifyContent: "center", paddingY: 3, children: _jsx(IconButton, { accessibilityHint: "Close page", accessibilityLabel: "", iconName: "xmark", onClick: () => this.props.navigation.goBack() }) })), Boolean(this.props.title) && (_jsx(Box, { direction: "column", display: "flex", flex: "grow", justifyContent: "center", children: _jsx(Heading, { align: "center", children: this.props.title }) })), this.props.rightButton && (_jsx(Box, { alignItems: "center", display: "block", justifyContent: "center", paddingY: 3, children: _jsx(Button, { onClick: () => { var _a, _b; return (_b = (_a = this.props).rightButtonOnClick) === null || _b === void 0 ? void 0 : _b.call(_a); }, text: this.props.rightButton, variant: "muted" }) }))] }));
|
|
19
|
+
}
|
|
20
|
+
render() {
|
|
21
|
+
return (_jsxs(ErrorBoundary, { onError: this.props.onError, children: [_jsxs(Box, { alignSelf: "center", avoidKeyboard: true, color: this.props.color || "base", direction: this.props.direction || "column", display: this.props.display || "flex", flex: "grow", height: "100%", keyboardOffset: this.props.keyboardOffset, maxWidth: this.props.maxWidth || 800, padding: this.props.padding !== undefined ? this.props.padding : 2, scroll: this.props.scroll === undefined ? true : this.props.scroll, width: "100%", children: [this.renderHeader(), this.props.loading === true && _jsx(Spinner, {}), this.props.children] }), Boolean(this.props.footer) && (_jsx(Box, { alignSelf: "center", color: this.props.color || "neutralLight", direction: this.props.direction || "column", display: this.props.display || "flex", flex: "shrink", marginBottom: 8, maxWidth: this.props.maxWidth || 800, paddingX: this.props.padding !== undefined ? this.props.padding : 6, paddingY: this.props.padding !== undefined ? this.props.padding : 2, width: "100%", children: this.props.footer }))] }));
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=Page.js.map
|
package/dist/Page.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Page.js","sourceRoot":"","sources":["../src/Page.tsx"],"names":[],"mappings":"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"}
|