@situaction/traquiste-mobile 1.0.0-next.5 → 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 +7 -2
- 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 +6 -2
- package/build/context/ThemeContext.d.ts.map +1 -1
- package/build/context/ThemeContext.js +5 -3
- 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,60 @@
|
|
|
1
|
+
export declare const styles: {
|
|
2
|
+
container: {
|
|
3
|
+
width: "100%";
|
|
4
|
+
flexDirection: "column";
|
|
5
|
+
gap: number;
|
|
6
|
+
paddingBottom: number;
|
|
7
|
+
};
|
|
8
|
+
headerRow: {
|
|
9
|
+
height: number;
|
|
10
|
+
flexDirection: "row";
|
|
11
|
+
alignItems: "center";
|
|
12
|
+
justifyContent: "center";
|
|
13
|
+
paddingHorizontal: number;
|
|
14
|
+
};
|
|
15
|
+
titleGroup: {
|
|
16
|
+
flexDirection: "row";
|
|
17
|
+
alignItems: "center";
|
|
18
|
+
justifyContent: "center";
|
|
19
|
+
gap: number;
|
|
20
|
+
};
|
|
21
|
+
title: {
|
|
22
|
+
fontFamily: string;
|
|
23
|
+
fontWeight: "700";
|
|
24
|
+
includeFontPadding: false;
|
|
25
|
+
textAlignVertical: "center";
|
|
26
|
+
};
|
|
27
|
+
titleS: {
|
|
28
|
+
fontSize: number;
|
|
29
|
+
lineHeight: number;
|
|
30
|
+
};
|
|
31
|
+
titleM: {
|
|
32
|
+
fontSize: number;
|
|
33
|
+
lineHeight: number;
|
|
34
|
+
};
|
|
35
|
+
titleL: {
|
|
36
|
+
fontSize: number;
|
|
37
|
+
lineHeight: number;
|
|
38
|
+
};
|
|
39
|
+
btnLeft: {
|
|
40
|
+
position: "absolute";
|
|
41
|
+
top: number;
|
|
42
|
+
width: number;
|
|
43
|
+
height: number;
|
|
44
|
+
alignItems: "center";
|
|
45
|
+
justifyContent: "center";
|
|
46
|
+
};
|
|
47
|
+
btnRight: {
|
|
48
|
+
position: "absolute";
|
|
49
|
+
top: number;
|
|
50
|
+
width: number;
|
|
51
|
+
height: number;
|
|
52
|
+
alignItems: "center";
|
|
53
|
+
justifyContent: "center";
|
|
54
|
+
};
|
|
55
|
+
slot: {
|
|
56
|
+
height: number;
|
|
57
|
+
width: "100%";
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=PageNav.styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PageNav.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/navigation/PageNav/PageNav.styles.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8DjB,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/** Static layout styles for PageNav — all colors injected via useTheme() */
|
|
2
|
+
import { StyleSheet } from 'react-native';
|
|
3
|
+
export const styles = StyleSheet.create({
|
|
4
|
+
// Outer container
|
|
5
|
+
container: {
|
|
6
|
+
width: '100%',
|
|
7
|
+
flexDirection: 'column',
|
|
8
|
+
gap: 4,
|
|
9
|
+
paddingBottom: 8,
|
|
10
|
+
},
|
|
11
|
+
// Header row — 40px high, buttons positioned absolute inside
|
|
12
|
+
headerRow: {
|
|
13
|
+
height: 40,
|
|
14
|
+
flexDirection: 'row',
|
|
15
|
+
alignItems: 'center',
|
|
16
|
+
justifyContent: 'center',
|
|
17
|
+
paddingHorizontal: 10,
|
|
18
|
+
},
|
|
19
|
+
// Title + icon group — centered
|
|
20
|
+
titleGroup: {
|
|
21
|
+
flexDirection: 'row',
|
|
22
|
+
alignItems: 'center',
|
|
23
|
+
justifyContent: 'center',
|
|
24
|
+
gap: 6,
|
|
25
|
+
},
|
|
26
|
+
// Title text base
|
|
27
|
+
title: {
|
|
28
|
+
fontFamily: 'Urbanist',
|
|
29
|
+
fontWeight: '700',
|
|
30
|
+
includeFontPadding: false,
|
|
31
|
+
textAlignVertical: 'center',
|
|
32
|
+
},
|
|
33
|
+
titleS: { fontSize: 16, lineHeight: 22 },
|
|
34
|
+
titleM: { fontSize: 18, lineHeight: 24 },
|
|
35
|
+
titleL: { fontSize: 20, lineHeight: 26 },
|
|
36
|
+
// Absolute left button — left offset set inline per index
|
|
37
|
+
btnLeft: {
|
|
38
|
+
position: 'absolute',
|
|
39
|
+
top: 0,
|
|
40
|
+
width: 40,
|
|
41
|
+
height: 40,
|
|
42
|
+
alignItems: 'center',
|
|
43
|
+
justifyContent: 'center',
|
|
44
|
+
},
|
|
45
|
+
// Absolute right button — right offset set inline per index
|
|
46
|
+
btnRight: {
|
|
47
|
+
position: 'absolute',
|
|
48
|
+
top: 0,
|
|
49
|
+
width: 40,
|
|
50
|
+
height: 40,
|
|
51
|
+
alignItems: 'center',
|
|
52
|
+
justifyContent: 'center',
|
|
53
|
+
},
|
|
54
|
+
// Optional slot below header — 34px
|
|
55
|
+
slot: {
|
|
56
|
+
height: 34,
|
|
57
|
+
width: '100%',
|
|
58
|
+
},
|
|
59
|
+
});
|
|
60
|
+
//# sourceMappingURL=PageNav.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PageNav.styles.js","sourceRoot":"","sources":["../../../../src/components/navigation/PageNav/PageNav.styles.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IACtC,kBAAkB;IAClB,SAAS,EAAE;QACT,KAAK,EAAE,MAAM;QACb,aAAa,EAAE,QAAQ;QACvB,GAAG,EAAE,CAAC;QACN,aAAa,EAAE,CAAC;KACjB;IAED,6DAA6D;IAC7D,SAAS,EAAE;QACT,MAAM,EAAE,EAAE;QACV,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;QACxB,iBAAiB,EAAE,EAAE;KACtB;IAED,gCAAgC;IAChC,UAAU,EAAE;QACV,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;QACxB,GAAG,EAAE,CAAC;KACP;IAED,kBAAkB;IAClB,KAAK,EAAE;QACL,UAAU,EAAE,UAAU;QACtB,UAAU,EAAE,KAAK;QACjB,kBAAkB,EAAE,KAAK;QACzB,iBAAiB,EAAE,QAAQ;KAC5B;IACD,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;IACxC,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;IACxC,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;IAExC,0DAA0D;IAC1D,OAAO,EAAE;QACP,QAAQ,EAAE,UAAU;QACpB,GAAG,EAAE,CAAC;QACN,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;KACzB;IAED,4DAA4D;IAC5D,QAAQ,EAAE;QACR,QAAQ,EAAE,UAAU;QACpB,GAAG,EAAE,CAAC;QACN,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;KACzB;IAED,oCAAoC;IACpC,IAAI,EAAE;QACJ,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,MAAM;KACd;CACF,CAAC,CAAC","sourcesContent":["/** Static layout styles for PageNav — all colors injected via useTheme() */\nimport { StyleSheet } from 'react-native';\n\nexport const styles = StyleSheet.create({\n // Outer container\n container: {\n width: '100%',\n flexDirection: 'column',\n gap: 4,\n paddingBottom: 8,\n },\n\n // Header row — 40px high, buttons positioned absolute inside\n headerRow: {\n height: 40,\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n paddingHorizontal: 10,\n },\n\n // Title + icon group — centered\n titleGroup: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n gap: 6,\n },\n\n // Title text base\n title: {\n fontFamily: 'Urbanist',\n fontWeight: '700',\n includeFontPadding: false,\n textAlignVertical: 'center',\n },\n titleS: { fontSize: 16, lineHeight: 22 },\n titleM: { fontSize: 18, lineHeight: 24 },\n titleL: { fontSize: 20, lineHeight: 26 },\n\n // Absolute left button — left offset set inline per index\n btnLeft: {\n position: 'absolute',\n top: 0,\n width: 40,\n height: 40,\n alignItems: 'center',\n justifyContent: 'center',\n },\n\n // Absolute right button — right offset set inline per index\n btnRight: {\n position: 'absolute',\n top: 0,\n width: 40,\n height: 40,\n alignItems: 'center',\n justifyContent: 'center',\n },\n\n // Optional slot below header — 34px\n slot: {\n height: 34,\n width: '100%',\n },\n});"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/navigation/PageNav/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/navigation/PageNav/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC","sourcesContent":["export { PageNav, default } from './PageNav';\nexport type { PageNavProps } from './PageNav';\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** ScreenCanva — app shell frame without TabBar, just the rounded content area */
|
|
2
|
+
import React from 'react';
|
|
3
|
+
export interface ScreenCanvaProps {
|
|
4
|
+
/** Content rendered inside the frame */
|
|
5
|
+
children?: React.ReactNode;
|
|
6
|
+
}
|
|
7
|
+
export declare function ScreenCanva({ children }: ScreenCanvaProps): React.JSX.Element;
|
|
8
|
+
//# sourceMappingURL=ScreenCanva.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScreenCanva.d.ts","sourceRoot":"","sources":["../../../../src/components/navigation/ScreenCanva/ScreenCanva.tsx"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,MAAM,WAAW,gBAAgB;IAC/B,wCAAwC;IACxC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,EAAE,gBAAgB,qBAiBzD"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/** ScreenCanva — app shell frame without TabBar, just the rounded content area */
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { View, StyleSheet, StatusBar } from 'react-native';
|
|
4
|
+
import { SafeAreaView, useSafeAreaInsets } from 'react-native-safe-area-context';
|
|
5
|
+
import { useTheme } from '../../../context/ThemeContext';
|
|
6
|
+
export function ScreenCanva({ children }) {
|
|
7
|
+
const { colors } = useTheme();
|
|
8
|
+
const insets = useSafeAreaInsets();
|
|
9
|
+
return (<SafeAreaView style={[styles.root, { backgroundColor: colors.canva.shellBackground }]} edges={['top']}>
|
|
10
|
+
<StatusBar barStyle="dark-content" backgroundColor="transparent" translucent/>
|
|
11
|
+
<View style={[styles.shell, { paddingBottom: insets.bottom + 6 }]}>
|
|
12
|
+
<View style={[styles.content, {
|
|
13
|
+
backgroundColor: colors.canva.contentBackground,
|
|
14
|
+
borderColor: colors.canva.contentBorder,
|
|
15
|
+
}]}>
|
|
16
|
+
{children}
|
|
17
|
+
</View>
|
|
18
|
+
</View>
|
|
19
|
+
</SafeAreaView>);
|
|
20
|
+
}
|
|
21
|
+
const styles = StyleSheet.create({
|
|
22
|
+
root: {
|
|
23
|
+
flex: 1,
|
|
24
|
+
},
|
|
25
|
+
shell: {
|
|
26
|
+
flex: 1,
|
|
27
|
+
paddingHorizontal: 6,
|
|
28
|
+
paddingTop: 4,
|
|
29
|
+
},
|
|
30
|
+
content: {
|
|
31
|
+
flex: 1,
|
|
32
|
+
borderRadius: 12,
|
|
33
|
+
borderWidth: 1,
|
|
34
|
+
overflow: 'hidden',
|
|
35
|
+
},
|
|
36
|
+
});
|
|
37
|
+
//# sourceMappingURL=ScreenCanva.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScreenCanva.js","sourceRoot":"","sources":["../../../../src/components/navigation/ScreenCanva/ScreenCanva.tsx"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACjF,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAOzD,MAAM,UAAU,WAAW,CAAC,EAAE,QAAQ,EAAoB;IACxD,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IAEnC,OAAO,CACL,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CACpG;MAAA,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,aAAa,CAAC,WAAW,EAC5E;MAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAChE;QAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE;gBAC5B,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,iBAAiB;gBAC/C,WAAW,EAAM,MAAM,CAAC,KAAK,CAAC,aAAa;aAC5C,CAAC,CAAC,CACD;UAAA,CAAC,QAAQ,CACX;QAAA,EAAE,IAAI,CACR;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,YAAY,CAAC,CAChB,CAAC;AACJ,CAAC;AAED,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,IAAI,EAAE;QACJ,IAAI,EAAE,CAAC;KACR;IACD,KAAK,EAAE;QACL,IAAI,EAAa,CAAC;QAClB,iBAAiB,EAAE,CAAC;QACpB,UAAU,EAAO,CAAC;KACnB;IACD,OAAO,EAAE;QACP,IAAI,EAAU,CAAC;QACf,YAAY,EAAE,EAAE;QAChB,WAAW,EAAG,CAAC;QACf,QAAQ,EAAM,QAAQ;KACvB;CACF,CAAC,CAAC","sourcesContent":["/** ScreenCanva — app shell frame without TabBar, just the rounded content area */\nimport React from 'react';\nimport { View, StyleSheet, StatusBar } from 'react-native';\nimport { SafeAreaView, useSafeAreaInsets } from 'react-native-safe-area-context';\nimport { useTheme } from '../../../context/ThemeContext';\n\nexport interface ScreenCanvaProps {\n /** Content rendered inside the frame */\n children?: React.ReactNode;\n}\n\nexport function ScreenCanva({ children }: ScreenCanvaProps) {\n const { colors } = useTheme();\n const insets = useSafeAreaInsets();\n\n return (\n <SafeAreaView style={[styles.root, { backgroundColor: colors.canva.shellBackground }]} edges={['top']}>\n <StatusBar barStyle=\"dark-content\" backgroundColor=\"transparent\" translucent />\n <View style={[styles.shell, { paddingBottom: insets.bottom + 6 }]}>\n <View style={[styles.content, {\n backgroundColor: colors.canva.contentBackground,\n borderColor: colors.canva.contentBorder,\n }]}>\n {children}\n </View>\n </View>\n </SafeAreaView>\n );\n}\n\nconst styles = StyleSheet.create({\n root: {\n flex: 1,\n },\n shell: {\n flex: 1,\n paddingHorizontal: 6,\n paddingTop: 4,\n },\n content: {\n flex: 1,\n borderRadius: 12,\n borderWidth: 1,\n overflow: 'hidden',\n },\n});"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/navigation/ScreenCanva/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/navigation/ScreenCanva/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC","sourcesContent":["export { ScreenCanva } from './ScreenCanva';\nexport type { ScreenCanvaProps } from './ScreenCanva';"]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/** Tab bar navigation component — 4 fixed tabs built on ButtonMenu */
|
|
2
|
+
import React from 'react';
|
|
3
|
+
export interface TabBarItem {
|
|
4
|
+
/** Phosphor icon element (will have size + color injected) */
|
|
5
|
+
icon: React.ReactElement;
|
|
6
|
+
/** Show notification dot */
|
|
7
|
+
notif?: boolean;
|
|
8
|
+
/** Disable the tab — blocks press and dims the icon */
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
/** Called when tab is pressed */
|
|
11
|
+
onPress: () => void;
|
|
12
|
+
/** Accessibility label for screen readers */
|
|
13
|
+
accessibilityLabel?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface TabBarProps {
|
|
16
|
+
/** Exactly 4 tab items */
|
|
17
|
+
tabs: [TabBarItem, TabBarItem, TabBarItem, TabBarItem];
|
|
18
|
+
/** Index of the currently active tab (0–3) */
|
|
19
|
+
activeIndex: number;
|
|
20
|
+
}
|
|
21
|
+
export declare function TabBar({ tabs, activeIndex }: TabBarProps): React.JSX.Element;
|
|
22
|
+
//# sourceMappingURL=TabBar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TabBar.d.ts","sourceRoot":"","sources":["../../../../src/components/navigation/TabBar/TabBar.tsx"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,MAAM,WAAW,UAAU;IACzB,8DAA8D;IAC9D,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC;IACzB,4BAA4B;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iCAAiC;IACjC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,6CAA6C;IAC7C,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,WAAW;IAC1B,0BAA0B;IAC1B,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IACvD,8CAA8C;IAC9C,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,MAAM,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,WAAW,qBAkBxD"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** Tab bar navigation component — 4 fixed tabs built on ButtonMenu */
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { View } from 'react-native';
|
|
4
|
+
import { ButtonMenu } from '../../ButtonMenu';
|
|
5
|
+
import { styles } from './TabBar.styles';
|
|
6
|
+
export function TabBar({ tabs, activeIndex }) {
|
|
7
|
+
return (<View style={styles.shell}>
|
|
8
|
+
{tabs.map((tab, index) => (<View key={index} style={styles.tabSlot}>
|
|
9
|
+
<ButtonMenu icon={tab.icon} state={tab.disabled ? 'disabled' : index === activeIndex ? 'active' : 'default'} notif={tab.notif} onPress={tab.onPress} accessibilityLabel={tab.accessibilityLabel}/>
|
|
10
|
+
</View>))}
|
|
11
|
+
</View>);
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=TabBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TabBar.js","sourceRoot":"","sources":["../../../../src/components/navigation/TabBar/TabBar.tsx"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAsBzC,MAAM,UAAU,MAAM,CAAC,EAAE,IAAI,EAAE,WAAW,EAAe;IACvD,OAAO,CACL,CAAC,IAAI,CACH,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAEpB;MAAA,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CACxB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CACtC;UAAA,CAAC,UAAU,CACT,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CACf,KAAK,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAChF,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CACjB,OAAO,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CACrB,kBAAkB,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAE/C;QAAA,EAAE,IAAI,CAAC,CACR,CAAC,CACJ;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC","sourcesContent":["/** Tab bar navigation component — 4 fixed tabs built on ButtonMenu */\nimport React from 'react';\nimport { View } from 'react-native';\nimport { ButtonMenu } from '../../ButtonMenu';\nimport { styles } from './TabBar.styles';\n\nexport interface TabBarItem {\n /** Phosphor icon element (will have size + color injected) */\n icon: React.ReactElement;\n /** Show notification dot */\n notif?: boolean;\n /** Disable the tab — blocks press and dims the icon */\n disabled?: boolean;\n /** Called when tab is pressed */\n onPress: () => void;\n /** Accessibility label for screen readers */\n accessibilityLabel?: string;\n}\n\nexport interface TabBarProps {\n /** Exactly 4 tab items */\n tabs: [TabBarItem, TabBarItem, TabBarItem, TabBarItem];\n /** Index of the currently active tab (0–3) */\n activeIndex: number;\n}\n\nexport function TabBar({ tabs, activeIndex }: TabBarProps) {\n return (\n <View\n style={styles.shell}\n >\n {tabs.map((tab, index) => (\n <View key={index} style={styles.tabSlot}>\n <ButtonMenu\n icon={tab.icon}\n state={tab.disabled ? 'disabled' : index === activeIndex ? 'active' : 'default'}\n notif={tab.notif}\n onPress={tab.onPress}\n accessibilityLabel={tab.accessibilityLabel}\n />\n </View>\n ))}\n </View>\n );\n}"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare const styles: {
|
|
2
|
+
shell: {
|
|
3
|
+
flexDirection: "row";
|
|
4
|
+
alignItems: "center";
|
|
5
|
+
paddingHorizontal: number;
|
|
6
|
+
gap: number;
|
|
7
|
+
width: "100%";
|
|
8
|
+
};
|
|
9
|
+
tabSlot: {
|
|
10
|
+
flex: number;
|
|
11
|
+
alignItems: "center";
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=TabBar.styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TabBar.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/navigation/TabBar/TabBar.styles.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,MAAM;;;;;;;;;;;;CAYjB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/** Static layout styles for TabBar shell — tab buttons are rendered by ButtonMenu */
|
|
2
|
+
import { StyleSheet } from 'react-native';
|
|
3
|
+
export const styles = StyleSheet.create({
|
|
4
|
+
shell: {
|
|
5
|
+
flexDirection: 'row',
|
|
6
|
+
alignItems: 'center',
|
|
7
|
+
paddingHorizontal: 16,
|
|
8
|
+
gap: 2,
|
|
9
|
+
width: '100%',
|
|
10
|
+
},
|
|
11
|
+
tabSlot: {
|
|
12
|
+
flex: 1,
|
|
13
|
+
alignItems: 'center',
|
|
14
|
+
},
|
|
15
|
+
});
|
|
16
|
+
//# sourceMappingURL=TabBar.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TabBar.styles.js","sourceRoot":"","sources":["../../../../src/components/navigation/TabBar/TabBar.styles.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IACtC,KAAK,EAAE;QACL,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,QAAQ;QACpB,iBAAiB,EAAE,EAAE;QACrB,GAAG,EAAE,CAAC;QACN,KAAK,EAAE,MAAM;KACd;IACD,OAAO,EAAE;QACP,IAAI,EAAE,CAAC;QACP,UAAU,EAAE,QAAQ;KACrB;CACF,CAAC,CAAC","sourcesContent":["/** Static layout styles for TabBar shell — tab buttons are rendered by ButtonMenu */\nimport { StyleSheet } from 'react-native';\n\nexport const styles = StyleSheet.create({\n shell: {\n flexDirection: 'row',\n alignItems: 'center',\n paddingHorizontal: 16,\n gap: 2,\n width: '100%',\n },\n tabSlot: {\n flex: 1,\n alignItems: 'center',\n },\n});"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/navigation/TabBar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/navigation/TabBar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC","sourcesContent":["export { TabBar } from './TabBar';\nexport type { TabBarProps, TabBarItem } from './TabBar';"]}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/** Provides a stackable global bottom sheet — openSheet pushes, closeSheet pops */
|
|
2
|
+
import React from 'react';
|
|
3
|
+
export type BottomSheetOptions = {
|
|
4
|
+
/** Initial height as a fraction of screen height (0 to 1) */
|
|
5
|
+
size?: number;
|
|
6
|
+
/** Allow sliding up to expand to full screen (default: true) */
|
|
7
|
+
expandable?: boolean;
|
|
8
|
+
/** Allow sliding down to close (default: true) */
|
|
9
|
+
closeable?: boolean;
|
|
10
|
+
/** Show a close button (default: false) */
|
|
11
|
+
showCloseButton?: boolean;
|
|
12
|
+
/** Position of the close button (default: 'right') */
|
|
13
|
+
closeButtonPosition?: 'left' | 'right';
|
|
14
|
+
/** Show dark backdrop behind the sheet (default: true) */
|
|
15
|
+
backdrop?: boolean;
|
|
16
|
+
/** Block interactions with content behind the sheet even without a visible backdrop (default: false) */
|
|
17
|
+
blockBackground?: boolean;
|
|
18
|
+
/** Close the sheet when the backdrop is pressed (default: false) */
|
|
19
|
+
closeOnBackdropPress?: boolean;
|
|
20
|
+
/** Auto-size the sheet based on content height instead of a fixed snap point (default: false) */
|
|
21
|
+
autoSize?: boolean;
|
|
22
|
+
/** How the sheet reacts when the keyboard opens */
|
|
23
|
+
keyboardBehavior?: 'extend' | 'fillParent' | 'interactive';
|
|
24
|
+
/** Whether the sheet restores its position when the keyboard closes */
|
|
25
|
+
keyboardBlurBehavior?: 'none' | 'restore';
|
|
26
|
+
/** Called when the sheet opens */
|
|
27
|
+
onOpen?: () => void;
|
|
28
|
+
/** Called when the sheet closes */
|
|
29
|
+
onClose?: () => void;
|
|
30
|
+
};
|
|
31
|
+
export type BottomSheetContextValue = {
|
|
32
|
+
/** Push a new sheet on top of the stack */
|
|
33
|
+
openSheet: (content: React.ReactNode, options?: BottomSheetOptions) => void;
|
|
34
|
+
/** Close the top-most sheet */
|
|
35
|
+
closeSheet: () => void;
|
|
36
|
+
};
|
|
37
|
+
export declare const BottomSheetProvider: ({ children }: {
|
|
38
|
+
children: React.ReactNode;
|
|
39
|
+
}) => React.JSX.Element;
|
|
40
|
+
/** Hook to open/close the global bottom sheet from anywhere in the app */
|
|
41
|
+
export declare const useBottomSheet: () => BottomSheetContextValue;
|
|
42
|
+
//# sourceMappingURL=BottomSheetContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BottomSheetContext.d.ts","sourceRoot":"","sources":["../../src/context/BottomSheetContext.tsx"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,OAAO,KAAmE,MAAM,OAAO,CAAC;AAIxF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kDAAkD;IAClD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,2CAA2C;IAC3C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,sDAAsD;IACtD,mBAAmB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACvC,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wGAAwG;IACxG,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,oEAAoE;IACpE,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,iGAAiG;IACjG,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mDAAmD;IACnD,gBAAgB,CAAC,EAAE,QAAQ,GAAG,YAAY,GAAG,aAAa,CAAC;IAC3D,uEAAuE;IACvE,oBAAoB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAUF,MAAM,MAAM,uBAAuB,GAAG;IACpC,2CAA2C;IAC3C,SAAS,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC5E,+BAA+B;IAC/B,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC;AAIF,eAAO,MAAM,mBAAmB,GAAI,cAAc;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,sBA+D9E,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,cAAc,QAAO,uBAIjC,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/** Provides a stackable global bottom sheet — openSheet pushes, closeSheet pops */
|
|
2
|
+
import React, { createContext, useCallback, useContext, useRef, useState } from 'react';
|
|
3
|
+
import { StyleSheet, View } from 'react-native';
|
|
4
|
+
import { BottomSheet } from '../components/BottomSheet';
|
|
5
|
+
const BottomSheetContext = createContext(null);
|
|
6
|
+
export const BottomSheetProvider = ({ children }) => {
|
|
7
|
+
const [stack, setStack] = useState([]);
|
|
8
|
+
const lastOpenTimeRef = useRef(0);
|
|
9
|
+
const openSheet = useCallback((content, options = {}) => {
|
|
10
|
+
// Prevent rapid successive opens (double-tap protection).
|
|
11
|
+
// 300ms matches the gorhom sheet open animation duration — by the time a nested
|
|
12
|
+
// sheet is interactable, the window has already elapsed.
|
|
13
|
+
const now = Date.now();
|
|
14
|
+
if (now - lastOpenTimeRef.current < 300)
|
|
15
|
+
return;
|
|
16
|
+
lastOpenTimeRef.current = now;
|
|
17
|
+
const id = now;
|
|
18
|
+
// Mount directly with isOpen=true — gorhom uses initialIndex prop to start open
|
|
19
|
+
setStack((prev) => [...prev, { id, content, options, isOpen: true }]);
|
|
20
|
+
}, []);
|
|
21
|
+
const closeSheet = useCallback(() => {
|
|
22
|
+
// Trigger close animation on the top sheet — removal happens in onClose callback
|
|
23
|
+
setStack((prev) => {
|
|
24
|
+
if (prev.length === 0)
|
|
25
|
+
return prev;
|
|
26
|
+
return prev.map((entry, i) => i === prev.length - 1 ? { ...entry, isOpen: false } : entry);
|
|
27
|
+
});
|
|
28
|
+
}, []);
|
|
29
|
+
const removeEntry = useCallback((id, onCloseCb) => {
|
|
30
|
+
setStack((prev) => prev.filter((e) => e.id !== id));
|
|
31
|
+
onCloseCb?.();
|
|
32
|
+
}, []);
|
|
33
|
+
return (<BottomSheetContext.Provider value={{ openSheet, closeSheet }}>
|
|
34
|
+
{children}
|
|
35
|
+
{stack.length > 0 && (
|
|
36
|
+
// absoluteFill gives gorhom a full-screen reference frame for snap points
|
|
37
|
+
<View style={StyleSheet.absoluteFill} pointerEvents="box-none">
|
|
38
|
+
{stack.map((entry) => (<BottomSheet key={entry.id} isOpen={entry.isOpen} onOpen={entry.options.onOpen} onClose={() => removeEntry(entry.id, entry.options.onClose)} size={entry.options.size} expandable={entry.options.expandable} closeable={entry.options.closeable} showCloseButton={entry.options.showCloseButton} closeButtonPosition={entry.options.closeButtonPosition} blockBackground={entry.options.blockBackground} closeOnBackdropPress={entry.options.closeOnBackdropPress} backdrop={entry.options.backdrop} autoSize={entry.options.autoSize} keyboardBehavior={entry.options.keyboardBehavior} keyboardBlurBehavior={entry.options.keyboardBlurBehavior}>
|
|
39
|
+
{entry.content}
|
|
40
|
+
</BottomSheet>))}
|
|
41
|
+
</View>)}
|
|
42
|
+
</BottomSheetContext.Provider>);
|
|
43
|
+
};
|
|
44
|
+
/** Hook to open/close the global bottom sheet from anywhere in the app */
|
|
45
|
+
export const useBottomSheet = () => {
|
|
46
|
+
const ctx = useContext(BottomSheetContext);
|
|
47
|
+
if (!ctx)
|
|
48
|
+
throw new Error('useBottomSheet must be used within BottomSheetProvider');
|
|
49
|
+
return ctx;
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=BottomSheetContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BottomSheetContext.js","sourceRoot":"","sources":["../../src/context/BottomSheetContext.tsx"],"names":[],"mappings":"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","sourcesContent":["/** Provides a stackable global bottom sheet — openSheet pushes, closeSheet pops */\nimport React, { createContext, useCallback, useContext, useRef, useState } from 'react';\nimport { StyleSheet, View } from 'react-native';\nimport { BottomSheet } from '../components/BottomSheet';\n\nexport type BottomSheetOptions = {\n /** Initial height as a fraction of screen height (0 to 1) */\n size?: number;\n /** Allow sliding up to expand to full screen (default: true) */\n expandable?: boolean;\n /** Allow sliding down to close (default: true) */\n closeable?: boolean;\n /** Show a close button (default: false) */\n showCloseButton?: boolean;\n /** Position of the close button (default: 'right') */\n closeButtonPosition?: 'left' | 'right';\n /** Show dark backdrop behind the sheet (default: true) */\n backdrop?: boolean;\n /** Block interactions with content behind the sheet even without a visible backdrop (default: false) */\n blockBackground?: boolean;\n /** Close the sheet when the backdrop is pressed (default: false) */\n closeOnBackdropPress?: boolean;\n /** Auto-size the sheet based on content height instead of a fixed snap point (default: false) */\n autoSize?: boolean;\n /** How the sheet reacts when the keyboard opens */\n keyboardBehavior?: 'extend' | 'fillParent' | 'interactive';\n /** Whether the sheet restores its position when the keyboard closes */\n keyboardBlurBehavior?: 'none' | 'restore';\n /** Called when the sheet opens */\n onOpen?: () => void;\n /** Called when the sheet closes */\n onClose?: () => void;\n};\n\ntype SheetEntry = {\n id: number;\n content: React.ReactNode;\n options: BottomSheetOptions;\n /** Controls the open/close animation — set to false to trigger close animation before removal */\n isOpen: boolean;\n};\n\nexport type BottomSheetContextValue = {\n /** Push a new sheet on top of the stack */\n openSheet: (content: React.ReactNode, options?: BottomSheetOptions) => void;\n /** Close the top-most sheet */\n closeSheet: () => void;\n};\n\nconst BottomSheetContext = createContext<BottomSheetContextValue | null>(null);\n\nexport const BottomSheetProvider = ({ children }: { children: React.ReactNode }) => {\n const [stack, setStack] = useState<SheetEntry[]>([]);\n const lastOpenTimeRef = useRef(0);\n\n const openSheet = useCallback((content: React.ReactNode, options: BottomSheetOptions = {}) => {\n // Prevent rapid successive opens (double-tap protection).\n // 300ms matches the gorhom sheet open animation duration — by the time a nested\n // sheet is interactable, the window has already elapsed.\n const now = Date.now();\n if (now - lastOpenTimeRef.current < 300) return;\n lastOpenTimeRef.current = now;\n\n const id = now;\n // Mount directly with isOpen=true — gorhom uses initialIndex prop to start open\n setStack((prev) => [...prev, { id, content, options, isOpen: true }]);\n }, []);\n\n const closeSheet = useCallback(() => {\n // Trigger close animation on the top sheet — removal happens in onClose callback\n setStack((prev) => {\n if (prev.length === 0) return prev;\n return prev.map((entry, i) =>\n i === prev.length - 1 ? { ...entry, isOpen: false } : entry,\n );\n });\n }, []);\n\n const removeEntry = useCallback((id: number, onCloseCb?: () => void) => {\n setStack((prev) => prev.filter((e) => e.id !== id));\n onCloseCb?.();\n }, []);\n\n return (\n <BottomSheetContext.Provider value={{ openSheet, closeSheet }}>\n {children}\n {stack.length > 0 && (\n // absoluteFill gives gorhom a full-screen reference frame for snap points\n <View style={StyleSheet.absoluteFill} pointerEvents=\"box-none\">\n {stack.map((entry) => (\n <BottomSheet\n key={entry.id}\n isOpen={entry.isOpen}\n onOpen={entry.options.onOpen}\n onClose={() => removeEntry(entry.id, entry.options.onClose)}\n size={entry.options.size}\n expandable={entry.options.expandable}\n closeable={entry.options.closeable}\n showCloseButton={entry.options.showCloseButton}\n closeButtonPosition={entry.options.closeButtonPosition}\n blockBackground={entry.options.blockBackground}\n closeOnBackdropPress={entry.options.closeOnBackdropPress}\n backdrop={entry.options.backdrop}\n autoSize={entry.options.autoSize}\n keyboardBehavior={entry.options.keyboardBehavior}\n keyboardBlurBehavior={entry.options.keyboardBlurBehavior}\n >\n {entry.content}\n </BottomSheet>\n ))}\n </View>\n )}\n </BottomSheetContext.Provider>\n );\n};\n\n/** Hook to open/close the global bottom sheet from anywhere in the app */\nexport const useBottomSheet = (): BottomSheetContextValue => {\n const ctx = useContext(BottomSheetContext);\n if (!ctx) throw new Error('useBottomSheet must be used within BottomSheetProvider');\n return ctx;\n};"]}
|
|
@@ -3,13 +3,15 @@
|
|
|
3
3
|
* Provides ThemeProvider and useTheme hook.
|
|
4
4
|
* Consumer apps inject their own light/dark tokens via ThemeProvider props.
|
|
5
5
|
*/
|
|
6
|
-
import
|
|
6
|
+
import { type ReactNode } from 'react';
|
|
7
7
|
import type { ColorSchemeTokens } from '../theme/type';
|
|
8
8
|
interface ThemeContextValue {
|
|
9
9
|
/** Resolved tokens for the active color scheme */
|
|
10
10
|
colors: ColorSchemeTokens;
|
|
11
11
|
/** Active color scheme */
|
|
12
12
|
colorScheme: 'light' | 'dark';
|
|
13
|
+
/** Font family applied to all text in lib components — defaults to 'Urbanist' */
|
|
14
|
+
fontFamily: string;
|
|
13
15
|
}
|
|
14
16
|
interface ThemeProviderProps {
|
|
15
17
|
/** Light tokens — defaults to GDM light */
|
|
@@ -18,9 +20,11 @@ interface ThemeProviderProps {
|
|
|
18
20
|
dark?: ColorSchemeTokens;
|
|
19
21
|
/** Force a color scheme — defaults to system preference */
|
|
20
22
|
colorScheme?: 'light' | 'dark';
|
|
23
|
+
/** Font family applied to all text in lib components — defaults to 'Urbanist' */
|
|
24
|
+
fontFamily?: string;
|
|
21
25
|
children: ReactNode;
|
|
22
26
|
}
|
|
23
|
-
export declare function ThemeProvider({ light, dark, colorScheme: forcedScheme, children, }: ThemeProviderProps):
|
|
27
|
+
export declare function ThemeProvider({ light, dark, colorScheme: forcedScheme, fontFamily, children, }: ThemeProviderProps): import("react").JSX.Element;
|
|
24
28
|
/**
|
|
25
29
|
* Returns resolved color tokens for the active theme and color scheme.
|
|
26
30
|
* Falls back to light tokens when used outside a ThemeProvider.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeContext.d.ts","sourceRoot":"","sources":["../../src/context/ThemeContext.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"ThemeContext.d.ts","sourceRoot":"","sources":["../../src/context/ThemeContext.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAIL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAKf,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAMvD,UAAU,iBAAiB;IACzB,kDAAkD;IAClD,MAAM,EAAE,iBAAiB,CAAC;IAC1B,0BAA0B;IAC1B,WAAW,EAAE,OAAO,GAAG,MAAM,CAAC;IAC9B,iFAAiF;IACjF,UAAU,EAAE,MAAM,CAAC;CACpB;AAcD,UAAU,kBAAkB;IAC1B,2CAA2C;IAC3C,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,yCAAyC;IACzC,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC/B,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,wBAAgB,aAAa,CAAC,EACE,KAAmB,EACnB,IAAiB,EACjB,WAAW,EAAE,YAAY,EACzB,UAAuB,EACvB,QAAQ,GACT,EAAE,kBAAkB,+BAiBlD;AAMD;;;GAGG;AACH,wBAAgB,QAAQ,IAAI,iBAAiB,CAE5C"}
|
|
@@ -3,22 +3,24 @@
|
|
|
3
3
|
* Provides ThemeProvider and useTheme hook.
|
|
4
4
|
* Consumer apps inject their own light/dark tokens via ThemeProvider props.
|
|
5
5
|
*/
|
|
6
|
-
import
|
|
6
|
+
import { createContext, useContext, useMemo, } from 'react';
|
|
7
7
|
import { useColorScheme } from 'react-native';
|
|
8
8
|
import { lightTokens } from '../theme/tokens/light';
|
|
9
9
|
import { darkTokens } from '../theme/tokens/dark';
|
|
10
10
|
const DEFAULT_VALUE = {
|
|
11
11
|
colors: lightTokens,
|
|
12
12
|
colorScheme: 'light',
|
|
13
|
+
fontFamily: 'Urbanist',
|
|
13
14
|
};
|
|
14
15
|
const ThemeContext = createContext(DEFAULT_VALUE);
|
|
15
|
-
export function ThemeProvider({ light = lightTokens, dark = darkTokens, colorScheme: forcedScheme, children, }) {
|
|
16
|
+
export function ThemeProvider({ light = lightTokens, dark = darkTokens, colorScheme: forcedScheme, fontFamily = 'Urbanist', children, }) {
|
|
16
17
|
const systemScheme = useColorScheme();
|
|
17
18
|
const colorScheme = forcedScheme ?? (systemScheme === 'dark' ? 'dark' : 'light');
|
|
18
19
|
const value = useMemo(() => ({
|
|
19
20
|
colors: colorScheme === 'dark' ? dark : light,
|
|
20
21
|
colorScheme,
|
|
21
|
-
|
|
22
|
+
fontFamily,
|
|
23
|
+
}), [light, dark, colorScheme, fontFamily]);
|
|
22
24
|
return (<ThemeContext.Provider value={value}>{children}</ThemeContext.Provider>);
|
|
23
25
|
}
|
|
24
26
|
// ---------------------------------------------------------------------------
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeContext.js","sourceRoot":"","sources":["../../src/context/ThemeContext.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"ThemeContext.js","sourceRoot":"","sources":["../../src/context/ThemeContext.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,aAAa,EACb,UAAU,EACV,OAAO,GAER,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAgBlD,MAAM,aAAa,GAAsB;IACvC,MAAM,EAAE,WAAW;IACnB,WAAW,EAAE,OAAO;IACpB,UAAU,EAAE,UAAU;CACvB,CAAC;AAEF,MAAM,YAAY,GAAG,aAAa,CAAoB,aAAa,CAAC,CAAC;AAkBrE,MAAM,UAAU,aAAa,CAAC,EACE,KAAK,GAAG,WAAW,EACnB,IAAI,GAAG,UAAU,EACjB,WAAW,EAAE,YAAY,EACzB,UAAU,GAAG,UAAU,EACvB,QAAQ,GACW;IACjD,MAAM,YAAY,GAAG,cAAc,EAAE,CAAC;IACtC,MAAM,WAAW,GACf,YAAY,IAAI,CAAC,YAAY,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAE/D,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE,CAAC,CAAC;QACL,MAAM,EAAE,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;QAC7C,WAAW;QACX,UAAU;KACX,CAAC,EACF,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,CAAC,CACvC,CAAC;IAEF,OAAO,CACL,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CACxE,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,OAAO;AACP,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,UAAU,QAAQ;IACtB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC;AAClC,CAAC","sourcesContent":["/**\n * Theme system for Traq[UI]ste Mobile.\n * Provides ThemeProvider and useTheme hook.\n * Consumer apps inject their own light/dark tokens via ThemeProvider props.\n */\n\nimport {\n createContext,\n useContext,\n useMemo,\n type ReactNode,\n} from 'react';\nimport { useColorScheme } from 'react-native';\n\nimport { lightTokens } from '../theme/tokens/light';\nimport { darkTokens } from '../theme/tokens/dark';\nimport type { ColorSchemeTokens } from '../theme/type';\n\n// ---------------------------------------------------------------------------\n// Context\n// ---------------------------------------------------------------------------\n\ninterface ThemeContextValue {\n /** Resolved tokens for the active color scheme */\n colors: ColorSchemeTokens;\n /** Active color scheme */\n colorScheme: 'light' | 'dark';\n /** Font family applied to all text in lib components — defaults to 'Urbanist' */\n fontFamily: string;\n}\n\nconst DEFAULT_VALUE: ThemeContextValue = {\n colors: lightTokens,\n colorScheme: 'light',\n fontFamily: 'Urbanist',\n};\n\nconst ThemeContext = createContext<ThemeContextValue>(DEFAULT_VALUE);\n\n// ---------------------------------------------------------------------------\n// Provider\n// ---------------------------------------------------------------------------\n\ninterface ThemeProviderProps {\n /** Light tokens — defaults to GDM light */\n light?: ColorSchemeTokens;\n /** Dark tokens — defaults to GDM dark */\n dark?: ColorSchemeTokens;\n /** Force a color scheme — defaults to system preference */\n colorScheme?: 'light' | 'dark';\n /** Font family applied to all text in lib components — defaults to 'Urbanist' */\n fontFamily?: string;\n children: ReactNode;\n}\n\nexport function ThemeProvider({\n light = lightTokens,\n dark = darkTokens,\n colorScheme: forcedScheme,\n fontFamily = 'Urbanist',\n children,\n }: ThemeProviderProps) {\n const systemScheme = useColorScheme();\n const colorScheme: 'light' | 'dark' =\n forcedScheme ?? (systemScheme === 'dark' ? 'dark' : 'light');\n\n const value = useMemo<ThemeContextValue>(\n () => ({\n colors: colorScheme === 'dark' ? dark : light,\n colorScheme,\n fontFamily,\n }),\n [light, dark, colorScheme, fontFamily],\n );\n\n return (\n <ThemeContext.Provider value={value}>{children}</ThemeContext.Provider>\n );\n}\n\n// ---------------------------------------------------------------------------\n// Hook\n// ---------------------------------------------------------------------------\n\n/**\n * Returns resolved color tokens for the active theme and color scheme.\n * Falls back to light tokens when used outside a ThemeProvider.\n */\nexport function useTheme(): ThemeContextValue {\n return useContext(ThemeContext);\n}"]}
|