@situaction/traquiste-mobile 1.0.0 → 1.1.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 +60 -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 +11 -5
- 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 +15 -15
- 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 +254 -0
- package/build/components/Calendar/Calendar.styles.d.ts.map +1 -0
- package/build/components/Calendar/Calendar.styles.js +231 -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 +78 -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 +12 -11
- 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 +104 -0
- package/build/components/Input/Input.js.map +1 -0
- package/build/components/Input/Input.styles.d.ts +34 -0
- package/build/components/Input/Input.styles.d.ts.map +1 -0
- package/build/components/Input/Input.styles.js +35 -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/ListItem/ListItem.d.ts +42 -0
- package/build/components/ListItem/ListItem.d.ts.map +1 -0
- package/build/components/ListItem/ListItem.js +66 -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 +83 -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 +50 -0
- package/build/components/Tab/Tab.d.ts.map +1 -0
- package/build/components/Tab/Tab.js +117 -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 +33 -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 +19 -0
- package/build/components/navigation/GeneralNav/GeneralNav.d.ts.map +1 -0
- package/build/components/navigation/GeneralNav/GeneralNav.js +27 -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 +75 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +37 -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 @@
|
|
|
1
|
+
{"version":3,"file":"MediaPicker.styles.d.ts","sourceRoot":"","sources":["../../../src/components/MediaPicker/MediaPicker.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BjB,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { StyleSheet } from 'react-native';
|
|
2
|
+
export const styles = StyleSheet.create({
|
|
3
|
+
container: {
|
|
4
|
+
gap: 4,
|
|
5
|
+
},
|
|
6
|
+
labelBlock: {
|
|
7
|
+
gap: 0,
|
|
8
|
+
},
|
|
9
|
+
label: {
|
|
10
|
+
fontSize: 12,
|
|
11
|
+
fontWeight: '600',
|
|
12
|
+
lineHeight: 16,
|
|
13
|
+
letterSpacing: 0.72,
|
|
14
|
+
textTransform: 'uppercase',
|
|
15
|
+
},
|
|
16
|
+
subtitle: {
|
|
17
|
+
fontSize: 12,
|
|
18
|
+
fontWeight: '500',
|
|
19
|
+
lineHeight: 16,
|
|
20
|
+
},
|
|
21
|
+
fileCol: {
|
|
22
|
+
gap: 8,
|
|
23
|
+
},
|
|
24
|
+
fileList: {
|
|
25
|
+
gap: 4,
|
|
26
|
+
},
|
|
27
|
+
addButton: {
|
|
28
|
+
alignSelf: 'stretch',
|
|
29
|
+
},
|
|
30
|
+
});
|
|
31
|
+
//# sourceMappingURL=MediaPicker.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MediaPicker.styles.js","sourceRoot":"","sources":["../../../src/components/MediaPicker/MediaPicker.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IACtC,SAAS,EAAE;QACT,GAAG,EAAE,CAAC;KACP;IACD,UAAU,EAAE;QACV,GAAG,EAAE,CAAC;KACP;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,KAAK;QACjB,UAAU,EAAE,EAAE;QACd,aAAa,EAAE,IAAI;QACnB,aAAa,EAAE,WAAW;KAC3B;IACD,QAAQ,EAAE;QACR,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,KAAK;QACjB,UAAU,EAAE,EAAE;KACf;IACD,OAAO,EAAE;QACP,GAAG,EAAE,CAAC;KACP;IACD,QAAQ,EAAE;QACR,GAAG,EAAE,CAAC;KACP;IACD,SAAS,EAAE;QACT,SAAS,EAAE,SAAS;KACrB;CACF,CAAC,CAAC","sourcesContent":["import { StyleSheet } from 'react-native';\n\nexport const styles = StyleSheet.create({\n container: {\n gap: 4,\n },\n labelBlock: {\n gap: 0,\n },\n label: {\n fontSize: 12,\n fontWeight: '600',\n lineHeight: 16,\n letterSpacing: 0.72,\n textTransform: 'uppercase',\n },\n subtitle: {\n fontSize: 12,\n fontWeight: '500',\n lineHeight: 16,\n },\n fileCol: {\n gap: 8,\n },\n fileList: {\n gap: 4,\n },\n addButton: {\n alignSelf: 'stretch',\n },\n});\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/MediaPicker/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/MediaPicker/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC","sourcesContent":["export { MediaPicker } from './MediaPicker';\nexport type {\n MediaPickerProps,\n MediaPickerMode,\n MediaPickerImageItem,\n MediaPickerFileItem,\n} from './MediaPicker';\n"]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PhotoCard — 160 × 140 image slot used inside the image-mode MediaPicker.
|
|
3
|
+
*
|
|
4
|
+
* Default state: empty "+" slot, beige background, optional "Principale" badge.
|
|
5
|
+
* Used state: image fill (cover) + top gradient overlay + XCircle remove button
|
|
6
|
+
* + optional "Principale" badge.
|
|
7
|
+
*/
|
|
8
|
+
import type { StyleProp, ViewStyle } from 'react-native';
|
|
9
|
+
export interface PhotoCardProps {
|
|
10
|
+
/** Image URI — if provided, shows the "Used" state; if omitted shows the empty "+" slot */
|
|
11
|
+
uri?: string;
|
|
12
|
+
/** Show the badge at the bottom of the card */
|
|
13
|
+
principale?: boolean;
|
|
14
|
+
/** Badge label — defaults to "Principale" */
|
|
15
|
+
principaleLabel?: string;
|
|
16
|
+
/** Called when the card area is pressed (empty slot or image area) */
|
|
17
|
+
onPress?: () => void;
|
|
18
|
+
/** Called when the X remove button is pressed — only rendered in Used state */
|
|
19
|
+
onRemove?: () => void;
|
|
20
|
+
/** Additional style applied to the card container */
|
|
21
|
+
style?: StyleProp<ViewStyle>;
|
|
22
|
+
/** Test identifier for automated testing */
|
|
23
|
+
testID?: string;
|
|
24
|
+
/** Accessibility label for the card press area */
|
|
25
|
+
accessibilityLabel?: string;
|
|
26
|
+
}
|
|
27
|
+
export declare const PhotoCard: ({ uri, principale, principaleLabel, onPress, onRemove, style, testID, accessibilityLabel, }: PhotoCardProps) => import("react").JSX.Element;
|
|
28
|
+
//# sourceMappingURL=PhotoCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PhotoCard.d.ts","sourceRoot":"","sources":["../../../src/components/PhotoCard/PhotoCard.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAUzD,MAAM,WAAW,cAAc;IAC7B,2FAA2F;IAC3F,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6CAA6C;IAC7C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,qDAAqD;IACrD,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAMD,eAAO,MAAM,SAAS,GAAI,6FASvB,cAAc,gCAkEhB,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PhotoCard — 160 × 140 image slot used inside the image-mode MediaPicker.
|
|
3
|
+
*
|
|
4
|
+
* Default state: empty "+" slot, beige background, optional "Principale" badge.
|
|
5
|
+
* Used state: image fill (cover) + top gradient overlay + XCircle remove button
|
|
6
|
+
* + optional "Principale" badge.
|
|
7
|
+
*/
|
|
8
|
+
import { Image, Pressable, StyleSheet, Text, View } from 'react-native';
|
|
9
|
+
import { LinearGradient } from 'expo-linear-gradient';
|
|
10
|
+
import { Plus, XCircle } from 'phosphor-react-native';
|
|
11
|
+
import { useTheme } from '../../context/ThemeContext';
|
|
12
|
+
import { styles } from './PhotoCard.styles';
|
|
13
|
+
// ---------------------------------------------------------------------------
|
|
14
|
+
// Component
|
|
15
|
+
// ---------------------------------------------------------------------------
|
|
16
|
+
export const PhotoCard = ({ uri, principale = false, principaleLabel = 'Principale', onPress, onRemove, style, testID, accessibilityLabel, }) => {
|
|
17
|
+
const { colors, fontFamily } = useTheme();
|
|
18
|
+
const pc = colors.mediaPicker.photoCard;
|
|
19
|
+
const isUsed = !!uri;
|
|
20
|
+
return (<Pressable onPress={onPress} style={[
|
|
21
|
+
styles.card,
|
|
22
|
+
{
|
|
23
|
+
borderColor: pc.border,
|
|
24
|
+
backgroundColor: isUsed ? 'transparent' : pc.emptyBackground,
|
|
25
|
+
},
|
|
26
|
+
style,
|
|
27
|
+
]} testID={testID} accessibilityRole="button" accessibilityLabel={accessibilityLabel ?? (isUsed ? 'Photo' : 'Ajouter une photo')}>
|
|
28
|
+
{/* Empty state — "+" icon */}
|
|
29
|
+
{!isUsed && (<Plus size={20} weight="regular" color={colors.text.primary}/>)}
|
|
30
|
+
|
|
31
|
+
{/* Used state — image + gradient + remove button */}
|
|
32
|
+
{isUsed && uri && (<>
|
|
33
|
+
<Image source={{ uri }} style={StyleSheet.absoluteFillObject} resizeMode="cover"/>
|
|
34
|
+
<LinearGradient colors={['rgba(0,0,0,0.5)', 'rgba(0,0,0,0)']} start={{ x: 0, y: 0 }} end={{ x: 0, y: 1 }} locations={[0, 0.58]} style={StyleSheet.absoluteFillObject}/>
|
|
35
|
+
{onRemove && (<Pressable onPress={onRemove} style={styles.removeButton} hitSlop={8} testID="photo-card-remove" accessibilityRole="button" accessibilityLabel="Supprimer la photo">
|
|
36
|
+
<XCircle size={28} weight="duotone" color={pc.removeIcon}/>
|
|
37
|
+
</Pressable>)}
|
|
38
|
+
</>)}
|
|
39
|
+
|
|
40
|
+
{/* "Principale" badge */}
|
|
41
|
+
{principale && (<View style={styles.badgeRow}>
|
|
42
|
+
<View style={[styles.badge, { backgroundColor: pc.badgeBackground }]}>
|
|
43
|
+
<Text style={[styles.badgeText, { color: pc.badgeText, fontFamily }]}>
|
|
44
|
+
{principaleLabel}
|
|
45
|
+
</Text>
|
|
46
|
+
</View>
|
|
47
|
+
</View>)}
|
|
48
|
+
|
|
49
|
+
{/* Inner border overlay — sits on top of the image so border is always visible */}
|
|
50
|
+
<View style={[styles.innerBorder, { borderColor: pc.border }]}/>
|
|
51
|
+
</Pressable>);
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=PhotoCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PhotoCard.js","sourceRoot":"","sources":["../../../src/components/PhotoCard/PhotoCard.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * PhotoCard — 160 × 140 image slot used inside the image-mode MediaPicker.\n *\n * Default state: empty \"+\" slot, beige background, optional \"Principale\" badge.\n * Used state: image fill (cover) + top gradient overlay + XCircle remove button\n * + optional \"Principale\" badge.\n */\n\nimport { Image, Pressable, StyleSheet, Text, View } from 'react-native';\nimport type { StyleProp, ViewStyle } from 'react-native';\nimport { LinearGradient } from 'expo-linear-gradient';\nimport { Plus, XCircle } from 'phosphor-react-native';\nimport { useTheme } from '../../context/ThemeContext';\nimport { styles } from './PhotoCard.styles';\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\nexport interface PhotoCardProps {\n /** Image URI — if provided, shows the \"Used\" state; if omitted shows the empty \"+\" slot */\n uri?: string;\n /** Show the badge at the bottom of the card */\n principale?: boolean;\n /** Badge label — defaults to \"Principale\" */\n principaleLabel?: string;\n /** Called when the card area is pressed (empty slot or image area) */\n onPress?: () => void;\n /** Called when the X remove button is pressed — only rendered in Used state */\n onRemove?: () => void;\n /** Additional style applied to the card container */\n style?: StyleProp<ViewStyle>;\n /** Test identifier for automated testing */\n testID?: string;\n /** Accessibility label for the card press area */\n accessibilityLabel?: string;\n}\n\n// ---------------------------------------------------------------------------\n// Component\n// ---------------------------------------------------------------------------\n\nexport const PhotoCard = ({\n uri,\n principale = false,\n principaleLabel = 'Principale',\n onPress,\n onRemove,\n style,\n testID,\n accessibilityLabel,\n}: PhotoCardProps) => {\n const { colors, fontFamily } = useTheme();\n const pc = colors.mediaPicker.photoCard;\n const isUsed = !!uri;\n\n return (\n <Pressable\n onPress={onPress}\n style={[\n styles.card,\n {\n borderColor: pc.border,\n backgroundColor: isUsed ? 'transparent' : pc.emptyBackground,\n },\n style,\n ]}\n testID={testID}\n accessibilityRole=\"button\"\n accessibilityLabel={accessibilityLabel ?? (isUsed ? 'Photo' : 'Ajouter une photo')}\n >\n {/* Empty state — \"+\" icon */}\n {!isUsed && (\n <Plus size={20} weight=\"regular\" color={colors.text.primary} />\n )}\n\n {/* Used state — image + gradient + remove button */}\n {isUsed && uri && (\n <>\n <Image source={{ uri }} style={StyleSheet.absoluteFillObject} resizeMode=\"cover\" />\n <LinearGradient\n colors={['rgba(0,0,0,0.5)', 'rgba(0,0,0,0)']}\n start={{ x: 0, y: 0 }}\n end={{ x: 0, y: 1 }}\n locations={[0, 0.58]}\n style={StyleSheet.absoluteFillObject}\n />\n {onRemove && (\n <Pressable\n onPress={onRemove}\n style={styles.removeButton}\n hitSlop={8}\n testID=\"photo-card-remove\"\n accessibilityRole=\"button\"\n accessibilityLabel=\"Supprimer la photo\"\n >\n <XCircle size={28} weight=\"duotone\" color={pc.removeIcon} />\n </Pressable>\n )}\n </>\n )}\n\n {/* \"Principale\" badge */}\n {principale && (\n <View style={styles.badgeRow}>\n <View style={[styles.badge, { backgroundColor: pc.badgeBackground }]}>\n <Text style={[styles.badgeText, { color: pc.badgeText, fontFamily }]}>\n {principaleLabel}\n </Text>\n </View>\n </View>\n )}\n\n {/* Inner border overlay — sits on top of the image so border is always visible */}\n <View style={[styles.innerBorder, { borderColor: pc.border }]} />\n </Pressable>\n );\n};\n\n"]}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export declare const styles: {
|
|
2
|
+
card: {
|
|
3
|
+
width: number;
|
|
4
|
+
height: number;
|
|
5
|
+
borderRadius: number;
|
|
6
|
+
overflow: "hidden";
|
|
7
|
+
alignItems: "center";
|
|
8
|
+
justifyContent: "center";
|
|
9
|
+
};
|
|
10
|
+
innerBorder: {
|
|
11
|
+
position: "absolute";
|
|
12
|
+
top: number;
|
|
13
|
+
left: number;
|
|
14
|
+
right: number;
|
|
15
|
+
bottom: number;
|
|
16
|
+
borderRadius: number;
|
|
17
|
+
borderWidth: number;
|
|
18
|
+
pointerEvents: "none";
|
|
19
|
+
};
|
|
20
|
+
removeButton: {
|
|
21
|
+
position: "absolute";
|
|
22
|
+
right: number;
|
|
23
|
+
top: number;
|
|
24
|
+
width: number;
|
|
25
|
+
height: number;
|
|
26
|
+
alignItems: "center";
|
|
27
|
+
justifyContent: "center";
|
|
28
|
+
};
|
|
29
|
+
badgeRow: {
|
|
30
|
+
position: "absolute";
|
|
31
|
+
bottom: number;
|
|
32
|
+
left: number;
|
|
33
|
+
right: number;
|
|
34
|
+
alignItems: "center";
|
|
35
|
+
};
|
|
36
|
+
badge: {
|
|
37
|
+
paddingHorizontal: number;
|
|
38
|
+
paddingVertical: number;
|
|
39
|
+
borderRadius: number;
|
|
40
|
+
};
|
|
41
|
+
badgeText: {
|
|
42
|
+
fontSize: number;
|
|
43
|
+
fontWeight: "500";
|
|
44
|
+
lineHeight: number;
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=PhotoCard.styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PhotoCard.styles.d.ts","sourceRoot":"","sources":["../../../src/components/PhotoCard/PhotoCard.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CjB,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { StyleSheet } from 'react-native';
|
|
2
|
+
export const styles = StyleSheet.create({
|
|
3
|
+
card: {
|
|
4
|
+
width: 160,
|
|
5
|
+
height: 140,
|
|
6
|
+
borderRadius: 8,
|
|
7
|
+
overflow: 'hidden',
|
|
8
|
+
alignItems: 'center',
|
|
9
|
+
justifyContent: 'center',
|
|
10
|
+
},
|
|
11
|
+
innerBorder: {
|
|
12
|
+
position: 'absolute',
|
|
13
|
+
top: 0, left: 0, right: 0, bottom: 0,
|
|
14
|
+
borderRadius: 8,
|
|
15
|
+
borderWidth: 1,
|
|
16
|
+
pointerEvents: 'none',
|
|
17
|
+
},
|
|
18
|
+
removeButton: {
|
|
19
|
+
position: 'absolute',
|
|
20
|
+
right: 5,
|
|
21
|
+
top: 5,
|
|
22
|
+
width: 28,
|
|
23
|
+
height: 28,
|
|
24
|
+
alignItems: 'center',
|
|
25
|
+
justifyContent: 'center',
|
|
26
|
+
},
|
|
27
|
+
badgeRow: {
|
|
28
|
+
position: 'absolute',
|
|
29
|
+
bottom: 7,
|
|
30
|
+
left: 0,
|
|
31
|
+
right: 0,
|
|
32
|
+
alignItems: 'center',
|
|
33
|
+
},
|
|
34
|
+
badge: {
|
|
35
|
+
paddingHorizontal: 8,
|
|
36
|
+
paddingVertical: 2,
|
|
37
|
+
borderRadius: 9999,
|
|
38
|
+
},
|
|
39
|
+
badgeText: {
|
|
40
|
+
fontSize: 14,
|
|
41
|
+
fontWeight: '500',
|
|
42
|
+
lineHeight: 20,
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
//# sourceMappingURL=PhotoCard.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PhotoCard.styles.js","sourceRoot":"","sources":["../../../src/components/PhotoCard/PhotoCard.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE;QACJ,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,GAAG;QACX,YAAY,EAAE,CAAC;QACf,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;KACzB;IACD,WAAW,EAAE;QACX,QAAQ,EAAE,UAAU;QACpB,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;QACpC,YAAY,EAAE,CAAC;QACf,WAAW,EAAE,CAAC;QACd,aAAa,EAAE,MAAM;KACtB;IACD,YAAY,EAAE;QACZ,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,CAAC;QACR,GAAG,EAAE,CAAC;QACN,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;KACzB;IACD,QAAQ,EAAE;QACR,QAAQ,EAAE,UAAU;QACpB,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,CAAC;QACR,UAAU,EAAE,QAAQ;KACrB;IACD,KAAK,EAAE;QACL,iBAAiB,EAAE,CAAC;QACpB,eAAe,EAAE,CAAC;QAClB,YAAY,EAAE,IAAI;KACnB;IACD,SAAS,EAAE;QACT,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,KAAK;QACjB,UAAU,EAAE,EAAE;KACf;CACF,CAAC,CAAC","sourcesContent":["import { StyleSheet } from 'react-native';\n\nexport const styles = StyleSheet.create({\n card: {\n width: 160,\n height: 140,\n borderRadius: 8,\n overflow: 'hidden',\n alignItems: 'center',\n justifyContent: 'center',\n },\n innerBorder: {\n position: 'absolute',\n top: 0, left: 0, right: 0, bottom: 0,\n borderRadius: 8,\n borderWidth: 1,\n pointerEvents: 'none',\n },\n removeButton: {\n position: 'absolute',\n right: 5,\n top: 5,\n width: 28,\n height: 28,\n alignItems: 'center',\n justifyContent: 'center',\n },\n badgeRow: {\n position: 'absolute',\n bottom: 7,\n left: 0,\n right: 0,\n alignItems: 'center',\n },\n badge: {\n paddingHorizontal: 8,\n paddingVertical: 2,\n borderRadius: 9999,\n },\n badgeText: {\n fontSize: 14,\n fontWeight: '500',\n lineHeight: 20,\n },\n});\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/PhotoCard/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/PhotoCard/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC","sourcesContent":["export { PhotoCard } from './PhotoCard';\nexport type { PhotoCardProps } from './PhotoCard';\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface ProgressStepProps {
|
|
2
|
+
/** Total number of steps */
|
|
3
|
+
totalSteps: number;
|
|
4
|
+
/** Index of the current active step (0-based) */
|
|
5
|
+
currentStep: number;
|
|
6
|
+
}
|
|
7
|
+
export declare function ProgressStep({ totalSteps, currentStep }: ProgressStepProps): import("react").JSX.Element;
|
|
8
|
+
export default ProgressStep;
|
|
9
|
+
//# sourceMappingURL=ProgressStep.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProgressStep.d.ts","sourceRoot":"","sources":["../../../src/components/ProgressStep/ProgressStep.tsx"],"names":[],"mappings":"AAQA,MAAM,WAAW,iBAAiB;IAChC,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,iDAAiD;IACjD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,YAAY,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,iBAAiB,+BAsB1E;AAED,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ProgressStep — horizontal step progress indicator.
|
|
3
|
+
* Renders a row of segments: completed/active segments are filled, future ones are dimmed.
|
|
4
|
+
*/
|
|
5
|
+
import { View } from 'react-native';
|
|
6
|
+
import { useTheme } from '../../context/ThemeContext';
|
|
7
|
+
import { styles } from './ProgressStep.styles';
|
|
8
|
+
export function ProgressStep({ totalSteps, currentStep }) {
|
|
9
|
+
const { colors } = useTheme();
|
|
10
|
+
return (<View style={styles.row} accessibilityRole="progressbar" accessibilityValue={{ min: 0, max: totalSteps - 1, now: currentStep }}>
|
|
11
|
+
{Array.from({ length: totalSteps }, (_, index) => (<View key={index} style={[
|
|
12
|
+
styles.segment,
|
|
13
|
+
{
|
|
14
|
+
flex: 1,
|
|
15
|
+
backgroundColor: index < currentStep ? colors.progressStep.done :
|
|
16
|
+
index === currentStep ? colors.progressStep.active :
|
|
17
|
+
colors.progressStep.default,
|
|
18
|
+
},
|
|
19
|
+
]}/>))}
|
|
20
|
+
</View>);
|
|
21
|
+
}
|
|
22
|
+
export default ProgressStep;
|
|
23
|
+
//# sourceMappingURL=ProgressStep.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProgressStep.js","sourceRoot":"","sources":["../../../src/components/ProgressStep/ProgressStep.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAS/C,MAAM,UAAU,YAAY,CAAC,EAAE,UAAU,EAAE,WAAW,EAAqB;IACzE,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IAE9B,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,UAAU,GAAG,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAC7H;MAAA,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAChD,CAAC,IAAI,CACH,GAAG,CAAC,CAAC,KAAK,CAAC,CACX,KAAK,CAAC,CAAC;gBACL,MAAM,CAAC,OAAO;gBACd;oBACE,IAAI,EAAE,CAAC;oBACP,eAAe,EACb,KAAK,GAAG,WAAW,CAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;wBACjD,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;4BACpD,MAAM,CAAC,YAAY,CAAC,OAAO;iBAC9B;aACF,CAAC,EACF,CACH,CAAC,CACJ;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC;AAED,eAAe,YAAY,CAAC","sourcesContent":["/**\n * ProgressStep — horizontal step progress indicator.\n * Renders a row of segments: completed/active segments are filled, future ones are dimmed.\n */\nimport { View } from 'react-native';\nimport { useTheme } from '../../context/ThemeContext';\nimport { styles } from './ProgressStep.styles';\n\nexport interface ProgressStepProps {\n /** Total number of steps */\n totalSteps: number;\n /** Index of the current active step (0-based) */\n currentStep: number;\n}\n\nexport function ProgressStep({ totalSteps, currentStep }: ProgressStepProps) {\n const { colors } = useTheme();\n\n return (\n <View style={styles.row} accessibilityRole=\"progressbar\" accessibilityValue={{ min: 0, max: totalSteps - 1, now: currentStep }}>\n {Array.from({ length: totalSteps }, (_, index) => (\n <View\n key={index}\n style={[\n styles.segment,\n {\n flex: 1,\n backgroundColor:\n index < currentStep ? colors.progressStep.done :\n index === currentStep ? colors.progressStep.active :\n colors.progressStep.default,\n },\n ]}\n />\n ))}\n </View>\n );\n}\n\nexport default ProgressStep;\n\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProgressStep.styles.d.ts","sourceRoot":"","sources":["../../../src/components/ProgressStep/ProgressStep.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM;;;;;;;;;;CAUjB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { StyleSheet } from 'react-native';
|
|
2
|
+
export const styles = StyleSheet.create({
|
|
3
|
+
row: {
|
|
4
|
+
flexDirection: 'row',
|
|
5
|
+
gap: 6,
|
|
6
|
+
width: '100%',
|
|
7
|
+
},
|
|
8
|
+
segment: {
|
|
9
|
+
height: 4,
|
|
10
|
+
borderRadius: 9999,
|
|
11
|
+
},
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=ProgressStep.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProgressStep.styles.js","sourceRoot":"","sources":["../../../src/components/ProgressStep/ProgressStep.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IACtC,GAAG,EAAE;QACH,aAAa,EAAE,KAAK;QACpB,GAAG,EAAE,CAAC;QACN,KAAK,EAAE,MAAM;KACd;IACD,OAAO,EAAE;QACP,MAAM,EAAE,CAAC;QACT,YAAY,EAAE,IAAI;KACnB;CACF,CAAC,CAAC","sourcesContent":["import { StyleSheet } from 'react-native';\n\nexport const styles = StyleSheet.create({\n row: {\n flexDirection: 'row',\n gap: 6,\n width: '100%',\n },\n segment: {\n height: 4,\n borderRadius: 9999,\n },\n});\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ProgressStep/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ProgressStep/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC","sourcesContent":["export { ProgressStep } from './ProgressStep';\nexport type { ProgressStepProps } from './ProgressStep';"]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RadioButton — controlled radio button.
|
|
3
|
+
* Renders a circular ring with an optional center dot (selected state),
|
|
4
|
+
* optional content to the right and an optional helper text below.
|
|
5
|
+
* Two sizes: m (24px ring, 44px touch target) and xl (32px ring).
|
|
6
|
+
*/
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import type { StyleProp, ViewStyle } from 'react-native';
|
|
9
|
+
export type RadioButtonSize = 'm' | 'xl';
|
|
10
|
+
export interface RadioButtonProps {
|
|
11
|
+
/** Whether this radio button is selected — required (controlled) */
|
|
12
|
+
selected: boolean;
|
|
13
|
+
/** Press handler */
|
|
14
|
+
onPress: () => void;
|
|
15
|
+
/** Content displayed to the right of the circle — use Text, tags, links, etc. */
|
|
16
|
+
children?: React.ReactNode;
|
|
17
|
+
/** Helper or description text displayed below the children */
|
|
18
|
+
helperText?: string;
|
|
19
|
+
/** Disabled state */
|
|
20
|
+
disabled?: boolean;
|
|
21
|
+
/** Circle size — m: 24px ring / xl: 32px ring (both have a 44px touch target) */
|
|
22
|
+
size?: RadioButtonSize;
|
|
23
|
+
/** Additional wrapper styles */
|
|
24
|
+
style?: StyleProp<ViewStyle>;
|
|
25
|
+
/** Test ID for automated testing */
|
|
26
|
+
testID?: string;
|
|
27
|
+
}
|
|
28
|
+
export declare function RadioButton({ selected, onPress, children, helperText, disabled, size, style, testID, }: RadioButtonProps): React.JSX.Element;
|
|
29
|
+
//# sourceMappingURL=RadioButton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RadioButton.d.ts","sourceRoot":"","sources":["../../../src/components/RadioButton/RadioButton.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAQzD,MAAM,MAAM,eAAe,GAAG,GAAG,GAAG,IAAI,CAAC;AAEzC,MAAM,WAAW,gBAAgB;IAC/B,oEAAoE;IACpE,QAAQ,EAAE,OAAO,CAAC;IAClB,oBAAoB;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iFAAiF;IACjF,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,gCAAgC;IAChC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAiBD,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,UAAU,EACV,QAAgB,EAChB,IAAU,EACV,KAAK,EACL,MAAM,GACP,EAAE,gBAAgB,qBAuElB"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RadioButton — controlled radio button.
|
|
3
|
+
* Renders a circular ring with an optional center dot (selected state),
|
|
4
|
+
* optional content to the right and an optional helper text below.
|
|
5
|
+
* Two sizes: m (24px ring, 44px touch target) and xl (32px ring).
|
|
6
|
+
*/
|
|
7
|
+
import React, { useState } from 'react';
|
|
8
|
+
import { Pressable, Text, View } from 'react-native';
|
|
9
|
+
import { useTheme } from '../../context/ThemeContext';
|
|
10
|
+
import { styles } from './RadioButton.styles';
|
|
11
|
+
// ---------------------------------------------------------------------------
|
|
12
|
+
// Size config
|
|
13
|
+
// ---------------------------------------------------------------------------
|
|
14
|
+
const RING_BORDER_WIDTH = 1.5;
|
|
15
|
+
const SIZE_CONFIG = {
|
|
16
|
+
m: { ring: 24, dot: 10, touchTarget: 44 },
|
|
17
|
+
xl: { ring: 32, dot: 14, touchTarget: 44 },
|
|
18
|
+
};
|
|
19
|
+
// ---------------------------------------------------------------------------
|
|
20
|
+
// Component
|
|
21
|
+
// ---------------------------------------------------------------------------
|
|
22
|
+
export function RadioButton({ selected, onPress, children, helperText, disabled = false, size = 'm', style, testID, }) {
|
|
23
|
+
const [pressed, setPressed] = useState(false);
|
|
24
|
+
const { colors, fontFamily } = useTheme();
|
|
25
|
+
const t = colors.radio;
|
|
26
|
+
const cfg = SIZE_CONFIG[size];
|
|
27
|
+
const variantTokens = selected ? t.selected : t.unselected;
|
|
28
|
+
const stateKey = disabled ? 'disabled' : pressed ? 'pressed' : 'default';
|
|
29
|
+
const tokens = variantTokens[stateKey];
|
|
30
|
+
return (<Pressable accessibilityRole="radio" accessibilityState={{ selected, disabled }} onPressIn={() => { if (!disabled)
|
|
31
|
+
setPressed(true); }} onPressOut={() => setPressed(false)} onPress={disabled ? undefined : onPress} style={[styles.wrapper, style]} testID={testID}>
|
|
32
|
+
{/* Touch target + ring */}
|
|
33
|
+
<View style={[
|
|
34
|
+
styles.touchTarget,
|
|
35
|
+
{
|
|
36
|
+
width: cfg.touchTarget,
|
|
37
|
+
height: cfg.touchTarget,
|
|
38
|
+
},
|
|
39
|
+
]}>
|
|
40
|
+
<View style={[
|
|
41
|
+
styles.ring,
|
|
42
|
+
{
|
|
43
|
+
width: cfg.ring,
|
|
44
|
+
height: cfg.ring,
|
|
45
|
+
borderRadius: cfg.ring / 2,
|
|
46
|
+
backgroundColor: tokens.fill,
|
|
47
|
+
borderColor: tokens.ring,
|
|
48
|
+
borderWidth: RING_BORDER_WIDTH,
|
|
49
|
+
},
|
|
50
|
+
]}>
|
|
51
|
+
{/* Center dot — visible when selected */}
|
|
52
|
+
{selected && (<View style={[
|
|
53
|
+
styles.dot,
|
|
54
|
+
{
|
|
55
|
+
width: cfg.dot,
|
|
56
|
+
height: cfg.dot,
|
|
57
|
+
borderRadius: cfg.dot / 2,
|
|
58
|
+
backgroundColor: tokens.dot,
|
|
59
|
+
},
|
|
60
|
+
]}/>)}
|
|
61
|
+
</View>
|
|
62
|
+
</View>
|
|
63
|
+
|
|
64
|
+
{/* Content + helper text */}
|
|
65
|
+
{(children != null || helperText != null) && (<View style={styles.textContainer}>
|
|
66
|
+
{children}
|
|
67
|
+
{helperText != null && (<Text style={[styles.helper, { color: t.helper, fontFamily }]}>{helperText}</Text>)}
|
|
68
|
+
</View>)}
|
|
69
|
+
</Pressable>);
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=RadioButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RadioButton.js","sourceRoot":"","sources":["../../../src/components/RadioButton/RadioButton.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * RadioButton — controlled radio button.\n * Renders a circular ring with an optional center dot (selected state),\n * optional content to the right and an optional helper text below.\n * Two sizes: m (24px ring, 44px touch target) and xl (32px ring).\n */\nimport React, { useState } from 'react';\nimport { Pressable, Text, View } from 'react-native';\nimport type { StyleProp, ViewStyle } from 'react-native';\nimport { useTheme } from '../../context/ThemeContext';\nimport { styles } from './RadioButton.styles';\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\nexport type RadioButtonSize = 'm' | 'xl';\n\nexport interface RadioButtonProps {\n /** Whether this radio button is selected — required (controlled) */\n selected: boolean;\n /** Press handler */\n onPress: () => void;\n /** Content displayed to the right of the circle — use Text, tags, links, etc. */\n children?: React.ReactNode;\n /** Helper or description text displayed below the children */\n helperText?: string;\n /** Disabled state */\n disabled?: boolean;\n /** Circle size — m: 24px ring / xl: 32px ring (both have a 44px touch target) */\n size?: RadioButtonSize;\n /** Additional wrapper styles */\n style?: StyleProp<ViewStyle>;\n /** Test ID for automated testing */\n testID?: string;\n}\n\n// ---------------------------------------------------------------------------\n// Size config\n// ---------------------------------------------------------------------------\n\nconst RING_BORDER_WIDTH = 1.5;\n\nconst SIZE_CONFIG: Record<RadioButtonSize, { ring: number; dot: number; touchTarget: number }> = {\n m: { ring: 24, dot: 10, touchTarget: 44 },\n xl: { ring: 32, dot: 14, touchTarget: 44 },\n};\n\n// ---------------------------------------------------------------------------\n// Component\n// ---------------------------------------------------------------------------\n\nexport function RadioButton({\n selected,\n onPress,\n children,\n helperText,\n disabled = false,\n size = 'm',\n style,\n testID,\n}: RadioButtonProps) {\n const [pressed, setPressed] = useState(false);\n const { colors, fontFamily } = useTheme();\n const t = colors.radio;\n const cfg = SIZE_CONFIG[size];\n\n const variantTokens = selected ? t.selected : t.unselected;\n const stateKey = disabled ? 'disabled' : pressed ? 'pressed' : 'default';\n const tokens = variantTokens[stateKey];\n\n return (\n <Pressable\n accessibilityRole=\"radio\"\n accessibilityState={{ selected, disabled }}\n onPressIn={() => { if (!disabled) setPressed(true); }}\n onPressOut={() => setPressed(false)}\n onPress={disabled ? undefined : onPress}\n style={[styles.wrapper, style]}\n testID={testID}\n >\n {/* Touch target + ring */}\n <View\n style={[\n styles.touchTarget,\n {\n width: cfg.touchTarget,\n height: cfg.touchTarget,\n },\n ]}\n >\n <View\n style={[\n styles.ring,\n {\n width: cfg.ring,\n height: cfg.ring,\n borderRadius: cfg.ring / 2,\n backgroundColor: tokens.fill,\n borderColor: tokens.ring,\n borderWidth: RING_BORDER_WIDTH,\n },\n ]}\n >\n {/* Center dot — visible when selected */}\n {selected && (\n <View\n style={[\n styles.dot,\n {\n width: cfg.dot,\n height: cfg.dot,\n borderRadius: cfg.dot / 2,\n backgroundColor: tokens.dot,\n },\n ]}\n />\n )}\n </View>\n </View>\n\n {/* Content + helper text */}\n {(children != null || helperText != null) && (\n <View style={styles.textContainer}>\n {children}\n {helperText != null && (\n <Text style={[styles.helper, { color: t.helper, fontFamily }]}>{helperText}</Text>\n )}\n </View>\n )}\n </Pressable>\n );\n}\n\n"]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export declare const styles: {
|
|
2
|
+
wrapper: {
|
|
3
|
+
flexDirection: "row";
|
|
4
|
+
alignItems: "center";
|
|
5
|
+
gap: number;
|
|
6
|
+
};
|
|
7
|
+
touchTarget: {
|
|
8
|
+
alignItems: "center";
|
|
9
|
+
justifyContent: "center";
|
|
10
|
+
flexShrink: number;
|
|
11
|
+
};
|
|
12
|
+
ring: {
|
|
13
|
+
alignItems: "center";
|
|
14
|
+
justifyContent: "center";
|
|
15
|
+
};
|
|
16
|
+
dot: {};
|
|
17
|
+
textContainer: {
|
|
18
|
+
flex: number;
|
|
19
|
+
gap: number;
|
|
20
|
+
};
|
|
21
|
+
helper: {
|
|
22
|
+
fontSize: number;
|
|
23
|
+
lineHeight: number;
|
|
24
|
+
fontWeight: "400";
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=RadioButton.styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RadioButton.styles.d.ts","sourceRoot":"","sources":["../../../src/components/RadioButton/RadioButton.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;CA2BjB,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { StyleSheet } from 'react-native';
|
|
2
|
+
export const styles = StyleSheet.create({
|
|
3
|
+
wrapper: {
|
|
4
|
+
flexDirection: 'row',
|
|
5
|
+
alignItems: 'center',
|
|
6
|
+
gap: 8,
|
|
7
|
+
},
|
|
8
|
+
touchTarget: {
|
|
9
|
+
alignItems: 'center',
|
|
10
|
+
justifyContent: 'center',
|
|
11
|
+
flexShrink: 0,
|
|
12
|
+
},
|
|
13
|
+
ring: {
|
|
14
|
+
alignItems: 'center',
|
|
15
|
+
justifyContent: 'center',
|
|
16
|
+
},
|
|
17
|
+
dot: {
|
|
18
|
+
// positioned in center by parent's alignItems/justifyContent
|
|
19
|
+
},
|
|
20
|
+
textContainer: {
|
|
21
|
+
flex: 1,
|
|
22
|
+
gap: 2,
|
|
23
|
+
},
|
|
24
|
+
helper: {
|
|
25
|
+
fontSize: 12,
|
|
26
|
+
lineHeight: 16,
|
|
27
|
+
fontWeight: '400',
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
//# sourceMappingURL=RadioButton.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RadioButton.styles.js","sourceRoot":"","sources":["../../../src/components/RadioButton/RadioButton.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IACtC,OAAO,EAAE;QACP,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,QAAQ;QACpB,GAAG,EAAE,CAAC;KACP;IACD,WAAW,EAAE;QACX,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;QACxB,UAAU,EAAE,CAAC;KACd;IACD,IAAI,EAAE;QACJ,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;KACzB;IACD,GAAG,EAAE;IACH,6DAA6D;KAC9D;IACD,aAAa,EAAE;QACb,IAAI,EAAE,CAAC;QACP,GAAG,EAAE,CAAC;KACP;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,EAAE;QACd,UAAU,EAAE,KAAK;KAClB;CACF,CAAC,CAAC","sourcesContent":["import { StyleSheet } from 'react-native';\n\nexport const styles = StyleSheet.create({\n wrapper: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: 8,\n },\n touchTarget: {\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n },\n ring: {\n alignItems: 'center',\n justifyContent: 'center',\n },\n dot: {\n // positioned in center by parent's alignItems/justifyContent\n },\n textContainer: {\n flex: 1,\n gap: 2,\n },\n helper: {\n fontSize: 12,\n lineHeight: 16,\n fontWeight: '400',\n },\n});\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/RadioButton/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/RadioButton/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC","sourcesContent":["export { RadioButton } from './RadioButton';\nexport type { RadioButtonProps, RadioButtonSize } from './RadioButton';\n"]}
|