@situaction/traquiste-mobile 1.0.0 → 1.1.0-next.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/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 +55 -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/ScreenCanva/ScreenCanva.d.ts +8 -0
- package/build/components/navigation/ScreenCanva/ScreenCanva.d.ts.map +1 -0
- package/build/components/navigation/ScreenCanva/ScreenCanva.js +37 -0
- package/build/components/navigation/ScreenCanva/ScreenCanva.js.map +1 -0
- package/build/components/navigation/ScreenCanva/index.d.ts +3 -0
- package/build/components/navigation/ScreenCanva/index.d.ts.map +1 -0
- package/build/components/navigation/ScreenCanva/index.js +2 -0
- package/build/components/navigation/ScreenCanva/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 +79 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +39 -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"}
|