@situaction/traquiste-mobile 1.0.0 → 1.2.0
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/README.md +61 -90
- package/build/components/AssociationTag/AssociationTag.d.ts +19 -0
- package/build/components/AssociationTag/AssociationTag.d.ts.map +1 -0
- package/build/components/AssociationTag/AssociationTag.js +29 -0
- package/build/components/AssociationTag/AssociationTag.js.map +1 -0
- package/build/components/AssociationTag/AssociationTag.styles.d.ts +21 -0
- package/build/components/AssociationTag/AssociationTag.styles.d.ts.map +1 -0
- package/build/components/AssociationTag/AssociationTag.styles.js +26 -0
- package/build/components/AssociationTag/AssociationTag.styles.js.map +1 -0
- package/build/components/AssociationTag/index.d.ts +3 -0
- package/build/components/AssociationTag/index.d.ts.map +1 -0
- package/build/components/AssociationTag/index.js +2 -0
- package/build/components/AssociationTag/index.js.map +1 -0
- package/build/components/BottomSheet/BottomSheet.d.ts +36 -0
- package/build/components/BottomSheet/BottomSheet.d.ts.map +1 -0
- package/build/components/BottomSheet/BottomSheet.js +76 -0
- package/build/components/BottomSheet/BottomSheet.js.map +1 -0
- package/build/components/BottomSheet/BottomSheet.styles.d.ts +32 -0
- package/build/components/BottomSheet/BottomSheet.styles.d.ts.map +1 -0
- package/build/components/BottomSheet/BottomSheet.styles.js +31 -0
- package/build/components/BottomSheet/BottomSheet.styles.js.map +1 -0
- package/build/components/BottomSheet/index.d.ts +3 -0
- package/build/components/BottomSheet/index.d.ts.map +1 -0
- package/build/components/BottomSheet/index.js +2 -0
- package/build/components/BottomSheet/index.js.map +1 -0
- package/build/components/Button/Button.d.ts +5 -1
- package/build/components/Button/Button.d.ts.map +1 -1
- package/build/components/Button/Button.js +12 -6
- package/build/components/Button/Button.js.map +1 -1
- package/build/components/ButtonAction/ButtonAction.d.ts +5 -1
- package/build/components/ButtonAction/ButtonAction.d.ts.map +1 -1
- package/build/components/ButtonAction/ButtonAction.js +2 -2
- package/build/components/ButtonAction/ButtonAction.js.map +1 -1
- package/build/components/ButtonMap/ButtonMap.d.ts +5 -1
- package/build/components/ButtonMap/ButtonMap.d.ts.map +1 -1
- package/build/components/ButtonMap/ButtonMap.js +11 -9
- package/build/components/ButtonMap/ButtonMap.js.map +1 -1
- package/build/components/ButtonMenu/ButtonMenu.d.ts +5 -1
- package/build/components/ButtonMenu/ButtonMenu.d.ts.map +1 -1
- package/build/components/ButtonMenu/ButtonMenu.js +17 -17
- package/build/components/ButtonMenu/ButtonMenu.js.map +1 -1
- package/build/components/Calendar/Calendar.d.ts +4 -0
- package/build/components/Calendar/Calendar.d.ts.map +1 -0
- package/build/components/Calendar/Calendar.i18n.d.ts +34 -0
- package/build/components/Calendar/Calendar.i18n.d.ts.map +1 -0
- package/build/components/Calendar/Calendar.i18n.js +34 -0
- package/build/components/Calendar/Calendar.i18n.js.map +1 -0
- package/build/components/Calendar/Calendar.js +172 -0
- package/build/components/Calendar/Calendar.js.map +1 -0
- package/build/components/Calendar/Calendar.styles.d.ts +257 -0
- package/build/components/Calendar/Calendar.styles.d.ts.map +1 -0
- package/build/components/Calendar/Calendar.styles.js +234 -0
- package/build/components/Calendar/Calendar.styles.js.map +1 -0
- package/build/components/Calendar/Calendar.types.d.ts +62 -0
- package/build/components/Calendar/Calendar.types.d.ts.map +1 -0
- package/build/components/Calendar/Calendar.types.js +2 -0
- package/build/components/Calendar/Calendar.types.js.map +1 -0
- package/build/components/Calendar/CalendarDay.d.ts +4 -0
- package/build/components/Calendar/CalendarDay.d.ts.map +1 -0
- package/build/components/Calendar/CalendarDay.js +52 -0
- package/build/components/Calendar/CalendarDay.js.map +1 -0
- package/build/components/Calendar/CalendarHeader.d.ts +4 -0
- package/build/components/Calendar/CalendarHeader.d.ts.map +1 -0
- package/build/components/Calendar/CalendarHeader.js +16 -0
- package/build/components/Calendar/CalendarHeader.js.map +1 -0
- package/build/components/Calendar/CalendarLegend.d.ts +3 -0
- package/build/components/Calendar/CalendarLegend.d.ts.map +1 -0
- package/build/components/Calendar/CalendarLegend.js +38 -0
- package/build/components/Calendar/CalendarLegend.js.map +1 -0
- package/build/components/Calendar/CalendarYearPicker.d.ts +19 -0
- package/build/components/Calendar/CalendarYearPicker.d.ts.map +1 -0
- package/build/components/Calendar/CalendarYearPicker.js +158 -0
- package/build/components/Calendar/CalendarYearPicker.js.map +1 -0
- package/build/components/Calendar/index.d.ts +5 -0
- package/build/components/Calendar/index.d.ts.map +1 -0
- package/build/components/Calendar/index.js +3 -0
- package/build/components/Calendar/index.js.map +1 -0
- package/build/components/Card/Card.d.ts +25 -0
- package/build/components/Card/Card.d.ts.map +1 -0
- package/build/components/Card/Card.js +31 -0
- package/build/components/Card/Card.js.map +1 -0
- package/build/components/Card/Card.styles.d.ts +15 -0
- package/build/components/Card/Card.styles.d.ts.map +1 -0
- package/build/components/Card/Card.styles.js +18 -0
- package/build/components/Card/Card.styles.js.map +1 -0
- package/build/components/Card/index.d.ts +3 -0
- package/build/components/Card/index.d.ts.map +1 -0
- package/build/components/Card/index.js +2 -0
- package/build/components/Card/index.js.map +1 -0
- package/build/components/CardEquip/CardEquip.d.ts +60 -0
- package/build/components/CardEquip/CardEquip.d.ts.map +1 -0
- package/build/components/CardEquip/CardEquip.js +106 -0
- package/build/components/CardEquip/CardEquip.js.map +1 -0
- package/build/components/CardEquip/CardEquip.styles.d.ts +125 -0
- package/build/components/CardEquip/CardEquip.styles.d.ts.map +1 -0
- package/build/components/CardEquip/CardEquip.styles.js +139 -0
- package/build/components/CardEquip/CardEquip.styles.js.map +1 -0
- package/build/components/CardEquip/index.d.ts +3 -0
- package/build/components/CardEquip/index.d.ts.map +1 -0
- package/build/components/CardEquip/index.js +2 -0
- package/build/components/CardEquip/index.js.map +1 -0
- package/build/components/CardProfile/CardProfile.d.ts +55 -0
- package/build/components/CardProfile/CardProfile.d.ts.map +1 -0
- package/build/components/CardProfile/CardProfile.js +74 -0
- package/build/components/CardProfile/CardProfile.js.map +1 -0
- package/build/components/CardProfile/CardProfile.styles.d.ts +62 -0
- package/build/components/CardProfile/CardProfile.styles.d.ts.map +1 -0
- package/build/components/CardProfile/CardProfile.styles.js +65 -0
- package/build/components/CardProfile/CardProfile.styles.js.map +1 -0
- package/build/components/CardProfile/index.d.ts +3 -0
- package/build/components/CardProfile/index.d.ts.map +1 -0
- package/build/components/CardProfile/index.js +2 -0
- package/build/components/CardProfile/index.js.map +1 -0
- package/build/components/Checkbox/Checkbox.d.ts +28 -0
- package/build/components/Checkbox/Checkbox.d.ts.map +1 -0
- package/build/components/Checkbox/Checkbox.js +77 -0
- package/build/components/Checkbox/Checkbox.js.map +1 -0
- package/build/components/Checkbox/Checkbox.styles.d.ts +34 -0
- package/build/components/Checkbox/Checkbox.styles.d.ts.map +1 -0
- package/build/components/Checkbox/Checkbox.styles.js +39 -0
- package/build/components/Checkbox/Checkbox.styles.js.map +1 -0
- package/build/components/Checkbox/Checkbox.types.d.ts +25 -0
- package/build/components/Checkbox/Checkbox.types.d.ts.map +1 -0
- package/build/components/Checkbox/Checkbox.types.js +5 -0
- package/build/components/Checkbox/Checkbox.types.js.map +1 -0
- package/build/components/Checkbox/index.d.ts +3 -0
- package/build/components/Checkbox/index.d.ts.map +1 -0
- package/build/components/Checkbox/index.js +2 -0
- package/build/components/Checkbox/index.js.map +1 -0
- package/build/components/Cluster/Cluster.d.ts +23 -0
- package/build/components/Cluster/Cluster.d.ts.map +1 -0
- package/build/components/Cluster/Cluster.js +34 -0
- package/build/components/Cluster/Cluster.js.map +1 -0
- package/build/components/Cluster/Cluster.styles.d.ts +33 -0
- package/build/components/Cluster/Cluster.styles.d.ts.map +1 -0
- package/build/components/Cluster/Cluster.styles.js +34 -0
- package/build/components/Cluster/Cluster.styles.js.map +1 -0
- package/build/components/Cluster/index.d.ts +3 -0
- package/build/components/Cluster/index.d.ts.map +1 -0
- package/build/components/Cluster/index.js +2 -0
- package/build/components/Cluster/index.js.map +1 -0
- package/build/components/ColorPicker/ColorPicker.d.ts +20 -0
- package/build/components/ColorPicker/ColorPicker.d.ts.map +1 -0
- package/build/components/ColorPicker/ColorPicker.js +17 -0
- package/build/components/ColorPicker/ColorPicker.js.map +1 -0
- package/build/components/ColorPicker/ColorPicker.styles.d.ts +10 -0
- package/build/components/ColorPicker/ColorPicker.styles.d.ts.map +1 -0
- package/build/components/ColorPicker/ColorPicker.styles.js +11 -0
- package/build/components/ColorPicker/ColorPicker.styles.js.map +1 -0
- package/build/components/ColorPicker/index.d.ts +3 -0
- package/build/components/ColorPicker/index.d.ts.map +1 -0
- package/build/components/ColorPicker/index.js +2 -0
- package/build/components/ColorPicker/index.js.map +1 -0
- package/build/components/ColorSwatch/ColorSwatch.d.ts +20 -0
- package/build/components/ColorSwatch/ColorSwatch.d.ts.map +1 -0
- package/build/components/ColorSwatch/ColorSwatch.js +35 -0
- package/build/components/ColorSwatch/ColorSwatch.js.map +1 -0
- package/build/components/ColorSwatch/ColorSwatch.styles.d.ts +16 -0
- package/build/components/ColorSwatch/ColorSwatch.styles.d.ts.map +1 -0
- package/build/components/ColorSwatch/ColorSwatch.styles.js +19 -0
- package/build/components/ColorSwatch/ColorSwatch.styles.js.map +1 -0
- package/build/components/ColorSwatch/index.d.ts +3 -0
- package/build/components/ColorSwatch/index.d.ts.map +1 -0
- package/build/components/ColorSwatch/index.js +2 -0
- package/build/components/ColorSwatch/index.js.map +1 -0
- package/build/components/FileCard/FileCard.d.ts +29 -0
- package/build/components/FileCard/FileCard.d.ts.map +1 -0
- package/build/components/FileCard/FileCard.js +66 -0
- package/build/components/FileCard/FileCard.js.map +1 -0
- package/build/components/FileCard/FileCard.styles.d.ts +54 -0
- package/build/components/FileCard/FileCard.styles.d.ts.map +1 -0
- package/build/components/FileCard/FileCard.styles.js +56 -0
- package/build/components/FileCard/FileCard.styles.js.map +1 -0
- package/build/components/FileCard/index.d.ts +3 -0
- package/build/components/FileCard/index.d.ts.map +1 -0
- package/build/components/FileCard/index.js +2 -0
- package/build/components/FileCard/index.js.map +1 -0
- package/build/components/FilterChip/FilterChip.d.ts +5 -1
- package/build/components/FilterChip/FilterChip.d.ts.map +1 -1
- package/build/components/FilterChip/FilterChip.js +55 -25
- package/build/components/FilterChip/FilterChip.js.map +1 -1
- package/build/components/FilterNav/FilterNav.d.ts +53 -0
- package/build/components/FilterNav/FilterNav.d.ts.map +1 -0
- package/build/components/FilterNav/FilterNav.js +39 -0
- package/build/components/FilterNav/FilterNav.js.map +1 -0
- package/build/components/FilterNav/FilterNav.styles.d.ts +10 -0
- package/build/components/FilterNav/FilterNav.styles.d.ts.map +1 -0
- package/build/components/FilterNav/FilterNav.styles.js +11 -0
- package/build/components/FilterNav/FilterNav.styles.js.map +1 -0
- package/build/components/FilterNav/index.d.ts +3 -0
- package/build/components/FilterNav/index.d.ts.map +1 -0
- package/build/components/FilterNav/index.js +2 -0
- package/build/components/FilterNav/index.js.map +1 -0
- package/build/components/ImgPicker/ImgPicker.d.ts +47 -0
- package/build/components/ImgPicker/ImgPicker.d.ts.map +1 -0
- package/build/components/ImgPicker/ImgPicker.js +49 -0
- package/build/components/ImgPicker/ImgPicker.js.map +1 -0
- package/build/components/ImgPicker/ImgPicker.styles.d.ts +18 -0
- package/build/components/ImgPicker/ImgPicker.styles.d.ts.map +1 -0
- package/build/components/ImgPicker/ImgPicker.styles.js +19 -0
- package/build/components/ImgPicker/ImgPicker.styles.js.map +1 -0
- package/build/components/ImgPicker/index.d.ts +3 -0
- package/build/components/ImgPicker/index.d.ts.map +1 -0
- package/build/components/ImgPicker/index.js +2 -0
- package/build/components/ImgPicker/index.js.map +1 -0
- package/build/components/InlineInfo/InlineInfo.d.ts +60 -0
- package/build/components/InlineInfo/InlineInfo.d.ts.map +1 -0
- package/build/components/InlineInfo/InlineInfo.js +115 -0
- package/build/components/InlineInfo/InlineInfo.js.map +1 -0
- package/build/components/InlineInfo/InlineInfo.styles.d.ts +42 -0
- package/build/components/InlineInfo/InlineInfo.styles.d.ts.map +1 -0
- package/build/components/InlineInfo/InlineInfo.styles.js +50 -0
- package/build/components/InlineInfo/InlineInfo.styles.js.map +1 -0
- package/build/components/InlineInfo/index.d.ts +3 -0
- package/build/components/InlineInfo/index.d.ts.map +1 -0
- package/build/components/InlineInfo/index.js +2 -0
- package/build/components/InlineInfo/index.js.map +1 -0
- package/build/components/Input/Input.d.ts +57 -0
- package/build/components/Input/Input.d.ts.map +1 -0
- package/build/components/Input/Input.js +103 -0
- package/build/components/Input/Input.js.map +1 -0
- package/build/components/Input/Input.styles.d.ts +39 -0
- package/build/components/Input/Input.styles.d.ts.map +1 -0
- package/build/components/Input/Input.styles.js +40 -0
- package/build/components/Input/Input.styles.js.map +1 -0
- package/build/components/Input/index.d.ts +3 -0
- package/build/components/Input/index.d.ts.map +1 -0
- package/build/components/Input/index.js +2 -0
- package/build/components/Input/index.js.map +1 -0
- package/build/components/ListGroup/ListGroup.d.ts +24 -0
- package/build/components/ListGroup/ListGroup.d.ts.map +1 -0
- package/build/components/ListGroup/ListGroup.js +44 -0
- package/build/components/ListGroup/ListGroup.js.map +1 -0
- package/build/components/ListGroup/index.d.ts +3 -0
- package/build/components/ListGroup/index.d.ts.map +1 -0
- package/build/components/ListGroup/index.js +2 -0
- package/build/components/ListGroup/index.js.map +1 -0
- package/build/components/ListItem/ListItem.d.ts +44 -0
- package/build/components/ListItem/ListItem.d.ts.map +1 -0
- package/build/components/ListItem/ListItem.js +69 -0
- package/build/components/ListItem/ListItem.js.map +1 -0
- package/build/components/ListItem/ListItem.styles.d.ts +66 -0
- package/build/components/ListItem/ListItem.styles.d.ts.map +1 -0
- package/build/components/ListItem/ListItem.styles.js +70 -0
- package/build/components/ListItem/ListItem.styles.js.map +1 -0
- package/build/components/ListItem/index.d.ts +3 -0
- package/build/components/ListItem/index.d.ts.map +1 -0
- package/build/components/ListItem/index.js +2 -0
- package/build/components/ListItem/index.js.map +1 -0
- package/build/components/MapPin/MapPin.d.ts +61 -0
- package/build/components/MapPin/MapPin.d.ts.map +1 -0
- package/build/components/MapPin/MapPin.js +118 -0
- package/build/components/MapPin/MapPin.js.map +1 -0
- package/build/components/MapPin/MapPin.styles.d.ts +93 -0
- package/build/components/MapPin/MapPin.styles.d.ts.map +1 -0
- package/build/components/MapPin/MapPin.styles.js +101 -0
- package/build/components/MapPin/MapPin.styles.js.map +1 -0
- package/build/components/MapPin/index.d.ts +3 -0
- package/build/components/MapPin/index.d.ts.map +1 -0
- package/build/components/MapPin/index.js +2 -0
- package/build/components/MapPin/index.js.map +1 -0
- package/build/components/MediaPicker/MediaPicker.d.ts +74 -0
- package/build/components/MediaPicker/MediaPicker.d.ts.map +1 -0
- package/build/components/MediaPicker/MediaPicker.js +43 -0
- package/build/components/MediaPicker/MediaPicker.js.map +1 -0
- package/build/components/MediaPicker/MediaPicker.styles.d.ts +30 -0
- package/build/components/MediaPicker/MediaPicker.styles.d.ts.map +1 -0
- package/build/components/MediaPicker/MediaPicker.styles.js +31 -0
- package/build/components/MediaPicker/MediaPicker.styles.js.map +1 -0
- package/build/components/MediaPicker/index.d.ts +3 -0
- package/build/components/MediaPicker/index.d.ts.map +1 -0
- package/build/components/MediaPicker/index.js +2 -0
- package/build/components/MediaPicker/index.js.map +1 -0
- package/build/components/PhotoCard/PhotoCard.d.ts +28 -0
- package/build/components/PhotoCard/PhotoCard.d.ts.map +1 -0
- package/build/components/PhotoCard/PhotoCard.js +53 -0
- package/build/components/PhotoCard/PhotoCard.js.map +1 -0
- package/build/components/PhotoCard/PhotoCard.styles.d.ts +47 -0
- package/build/components/PhotoCard/PhotoCard.styles.d.ts.map +1 -0
- package/build/components/PhotoCard/PhotoCard.styles.js +45 -0
- package/build/components/PhotoCard/PhotoCard.styles.js.map +1 -0
- package/build/components/PhotoCard/index.d.ts +3 -0
- package/build/components/PhotoCard/index.d.ts.map +1 -0
- package/build/components/PhotoCard/index.js +2 -0
- package/build/components/PhotoCard/index.js.map +1 -0
- package/build/components/ProgressStep/ProgressStep.d.ts +9 -0
- package/build/components/ProgressStep/ProgressStep.d.ts.map +1 -0
- package/build/components/ProgressStep/ProgressStep.js +23 -0
- package/build/components/ProgressStep/ProgressStep.js.map +1 -0
- package/build/components/ProgressStep/ProgressStep.styles.d.ts +12 -0
- package/build/components/ProgressStep/ProgressStep.styles.d.ts.map +1 -0
- package/build/components/ProgressStep/ProgressStep.styles.js +13 -0
- package/build/components/ProgressStep/ProgressStep.styles.js.map +1 -0
- package/build/components/ProgressStep/index.d.ts +3 -0
- package/build/components/ProgressStep/index.d.ts.map +1 -0
- package/build/components/ProgressStep/index.js +2 -0
- package/build/components/ProgressStep/index.js.map +1 -0
- package/build/components/RadioButton/RadioButton.d.ts +29 -0
- package/build/components/RadioButton/RadioButton.d.ts.map +1 -0
- package/build/components/RadioButton/RadioButton.js +71 -0
- package/build/components/RadioButton/RadioButton.js.map +1 -0
- package/build/components/RadioButton/RadioButton.styles.d.ts +27 -0
- package/build/components/RadioButton/RadioButton.styles.d.ts.map +1 -0
- package/build/components/RadioButton/RadioButton.styles.js +30 -0
- package/build/components/RadioButton/RadioButton.styles.js.map +1 -0
- package/build/components/RadioButton/index.d.ts +3 -0
- package/build/components/RadioButton/index.d.ts.map +1 -0
- package/build/components/RadioButton/index.js +2 -0
- package/build/components/RadioButton/index.js.map +1 -0
- package/build/components/SearchBar/SearchBar.d.ts +33 -0
- package/build/components/SearchBar/SearchBar.d.ts.map +1 -0
- package/build/components/SearchBar/SearchBar.js +83 -0
- package/build/components/SearchBar/SearchBar.js.map +1 -0
- package/build/components/SearchBar/SearchBar.styles.d.ts +19 -0
- package/build/components/SearchBar/SearchBar.styles.d.ts.map +1 -0
- package/build/components/SearchBar/SearchBar.styles.js +21 -0
- package/build/components/SearchBar/SearchBar.styles.js.map +1 -0
- package/build/components/SearchBar/index.d.ts +3 -0
- package/build/components/SearchBar/index.d.ts.map +1 -0
- package/build/components/SearchBar/index.js +2 -0
- package/build/components/SearchBar/index.js.map +1 -0
- package/build/components/Spinner/Spinner.d.ts +12 -0
- package/build/components/Spinner/Spinner.d.ts.map +1 -0
- package/build/components/Spinner/Spinner.js +80 -0
- package/build/components/Spinner/Spinner.js.map +1 -0
- package/build/components/Spinner/Spinner.styles.d.ts +21 -0
- package/build/components/Spinner/Spinner.styles.d.ts.map +1 -0
- package/build/components/Spinner/Spinner.styles.js +22 -0
- package/build/components/Spinner/Spinner.styles.js.map +1 -0
- package/build/components/Spinner/index.d.ts +3 -0
- package/build/components/Spinner/index.d.ts.map +1 -0
- package/build/components/Spinner/index.js +2 -0
- package/build/components/Spinner/index.js.map +1 -0
- package/build/components/StepSheet/StepSheet.d.ts +77 -0
- package/build/components/StepSheet/StepSheet.d.ts.map +1 -0
- package/build/components/StepSheet/StepSheet.js +30 -0
- package/build/components/StepSheet/StepSheet.js.map +1 -0
- package/build/components/StepSheet/StepSheet.styles.d.ts +6 -0
- package/build/components/StepSheet/StepSheet.styles.d.ts.map +1 -0
- package/build/components/StepSheet/StepSheet.styles.js +7 -0
- package/build/components/StepSheet/StepSheet.styles.js.map +1 -0
- package/build/components/StepSheet/index.d.ts +3 -0
- package/build/components/StepSheet/index.d.ts.map +1 -0
- package/build/components/StepSheet/index.js +2 -0
- package/build/components/StepSheet/index.js.map +1 -0
- package/build/components/Stepper/Stepper.d.ts +50 -0
- package/build/components/Stepper/Stepper.d.ts.map +1 -0
- package/build/components/Stepper/Stepper.js +48 -0
- package/build/components/Stepper/Stepper.js.map +1 -0
- package/build/components/Stepper/Stepper.styles.d.ts +27 -0
- package/build/components/Stepper/Stepper.styles.d.ts.map +1 -0
- package/build/components/Stepper/Stepper.styles.js +28 -0
- package/build/components/Stepper/Stepper.styles.js.map +1 -0
- package/build/components/Stepper/index.d.ts +3 -0
- package/build/components/Stepper/index.d.ts.map +1 -0
- package/build/components/Stepper/index.js +2 -0
- package/build/components/Stepper/index.js.map +1 -0
- package/build/components/Switch/Switch.d.ts +29 -0
- package/build/components/Switch/Switch.d.ts.map +1 -0
- package/build/components/Switch/Switch.js +89 -0
- package/build/components/Switch/Switch.js.map +1 -0
- package/build/components/Switch/Switch.styles.d.ts +29 -0
- package/build/components/Switch/Switch.styles.d.ts.map +1 -0
- package/build/components/Switch/Switch.styles.js +26 -0
- package/build/components/Switch/Switch.styles.js.map +1 -0
- package/build/components/Switch/index.d.ts +3 -0
- package/build/components/Switch/index.d.ts.map +1 -0
- package/build/components/Switch/index.js +2 -0
- package/build/components/Switch/index.js.map +1 -0
- package/build/components/Tab/Tab.d.ts +52 -0
- package/build/components/Tab/Tab.d.ts.map +1 -0
- package/build/components/Tab/Tab.js +121 -0
- package/build/components/Tab/Tab.js.map +1 -0
- package/build/components/Tab/Tab.styles.d.ts +55 -0
- package/build/components/Tab/Tab.styles.d.ts.map +1 -0
- package/build/components/Tab/Tab.styles.js +60 -0
- package/build/components/Tab/Tab.styles.js.map +1 -0
- package/build/components/Tab/index.d.ts +3 -0
- package/build/components/Tab/index.d.ts.map +1 -0
- package/build/components/Tab/index.js +2 -0
- package/build/components/Tab/index.js.map +1 -0
- package/build/components/Tag/Tag.d.ts +4 -0
- package/build/components/Tag/Tag.d.ts.map +1 -0
- package/build/components/Tag/Tag.js +40 -0
- package/build/components/Tag/Tag.js.map +1 -0
- package/build/components/Tag/Tag.styles.d.ts +35 -0
- package/build/components/Tag/Tag.styles.d.ts.map +1 -0
- package/build/components/Tag/Tag.styles.js +43 -0
- package/build/components/Tag/Tag.styles.js.map +1 -0
- package/build/components/Tag/Tag.types.d.ts +23 -0
- package/build/components/Tag/Tag.types.d.ts.map +1 -0
- package/build/components/Tag/Tag.types.js +2 -0
- package/build/components/Tag/Tag.types.js.map +1 -0
- package/build/components/Tag/index.d.ts +3 -0
- package/build/components/Tag/index.d.ts.map +1 -0
- package/build/components/Tag/index.js +2 -0
- package/build/components/Tag/index.js.map +1 -0
- package/build/components/navigation/GeneralNav/GeneralNav.d.ts +21 -0
- package/build/components/navigation/GeneralNav/GeneralNav.d.ts.map +1 -0
- package/build/components/navigation/GeneralNav/GeneralNav.js +25 -0
- package/build/components/navigation/GeneralNav/GeneralNav.js.map +1 -0
- package/build/components/navigation/GeneralNav/GeneralNav.styles.d.ts +33 -0
- package/build/components/navigation/GeneralNav/GeneralNav.styles.d.ts.map +1 -0
- package/build/components/navigation/GeneralNav/GeneralNav.styles.js +35 -0
- package/build/components/navigation/GeneralNav/GeneralNav.styles.js.map +1 -0
- package/build/components/navigation/GeneralNav/index.d.ts +3 -0
- package/build/components/navigation/GeneralNav/index.d.ts.map +1 -0
- package/build/components/navigation/GeneralNav/index.js +2 -0
- package/build/components/navigation/GeneralNav/index.js.map +1 -0
- package/build/components/navigation/MobileCanva/MobileCanva.d.ts +11 -0
- package/build/components/navigation/MobileCanva/MobileCanva.d.ts.map +1 -0
- package/build/components/navigation/MobileCanva/MobileCanva.js +45 -0
- package/build/components/navigation/MobileCanva/MobileCanva.js.map +1 -0
- package/build/components/navigation/MobileCanva/MobileCanva.styles.d.ts +93 -0
- package/build/components/navigation/MobileCanva/MobileCanva.styles.d.ts.map +1 -0
- package/build/components/navigation/MobileCanva/MobileCanva.styles.js +94 -0
- package/build/components/navigation/MobileCanva/MobileCanva.styles.js.map +1 -0
- package/build/components/navigation/MobileCanva/MobileCanva.types.d.ts +21 -0
- package/build/components/navigation/MobileCanva/MobileCanva.types.d.ts.map +1 -0
- package/build/components/navigation/MobileCanva/MobileCanva.types.js +2 -0
- package/build/components/navigation/MobileCanva/MobileCanva.types.js.map +1 -0
- package/build/components/navigation/MobileCanva/index.d.ts +3 -0
- package/build/components/navigation/MobileCanva/index.d.ts.map +1 -0
- package/build/components/navigation/MobileCanva/index.js +2 -0
- package/build/components/navigation/MobileCanva/index.js.map +1 -0
- package/build/components/navigation/PageNav/PageNav.d.ts +46 -0
- package/build/components/navigation/PageNav/PageNav.d.ts.map +1 -0
- package/build/components/navigation/PageNav/PageNav.js +48 -0
- package/build/components/navigation/PageNav/PageNav.js.map +1 -0
- package/build/components/navigation/PageNav/PageNav.styles.d.ts +60 -0
- package/build/components/navigation/PageNav/PageNav.styles.d.ts.map +1 -0
- package/build/components/navigation/PageNav/PageNav.styles.js +60 -0
- package/build/components/navigation/PageNav/PageNav.styles.js.map +1 -0
- package/build/components/navigation/PageNav/index.d.ts +3 -0
- package/build/components/navigation/PageNav/index.d.ts.map +1 -0
- package/build/components/navigation/PageNav/index.js +2 -0
- package/build/components/navigation/PageNav/index.js.map +1 -0
- package/build/components/navigation/TabBar/TabBar.d.ts +22 -0
- package/build/components/navigation/TabBar/TabBar.d.ts.map +1 -0
- package/build/components/navigation/TabBar/TabBar.js +13 -0
- package/build/components/navigation/TabBar/TabBar.js.map +1 -0
- package/build/components/navigation/TabBar/TabBar.styles.d.ts +14 -0
- package/build/components/navigation/TabBar/TabBar.styles.d.ts.map +1 -0
- package/build/components/navigation/TabBar/TabBar.styles.js +16 -0
- package/build/components/navigation/TabBar/TabBar.styles.js.map +1 -0
- package/build/components/navigation/TabBar/index.d.ts +3 -0
- package/build/components/navigation/TabBar/index.d.ts.map +1 -0
- package/build/components/navigation/TabBar/index.js +2 -0
- package/build/components/navigation/TabBar/index.js.map +1 -0
- package/build/context/BottomSheetContext.d.ts +42 -0
- package/build/context/BottomSheetContext.d.ts.map +1 -0
- package/build/context/BottomSheetContext.js +51 -0
- package/build/context/BottomSheetContext.js.map +1 -0
- package/build/context/ThemeContext.d.ts +5 -1
- package/build/context/ThemeContext.d.ts.map +1 -1
- package/build/context/ThemeContext.js +4 -2
- package/build/context/ThemeContext.js.map +1 -1
- package/build/index.d.ts +77 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +38 -0
- package/build/index.js.map +1 -1
- package/build/theme/tokens/dark.d.ts.map +1 -1
- package/build/theme/tokens/dark.js +263 -10
- package/build/theme/tokens/dark.js.map +1 -1
- package/build/theme/tokens/light.d.ts.map +1 -1
- package/build/theme/tokens/light.js +252 -7
- package/build/theme/tokens/light.js.map +1 -1
- package/build/theme/type.d.ts +398 -0
- package/build/theme/type.d.ts.map +1 -1
- package/build/theme/type.js.map +1 -1
- package/package.json +8 -5
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ListItem — flexible list row with optional leading/trailing slots.
|
|
3
|
+
*
|
|
4
|
+
* Variants:
|
|
5
|
+
* - 'default' → interactive row (48px min-height)
|
|
6
|
+
* - 'section' → group header label (40px min-height, uppercase)
|
|
7
|
+
*
|
|
8
|
+
* States: default, selected (warm background + radius 12), disabled (muted).
|
|
9
|
+
* Controlled: pass `selected` to mark a row, `onPress` to make it tappable.
|
|
10
|
+
*/
|
|
11
|
+
import React from 'react';
|
|
12
|
+
import { Pressable, Text, View, } from 'react-native';
|
|
13
|
+
import { useTheme } from '../../context/ThemeContext';
|
|
14
|
+
import { styles } from './ListItem.styles';
|
|
15
|
+
// ---------------------------------------------------------------------------
|
|
16
|
+
// Component
|
|
17
|
+
// ---------------------------------------------------------------------------
|
|
18
|
+
export const ListItem = ({ primaryLabel, label, sublabel, leading, tag, trailing, selected = false, disabled = false, divider = false, variant = 'default', onPress, style, testID, accessibilityLabel, }) => {
|
|
19
|
+
const { colors, fontFamily } = useTheme();
|
|
20
|
+
const li = colors.listItem;
|
|
21
|
+
// -- Section header variant
|
|
22
|
+
if (variant === 'section') {
|
|
23
|
+
return (<View style={[styles.itemGap, styles.sectionContainer, style]} testID={testID}>
|
|
24
|
+
<Text style={[styles.sectionLabel, { color: li.section.label, fontFamily }]}>
|
|
25
|
+
{label?.toUpperCase() ?? ''}
|
|
26
|
+
</Text>
|
|
27
|
+
</View>);
|
|
28
|
+
}
|
|
29
|
+
// -- Text colors
|
|
30
|
+
const labelColor = disabled ? li.disabled.label : li.default.label;
|
|
31
|
+
const sublabelColor = disabled ? li.disabled.sublabel : li.default.sublabel;
|
|
32
|
+
// -- Row content (shared between Pressable and plain View)
|
|
33
|
+
const rowContent = (<View style={styles.row}>
|
|
34
|
+
{leading != null && (<View style={[styles.slot, disabled && styles.disabledSlot]}>{leading}</View>)}
|
|
35
|
+
{primaryLabel != null && (<Text style={[styles.labelLarge, { color: labelColor, fontFamily, flex: (label == null && sublabel == null) ? 1 : 0 }]} numberOfLines={1}>
|
|
36
|
+
{primaryLabel}
|
|
37
|
+
</Text>)}
|
|
38
|
+
{(label != null || sublabel != null) && (<View style={styles.textStack}>
|
|
39
|
+
{label != null && (<Text style={[styles.labelSmall, { color: labelColor, fontFamily }]} numberOfLines={1}>
|
|
40
|
+
{label}
|
|
41
|
+
</Text>)}
|
|
42
|
+
{sublabel != null && (<Text style={[styles.sublabel, { color: sublabelColor, fontFamily }]} numberOfLines={1}>
|
|
43
|
+
{sublabel}
|
|
44
|
+
</Text>)}
|
|
45
|
+
</View>)}
|
|
46
|
+
{tag != null && (<View style={[styles.tagWrapper, (label == null && sublabel == null && primaryLabel == null) && styles.tagWrapperFlex]}>
|
|
47
|
+
{tag}
|
|
48
|
+
</View>)}
|
|
49
|
+
{trailing != null && (<View style={[styles.slot, disabled && styles.disabledSlot]}>{trailing}</View>)}
|
|
50
|
+
</View>);
|
|
51
|
+
const selectedBg = { backgroundColor: li.pressedBackground, borderRadius: 12 };
|
|
52
|
+
// -- Non-interactive (no onPress or disabled)
|
|
53
|
+
if (!onPress || disabled) {
|
|
54
|
+
return (<View style={[styles.itemGap, selected && selectedBg, style]} testID={testID}>
|
|
55
|
+
{rowContent}
|
|
56
|
+
{divider && <View style={[styles.divider, { backgroundColor: li.divider }]}/>}
|
|
57
|
+
</View>);
|
|
58
|
+
}
|
|
59
|
+
// -- Interactive
|
|
60
|
+
return (<Pressable onPress={onPress} accessibilityRole="button" accessibilityLabel={accessibilityLabel ?? label} accessibilityState={{ selected, disabled: false }} style={({ pressed }) => [
|
|
61
|
+
styles.itemGap,
|
|
62
|
+
(selected || pressed) && selectedBg,
|
|
63
|
+
style,
|
|
64
|
+
]} testID={testID}>
|
|
65
|
+
{rowContent}
|
|
66
|
+
{divider && <View style={[styles.divider, { backgroundColor: li.divider }]}/>}
|
|
67
|
+
</Pressable>);
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=ListItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListItem.js","sourceRoot":"","sources":["../../../src/components/ListItem/ListItem.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * ListItem — flexible list row with optional leading/trailing slots.\n *\n * Variants:\n * - 'default' → interactive row (48px min-height)\n * - 'section' → group header label (40px min-height, uppercase)\n *\n * States: default, selected (warm background + radius 12), disabled (muted).\n * Controlled: pass `selected` to mark a row, `onPress` to make it tappable.\n */\nimport React from 'react';\nimport {\n Pressable,\n Text,\n View,\n} from 'react-native';\nimport type { StyleProp, ViewStyle } from 'react-native';\nimport { useTheme } from '../../context/ThemeContext';\nimport { styles } from './ListItem.styles';\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\nexport interface ListItemProps {\n /** Primary label — largest text (18 px, 600), rendered above label and sublabel */\n primaryLabel?: string;\n /** Main label text — optional when tag is used alone */\n label?: string;\n /** Secondary text below label — shrinks label to 14 px when present */\n sublabel?: string;\n /** Left slot — Phosphor icon, avatar, or any ReactNode */\n leading?: React.ReactNode;\n /** Tag displayed after the label/sublabel — appears at the far left when no leading/label/sublabel */\n tag?: React.ReactNode;\n /** Right slot — icon, value text, or any ReactNode */\n trailing?: React.ReactNode;\n /** Highlights the row with a warm pressed background and border-radius */\n selected?: boolean;\n /** Disables interaction and mutes text + slots */\n disabled?: boolean;\n /** Renders a hairline divider below the row */\n divider?: boolean;\n /** 'default' = interactive row | 'section' = group header */\n variant?: 'default' | 'section';\n /** Called when the row is pressed — omit to render a non-interactive row */\n onPress?: () => void;\n /** Additional style applied to the row container */\n style?: StyleProp<ViewStyle>;\n /** Test identifier for automated testing */\n testID?: string;\n /** Accessibility label for screen readers — defaults to label when omitted */\n accessibilityLabel?: string;\n}\n\n// ---------------------------------------------------------------------------\n// Component\n// ---------------------------------------------------------------------------\n\nexport const ListItem = ({\n primaryLabel,\n label,\n sublabel,\n leading,\n tag,\n trailing,\n selected = false,\n disabled = false,\n divider = false,\n variant = 'default',\n onPress,\n style,\n testID,\n accessibilityLabel,\n}: ListItemProps) => {\n const { colors, fontFamily } = useTheme();\n const li = colors.listItem;\n\n // -- Section header variant\n if (variant === 'section') {\n return (\n <View style={[styles.itemGap, styles.sectionContainer, style]} testID={testID}>\n <Text style={[styles.sectionLabel, { color: li.section.label, fontFamily }]}>\n {label?.toUpperCase() ?? ''}\n </Text>\n </View>\n );\n }\n\n // -- Text colors\n const labelColor = disabled ? li.disabled.label : li.default.label;\n const sublabelColor = disabled ? li.disabled.sublabel : li.default.sublabel;\n\n // -- Row content (shared between Pressable and plain View)\n const rowContent = (\n <View style={styles.row}>\n {leading != null && (\n <View style={[styles.slot, disabled && styles.disabledSlot]}>{leading}</View>\n )}\n {primaryLabel != null && (\n <Text\n style={[styles.labelLarge, { color: labelColor, fontFamily, flex: (label == null && sublabel == null) ? 1 : 0 }]}\n numberOfLines={1}\n >\n {primaryLabel}\n </Text>\n )}\n {(label != null || sublabel != null) && (\n <View style={styles.textStack}>\n {label != null && (\n <Text style={[styles.labelSmall, { color: labelColor, fontFamily }]} numberOfLines={1}>\n {label}\n </Text>\n )}\n {sublabel != null && (\n <Text style={[styles.sublabel, { color: sublabelColor, fontFamily }]} numberOfLines={1}>\n {sublabel}\n </Text>\n )}\n </View>\n )}\n {tag != null && (\n <View style={[styles.tagWrapper, (label == null && sublabel == null && primaryLabel == null) && styles.tagWrapperFlex]}>\n {tag}\n </View>\n )}\n {trailing != null && (\n <View style={[styles.slot, disabled && styles.disabledSlot]}>{trailing}</View>\n )}\n </View>\n );\n\n const selectedBg = { backgroundColor: li.pressedBackground, borderRadius: 12 };\n\n // -- Non-interactive (no onPress or disabled)\n if (!onPress || disabled) {\n return (\n <View style={[styles.itemGap, selected && selectedBg, style]} testID={testID}>\n {rowContent}\n {divider && <View style={[styles.divider, { backgroundColor: li.divider }]} />}\n </View>\n );\n }\n\n // -- Interactive\n return (\n <Pressable\n onPress={onPress}\n accessibilityRole=\"button\"\n accessibilityLabel={accessibilityLabel ?? label}\n accessibilityState={{ selected, disabled: false }}\n style={({ pressed }) => [\n styles.itemGap,\n (selected || pressed) && selectedBg,\n style,\n ]}\n testID={testID}\n >\n {rowContent}\n {divider && <View style={[styles.divider, { backgroundColor: li.divider }]} />}\n </Pressable>\n );\n};\n\n"]}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
export declare const styles: {
|
|
2
|
+
itemGap: {
|
|
3
|
+
marginBottom: number;
|
|
4
|
+
};
|
|
5
|
+
row: {
|
|
6
|
+
flexDirection: "row";
|
|
7
|
+
alignItems: "center";
|
|
8
|
+
minHeight: number;
|
|
9
|
+
paddingHorizontal: number;
|
|
10
|
+
paddingVertical: number;
|
|
11
|
+
gap: number;
|
|
12
|
+
};
|
|
13
|
+
textStack: {
|
|
14
|
+
flex: number;
|
|
15
|
+
gap: number;
|
|
16
|
+
};
|
|
17
|
+
tagWrapper: {
|
|
18
|
+
alignSelf: "center";
|
|
19
|
+
};
|
|
20
|
+
tagWrapperFlex: {
|
|
21
|
+
flex: number;
|
|
22
|
+
};
|
|
23
|
+
labelLarge: {
|
|
24
|
+
fontFamily: string;
|
|
25
|
+
fontSize: number;
|
|
26
|
+
fontWeight: "600";
|
|
27
|
+
lineHeight: number;
|
|
28
|
+
};
|
|
29
|
+
labelSmall: {
|
|
30
|
+
fontFamily: string;
|
|
31
|
+
fontSize: number;
|
|
32
|
+
fontWeight: "600";
|
|
33
|
+
lineHeight: number;
|
|
34
|
+
};
|
|
35
|
+
sublabel: {
|
|
36
|
+
fontFamily: string;
|
|
37
|
+
fontSize: number;
|
|
38
|
+
fontWeight: "400";
|
|
39
|
+
lineHeight: number;
|
|
40
|
+
};
|
|
41
|
+
slot: {
|
|
42
|
+
alignItems: "center";
|
|
43
|
+
justifyContent: "center";
|
|
44
|
+
};
|
|
45
|
+
disabledSlot: {
|
|
46
|
+
opacity: number;
|
|
47
|
+
};
|
|
48
|
+
divider: {
|
|
49
|
+
height: number;
|
|
50
|
+
marginHorizontal: number;
|
|
51
|
+
};
|
|
52
|
+
sectionContainer: {
|
|
53
|
+
minHeight: number;
|
|
54
|
+
paddingHorizontal: number;
|
|
55
|
+
paddingVertical: number;
|
|
56
|
+
justifyContent: "center";
|
|
57
|
+
};
|
|
58
|
+
sectionLabel: {
|
|
59
|
+
fontFamily: string;
|
|
60
|
+
fontSize: number;
|
|
61
|
+
fontWeight: "600";
|
|
62
|
+
lineHeight: number;
|
|
63
|
+
letterSpacing: number;
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=ListItem.styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListItem.styles.d.ts","sourceRoot":"","sources":["../../../src/components/ListItem/ListItem.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqEjB,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { StyleSheet } from 'react-native';
|
|
2
|
+
export const styles = StyleSheet.create({
|
|
3
|
+
// -- Outer gap between items
|
|
4
|
+
itemGap: {
|
|
5
|
+
marginBottom: 4,
|
|
6
|
+
},
|
|
7
|
+
// -- Default row (inner layout)
|
|
8
|
+
row: {
|
|
9
|
+
flexDirection: 'row',
|
|
10
|
+
alignItems: 'center',
|
|
11
|
+
minHeight: 48,
|
|
12
|
+
paddingHorizontal: 12,
|
|
13
|
+
paddingVertical: 12,
|
|
14
|
+
gap: 12,
|
|
15
|
+
},
|
|
16
|
+
textStack: {
|
|
17
|
+
flex: 1,
|
|
18
|
+
gap: 2,
|
|
19
|
+
},
|
|
20
|
+
tagWrapper: {
|
|
21
|
+
alignSelf: 'center',
|
|
22
|
+
},
|
|
23
|
+
tagWrapperFlex: {
|
|
24
|
+
flex: 1,
|
|
25
|
+
},
|
|
26
|
+
labelLarge: {
|
|
27
|
+
fontFamily: 'Urbanist',
|
|
28
|
+
fontSize: 18,
|
|
29
|
+
fontWeight: '600',
|
|
30
|
+
lineHeight: 26,
|
|
31
|
+
},
|
|
32
|
+
labelSmall: {
|
|
33
|
+
fontFamily: 'Urbanist',
|
|
34
|
+
fontSize: 14,
|
|
35
|
+
fontWeight: '600',
|
|
36
|
+
lineHeight: 20,
|
|
37
|
+
},
|
|
38
|
+
sublabel: {
|
|
39
|
+
fontFamily: 'Urbanist',
|
|
40
|
+
fontSize: 12,
|
|
41
|
+
fontWeight: '400',
|
|
42
|
+
lineHeight: 16,
|
|
43
|
+
},
|
|
44
|
+
slot: {
|
|
45
|
+
alignItems: 'center',
|
|
46
|
+
justifyContent: 'center',
|
|
47
|
+
},
|
|
48
|
+
disabledSlot: {
|
|
49
|
+
opacity: 0.4,
|
|
50
|
+
},
|
|
51
|
+
divider: {
|
|
52
|
+
height: StyleSheet.hairlineWidth,
|
|
53
|
+
marginHorizontal: 12,
|
|
54
|
+
},
|
|
55
|
+
// -- Section header
|
|
56
|
+
sectionContainer: {
|
|
57
|
+
minHeight: 40,
|
|
58
|
+
paddingHorizontal: 12,
|
|
59
|
+
paddingVertical: 8,
|
|
60
|
+
justifyContent: 'center',
|
|
61
|
+
},
|
|
62
|
+
sectionLabel: {
|
|
63
|
+
fontFamily: 'Urbanist',
|
|
64
|
+
fontSize: 12,
|
|
65
|
+
fontWeight: '600',
|
|
66
|
+
lineHeight: 16,
|
|
67
|
+
letterSpacing: 0.8,
|
|
68
|
+
},
|
|
69
|
+
});
|
|
70
|
+
//# sourceMappingURL=ListItem.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListItem.styles.js","sourceRoot":"","sources":["../../../src/components/ListItem/ListItem.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IACtC,6BAA6B;IAC7B,OAAO,EAAE;QACP,YAAY,EAAE,CAAC;KAChB;IAED,gCAAgC;IAChC,GAAG,EAAE;QACH,aAAa,EAAM,KAAK;QACxB,UAAU,EAAS,QAAQ;QAC3B,SAAS,EAAU,EAAE;QACrB,iBAAiB,EAAE,EAAE;QACrB,eAAe,EAAI,EAAE;QACrB,GAAG,EAAgB,EAAE;KACtB;IACD,SAAS,EAAE;QACT,IAAI,EAAE,CAAC;QACP,GAAG,EAAG,CAAC;KACR;IACD,UAAU,EAAE;QACV,SAAS,EAAE,QAAQ;KACpB;IACD,cAAc,EAAE;QACd,IAAI,EAAE,CAAC;KACR;IACD,UAAU,EAAE;QACV,UAAU,EAAE,UAAU;QACtB,QAAQ,EAAI,EAAE;QACd,UAAU,EAAE,KAAK;QACjB,UAAU,EAAE,EAAE;KACf;IACD,UAAU,EAAE;QACV,UAAU,EAAE,UAAU;QACtB,QAAQ,EAAI,EAAE;QACd,UAAU,EAAE,KAAK;QACjB,UAAU,EAAE,EAAE;KACf;IACD,QAAQ,EAAE;QACR,UAAU,EAAE,UAAU;QACtB,QAAQ,EAAI,EAAE;QACd,UAAU,EAAE,KAAK;QACjB,UAAU,EAAE,EAAE;KACf;IACD,IAAI,EAAE;QACJ,UAAU,EAAM,QAAQ;QACxB,cAAc,EAAE,QAAQ;KACzB;IACD,YAAY,EAAE;QACZ,OAAO,EAAE,GAAG;KACb;IACD,OAAO,EAAE;QACP,MAAM,EAAY,UAAU,CAAC,aAAa;QAC1C,gBAAgB,EAAE,EAAE;KACrB;IAED,oBAAoB;IACpB,gBAAgB,EAAE;QAChB,SAAS,EAAU,EAAE;QACrB,iBAAiB,EAAE,EAAE;QACrB,eAAe,EAAI,CAAC;QACpB,cAAc,EAAK,QAAQ;KAC5B;IACD,YAAY,EAAE;QACZ,UAAU,EAAK,UAAU;QACzB,QAAQ,EAAO,EAAE;QACjB,UAAU,EAAK,KAAK;QACpB,UAAU,EAAK,EAAE;QACjB,aAAa,EAAE,GAAG;KACnB;CACF,CAAC,CAAC","sourcesContent":["import { StyleSheet } from 'react-native';\n\nexport const styles = StyleSheet.create({\n // -- Outer gap between items\n itemGap: {\n marginBottom: 4,\n },\n\n // -- Default row (inner layout)\n row: {\n flexDirection: 'row',\n alignItems: 'center',\n minHeight: 48,\n paddingHorizontal: 12,\n paddingVertical: 12,\n gap: 12,\n },\n textStack: {\n flex: 1,\n gap: 2,\n },\n tagWrapper: {\n alignSelf: 'center',\n },\n tagWrapperFlex: {\n flex: 1,\n },\n labelLarge: {\n fontFamily: 'Urbanist',\n fontSize: 18,\n fontWeight: '600',\n lineHeight: 26,\n },\n labelSmall: {\n fontFamily: 'Urbanist',\n fontSize: 14,\n fontWeight: '600',\n lineHeight: 20,\n },\n sublabel: {\n fontFamily: 'Urbanist',\n fontSize: 12,\n fontWeight: '400',\n lineHeight: 16,\n },\n slot: {\n alignItems: 'center',\n justifyContent: 'center',\n },\n disabledSlot: {\n opacity: 0.4,\n },\n divider: {\n height: StyleSheet.hairlineWidth,\n marginHorizontal: 12,\n },\n\n // -- Section header\n sectionContainer: {\n minHeight: 40,\n paddingHorizontal: 12,\n paddingVertical: 8,\n justifyContent: 'center',\n },\n sectionLabel: {\n fontFamily: 'Urbanist',\n fontSize: 12,\n fontWeight: '600',\n lineHeight: 16,\n letterSpacing: 0.8,\n },\n});"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ListItem/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ListItem/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC","sourcesContent":["export { ListItem } from './ListItem';\nexport type { ListItemProps } from './ListItem';\n"]}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MapPin — custom map marker for Google Maps / react-native-maps.
|
|
3
|
+
*
|
|
4
|
+
* Two layouts:
|
|
5
|
+
* - Simple (no count): circular icon badge + downward pointer tail (24×31px)
|
|
6
|
+
* - Pill (count provided): horizontal pill with icon(s) + count + tail
|
|
7
|
+
*
|
|
8
|
+
* Fully themeable via mapPin tokens. Icons are injected as props — the
|
|
9
|
+
* component clones them to override size and color based on the active state.
|
|
10
|
+
*
|
|
11
|
+
* Usage: render inside a react-native-maps <Marker> component.
|
|
12
|
+
*/
|
|
13
|
+
import React from 'react';
|
|
14
|
+
import type { StyleProp, ViewStyle } from 'react-native';
|
|
15
|
+
export type MapPinState = 'default' | 'focus';
|
|
16
|
+
export type MapPinType = 'default' | 'lost';
|
|
17
|
+
/** Controls the label text style — 'map' for street view (dark text), 'satellite' for aerial view (white text + shadow) */
|
|
18
|
+
export type MapPinLabelVariant = 'map' | 'satellite';
|
|
19
|
+
/**
|
|
20
|
+
* Total rendered height of a MapPin in points (badge 24 + tail 9).
|
|
21
|
+
* Use this to anchor the pin tip to a coordinate:
|
|
22
|
+
* - react-native-maps: <Marker anchor={{ x: 0.5, y: 1 }}>
|
|
23
|
+
* - manual layout: top: targetY - MAP_PIN_HEIGHT, left: targetX - pinWidth / 2
|
|
24
|
+
*/
|
|
25
|
+
export declare const MAP_PIN_HEIGHT = 33;
|
|
26
|
+
/** Width of a simple (non-pill) MapPin. Pill width is variable — measure at runtime. */
|
|
27
|
+
export declare const MAP_PIN_SIMPLE_WIDTH = 24;
|
|
28
|
+
export interface MapPinProps {
|
|
29
|
+
/** Primary icon (Phosphor). Size and color are injected automatically. */
|
|
30
|
+
icon: React.ReactElement;
|
|
31
|
+
/** Pin visual state — 'focus' inverts the badge colors */
|
|
32
|
+
state?: MapPinState;
|
|
33
|
+
/**
|
|
34
|
+
* Pin type — 'lost' uses red accent colors (maintenance / signal lost).
|
|
35
|
+
* Defaults to 'default'.
|
|
36
|
+
*/
|
|
37
|
+
type?: MapPinType;
|
|
38
|
+
/**
|
|
39
|
+
* When provided, switches to pill mode and shows this number.
|
|
40
|
+
* Typically the count of clustered assets.
|
|
41
|
+
*/
|
|
42
|
+
count?: number;
|
|
43
|
+
/** Second icon shown in pill mode (e.g. vehicle type). Optional. */
|
|
44
|
+
secondIcon?: React.ReactElement;
|
|
45
|
+
/** Optional text label displayed to the LEFT of the pin (right-aligned). */
|
|
46
|
+
labelLeft?: string;
|
|
47
|
+
/** Optional text label displayed to the RIGHT of the pin (left-aligned). */
|
|
48
|
+
label?: string;
|
|
49
|
+
/**
|
|
50
|
+
* Style variant for the label text (applies to both labelLeft and label).
|
|
51
|
+
* 'map' (default) = dark text for street map backgrounds.
|
|
52
|
+
* 'satellite' = white text + shadow for aerial/satellite map backgrounds.
|
|
53
|
+
*/
|
|
54
|
+
labelVariant?: MapPinLabelVariant;
|
|
55
|
+
/** Additional style applied to the outermost container */
|
|
56
|
+
style?: StyleProp<ViewStyle>;
|
|
57
|
+
/** Test identifier for automated testing */
|
|
58
|
+
testID?: string;
|
|
59
|
+
}
|
|
60
|
+
export declare const MapPin: ({ icon, state, type, count, secondIcon, labelLeft, label, labelVariant, style, testID, }: MapPinProps) => React.JSX.Element;
|
|
61
|
+
//# sourceMappingURL=MapPin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MapPin.d.ts","sourceRoot":"","sources":["../../../src/components/MapPin/MapPin.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AASzD,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC;AAC9C,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;AAC5C,2HAA2H;AAC3H,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,WAAW,CAAC;AAErD;;;;;GAKG;AACH,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,wFAAwF;AACxF,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,MAAM,WAAW,WAAW;IAC1B,0EAA0E;IAC1E,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC;IACzB,0DAA0D;IAC1D,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB;;;OAGG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oEAAoE;IACpE,UAAU,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;IAChC,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,0DAA0D;IAC1D,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAoDD,eAAO,MAAM,MAAM,GAAI,0FAWpB,WAAW,sBA6Eb,CAAC"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MapPin — custom map marker for Google Maps / react-native-maps.
|
|
3
|
+
*
|
|
4
|
+
* Two layouts:
|
|
5
|
+
* - Simple (no count): circular icon badge + downward pointer tail (24×31px)
|
|
6
|
+
* - Pill (count provided): horizontal pill with icon(s) + count + tail
|
|
7
|
+
*
|
|
8
|
+
* Fully themeable via mapPin tokens. Icons are injected as props — the
|
|
9
|
+
* component clones them to override size and color based on the active state.
|
|
10
|
+
*
|
|
11
|
+
* Usage: render inside a react-native-maps <Marker> component.
|
|
12
|
+
*/
|
|
13
|
+
import React from 'react';
|
|
14
|
+
import { Text, View } from 'react-native';
|
|
15
|
+
import { useTheme } from '../../context/ThemeContext';
|
|
16
|
+
import { styles } from './MapPin.styles';
|
|
17
|
+
/**
|
|
18
|
+
* Total rendered height of a MapPin in points (badge 24 + tail 9).
|
|
19
|
+
* Use this to anchor the pin tip to a coordinate:
|
|
20
|
+
* - react-native-maps: <Marker anchor={{ x: 0.5, y: 1 }}>
|
|
21
|
+
* - manual layout: top: targetY - MAP_PIN_HEIGHT, left: targetX - pinWidth / 2
|
|
22
|
+
*/
|
|
23
|
+
export const MAP_PIN_HEIGHT = 33;
|
|
24
|
+
/** Width of a simple (non-pill) MapPin. Pill width is variable — measure at runtime. */
|
|
25
|
+
export const MAP_PIN_SIMPLE_WIDTH = 24;
|
|
26
|
+
// ---------------------------------------------------------------------------
|
|
27
|
+
// Helpers
|
|
28
|
+
// ---------------------------------------------------------------------------
|
|
29
|
+
const ICON_SIZE = 12;
|
|
30
|
+
const cloneIcon = (el, color) => React.cloneElement(el, {
|
|
31
|
+
size: ICON_SIZE,
|
|
32
|
+
color,
|
|
33
|
+
weight: 'fill',
|
|
34
|
+
});
|
|
35
|
+
// ---------------------------------------------------------------------------
|
|
36
|
+
// Sub-components
|
|
37
|
+
// ---------------------------------------------------------------------------
|
|
38
|
+
/**
|
|
39
|
+
* Downward-pointing triangle tail with a border on all three sides.
|
|
40
|
+
*
|
|
41
|
+
* Three layers:
|
|
42
|
+
* 1. tailBorderTop — 1px × TAIL_WIDTH colored with borderColor → horizontal top edge
|
|
43
|
+
* 2. tailClip — overflow:hidden container (TAIL_WIDTH × TAIL_HEIGHT)
|
|
44
|
+
* 3. tailSquare — TAIL_SQUARE_SIZE square rotated 45°, centered at y=0 of the clip
|
|
45
|
+
* so overflow:hidden reveals only the bottom triangle.
|
|
46
|
+
*
|
|
47
|
+
* TAIL_SQUARE_SIZE = 8.5 = TAIL_WIDTH / √2: the diamond's widest point ≈ 12px = TAIL_WIDTH,
|
|
48
|
+
* so the diamond's left/right corners land flush at x=0 / x=12 at y=0, connecting
|
|
49
|
+
* seamlessly with the ends of the horizontal top-border line.
|
|
50
|
+
*/
|
|
51
|
+
const Tail = ({ borderColor, backgroundColor }) => (<View style={styles.tailOuter}>
|
|
52
|
+
<View style={[styles.tailBorderTop, { backgroundColor: borderColor }]}/>
|
|
53
|
+
<View style={styles.tailClip}>
|
|
54
|
+
<View style={[styles.tailSquare, { backgroundColor, borderColor }]}/>
|
|
55
|
+
</View>
|
|
56
|
+
</View>);
|
|
57
|
+
/** Circular icon container */
|
|
58
|
+
const IconCircle = ({ children, color }) => (<View style={[styles.iconCircle, { backgroundColor: color }]}>
|
|
59
|
+
{children}
|
|
60
|
+
</View>);
|
|
61
|
+
// ---------------------------------------------------------------------------
|
|
62
|
+
// Component
|
|
63
|
+
// ---------------------------------------------------------------------------
|
|
64
|
+
export const MapPin = ({ icon, state = 'default', type = 'default', count, secondIcon, labelLeft, label, labelVariant = 'map', style, testID, }) => {
|
|
65
|
+
const { colors, fontFamily } = useTheme();
|
|
66
|
+
// Resolve the right token set from state + type
|
|
67
|
+
let tokens;
|
|
68
|
+
if (type === 'lost') {
|
|
69
|
+
tokens = state === 'focus' ? colors.mapPin.lostFocus : colors.mapPin.lostDefault;
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
tokens = state === 'focus' ? colors.mapPin.focus : colors.mapPin.default;
|
|
73
|
+
}
|
|
74
|
+
const { background, simpleBackground, border, iconCircle, iconColor, countText } = tokens;
|
|
75
|
+
const isPill = count !== undefined;
|
|
76
|
+
const styledIcon = cloneIcon(icon, iconColor);
|
|
77
|
+
const styledSecondIcon = secondIcon ? cloneIcon(secondIcon, iconColor) : null;
|
|
78
|
+
const pinColumn = isPill ? (<View style={styles.pillRoot}>
|
|
79
|
+
<View style={[
|
|
80
|
+
styles.pillBadge,
|
|
81
|
+
{ backgroundColor: background, borderColor: border },
|
|
82
|
+
state === 'focus' && { ...styles.pillShadow, shadowColor: colors.mapPin.pillShadowColor },
|
|
83
|
+
]}>
|
|
84
|
+
<IconCircle color={iconCircle}>{styledIcon}</IconCircle>
|
|
85
|
+
{styledSecondIcon && (<IconCircle color={iconCircle}>{styledSecondIcon}</IconCircle>)}
|
|
86
|
+
<Text style={[styles.countText, { color: countText, fontFamily }]}>
|
|
87
|
+
{count}
|
|
88
|
+
</Text>
|
|
89
|
+
</View>
|
|
90
|
+
<Tail borderColor={border} backgroundColor={background}/>
|
|
91
|
+
</View>) : (<View style={styles.simpleRoot}>
|
|
92
|
+
<View style={[
|
|
93
|
+
styles.simpleBadge,
|
|
94
|
+
{ backgroundColor: simpleBackground, borderColor: border },
|
|
95
|
+
]}>
|
|
96
|
+
<IconCircle color={iconCircle}>{styledIcon}</IconCircle>
|
|
97
|
+
</View>
|
|
98
|
+
<Tail borderColor={border} backgroundColor={simpleBackground}/>
|
|
99
|
+
</View>);
|
|
100
|
+
if (label == null && labelLeft == null) {
|
|
101
|
+
return (<View style={style} testID={testID}>
|
|
102
|
+
{pinColumn}
|
|
103
|
+
</View>);
|
|
104
|
+
}
|
|
105
|
+
const isSatellite = labelVariant === 'satellite';
|
|
106
|
+
const labelColor = isSatellite ? colors.mapPin.label.satellite : colors.mapPin.label.map;
|
|
107
|
+
const labelStyle = [
|
|
108
|
+
styles.labelText,
|
|
109
|
+
isSatellite ? styles.labelTextSatellite : null,
|
|
110
|
+
{ color: labelColor, fontFamily },
|
|
111
|
+
];
|
|
112
|
+
return (<View style={[styles.row, style]} testID={testID}>
|
|
113
|
+
{labelLeft != null && (<Text style={[...labelStyle, styles.labelTextRight]}>{labelLeft}</Text>)}
|
|
114
|
+
{pinColumn}
|
|
115
|
+
{label != null && (<Text style={labelStyle}>{label}</Text>)}
|
|
116
|
+
</View>);
|
|
117
|
+
};
|
|
118
|
+
//# sourceMappingURL=MapPin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MapPin.js","sourceRoot":"","sources":["../../../src/components/MapPin/MapPin.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * MapPin — custom map marker for Google Maps / react-native-maps.\n *\n * Two layouts:\n * - Simple (no count): circular icon badge + downward pointer tail (24×31px)\n * - Pill (count provided): horizontal pill with icon(s) + count + tail\n *\n * Fully themeable via mapPin tokens. Icons are injected as props — the\n * component clones them to override size and color based on the active state.\n *\n * Usage: render inside a react-native-maps <Marker> component.\n */\nimport React from 'react';\nimport { Text, View } from 'react-native';\nimport type { StyleProp, ViewStyle } from 'react-native';\nimport { useTheme } from '../../context/ThemeContext';\nimport type { MapPinStateTokens } from '../../theme/type';\nimport { styles } from './MapPin.styles';\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\nexport type MapPinState = 'default' | 'focus';\nexport type MapPinType = 'default' | 'lost';\n/** Controls the label text style — 'map' for street view (dark text), 'satellite' for aerial view (white text + shadow) */\nexport type MapPinLabelVariant = 'map' | 'satellite';\n\n/**\n * Total rendered height of a MapPin in points (badge 24 + tail 9).\n * Use this to anchor the pin tip to a coordinate:\n * - react-native-maps: <Marker anchor={{ x: 0.5, y: 1 }}>\n * - manual layout: top: targetY - MAP_PIN_HEIGHT, left: targetX - pinWidth / 2\n */\nexport const MAP_PIN_HEIGHT = 33;\n/** Width of a simple (non-pill) MapPin. Pill width is variable — measure at runtime. */\nexport const MAP_PIN_SIMPLE_WIDTH = 24;\n\nexport interface MapPinProps {\n /** Primary icon (Phosphor). Size and color are injected automatically. */\n icon: React.ReactElement;\n /** Pin visual state — 'focus' inverts the badge colors */\n state?: MapPinState;\n /**\n * Pin type — 'lost' uses red accent colors (maintenance / signal lost).\n * Defaults to 'default'.\n */\n type?: MapPinType;\n /**\n * When provided, switches to pill mode and shows this number.\n * Typically the count of clustered assets.\n */\n count?: number;\n /** Second icon shown in pill mode (e.g. vehicle type). Optional. */\n secondIcon?: React.ReactElement;\n /** Optional text label displayed to the LEFT of the pin (right-aligned). */\n labelLeft?: string;\n /** Optional text label displayed to the RIGHT of the pin (left-aligned). */\n label?: string;\n /**\n * Style variant for the label text (applies to both labelLeft and label).\n * 'map' (default) = dark text for street map backgrounds.\n * 'satellite' = white text + shadow for aerial/satellite map backgrounds.\n */\n labelVariant?: MapPinLabelVariant;\n /** Additional style applied to the outermost container */\n style?: StyleProp<ViewStyle>;\n /** Test identifier for automated testing */\n testID?: string;\n}\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\nconst ICON_SIZE = 12;\n\nconst cloneIcon = (el: React.ReactElement, color: string) =>\n React.cloneElement(el as React.ReactElement<{ size?: number; color?: string; weight?: string }>, {\n size: ICON_SIZE,\n color,\n weight: 'fill',\n });\n\n// ---------------------------------------------------------------------------\n// Sub-components\n// ---------------------------------------------------------------------------\n\n/**\n * Downward-pointing triangle tail with a border on all three sides.\n *\n * Three layers:\n * 1. tailBorderTop — 1px × TAIL_WIDTH colored with borderColor → horizontal top edge\n * 2. tailClip — overflow:hidden container (TAIL_WIDTH × TAIL_HEIGHT)\n * 3. tailSquare — TAIL_SQUARE_SIZE square rotated 45°, centered at y=0 of the clip\n * so overflow:hidden reveals only the bottom triangle.\n *\n * TAIL_SQUARE_SIZE = 8.5 = TAIL_WIDTH / √2: the diamond's widest point ≈ 12px = TAIL_WIDTH,\n * so the diamond's left/right corners land flush at x=0 / x=12 at y=0, connecting\n * seamlessly with the ends of the horizontal top-border line.\n */\nconst Tail = ({ borderColor, backgroundColor }: { borderColor: string; backgroundColor: string }) => (\n <View style={styles.tailOuter}>\n <View style={[styles.tailBorderTop, { backgroundColor: borderColor }]} />\n <View style={styles.tailClip}>\n <View style={[styles.tailSquare, { backgroundColor, borderColor }]} />\n </View>\n </View>\n);\n\n/** Circular icon container */\nconst IconCircle = ({ children, color }: { children: React.ReactNode; color: string }) => (\n <View style={[styles.iconCircle, { backgroundColor: color }]}>\n {children}\n </View>\n);\n\n// ---------------------------------------------------------------------------\n// Component\n// ---------------------------------------------------------------------------\n\nexport const MapPin = ({\n icon,\n state = 'default',\n type = 'default',\n count,\n secondIcon,\n labelLeft,\n label,\n labelVariant = 'map',\n style,\n testID,\n}: MapPinProps) => {\n const { colors, fontFamily } = useTheme();\n\n // Resolve the right token set from state + type\n let tokens: MapPinStateTokens;\n if (type === 'lost') {\n tokens = state === 'focus' ? colors.mapPin.lostFocus : colors.mapPin.lostDefault;\n } else {\n tokens = state === 'focus' ? colors.mapPin.focus : colors.mapPin.default;\n }\n\n const { background, simpleBackground, border, iconCircle, iconColor, countText } = tokens;\n const isPill = count !== undefined;\n\n const styledIcon = cloneIcon(icon, iconColor);\n const styledSecondIcon = secondIcon ? cloneIcon(secondIcon, iconColor) : null;\n\n const pinColumn = isPill ? (\n <View style={styles.pillRoot}>\n <View\n style={[\n styles.pillBadge,\n { backgroundColor: background, borderColor: border },\n state === 'focus' && { ...styles.pillShadow, shadowColor: colors.mapPin.pillShadowColor },\n ]}\n >\n <IconCircle color={iconCircle}>{styledIcon}</IconCircle>\n {styledSecondIcon && (\n <IconCircle color={iconCircle}>{styledSecondIcon}</IconCircle>\n )}\n <Text style={[styles.countText, { color: countText, fontFamily }]}>\n {count}\n </Text>\n </View>\n <Tail borderColor={border} backgroundColor={background} />\n </View>\n ) : (\n <View style={styles.simpleRoot}>\n <View\n style={[\n styles.simpleBadge,\n { backgroundColor: simpleBackground, borderColor: border },\n ]}\n >\n <IconCircle color={iconCircle}>{styledIcon}</IconCircle>\n </View>\n <Tail borderColor={border} backgroundColor={simpleBackground} />\n </View>\n );\n\n if (label == null && labelLeft == null) {\n return (\n <View style={style} testID={testID}>\n {pinColumn}\n </View>\n );\n }\n\n const isSatellite = labelVariant === 'satellite';\n const labelColor = isSatellite ? colors.mapPin.label.satellite : colors.mapPin.label.map;\n const labelStyle = [\n styles.labelText,\n isSatellite ? styles.labelTextSatellite : null,\n { color: labelColor, fontFamily },\n ];\n\n return (\n <View style={[styles.row, style]} testID={testID}>\n {labelLeft != null && (\n <Text style={[...labelStyle, styles.labelTextRight]}>{labelLeft}</Text>\n )}\n {pinColumn}\n {label != null && (\n <Text style={labelStyle}>{label}</Text>\n )}\n </View>\n );\n};\n\n"]}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
export declare const styles: {
|
|
2
|
+
simpleRoot: {
|
|
3
|
+
alignItems: "center";
|
|
4
|
+
width: number;
|
|
5
|
+
};
|
|
6
|
+
simpleBadge: {
|
|
7
|
+
alignItems: "center";
|
|
8
|
+
justifyContent: "center";
|
|
9
|
+
padding: number;
|
|
10
|
+
borderRadius: number;
|
|
11
|
+
borderWidth: number;
|
|
12
|
+
};
|
|
13
|
+
pillRoot: {
|
|
14
|
+
alignItems: "center";
|
|
15
|
+
};
|
|
16
|
+
pillBadge: {
|
|
17
|
+
flexDirection: "row";
|
|
18
|
+
alignItems: "center";
|
|
19
|
+
height: number;
|
|
20
|
+
paddingLeft: number;
|
|
21
|
+
paddingRight: number;
|
|
22
|
+
paddingVertical: number;
|
|
23
|
+
gap: number;
|
|
24
|
+
borderRadius: number;
|
|
25
|
+
borderWidth: number;
|
|
26
|
+
};
|
|
27
|
+
pillShadow: {
|
|
28
|
+
shadowOffset: {
|
|
29
|
+
width: number;
|
|
30
|
+
height: number;
|
|
31
|
+
};
|
|
32
|
+
shadowRadius: number;
|
|
33
|
+
shadowOpacity: number;
|
|
34
|
+
elevation: number;
|
|
35
|
+
};
|
|
36
|
+
iconCircle: {
|
|
37
|
+
alignItems: "center";
|
|
38
|
+
justifyContent: "center";
|
|
39
|
+
padding: number;
|
|
40
|
+
borderRadius: number;
|
|
41
|
+
};
|
|
42
|
+
row: {
|
|
43
|
+
flexDirection: "row";
|
|
44
|
+
alignItems: "flex-start";
|
|
45
|
+
gap: number;
|
|
46
|
+
};
|
|
47
|
+
labelText: {
|
|
48
|
+
fontSize: number;
|
|
49
|
+
fontWeight: "600";
|
|
50
|
+
lineHeight: number;
|
|
51
|
+
paddingTop: number;
|
|
52
|
+
};
|
|
53
|
+
labelTextRight: {
|
|
54
|
+
textAlign: "right";
|
|
55
|
+
};
|
|
56
|
+
labelTextSatellite: {
|
|
57
|
+
textShadowColor: string;
|
|
58
|
+
textShadowOffset: {
|
|
59
|
+
width: number;
|
|
60
|
+
height: number;
|
|
61
|
+
};
|
|
62
|
+
textShadowRadius: number;
|
|
63
|
+
};
|
|
64
|
+
countText: {
|
|
65
|
+
fontSize: number;
|
|
66
|
+
fontWeight: "600";
|
|
67
|
+
lineHeight: number;
|
|
68
|
+
};
|
|
69
|
+
tailOuter: {
|
|
70
|
+
alignItems: "center";
|
|
71
|
+
marginTop: number;
|
|
72
|
+
};
|
|
73
|
+
tailBorderTop: {
|
|
74
|
+
width: number;
|
|
75
|
+
height: number;
|
|
76
|
+
};
|
|
77
|
+
tailClip: {
|
|
78
|
+
width: number;
|
|
79
|
+
height: number;
|
|
80
|
+
overflow: "hidden";
|
|
81
|
+
alignItems: "center";
|
|
82
|
+
};
|
|
83
|
+
tailSquare: {
|
|
84
|
+
width: number;
|
|
85
|
+
height: number;
|
|
86
|
+
borderWidth: number;
|
|
87
|
+
marginTop: number;
|
|
88
|
+
transform: {
|
|
89
|
+
rotate: string;
|
|
90
|
+
}[];
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
//# sourceMappingURL=MapPin.styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MapPin.styles.d.ts","sourceRoot":"","sources":["../../../src/components/MapPin/MapPin.styles.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqGjB,CAAC"}
|