@situaction/traquiste-mobile 1.0.0 → 1.1.0-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +61 -90
- package/build/components/AssociationTag/AssociationTag.d.ts +19 -0
- package/build/components/AssociationTag/AssociationTag.d.ts.map +1 -0
- package/build/components/AssociationTag/AssociationTag.js +29 -0
- package/build/components/AssociationTag/AssociationTag.js.map +1 -0
- package/build/components/AssociationTag/AssociationTag.styles.d.ts +21 -0
- package/build/components/AssociationTag/AssociationTag.styles.d.ts.map +1 -0
- package/build/components/AssociationTag/AssociationTag.styles.js +26 -0
- package/build/components/AssociationTag/AssociationTag.styles.js.map +1 -0
- package/build/components/AssociationTag/index.d.ts +3 -0
- package/build/components/AssociationTag/index.d.ts.map +1 -0
- package/build/components/AssociationTag/index.js +2 -0
- package/build/components/AssociationTag/index.js.map +1 -0
- package/build/components/BottomSheet/BottomSheet.d.ts +36 -0
- package/build/components/BottomSheet/BottomSheet.d.ts.map +1 -0
- package/build/components/BottomSheet/BottomSheet.js +76 -0
- package/build/components/BottomSheet/BottomSheet.js.map +1 -0
- package/build/components/BottomSheet/BottomSheet.styles.d.ts +32 -0
- package/build/components/BottomSheet/BottomSheet.styles.d.ts.map +1 -0
- package/build/components/BottomSheet/BottomSheet.styles.js +31 -0
- package/build/components/BottomSheet/BottomSheet.styles.js.map +1 -0
- package/build/components/BottomSheet/index.d.ts +3 -0
- package/build/components/BottomSheet/index.d.ts.map +1 -0
- package/build/components/BottomSheet/index.js +2 -0
- package/build/components/BottomSheet/index.js.map +1 -0
- package/build/components/Button/Button.d.ts +5 -1
- package/build/components/Button/Button.d.ts.map +1 -1
- package/build/components/Button/Button.js +12 -6
- package/build/components/Button/Button.js.map +1 -1
- package/build/components/ButtonAction/ButtonAction.d.ts +5 -1
- package/build/components/ButtonAction/ButtonAction.d.ts.map +1 -1
- package/build/components/ButtonAction/ButtonAction.js +2 -2
- package/build/components/ButtonAction/ButtonAction.js.map +1 -1
- package/build/components/ButtonMap/ButtonMap.d.ts +5 -1
- package/build/components/ButtonMap/ButtonMap.d.ts.map +1 -1
- package/build/components/ButtonMap/ButtonMap.js +11 -9
- package/build/components/ButtonMap/ButtonMap.js.map +1 -1
- package/build/components/ButtonMenu/ButtonMenu.d.ts +5 -1
- package/build/components/ButtonMenu/ButtonMenu.d.ts.map +1 -1
- package/build/components/ButtonMenu/ButtonMenu.js +17 -17
- package/build/components/ButtonMenu/ButtonMenu.js.map +1 -1
- package/build/components/Calendar/Calendar.d.ts +4 -0
- package/build/components/Calendar/Calendar.d.ts.map +1 -0
- package/build/components/Calendar/Calendar.i18n.d.ts +34 -0
- package/build/components/Calendar/Calendar.i18n.d.ts.map +1 -0
- package/build/components/Calendar/Calendar.i18n.js +34 -0
- package/build/components/Calendar/Calendar.i18n.js.map +1 -0
- package/build/components/Calendar/Calendar.js +172 -0
- package/build/components/Calendar/Calendar.js.map +1 -0
- package/build/components/Calendar/Calendar.styles.d.ts +257 -0
- package/build/components/Calendar/Calendar.styles.d.ts.map +1 -0
- package/build/components/Calendar/Calendar.styles.js +234 -0
- package/build/components/Calendar/Calendar.styles.js.map +1 -0
- package/build/components/Calendar/Calendar.types.d.ts +62 -0
- package/build/components/Calendar/Calendar.types.d.ts.map +1 -0
- package/build/components/Calendar/Calendar.types.js +2 -0
- package/build/components/Calendar/Calendar.types.js.map +1 -0
- package/build/components/Calendar/CalendarDay.d.ts +4 -0
- package/build/components/Calendar/CalendarDay.d.ts.map +1 -0
- package/build/components/Calendar/CalendarDay.js +52 -0
- package/build/components/Calendar/CalendarDay.js.map +1 -0
- package/build/components/Calendar/CalendarHeader.d.ts +4 -0
- package/build/components/Calendar/CalendarHeader.d.ts.map +1 -0
- package/build/components/Calendar/CalendarHeader.js +16 -0
- package/build/components/Calendar/CalendarHeader.js.map +1 -0
- package/build/components/Calendar/CalendarLegend.d.ts +3 -0
- package/build/components/Calendar/CalendarLegend.d.ts.map +1 -0
- package/build/components/Calendar/CalendarLegend.js +38 -0
- package/build/components/Calendar/CalendarLegend.js.map +1 -0
- package/build/components/Calendar/CalendarYearPicker.d.ts +19 -0
- package/build/components/Calendar/CalendarYearPicker.d.ts.map +1 -0
- package/build/components/Calendar/CalendarYearPicker.js +158 -0
- package/build/components/Calendar/CalendarYearPicker.js.map +1 -0
- package/build/components/Calendar/index.d.ts +5 -0
- package/build/components/Calendar/index.d.ts.map +1 -0
- package/build/components/Calendar/index.js +3 -0
- package/build/components/Calendar/index.js.map +1 -0
- package/build/components/Card/Card.d.ts +25 -0
- package/build/components/Card/Card.d.ts.map +1 -0
- package/build/components/Card/Card.js +31 -0
- package/build/components/Card/Card.js.map +1 -0
- package/build/components/Card/Card.styles.d.ts +15 -0
- package/build/components/Card/Card.styles.d.ts.map +1 -0
- package/build/components/Card/Card.styles.js +18 -0
- package/build/components/Card/Card.styles.js.map +1 -0
- package/build/components/Card/index.d.ts +3 -0
- package/build/components/Card/index.d.ts.map +1 -0
- package/build/components/Card/index.js +2 -0
- package/build/components/Card/index.js.map +1 -0
- package/build/components/CardEquip/CardEquip.d.ts +60 -0
- package/build/components/CardEquip/CardEquip.d.ts.map +1 -0
- package/build/components/CardEquip/CardEquip.js +106 -0
- package/build/components/CardEquip/CardEquip.js.map +1 -0
- package/build/components/CardEquip/CardEquip.styles.d.ts +125 -0
- package/build/components/CardEquip/CardEquip.styles.d.ts.map +1 -0
- package/build/components/CardEquip/CardEquip.styles.js +139 -0
- package/build/components/CardEquip/CardEquip.styles.js.map +1 -0
- package/build/components/CardEquip/index.d.ts +3 -0
- package/build/components/CardEquip/index.d.ts.map +1 -0
- package/build/components/CardEquip/index.js +2 -0
- package/build/components/CardEquip/index.js.map +1 -0
- package/build/components/CardProfile/CardProfile.d.ts +55 -0
- package/build/components/CardProfile/CardProfile.d.ts.map +1 -0
- package/build/components/CardProfile/CardProfile.js +74 -0
- package/build/components/CardProfile/CardProfile.js.map +1 -0
- package/build/components/CardProfile/CardProfile.styles.d.ts +62 -0
- package/build/components/CardProfile/CardProfile.styles.d.ts.map +1 -0
- package/build/components/CardProfile/CardProfile.styles.js +65 -0
- package/build/components/CardProfile/CardProfile.styles.js.map +1 -0
- package/build/components/CardProfile/index.d.ts +3 -0
- package/build/components/CardProfile/index.d.ts.map +1 -0
- package/build/components/CardProfile/index.js +2 -0
- package/build/components/CardProfile/index.js.map +1 -0
- package/build/components/Checkbox/Checkbox.d.ts +28 -0
- package/build/components/Checkbox/Checkbox.d.ts.map +1 -0
- package/build/components/Checkbox/Checkbox.js +77 -0
- package/build/components/Checkbox/Checkbox.js.map +1 -0
- package/build/components/Checkbox/Checkbox.styles.d.ts +34 -0
- package/build/components/Checkbox/Checkbox.styles.d.ts.map +1 -0
- package/build/components/Checkbox/Checkbox.styles.js +39 -0
- package/build/components/Checkbox/Checkbox.styles.js.map +1 -0
- package/build/components/Checkbox/Checkbox.types.d.ts +25 -0
- package/build/components/Checkbox/Checkbox.types.d.ts.map +1 -0
- package/build/components/Checkbox/Checkbox.types.js +5 -0
- package/build/components/Checkbox/Checkbox.types.js.map +1 -0
- package/build/components/Checkbox/index.d.ts +3 -0
- package/build/components/Checkbox/index.d.ts.map +1 -0
- package/build/components/Checkbox/index.js +2 -0
- package/build/components/Checkbox/index.js.map +1 -0
- package/build/components/Cluster/Cluster.d.ts +23 -0
- package/build/components/Cluster/Cluster.d.ts.map +1 -0
- package/build/components/Cluster/Cluster.js +34 -0
- package/build/components/Cluster/Cluster.js.map +1 -0
- package/build/components/Cluster/Cluster.styles.d.ts +33 -0
- package/build/components/Cluster/Cluster.styles.d.ts.map +1 -0
- package/build/components/Cluster/Cluster.styles.js +34 -0
- package/build/components/Cluster/Cluster.styles.js.map +1 -0
- package/build/components/Cluster/index.d.ts +3 -0
- package/build/components/Cluster/index.d.ts.map +1 -0
- package/build/components/Cluster/index.js +2 -0
- package/build/components/Cluster/index.js.map +1 -0
- package/build/components/ColorPicker/ColorPicker.d.ts +20 -0
- package/build/components/ColorPicker/ColorPicker.d.ts.map +1 -0
- package/build/components/ColorPicker/ColorPicker.js +17 -0
- package/build/components/ColorPicker/ColorPicker.js.map +1 -0
- package/build/components/ColorPicker/ColorPicker.styles.d.ts +10 -0
- package/build/components/ColorPicker/ColorPicker.styles.d.ts.map +1 -0
- package/build/components/ColorPicker/ColorPicker.styles.js +11 -0
- package/build/components/ColorPicker/ColorPicker.styles.js.map +1 -0
- package/build/components/ColorPicker/index.d.ts +3 -0
- package/build/components/ColorPicker/index.d.ts.map +1 -0
- package/build/components/ColorPicker/index.js +2 -0
- package/build/components/ColorPicker/index.js.map +1 -0
- package/build/components/ColorSwatch/ColorSwatch.d.ts +20 -0
- package/build/components/ColorSwatch/ColorSwatch.d.ts.map +1 -0
- package/build/components/ColorSwatch/ColorSwatch.js +35 -0
- package/build/components/ColorSwatch/ColorSwatch.js.map +1 -0
- package/build/components/ColorSwatch/ColorSwatch.styles.d.ts +16 -0
- package/build/components/ColorSwatch/ColorSwatch.styles.d.ts.map +1 -0
- package/build/components/ColorSwatch/ColorSwatch.styles.js +19 -0
- package/build/components/ColorSwatch/ColorSwatch.styles.js.map +1 -0
- package/build/components/ColorSwatch/index.d.ts +3 -0
- package/build/components/ColorSwatch/index.d.ts.map +1 -0
- package/build/components/ColorSwatch/index.js +2 -0
- package/build/components/ColorSwatch/index.js.map +1 -0
- package/build/components/FileCard/FileCard.d.ts +29 -0
- package/build/components/FileCard/FileCard.d.ts.map +1 -0
- package/build/components/FileCard/FileCard.js +66 -0
- package/build/components/FileCard/FileCard.js.map +1 -0
- package/build/components/FileCard/FileCard.styles.d.ts +54 -0
- package/build/components/FileCard/FileCard.styles.d.ts.map +1 -0
- package/build/components/FileCard/FileCard.styles.js +56 -0
- package/build/components/FileCard/FileCard.styles.js.map +1 -0
- package/build/components/FileCard/index.d.ts +3 -0
- package/build/components/FileCard/index.d.ts.map +1 -0
- package/build/components/FileCard/index.js +2 -0
- package/build/components/FileCard/index.js.map +1 -0
- package/build/components/FilterChip/FilterChip.d.ts +5 -1
- package/build/components/FilterChip/FilterChip.d.ts.map +1 -1
- package/build/components/FilterChip/FilterChip.js +55 -25
- package/build/components/FilterChip/FilterChip.js.map +1 -1
- package/build/components/FilterNav/FilterNav.d.ts +53 -0
- package/build/components/FilterNav/FilterNav.d.ts.map +1 -0
- package/build/components/FilterNav/FilterNav.js +39 -0
- package/build/components/FilterNav/FilterNav.js.map +1 -0
- package/build/components/FilterNav/FilterNav.styles.d.ts +10 -0
- package/build/components/FilterNav/FilterNav.styles.d.ts.map +1 -0
- package/build/components/FilterNav/FilterNav.styles.js +11 -0
- package/build/components/FilterNav/FilterNav.styles.js.map +1 -0
- package/build/components/FilterNav/index.d.ts +3 -0
- package/build/components/FilterNav/index.d.ts.map +1 -0
- package/build/components/FilterNav/index.js +2 -0
- package/build/components/FilterNav/index.js.map +1 -0
- package/build/components/ImgPicker/ImgPicker.d.ts +47 -0
- package/build/components/ImgPicker/ImgPicker.d.ts.map +1 -0
- package/build/components/ImgPicker/ImgPicker.js +49 -0
- package/build/components/ImgPicker/ImgPicker.js.map +1 -0
- package/build/components/ImgPicker/ImgPicker.styles.d.ts +18 -0
- package/build/components/ImgPicker/ImgPicker.styles.d.ts.map +1 -0
- package/build/components/ImgPicker/ImgPicker.styles.js +19 -0
- package/build/components/ImgPicker/ImgPicker.styles.js.map +1 -0
- package/build/components/ImgPicker/index.d.ts +3 -0
- package/build/components/ImgPicker/index.d.ts.map +1 -0
- package/build/components/ImgPicker/index.js +2 -0
- package/build/components/ImgPicker/index.js.map +1 -0
- package/build/components/InlineInfo/InlineInfo.d.ts +60 -0
- package/build/components/InlineInfo/InlineInfo.d.ts.map +1 -0
- package/build/components/InlineInfo/InlineInfo.js +115 -0
- package/build/components/InlineInfo/InlineInfo.js.map +1 -0
- package/build/components/InlineInfo/InlineInfo.styles.d.ts +42 -0
- package/build/components/InlineInfo/InlineInfo.styles.d.ts.map +1 -0
- package/build/components/InlineInfo/InlineInfo.styles.js +50 -0
- package/build/components/InlineInfo/InlineInfo.styles.js.map +1 -0
- package/build/components/InlineInfo/index.d.ts +3 -0
- package/build/components/InlineInfo/index.d.ts.map +1 -0
- package/build/components/InlineInfo/index.js +2 -0
- package/build/components/InlineInfo/index.js.map +1 -0
- package/build/components/Input/Input.d.ts +57 -0
- package/build/components/Input/Input.d.ts.map +1 -0
- package/build/components/Input/Input.js +103 -0
- package/build/components/Input/Input.js.map +1 -0
- package/build/components/Input/Input.styles.d.ts +39 -0
- package/build/components/Input/Input.styles.d.ts.map +1 -0
- package/build/components/Input/Input.styles.js +40 -0
- package/build/components/Input/Input.styles.js.map +1 -0
- package/build/components/Input/index.d.ts +3 -0
- package/build/components/Input/index.d.ts.map +1 -0
- package/build/components/Input/index.js +2 -0
- package/build/components/Input/index.js.map +1 -0
- package/build/components/ListGroup/ListGroup.d.ts +24 -0
- package/build/components/ListGroup/ListGroup.d.ts.map +1 -0
- package/build/components/ListGroup/ListGroup.js +44 -0
- package/build/components/ListGroup/ListGroup.js.map +1 -0
- package/build/components/ListGroup/index.d.ts +3 -0
- package/build/components/ListGroup/index.d.ts.map +1 -0
- package/build/components/ListGroup/index.js +2 -0
- package/build/components/ListGroup/index.js.map +1 -0
- package/build/components/ListItem/ListItem.d.ts +44 -0
- package/build/components/ListItem/ListItem.d.ts.map +1 -0
- package/build/components/ListItem/ListItem.js +69 -0
- package/build/components/ListItem/ListItem.js.map +1 -0
- package/build/components/ListItem/ListItem.styles.d.ts +66 -0
- package/build/components/ListItem/ListItem.styles.d.ts.map +1 -0
- package/build/components/ListItem/ListItem.styles.js +70 -0
- package/build/components/ListItem/ListItem.styles.js.map +1 -0
- package/build/components/ListItem/index.d.ts +3 -0
- package/build/components/ListItem/index.d.ts.map +1 -0
- package/build/components/ListItem/index.js +2 -0
- package/build/components/ListItem/index.js.map +1 -0
- package/build/components/MapPin/MapPin.d.ts +61 -0
- package/build/components/MapPin/MapPin.d.ts.map +1 -0
- package/build/components/MapPin/MapPin.js +118 -0
- package/build/components/MapPin/MapPin.js.map +1 -0
- package/build/components/MapPin/MapPin.styles.d.ts +93 -0
- package/build/components/MapPin/MapPin.styles.d.ts.map +1 -0
- package/build/components/MapPin/MapPin.styles.js +101 -0
- package/build/components/MapPin/MapPin.styles.js.map +1 -0
- package/build/components/MapPin/index.d.ts +3 -0
- package/build/components/MapPin/index.d.ts.map +1 -0
- package/build/components/MapPin/index.js +2 -0
- package/build/components/MapPin/index.js.map +1 -0
- package/build/components/MediaPicker/MediaPicker.d.ts +74 -0
- package/build/components/MediaPicker/MediaPicker.d.ts.map +1 -0
- package/build/components/MediaPicker/MediaPicker.js +43 -0
- package/build/components/MediaPicker/MediaPicker.js.map +1 -0
- package/build/components/MediaPicker/MediaPicker.styles.d.ts +30 -0
- package/build/components/MediaPicker/MediaPicker.styles.d.ts.map +1 -0
- package/build/components/MediaPicker/MediaPicker.styles.js +31 -0
- package/build/components/MediaPicker/MediaPicker.styles.js.map +1 -0
- package/build/components/MediaPicker/index.d.ts +3 -0
- package/build/components/MediaPicker/index.d.ts.map +1 -0
- package/build/components/MediaPicker/index.js +2 -0
- package/build/components/MediaPicker/index.js.map +1 -0
- package/build/components/PhotoCard/PhotoCard.d.ts +28 -0
- package/build/components/PhotoCard/PhotoCard.d.ts.map +1 -0
- package/build/components/PhotoCard/PhotoCard.js +53 -0
- package/build/components/PhotoCard/PhotoCard.js.map +1 -0
- package/build/components/PhotoCard/PhotoCard.styles.d.ts +47 -0
- package/build/components/PhotoCard/PhotoCard.styles.d.ts.map +1 -0
- package/build/components/PhotoCard/PhotoCard.styles.js +45 -0
- package/build/components/PhotoCard/PhotoCard.styles.js.map +1 -0
- package/build/components/PhotoCard/index.d.ts +3 -0
- package/build/components/PhotoCard/index.d.ts.map +1 -0
- package/build/components/PhotoCard/index.js +2 -0
- package/build/components/PhotoCard/index.js.map +1 -0
- package/build/components/ProgressStep/ProgressStep.d.ts +9 -0
- package/build/components/ProgressStep/ProgressStep.d.ts.map +1 -0
- package/build/components/ProgressStep/ProgressStep.js +23 -0
- package/build/components/ProgressStep/ProgressStep.js.map +1 -0
- package/build/components/ProgressStep/ProgressStep.styles.d.ts +12 -0
- package/build/components/ProgressStep/ProgressStep.styles.d.ts.map +1 -0
- package/build/components/ProgressStep/ProgressStep.styles.js +13 -0
- package/build/components/ProgressStep/ProgressStep.styles.js.map +1 -0
- package/build/components/ProgressStep/index.d.ts +3 -0
- package/build/components/ProgressStep/index.d.ts.map +1 -0
- package/build/components/ProgressStep/index.js +2 -0
- package/build/components/ProgressStep/index.js.map +1 -0
- package/build/components/RadioButton/RadioButton.d.ts +29 -0
- package/build/components/RadioButton/RadioButton.d.ts.map +1 -0
- package/build/components/RadioButton/RadioButton.js +71 -0
- package/build/components/RadioButton/RadioButton.js.map +1 -0
- package/build/components/RadioButton/RadioButton.styles.d.ts +27 -0
- package/build/components/RadioButton/RadioButton.styles.d.ts.map +1 -0
- package/build/components/RadioButton/RadioButton.styles.js +30 -0
- package/build/components/RadioButton/RadioButton.styles.js.map +1 -0
- package/build/components/RadioButton/index.d.ts +3 -0
- package/build/components/RadioButton/index.d.ts.map +1 -0
- package/build/components/RadioButton/index.js +2 -0
- package/build/components/RadioButton/index.js.map +1 -0
- package/build/components/SearchBar/SearchBar.d.ts +33 -0
- package/build/components/SearchBar/SearchBar.d.ts.map +1 -0
- package/build/components/SearchBar/SearchBar.js +83 -0
- package/build/components/SearchBar/SearchBar.js.map +1 -0
- package/build/components/SearchBar/SearchBar.styles.d.ts +19 -0
- package/build/components/SearchBar/SearchBar.styles.d.ts.map +1 -0
- package/build/components/SearchBar/SearchBar.styles.js +21 -0
- package/build/components/SearchBar/SearchBar.styles.js.map +1 -0
- package/build/components/SearchBar/index.d.ts +3 -0
- package/build/components/SearchBar/index.d.ts.map +1 -0
- package/build/components/SearchBar/index.js +2 -0
- package/build/components/SearchBar/index.js.map +1 -0
- package/build/components/Spinner/Spinner.d.ts +12 -0
- package/build/components/Spinner/Spinner.d.ts.map +1 -0
- package/build/components/Spinner/Spinner.js +80 -0
- package/build/components/Spinner/Spinner.js.map +1 -0
- package/build/components/Spinner/Spinner.styles.d.ts +21 -0
- package/build/components/Spinner/Spinner.styles.d.ts.map +1 -0
- package/build/components/Spinner/Spinner.styles.js +22 -0
- package/build/components/Spinner/Spinner.styles.js.map +1 -0
- package/build/components/Spinner/index.d.ts +3 -0
- package/build/components/Spinner/index.d.ts.map +1 -0
- package/build/components/Spinner/index.js +2 -0
- package/build/components/Spinner/index.js.map +1 -0
- package/build/components/StepSheet/StepSheet.d.ts +77 -0
- package/build/components/StepSheet/StepSheet.d.ts.map +1 -0
- package/build/components/StepSheet/StepSheet.js +30 -0
- package/build/components/StepSheet/StepSheet.js.map +1 -0
- package/build/components/StepSheet/StepSheet.styles.d.ts +6 -0
- package/build/components/StepSheet/StepSheet.styles.d.ts.map +1 -0
- package/build/components/StepSheet/StepSheet.styles.js +7 -0
- package/build/components/StepSheet/StepSheet.styles.js.map +1 -0
- package/build/components/StepSheet/index.d.ts +3 -0
- package/build/components/StepSheet/index.d.ts.map +1 -0
- package/build/components/StepSheet/index.js +2 -0
- package/build/components/StepSheet/index.js.map +1 -0
- package/build/components/Stepper/Stepper.d.ts +50 -0
- package/build/components/Stepper/Stepper.d.ts.map +1 -0
- package/build/components/Stepper/Stepper.js +48 -0
- package/build/components/Stepper/Stepper.js.map +1 -0
- package/build/components/Stepper/Stepper.styles.d.ts +27 -0
- package/build/components/Stepper/Stepper.styles.d.ts.map +1 -0
- package/build/components/Stepper/Stepper.styles.js +28 -0
- package/build/components/Stepper/Stepper.styles.js.map +1 -0
- package/build/components/Stepper/index.d.ts +3 -0
- package/build/components/Stepper/index.d.ts.map +1 -0
- package/build/components/Stepper/index.js +2 -0
- package/build/components/Stepper/index.js.map +1 -0
- package/build/components/Switch/Switch.d.ts +29 -0
- package/build/components/Switch/Switch.d.ts.map +1 -0
- package/build/components/Switch/Switch.js +89 -0
- package/build/components/Switch/Switch.js.map +1 -0
- package/build/components/Switch/Switch.styles.d.ts +29 -0
- package/build/components/Switch/Switch.styles.d.ts.map +1 -0
- package/build/components/Switch/Switch.styles.js +26 -0
- package/build/components/Switch/Switch.styles.js.map +1 -0
- package/build/components/Switch/index.d.ts +3 -0
- package/build/components/Switch/index.d.ts.map +1 -0
- package/build/components/Switch/index.js +2 -0
- package/build/components/Switch/index.js.map +1 -0
- package/build/components/Tab/Tab.d.ts +52 -0
- package/build/components/Tab/Tab.d.ts.map +1 -0
- package/build/components/Tab/Tab.js +121 -0
- package/build/components/Tab/Tab.js.map +1 -0
- package/build/components/Tab/Tab.styles.d.ts +55 -0
- package/build/components/Tab/Tab.styles.d.ts.map +1 -0
- package/build/components/Tab/Tab.styles.js +60 -0
- package/build/components/Tab/Tab.styles.js.map +1 -0
- package/build/components/Tab/index.d.ts +3 -0
- package/build/components/Tab/index.d.ts.map +1 -0
- package/build/components/Tab/index.js +2 -0
- package/build/components/Tab/index.js.map +1 -0
- package/build/components/Tag/Tag.d.ts +4 -0
- package/build/components/Tag/Tag.d.ts.map +1 -0
- package/build/components/Tag/Tag.js +40 -0
- package/build/components/Tag/Tag.js.map +1 -0
- package/build/components/Tag/Tag.styles.d.ts +35 -0
- package/build/components/Tag/Tag.styles.d.ts.map +1 -0
- package/build/components/Tag/Tag.styles.js +43 -0
- package/build/components/Tag/Tag.styles.js.map +1 -0
- package/build/components/Tag/Tag.types.d.ts +23 -0
- package/build/components/Tag/Tag.types.d.ts.map +1 -0
- package/build/components/Tag/Tag.types.js +2 -0
- package/build/components/Tag/Tag.types.js.map +1 -0
- package/build/components/Tag/index.d.ts +3 -0
- package/build/components/Tag/index.d.ts.map +1 -0
- package/build/components/Tag/index.js +2 -0
- package/build/components/Tag/index.js.map +1 -0
- package/build/components/navigation/GeneralNav/GeneralNav.d.ts +21 -0
- package/build/components/navigation/GeneralNav/GeneralNav.d.ts.map +1 -0
- package/build/components/navigation/GeneralNav/GeneralNav.js +25 -0
- package/build/components/navigation/GeneralNav/GeneralNav.js.map +1 -0
- package/build/components/navigation/GeneralNav/GeneralNav.styles.d.ts +33 -0
- package/build/components/navigation/GeneralNav/GeneralNav.styles.d.ts.map +1 -0
- package/build/components/navigation/GeneralNav/GeneralNav.styles.js +35 -0
- package/build/components/navigation/GeneralNav/GeneralNav.styles.js.map +1 -0
- package/build/components/navigation/GeneralNav/index.d.ts +3 -0
- package/build/components/navigation/GeneralNav/index.d.ts.map +1 -0
- package/build/components/navigation/GeneralNav/index.js +2 -0
- package/build/components/navigation/GeneralNav/index.js.map +1 -0
- package/build/components/navigation/MobileCanva/MobileCanva.d.ts +11 -0
- package/build/components/navigation/MobileCanva/MobileCanva.d.ts.map +1 -0
- package/build/components/navigation/MobileCanva/MobileCanva.js +55 -0
- package/build/components/navigation/MobileCanva/MobileCanva.js.map +1 -0
- package/build/components/navigation/MobileCanva/MobileCanva.styles.d.ts +93 -0
- package/build/components/navigation/MobileCanva/MobileCanva.styles.d.ts.map +1 -0
- package/build/components/navigation/MobileCanva/MobileCanva.styles.js +94 -0
- package/build/components/navigation/MobileCanva/MobileCanva.styles.js.map +1 -0
- package/build/components/navigation/MobileCanva/MobileCanva.types.d.ts +21 -0
- package/build/components/navigation/MobileCanva/MobileCanva.types.d.ts.map +1 -0
- package/build/components/navigation/MobileCanva/MobileCanva.types.js +2 -0
- package/build/components/navigation/MobileCanva/MobileCanva.types.js.map +1 -0
- package/build/components/navigation/MobileCanva/index.d.ts +3 -0
- package/build/components/navigation/MobileCanva/index.d.ts.map +1 -0
- package/build/components/navigation/MobileCanva/index.js +2 -0
- package/build/components/navigation/MobileCanva/index.js.map +1 -0
- package/build/components/navigation/PageNav/PageNav.d.ts +46 -0
- package/build/components/navigation/PageNav/PageNav.d.ts.map +1 -0
- package/build/components/navigation/PageNav/PageNav.js +48 -0
- package/build/components/navigation/PageNav/PageNav.js.map +1 -0
- package/build/components/navigation/PageNav/PageNav.styles.d.ts +60 -0
- package/build/components/navigation/PageNav/PageNav.styles.d.ts.map +1 -0
- package/build/components/navigation/PageNav/PageNav.styles.js +60 -0
- package/build/components/navigation/PageNav/PageNav.styles.js.map +1 -0
- package/build/components/navigation/PageNav/index.d.ts +3 -0
- package/build/components/navigation/PageNav/index.d.ts.map +1 -0
- package/build/components/navigation/PageNav/index.js +2 -0
- package/build/components/navigation/PageNav/index.js.map +1 -0
- package/build/components/navigation/ScreenCanva/ScreenCanva.d.ts +8 -0
- package/build/components/navigation/ScreenCanva/ScreenCanva.d.ts.map +1 -0
- package/build/components/navigation/ScreenCanva/ScreenCanva.js +37 -0
- package/build/components/navigation/ScreenCanva/ScreenCanva.js.map +1 -0
- package/build/components/navigation/ScreenCanva/index.d.ts +3 -0
- package/build/components/navigation/ScreenCanva/index.d.ts.map +1 -0
- package/build/components/navigation/ScreenCanva/index.js +2 -0
- package/build/components/navigation/ScreenCanva/index.js.map +1 -0
- package/build/components/navigation/TabBar/TabBar.d.ts +22 -0
- package/build/components/navigation/TabBar/TabBar.d.ts.map +1 -0
- package/build/components/navigation/TabBar/TabBar.js +13 -0
- package/build/components/navigation/TabBar/TabBar.js.map +1 -0
- package/build/components/navigation/TabBar/TabBar.styles.d.ts +14 -0
- package/build/components/navigation/TabBar/TabBar.styles.d.ts.map +1 -0
- package/build/components/navigation/TabBar/TabBar.styles.js +16 -0
- package/build/components/navigation/TabBar/TabBar.styles.js.map +1 -0
- package/build/components/navigation/TabBar/index.d.ts +3 -0
- package/build/components/navigation/TabBar/index.d.ts.map +1 -0
- package/build/components/navigation/TabBar/index.js +2 -0
- package/build/components/navigation/TabBar/index.js.map +1 -0
- package/build/context/BottomSheetContext.d.ts +42 -0
- package/build/context/BottomSheetContext.d.ts.map +1 -0
- package/build/context/BottomSheetContext.js +51 -0
- package/build/context/BottomSheetContext.js.map +1 -0
- package/build/context/ThemeContext.d.ts +5 -1
- package/build/context/ThemeContext.d.ts.map +1 -1
- package/build/context/ThemeContext.js +4 -2
- package/build/context/ThemeContext.js.map +1 -1
- package/build/index.d.ts +79 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +39 -0
- package/build/index.js.map +1 -1
- package/build/theme/tokens/dark.d.ts.map +1 -1
- package/build/theme/tokens/dark.js +263 -10
- package/build/theme/tokens/dark.js.map +1 -1
- package/build/theme/tokens/light.d.ts.map +1 -1
- package/build/theme/tokens/light.js +252 -7
- package/build/theme/tokens/light.js.map +1 -1
- package/build/theme/type.d.ts +398 -0
- package/build/theme/type.d.ts.map +1 -1
- package/build/theme/type.js.map +1 -1
- package/package.json +8 -5
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/** Top navigation bar — left ghost button + title grouped left, right Buttons pushed to the far right */
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import type { ButtonVariant } from '../../Button';
|
|
4
|
+
export type GeneralNavAction = {
|
|
5
|
+
/** Icon element to pass to Button's iconLeft prop */
|
|
6
|
+
icon: React.ReactElement;
|
|
7
|
+
onPress: () => void;
|
|
8
|
+
/** Button variant — defaults to 'ghost' for left, 'ghost' for right */
|
|
9
|
+
variant?: ButtonVariant;
|
|
10
|
+
accessibilityLabel?: string;
|
|
11
|
+
};
|
|
12
|
+
export interface GeneralNavProps {
|
|
13
|
+
/** Page title — always required */
|
|
14
|
+
title: string;
|
|
15
|
+
/** Optional left action — rendered as a ghost icon-only Button */
|
|
16
|
+
leftIcon?: GeneralNavAction;
|
|
17
|
+
/** One or two right actions — each rendered as a ghost icon-only Button */
|
|
18
|
+
rightActions?: GeneralNavAction[];
|
|
19
|
+
}
|
|
20
|
+
export declare function GeneralNav({ title, leftIcon, rightActions, }: GeneralNavProps): React.JSX.Element;
|
|
21
|
+
//# sourceMappingURL=GeneralNav.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GeneralNav.d.ts","sourceRoot":"","sources":["../../../../src/components/navigation/GeneralNav/GeneralNav.tsx"],"names":[],"mappings":"AAAA,yGAAyG;AACzG,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAGlD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,qDAAqD;IACrD,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC;IACzB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,uEAAuE;IACvE,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,2EAA2E;IAC3E,YAAY,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACnC;AAED,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,QAAQ,EACR,YAAY,GACb,EAAE,eAAe,qBAyCjB"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/** Top navigation bar — left ghost button + title grouped left, right Buttons pushed to the far right */
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { View, Text } from 'react-native';
|
|
4
|
+
import { useTheme } from '../../../context/ThemeContext';
|
|
5
|
+
import { Button } from '../../Button';
|
|
6
|
+
import { styles } from './GeneralNav.styles';
|
|
7
|
+
export function GeneralNav({ title, leftIcon, rightActions, }) {
|
|
8
|
+
const { colors, fontFamily } = useTheme();
|
|
9
|
+
const nav = colors.generalNav;
|
|
10
|
+
return (<View style={[styles.container, { backgroundColor: colors.background.primary }]}>
|
|
11
|
+
{/* Left group: ghost button + title — takes all available space */}
|
|
12
|
+
<View style={styles.leftGroup}>
|
|
13
|
+
{leftIcon && (<Button variant={leftIcon.variant ?? 'ghost'} content="icon-only-rounded" size="M" iconLeft={leftIcon.icon} onPress={leftIcon.onPress} accessibilityLabel={leftIcon.accessibilityLabel}/>)}
|
|
14
|
+
<Text style={[styles.title, { color: nav.navTextIcons, fontFamily }]} numberOfLines={1}>
|
|
15
|
+
{title}
|
|
16
|
+
</Text>
|
|
17
|
+
</View>
|
|
18
|
+
|
|
19
|
+
{/* Right actions — ghost icon-only Buttons, pushed to far right by leftGroup flex: 1 */}
|
|
20
|
+
{rightActions && rightActions.length > 0 && (<View style={styles.rightGroup}>
|
|
21
|
+
{rightActions.map((action, index) => (<Button key={index} variant={action.variant ?? 'ghost'} content="icon-only-rounded" size="M" iconLeft={action.icon} onPress={action.onPress} accessibilityLabel={action.accessibilityLabel}/>))}
|
|
22
|
+
</View>)}
|
|
23
|
+
</View>);
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=GeneralNav.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GeneralNav.js","sourceRoot":"","sources":["../../../../src/components/navigation/GeneralNav/GeneralNav.tsx"],"names":[],"mappings":"AAAA,yGAAyG;AACzG,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAoB7C,MAAM,UAAU,UAAU,CAAC,EACzB,KAAK,EACL,QAAQ,EACR,YAAY,GACI;IAChB,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC1C,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC;IAE9B,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,eAAe,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAC9E;MAAA,CAAC,kEAAkE,CACnE;MAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAC5B;QAAA,CAAC,QAAQ,IAAI,CACX,CAAC,MAAM,CACL,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,CACrC,OAAO,CAAC,mBAAmB,CAC3B,IAAI,CAAC,GAAG,CACR,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CACxB,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAC1B,kBAAkB,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAChD,CACH,CACD;QAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CACrF;UAAA,CAAC,KAAK,CACR;QAAA,EAAE,IAAI,CACR;MAAA,EAAE,IAAI,CAEN;;MAAA,CAAC,uFAAuF,CACxF;MAAA,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAC1C,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAC7B;UAAA,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CACnC,CAAC,MAAM,CACL,GAAG,CAAC,CAAC,KAAK,CAAC,CACX,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,CACnC,OAAO,CAAC,mBAAmB,CAC3B,IAAI,CAAC,GAAG,CACR,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CACtB,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CACxB,kBAAkB,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAC9C,CACH,CAAC,CACJ;QAAA,EAAE,IAAI,CAAC,CACR,CACH;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC","sourcesContent":["/** Top navigation bar — left ghost button + title grouped left, right Buttons pushed to the far right */\nimport React from 'react';\nimport { View, Text } from 'react-native';\nimport { useTheme } from '../../../context/ThemeContext';\nimport { Button } from '../../Button';\nimport type { ButtonVariant } from '../../Button';\nimport { styles } from './GeneralNav.styles';\n\nexport type GeneralNavAction = {\n /** Icon element to pass to Button's iconLeft prop */\n icon: React.ReactElement;\n onPress: () => void;\n /** Button variant — defaults to 'ghost' for left, 'ghost' for right */\n variant?: ButtonVariant;\n accessibilityLabel?: string;\n};\n\nexport interface GeneralNavProps {\n /** Page title — always required */\n title: string;\n /** Optional left action — rendered as a ghost icon-only Button */\n leftIcon?: GeneralNavAction;\n /** One or two right actions — each rendered as a ghost icon-only Button */\n rightActions?: GeneralNavAction[];\n}\n\nexport function GeneralNav({\n title,\n leftIcon,\n rightActions,\n}: GeneralNavProps) {\n const { colors, fontFamily } = useTheme();\n const nav = colors.generalNav;\n\n return (\n <View style={[styles.container, { backgroundColor: colors.background.primary }]}>\n {/* Left group: ghost button + title — takes all available space */}\n <View style={styles.leftGroup}>\n {leftIcon && (\n <Button\n variant={leftIcon.variant ?? 'ghost'}\n content=\"icon-only-rounded\"\n size=\"M\"\n iconLeft={leftIcon.icon}\n onPress={leftIcon.onPress}\n accessibilityLabel={leftIcon.accessibilityLabel}\n />\n )}\n <Text style={[styles.title, { color: nav.navTextIcons, fontFamily }]} numberOfLines={1}>\n {title}\n </Text>\n </View>\n\n {/* Right actions — ghost icon-only Buttons, pushed to far right by leftGroup flex: 1 */}\n {rightActions && rightActions.length > 0 && (\n <View style={styles.rightGroup}>\n {rightActions.map((action, index) => (\n <Button\n key={index}\n variant={action.variant ?? 'ghost'}\n content=\"icon-only-rounded\"\n size=\"M\"\n iconLeft={action.icon}\n onPress={action.onPress}\n accessibilityLabel={action.accessibilityLabel}\n />\n ))}\n </View>\n )}\n </View>\n );\n}"]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/** Width/height of the left and right icon slots (touch target) */
|
|
2
|
+
export declare const SLOT_SIZE = 44;
|
|
3
|
+
/** Fixed height of the navigation bar */
|
|
4
|
+
export declare const NAV_HEIGHT = 56;
|
|
5
|
+
export declare const styles: {
|
|
6
|
+
container: {
|
|
7
|
+
width: "100%";
|
|
8
|
+
height: number;
|
|
9
|
+
flexDirection: "row";
|
|
10
|
+
alignItems: "center";
|
|
11
|
+
paddingHorizontal: number;
|
|
12
|
+
};
|
|
13
|
+
/** Groups the optional left icon and the title — takes all available space */
|
|
14
|
+
leftGroup: {
|
|
15
|
+
flex: number;
|
|
16
|
+
flexDirection: "row";
|
|
17
|
+
alignItems: "center";
|
|
18
|
+
gap: number;
|
|
19
|
+
};
|
|
20
|
+
title: {
|
|
21
|
+
flex: number;
|
|
22
|
+
fontSize: number;
|
|
23
|
+
fontWeight: "700";
|
|
24
|
+
fontFamily: string;
|
|
25
|
+
lineHeight: number;
|
|
26
|
+
};
|
|
27
|
+
rightGroup: {
|
|
28
|
+
flexDirection: "row";
|
|
29
|
+
alignItems: "center";
|
|
30
|
+
gap: number;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=GeneralNav.styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GeneralNav.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/navigation/GeneralNav/GeneralNav.styles.ts"],"names":[],"mappings":"AAGA,mEAAmE;AACnE,eAAO,MAAM,SAAS,KAAK,CAAC;AAC5B,yCAAyC;AACzC,eAAO,MAAM,UAAU,KAAK,CAAC;AAE7B,eAAO,MAAM,MAAM;;;;;;;;IAQjB,8EAA8E;;;;;;;;;;;;;;;;;;;CAmB9E,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/** Static layout styles for GeneralNav — colors and shadow injected via useTheme() */
|
|
2
|
+
import { StyleSheet } from 'react-native';
|
|
3
|
+
/** Width/height of the left and right icon slots (touch target) */
|
|
4
|
+
export const SLOT_SIZE = 44;
|
|
5
|
+
/** Fixed height of the navigation bar */
|
|
6
|
+
export const NAV_HEIGHT = 56;
|
|
7
|
+
export const styles = StyleSheet.create({
|
|
8
|
+
container: {
|
|
9
|
+
width: '100%',
|
|
10
|
+
height: NAV_HEIGHT,
|
|
11
|
+
flexDirection: 'row',
|
|
12
|
+
alignItems: 'center',
|
|
13
|
+
paddingHorizontal: 10,
|
|
14
|
+
},
|
|
15
|
+
/** Groups the optional left icon and the title — takes all available space */
|
|
16
|
+
leftGroup: {
|
|
17
|
+
flex: 1,
|
|
18
|
+
flexDirection: 'row',
|
|
19
|
+
alignItems: 'center',
|
|
20
|
+
gap: 8,
|
|
21
|
+
},
|
|
22
|
+
title: {
|
|
23
|
+
flex: 1,
|
|
24
|
+
fontSize: 28,
|
|
25
|
+
fontWeight: '700',
|
|
26
|
+
fontFamily: 'Urbanist',
|
|
27
|
+
lineHeight: 34,
|
|
28
|
+
},
|
|
29
|
+
rightGroup: {
|
|
30
|
+
flexDirection: 'row',
|
|
31
|
+
alignItems: 'center',
|
|
32
|
+
gap: 4,
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
//# sourceMappingURL=GeneralNav.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GeneralNav.styles.js","sourceRoot":"","sources":["../../../../src/components/navigation/GeneralNav/GeneralNav.styles.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,mEAAmE;AACnE,MAAM,CAAC,MAAM,SAAS,GAAG,EAAE,CAAC;AAC5B,yCAAyC;AACzC,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,CAAC;AAE7B,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IACtC,SAAS,EAAE;QACT,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,UAAU;QAClB,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,QAAQ;QACpB,iBAAiB,EAAE,EAAE;KACtB;IACD,8EAA8E;IAC9E,SAAS,EAAE;QACT,IAAI,EAAE,CAAC;QACP,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,QAAQ;QACpB,GAAG,EAAE,CAAC;KACP;IACD,KAAK,EAAE;QACL,IAAI,EAAE,CAAC;QACP,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,KAAK;QACjB,UAAU,EAAE,UAAU;QACtB,UAAU,EAAE,EAAE;KACf;IACD,UAAU,EAAE;QACV,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,QAAQ;QACpB,GAAG,EAAE,CAAC;KACP;CACF,CAAC,CAAC","sourcesContent":["/** Static layout styles for GeneralNav — colors and shadow injected via useTheme() */\nimport { StyleSheet } from 'react-native';\n\n/** Width/height of the left and right icon slots (touch target) */\nexport const SLOT_SIZE = 44;\n/** Fixed height of the navigation bar */\nexport const NAV_HEIGHT = 56;\n\nexport const styles = StyleSheet.create({\n container: {\n width: '100%',\n height: NAV_HEIGHT,\n flexDirection: 'row',\n alignItems: 'center',\n paddingHorizontal: 10,\n },\n /** Groups the optional left icon and the title — takes all available space */\n leftGroup: {\n flex: 1,\n flexDirection: 'row',\n alignItems: 'center',\n gap: 8,\n },\n title: {\n flex: 1,\n fontSize: 28,\n fontWeight: '700',\n fontFamily: 'Urbanist',\n lineHeight: 34,\n },\n rightGroup: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: 4,\n },\n});"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/navigation/GeneralNav/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/navigation/GeneralNav/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC","sourcesContent":["export { GeneralNav } from './GeneralNav';\nexport type { GeneralNavProps, GeneralNavAction } from './GeneralNav';"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** MobileCanva — responsive app shell used as preview frame in Storybook and docs */
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import type { TabBarProps } from '../TabBar';
|
|
4
|
+
export interface MobileCanvaProps {
|
|
5
|
+
/** Content rendered inside the white area */
|
|
6
|
+
children?: React.ReactNode;
|
|
7
|
+
/** Override the inner TabBar — defaults to [Table, MapTrifold, Bell, User] */
|
|
8
|
+
tabBarProps?: TabBarProps;
|
|
9
|
+
}
|
|
10
|
+
export declare function MobileCanva({ children, tabBarProps }: MobileCanvaProps): React.JSX.Element;
|
|
11
|
+
//# sourceMappingURL=MobileCanva.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MobileCanva.d.ts","sourceRoot":"","sources":["../../../../src/components/navigation/MobileCanva/MobileCanva.tsx"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,OAAO,KAAmB,MAAM,OAAO,CAAC;AAMxC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,WAAW,gBAAgB;IAC/B,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,8EAA8E;IAC9E,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,gBAAgB,qBAkCtE"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/** MobileCanva — responsive app shell used as preview frame in Storybook and docs */
|
|
2
|
+
import React, { useState } from 'react';
|
|
3
|
+
import { View, StyleSheet, StatusBar } from 'react-native';
|
|
4
|
+
import { SafeAreaView, useSafeAreaInsets } from 'react-native-safe-area-context';
|
|
5
|
+
import { Table, MapTrifold, Bell, User } from 'phosphor-react-native';
|
|
6
|
+
import { useTheme } from '../../../context/ThemeContext';
|
|
7
|
+
import { TabBar } from '../TabBar';
|
|
8
|
+
export function MobileCanva({ children, tabBarProps }) {
|
|
9
|
+
const { colors } = useTheme();
|
|
10
|
+
const insets = useSafeAreaInsets();
|
|
11
|
+
const [activeIndex, setActiveIndex] = useState(0);
|
|
12
|
+
const defaultTabBarProps = {
|
|
13
|
+
activeIndex,
|
|
14
|
+
tabs: [
|
|
15
|
+
{ icon: <Table />, onPress: () => setActiveIndex(0) },
|
|
16
|
+
{ icon: <MapTrifold />, onPress: () => setActiveIndex(1) },
|
|
17
|
+
{ icon: <Bell />, onPress: () => setActiveIndex(2), notif: true },
|
|
18
|
+
{ icon: <User />, onPress: () => setActiveIndex(3) },
|
|
19
|
+
],
|
|
20
|
+
};
|
|
21
|
+
const resolvedTabBarProps = tabBarProps ?? defaultTabBarProps;
|
|
22
|
+
return (<SafeAreaView style={[styles.root, { backgroundColor: colors.canva.shellBackground }]} edges={['top']}>
|
|
23
|
+
<StatusBar barStyle="dark-content" backgroundColor="transparent" translucent/>
|
|
24
|
+
<View style={styles.shell}>
|
|
25
|
+
<View style={[styles.content, {
|
|
26
|
+
backgroundColor: colors.canva.contentBackground,
|
|
27
|
+
borderColor: colors.canva.contentBorder,
|
|
28
|
+
}]}>
|
|
29
|
+
{children}
|
|
30
|
+
</View>
|
|
31
|
+
|
|
32
|
+
<View style={{ paddingBottom: insets.bottom }}>
|
|
33
|
+
<TabBar {...resolvedTabBarProps}/>
|
|
34
|
+
</View>
|
|
35
|
+
</View>
|
|
36
|
+
</SafeAreaView>);
|
|
37
|
+
}
|
|
38
|
+
const styles = StyleSheet.create({
|
|
39
|
+
root: {
|
|
40
|
+
flex: 1,
|
|
41
|
+
},
|
|
42
|
+
shell: {
|
|
43
|
+
flex: 1,
|
|
44
|
+
paddingHorizontal: 6,
|
|
45
|
+
paddingTop: 4,
|
|
46
|
+
gap: 4,
|
|
47
|
+
},
|
|
48
|
+
content: {
|
|
49
|
+
flex: 1,
|
|
50
|
+
borderRadius: 12,
|
|
51
|
+
borderWidth: 1,
|
|
52
|
+
overflow: 'hidden',
|
|
53
|
+
},
|
|
54
|
+
});
|
|
55
|
+
//# sourceMappingURL=MobileCanva.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MobileCanva.js","sourceRoot":"","sources":["../../../../src/components/navigation/MobileCanva/MobileCanva.tsx"],"names":[],"mappings":"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","sourcesContent":["/** MobileCanva — responsive app shell used as preview frame in Storybook and docs */\nimport React, { useState } from 'react';\nimport { View, StyleSheet, StatusBar } from 'react-native';\nimport { SafeAreaView, useSafeAreaInsets } from 'react-native-safe-area-context';\nimport { Table, MapTrifold, Bell, User } from 'phosphor-react-native';\nimport { useTheme } from '../../../context/ThemeContext';\nimport { TabBar } from '../TabBar';\nimport type { TabBarProps } from '../TabBar';\n\nexport interface MobileCanvaProps {\n /** Content rendered inside the white area */\n children?: React.ReactNode;\n /** Override the inner TabBar — defaults to [Table, MapTrifold, Bell, User] */\n tabBarProps?: TabBarProps;\n}\n\nexport function MobileCanva({ children, tabBarProps }: MobileCanvaProps) {\n const { colors } = useTheme();\n const insets = useSafeAreaInsets();\n const [activeIndex, setActiveIndex] = useState(0);\n\n const defaultTabBarProps: TabBarProps = {\n activeIndex,\n tabs: [\n { icon: <Table />, onPress: () => setActiveIndex(0) },\n { icon: <MapTrifold />, onPress: () => setActiveIndex(1) },\n { icon: <Bell />, onPress: () => setActiveIndex(2), notif: true },\n { icon: <User />, onPress: () => setActiveIndex(3) },\n ],\n };\n\n const resolvedTabBarProps = tabBarProps ?? defaultTabBarProps;\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}>\n <View style={[styles.content, {\n backgroundColor: colors.canva.contentBackground,\n borderColor: colors.canva.contentBorder,\n }]}>\n {children}\n </View>\n\n <View style={{ paddingBottom: insets.bottom }}>\n <TabBar {...resolvedTabBarProps} />\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 gap: 4,\n },\n content: {\n flex: 1,\n borderRadius: 12,\n borderWidth: 1,\n overflow: 'hidden',\n },\n});"]}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
export declare const SHELL_WIDTH = 390;
|
|
2
|
+
export declare const SHELL_HEIGHT = 844;
|
|
3
|
+
export declare const HOMEBAR_WIDTH = 144;
|
|
4
|
+
export declare const HOMEBAR_HEIGHT = 5;
|
|
5
|
+
export declare const KEY_HEIGHT = 42;
|
|
6
|
+
export declare const KEY_GAP = 4;
|
|
7
|
+
export declare const ROW_GAP = 8;
|
|
8
|
+
export declare const styles: {
|
|
9
|
+
shell: {
|
|
10
|
+
width: number;
|
|
11
|
+
height: number;
|
|
12
|
+
padding: number;
|
|
13
|
+
gap: number;
|
|
14
|
+
overflow: "hidden";
|
|
15
|
+
};
|
|
16
|
+
content: {
|
|
17
|
+
flex: number;
|
|
18
|
+
borderRadius: number;
|
|
19
|
+
borderWidth: number;
|
|
20
|
+
overflow: "hidden";
|
|
21
|
+
};
|
|
22
|
+
homebarContainer: {
|
|
23
|
+
alignItems: "center";
|
|
24
|
+
justifyContent: "center";
|
|
25
|
+
paddingVertical: number;
|
|
26
|
+
};
|
|
27
|
+
homebar: {
|
|
28
|
+
width: number;
|
|
29
|
+
height: number;
|
|
30
|
+
borderRadius: number;
|
|
31
|
+
};
|
|
32
|
+
board: {
|
|
33
|
+
overflow: "hidden";
|
|
34
|
+
};
|
|
35
|
+
toolbar: {
|
|
36
|
+
flexDirection: "row";
|
|
37
|
+
justifyContent: "space-around";
|
|
38
|
+
alignItems: "center";
|
|
39
|
+
height: number;
|
|
40
|
+
paddingHorizontal: number;
|
|
41
|
+
};
|
|
42
|
+
toolbarBtn: {
|
|
43
|
+
padding: number;
|
|
44
|
+
alignItems: "center";
|
|
45
|
+
justifyContent: "center";
|
|
46
|
+
};
|
|
47
|
+
gifLabel: {
|
|
48
|
+
fontSize: number;
|
|
49
|
+
fontWeight: "700";
|
|
50
|
+
fontFamily: string;
|
|
51
|
+
};
|
|
52
|
+
rows: {
|
|
53
|
+
paddingHorizontal: number;
|
|
54
|
+
paddingBottom: number;
|
|
55
|
+
gap: number;
|
|
56
|
+
};
|
|
57
|
+
row: {
|
|
58
|
+
flexDirection: "row";
|
|
59
|
+
gap: number;
|
|
60
|
+
};
|
|
61
|
+
key: {
|
|
62
|
+
flex: number;
|
|
63
|
+
height: number;
|
|
64
|
+
borderRadius: number;
|
|
65
|
+
alignItems: "center";
|
|
66
|
+
justifyContent: "center";
|
|
67
|
+
shadowColor: string;
|
|
68
|
+
shadowOffset: {
|
|
69
|
+
width: number;
|
|
70
|
+
height: number;
|
|
71
|
+
};
|
|
72
|
+
shadowOpacity: number;
|
|
73
|
+
shadowRadius: number;
|
|
74
|
+
elevation: number;
|
|
75
|
+
};
|
|
76
|
+
keyWide: {
|
|
77
|
+
flex: number;
|
|
78
|
+
};
|
|
79
|
+
keySpace: {
|
|
80
|
+
flex: number;
|
|
81
|
+
};
|
|
82
|
+
keyLabel: {
|
|
83
|
+
fontSize: number;
|
|
84
|
+
fontWeight: "400";
|
|
85
|
+
fontFamily: string;
|
|
86
|
+
};
|
|
87
|
+
keyLabelSmall: {
|
|
88
|
+
fontSize: number;
|
|
89
|
+
fontWeight: "500";
|
|
90
|
+
fontFamily: string;
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
//# sourceMappingURL=MobileCanva.styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MobileCanva.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/navigation/MobileCanva/MobileCanva.styles.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,WAAW,MAAO,CAAC;AAChC,eAAO,MAAM,YAAY,MAAM,CAAC;AAChC,eAAO,MAAM,aAAa,MAAO,CAAC;AAClC,eAAO,MAAM,cAAc,IAAI,CAAC;AAChC,eAAO,MAAM,UAAU,KAAK,CAAC;AAC7B,eAAO,MAAM,OAAO,IAAO,CAAC;AAC5B,eAAO,MAAM,OAAO,IAAO,CAAC;AAE5B,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoFjB,CAAC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/** Static layout styles for MobileCanva — colors injected via useTheme() */
|
|
2
|
+
import { StyleSheet } from 'react-native';
|
|
3
|
+
export const SHELL_WIDTH = 390;
|
|
4
|
+
export const SHELL_HEIGHT = 844;
|
|
5
|
+
export const HOMEBAR_WIDTH = 144;
|
|
6
|
+
export const HOMEBAR_HEIGHT = 5;
|
|
7
|
+
export const KEY_HEIGHT = 42;
|
|
8
|
+
export const KEY_GAP = 4;
|
|
9
|
+
export const ROW_GAP = 8;
|
|
10
|
+
export const styles = StyleSheet.create({
|
|
11
|
+
// --- Shell ---
|
|
12
|
+
shell: {
|
|
13
|
+
width: SHELL_WIDTH,
|
|
14
|
+
height: SHELL_HEIGHT,
|
|
15
|
+
padding: 6,
|
|
16
|
+
gap: 6,
|
|
17
|
+
overflow: 'hidden',
|
|
18
|
+
},
|
|
19
|
+
content: {
|
|
20
|
+
flex: 1,
|
|
21
|
+
borderRadius: 12,
|
|
22
|
+
borderWidth: 1,
|
|
23
|
+
overflow: 'hidden',
|
|
24
|
+
},
|
|
25
|
+
homebarContainer: {
|
|
26
|
+
alignItems: 'center',
|
|
27
|
+
justifyContent: 'center',
|
|
28
|
+
paddingVertical: 8,
|
|
29
|
+
},
|
|
30
|
+
homebar: {
|
|
31
|
+
width: HOMEBAR_WIDTH,
|
|
32
|
+
height: HOMEBAR_HEIGHT,
|
|
33
|
+
borderRadius: 3,
|
|
34
|
+
},
|
|
35
|
+
// --- BoardKeyboard ---
|
|
36
|
+
board: {
|
|
37
|
+
overflow: 'hidden',
|
|
38
|
+
},
|
|
39
|
+
toolbar: {
|
|
40
|
+
flexDirection: 'row',
|
|
41
|
+
justifyContent: 'space-around',
|
|
42
|
+
alignItems: 'center',
|
|
43
|
+
height: 44,
|
|
44
|
+
paddingHorizontal: 8,
|
|
45
|
+
},
|
|
46
|
+
toolbarBtn: {
|
|
47
|
+
padding: 8,
|
|
48
|
+
alignItems: 'center',
|
|
49
|
+
justifyContent: 'center',
|
|
50
|
+
},
|
|
51
|
+
gifLabel: {
|
|
52
|
+
fontSize: 12,
|
|
53
|
+
fontWeight: '700',
|
|
54
|
+
fontFamily: 'Urbanist',
|
|
55
|
+
},
|
|
56
|
+
rows: {
|
|
57
|
+
paddingHorizontal: 4,
|
|
58
|
+
paddingBottom: 8,
|
|
59
|
+
gap: ROW_GAP,
|
|
60
|
+
},
|
|
61
|
+
row: {
|
|
62
|
+
flexDirection: 'row',
|
|
63
|
+
gap: KEY_GAP,
|
|
64
|
+
},
|
|
65
|
+
key: {
|
|
66
|
+
flex: 1,
|
|
67
|
+
height: KEY_HEIGHT,
|
|
68
|
+
borderRadius: 5,
|
|
69
|
+
alignItems: 'center',
|
|
70
|
+
justifyContent: 'center',
|
|
71
|
+
shadowColor: '#000',
|
|
72
|
+
shadowOffset: { width: 0, height: 1 },
|
|
73
|
+
shadowOpacity: 0.2,
|
|
74
|
+
shadowRadius: 0,
|
|
75
|
+
elevation: 2,
|
|
76
|
+
},
|
|
77
|
+
keyWide: {
|
|
78
|
+
flex: 1.5,
|
|
79
|
+
},
|
|
80
|
+
keySpace: {
|
|
81
|
+
flex: 4,
|
|
82
|
+
},
|
|
83
|
+
keyLabel: {
|
|
84
|
+
fontSize: 16,
|
|
85
|
+
fontWeight: '400',
|
|
86
|
+
fontFamily: 'Urbanist',
|
|
87
|
+
},
|
|
88
|
+
keyLabelSmall: {
|
|
89
|
+
fontSize: 12,
|
|
90
|
+
fontWeight: '500',
|
|
91
|
+
fontFamily: 'Urbanist',
|
|
92
|
+
},
|
|
93
|
+
});
|
|
94
|
+
//# sourceMappingURL=MobileCanva.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MobileCanva.styles.js","sourceRoot":"","sources":["../../../../src/components/navigation/MobileCanva/MobileCanva.styles.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,CAAC,MAAM,WAAW,GAAI,GAAG,CAAC;AAChC,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAC;AAChC,MAAM,CAAC,MAAM,aAAa,GAAI,GAAG,CAAC;AAClC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAChC,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,CAAC;AAC7B,MAAM,CAAC,MAAM,OAAO,GAAM,CAAC,CAAC;AAC5B,MAAM,CAAC,MAAM,OAAO,GAAM,CAAC,CAAC;AAE5B,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IACtC,gBAAgB;IAChB,KAAK,EAAE;QACL,KAAK,EAAK,WAAW;QACrB,MAAM,EAAI,YAAY;QACtB,OAAO,EAAG,CAAC;QACX,GAAG,EAAO,CAAC;QACX,QAAQ,EAAE,QAAQ;KACnB;IACD,OAAO,EAAE;QACP,IAAI,EAAU,CAAC;QACf,YAAY,EAAE,EAAE;QAChB,WAAW,EAAG,CAAC;QACf,QAAQ,EAAM,QAAQ;KACvB;IACD,gBAAgB,EAAE;QAChB,UAAU,EAAO,QAAQ;QACzB,cAAc,EAAG,QAAQ;QACzB,eAAe,EAAE,CAAC;KACnB;IACD,OAAO,EAAE;QACP,KAAK,EAAS,aAAa;QAC3B,MAAM,EAAQ,cAAc;QAC5B,YAAY,EAAE,CAAC;KAChB;IAED,wBAAwB;IACxB,KAAK,EAAE;QACL,QAAQ,EAAE,QAAQ;KACnB;IACD,OAAO,EAAE;QACP,aAAa,EAAG,KAAK;QACrB,cAAc,EAAE,cAAc;QAC9B,UAAU,EAAM,QAAQ;QACxB,MAAM,EAAU,EAAE;QAClB,iBAAiB,EAAE,CAAC;KACrB;IACD,UAAU,EAAE;QACV,OAAO,EAAS,CAAC;QACjB,UAAU,EAAM,QAAQ;QACxB,cAAc,EAAE,QAAQ;KACzB;IACD,QAAQ,EAAE;QACR,QAAQ,EAAI,EAAE;QACd,UAAU,EAAE,KAAK;QACjB,UAAU,EAAE,UAAU;KACvB;IACD,IAAI,EAAE;QACJ,iBAAiB,EAAE,CAAC;QACpB,aAAa,EAAM,CAAC;QACpB,GAAG,EAAgB,OAAO;KAC3B;IACD,GAAG,EAAE;QACH,aAAa,EAAE,KAAK;QACpB,GAAG,EAAY,OAAO;KACvB;IACD,GAAG,EAAE;QACH,IAAI,EAAY,CAAC;QACjB,MAAM,EAAU,UAAU;QAC1B,YAAY,EAAI,CAAC;QACjB,UAAU,EAAM,QAAQ;QACxB,cAAc,EAAE,QAAQ;QACxB,WAAW,EAAK,MAAM;QACtB,YAAY,EAAI,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;QACvC,aAAa,EAAG,GAAG;QACnB,YAAY,EAAI,CAAC;QACjB,SAAS,EAAO,CAAC;KAClB;IACD,OAAO,EAAE;QACP,IAAI,EAAE,GAAG;KACV;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,CAAC;KACR;IACD,QAAQ,EAAE;QACR,QAAQ,EAAI,EAAE;QACd,UAAU,EAAE,KAAK;QACjB,UAAU,EAAE,UAAU;KACvB;IACD,aAAa,EAAE;QACb,QAAQ,EAAI,EAAE;QACd,UAAU,EAAE,KAAK;QACjB,UAAU,EAAE,UAAU;KACvB;CACF,CAAC,CAAC","sourcesContent":["/** Static layout styles for MobileCanva — colors injected via useTheme() */\nimport { StyleSheet } from 'react-native';\n\nexport const SHELL_WIDTH = 390;\nexport const SHELL_HEIGHT = 844;\nexport const HOMEBAR_WIDTH = 144;\nexport const HOMEBAR_HEIGHT = 5;\nexport const KEY_HEIGHT = 42;\nexport const KEY_GAP = 4;\nexport const ROW_GAP = 8;\n\nexport const styles = StyleSheet.create({\n // --- Shell ---\n shell: {\n width: SHELL_WIDTH,\n height: SHELL_HEIGHT,\n padding: 6,\n gap: 6,\n overflow: 'hidden',\n },\n content: {\n flex: 1,\n borderRadius: 12,\n borderWidth: 1,\n overflow: 'hidden',\n },\n homebarContainer: {\n alignItems: 'center',\n justifyContent: 'center',\n paddingVertical: 8,\n },\n homebar: {\n width: HOMEBAR_WIDTH,\n height: HOMEBAR_HEIGHT,\n borderRadius: 3,\n },\n\n // --- BoardKeyboard ---\n board: {\n overflow: 'hidden',\n },\n toolbar: {\n flexDirection: 'row',\n justifyContent: 'space-around',\n alignItems: 'center',\n height: 44,\n paddingHorizontal: 8,\n },\n toolbarBtn: {\n padding: 8,\n alignItems: 'center',\n justifyContent: 'center',\n },\n gifLabel: {\n fontSize: 12,\n fontWeight: '700',\n fontFamily: 'Urbanist',\n },\n rows: {\n paddingHorizontal: 4,\n paddingBottom: 8,\n gap: ROW_GAP,\n },\n row: {\n flexDirection: 'row',\n gap: KEY_GAP,\n },\n key: {\n flex: 1,\n height: KEY_HEIGHT,\n borderRadius: 5,\n alignItems: 'center',\n justifyContent: 'center',\n shadowColor: '#000',\n shadowOffset: { width: 0, height: 1 },\n shadowOpacity: 0.2,\n shadowRadius: 0,\n elevation: 2,\n },\n keyWide: {\n flex: 1.5,\n },\n keySpace: {\n flex: 4,\n },\n keyLabel: {\n fontSize: 16,\n fontWeight: '400',\n fontFamily: 'Urbanist',\n },\n keyLabelSmall: {\n fontSize: 12,\n fontWeight: '500',\n fontFamily: 'Urbanist',\n },\n});"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/** Type definitions for the MobileCanva component */
|
|
2
|
+
import type { ReactNode } from 'react';
|
|
3
|
+
import type { TabBarProps } from '../TabBar';
|
|
4
|
+
export type MobileCanvaVariant = 'default' | 'board';
|
|
5
|
+
export interface MobileCanvaProps {
|
|
6
|
+
/** Shell variant — default or with Android keyboard */
|
|
7
|
+
variant?: MobileCanvaVariant;
|
|
8
|
+
/** Content rendered inside the white content area */
|
|
9
|
+
children?: ReactNode;
|
|
10
|
+
/** Override the inner TabBar — defaults to [Table, MapTrifold, Bell, User] */
|
|
11
|
+
tabBarProps?: TabBarProps;
|
|
12
|
+
/** Show the iOS home indicator bar */
|
|
13
|
+
showHomebar?: boolean;
|
|
14
|
+
/** Called when a letter key is pressed (board variant) */
|
|
15
|
+
onKeyPress?: (key: string) => void;
|
|
16
|
+
/** Called when backspace is pressed (board variant) */
|
|
17
|
+
onBackspace?: () => void;
|
|
18
|
+
/** Called when send is pressed (board variant) */
|
|
19
|
+
onSend?: () => void;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=MobileCanva.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MobileCanva.types.d.ts","sourceRoot":"","sources":["../../../../src/components/navigation/MobileCanva/MobileCanva.types.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,OAAO,CAAC;AAErD,MAAM,WAAW,gBAAgB;IAC/B,uDAAuD;IACvD,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,qDAAqD;IACrD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,sCAAsC;IACtC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,0DAA0D;IAC1D,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,uDAAuD;IACvD,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MobileCanva.types.js","sourceRoot":"","sources":["../../../../src/components/navigation/MobileCanva/MobileCanva.types.ts"],"names":[],"mappings":"","sourcesContent":["/** Type definitions for the MobileCanva component */\nimport type { ReactNode } from 'react';\nimport type { TabBarProps } from '../TabBar';\n\nexport type MobileCanvaVariant = 'default' | 'board';\n\nexport interface MobileCanvaProps {\n /** Shell variant — default or with Android keyboard */\n variant?: MobileCanvaVariant;\n /** Content rendered inside the white content area */\n children?: ReactNode;\n /** Override the inner TabBar — defaults to [Table, MapTrifold, Bell, User] */\n tabBarProps?: TabBarProps;\n /** Show the iOS home indicator bar */\n showHomebar?: boolean;\n /** Called when a letter key is pressed (board variant) */\n onKeyPress?: (key: string) => void;\n /** Called when backspace is pressed (board variant) */\n onBackspace?: () => void;\n /** Called when send is pressed (board variant) */\n onSend?: () => void;\n}"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/navigation/MobileCanva/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/MobileCanva/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC","sourcesContent":["export { MobileCanva } from './MobileCanva';\nexport type { MobileCanvaProps } from './MobileCanva';"]}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PageNav — page-level navigation header.
|
|
3
|
+
*
|
|
4
|
+
* White background, title + icon centered, ghost icon-only buttons.
|
|
5
|
+
* Optional slot below the header row for tabs or subtitles.
|
|
6
|
+
*/
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import type { ButtonVariant } from '../../Button';
|
|
9
|
+
export interface RightAction {
|
|
10
|
+
/** Icon element for the button */
|
|
11
|
+
icon: React.ReactElement;
|
|
12
|
+
/** Callback on press */
|
|
13
|
+
onPress: () => void;
|
|
14
|
+
/** Accessibility label for screen readers */
|
|
15
|
+
accessibilityLabel?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface PageNavProps {
|
|
18
|
+
/** Page title — centered in the header */
|
|
19
|
+
title?: string;
|
|
20
|
+
/** Title size — 's' (16px), 'm' (18px), 'l' (20px, default) */
|
|
21
|
+
titleSize?: 's' | 'm' | 'l';
|
|
22
|
+
/** Optional Phosphor icon shown left of the title */
|
|
23
|
+
titleIcon?: React.ReactElement;
|
|
24
|
+
/**
|
|
25
|
+
* Left action buttons — rendered left to right (first item = far left).
|
|
26
|
+
* Each item: { icon, onPress }.
|
|
27
|
+
*/
|
|
28
|
+
leftActions?: RightAction[];
|
|
29
|
+
/**
|
|
30
|
+
* Right action buttons — rendered right to left (first item = far right).
|
|
31
|
+
* Each item: { icon, onPress }.
|
|
32
|
+
*/
|
|
33
|
+
rightActions?: RightAction[];
|
|
34
|
+
/**
|
|
35
|
+
* Variant applied to all action buttons (back + right actions).
|
|
36
|
+
* Defaults to 'ghost'.
|
|
37
|
+
*/
|
|
38
|
+
buttonVariant?: ButtonVariant;
|
|
39
|
+
/** Optional content rendered after the title in the centered title group */
|
|
40
|
+
titleChildren?: React.ReactNode;
|
|
41
|
+
/** Optional content below the header row (34px slot) */
|
|
42
|
+
children?: React.ReactNode;
|
|
43
|
+
}
|
|
44
|
+
export declare function PageNav({ title, titleIcon, leftActions, rightActions, buttonVariant, titleSize, titleChildren, children, }: PageNavProps): React.JSX.Element;
|
|
45
|
+
export default PageNav;
|
|
46
|
+
//# sourceMappingURL=PageNav.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PageNav.d.ts","sourceRoot":"","sources":["../../../../src/components/navigation/PageNav/PageNav.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAOlD,MAAM,WAAW,WAAW;IAC1B,kCAAkC;IAClC,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC;IACzB,wBAAwB;IACxB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,6CAA6C;IAC7C,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IAC3B,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,SAAS,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAC5B,qDAAqD;IACrD,SAAS,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;IAC/B;;;OAGG;IACH,WAAW,CAAC,EAAE,WAAW,EAAE,CAAC;IAC5B;;;OAGG;IACH,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B;;;OAGG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,4EAA4E;IAC5E,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,wDAAwD;IACxD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAMD,wBAAgB,OAAO,CAAC,EACtB,KAAK,EACL,SAAS,EACT,WAAW,EACX,YAAY,EACZ,aAAuB,EACvB,SAAe,EACf,aAAa,EACb,QAAQ,GACT,EAAE,YAAY,qBA8Dd;AAED,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PageNav — page-level navigation header.
|
|
3
|
+
*
|
|
4
|
+
* White background, title + icon centered, ghost icon-only buttons.
|
|
5
|
+
* Optional slot below the header row for tabs or subtitles.
|
|
6
|
+
*/
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import { Text, View } from 'react-native';
|
|
9
|
+
import { useTheme } from '../../../context/ThemeContext';
|
|
10
|
+
import { Button } from '../../Button';
|
|
11
|
+
import { styles } from './PageNav.styles';
|
|
12
|
+
// ---------------------------------------------------------------------------
|
|
13
|
+
// Component
|
|
14
|
+
// ---------------------------------------------------------------------------
|
|
15
|
+
export function PageNav({ title, titleIcon, leftActions, rightActions, buttonVariant = 'ghost', titleSize = 'l', titleChildren, children, }) {
|
|
16
|
+
const { colors, fontFamily } = useTheme();
|
|
17
|
+
return (<View style={styles.container}>
|
|
18
|
+
{/* ── Header row ─────────────────────────────────────────── */}
|
|
19
|
+
<View style={styles.headerRow}>
|
|
20
|
+
|
|
21
|
+
{/* Left action buttons — absolute, first item = far left */}
|
|
22
|
+
{leftActions?.map((action, index) => (<View key={index} style={[styles.btnLeft, { left: index * 40 }]}>
|
|
23
|
+
<Button variant={buttonVariant} content="icon-only-rounded" size="M" iconLeft={action.icon} onPress={action.onPress} accessibilityLabel={action.accessibilityLabel}/>
|
|
24
|
+
</View>))}
|
|
25
|
+
|
|
26
|
+
{/* Centered title group */}
|
|
27
|
+
<View style={styles.titleGroup}>
|
|
28
|
+
{titleIcon != null && titleIcon}
|
|
29
|
+
{title != null && (<Text style={[styles.title, titleSize === 's' ? styles.titleS : titleSize === 'm' ? styles.titleM : styles.titleL, { color: colors.text.primary, fontFamily }]}>
|
|
30
|
+
{title}
|
|
31
|
+
</Text>)}
|
|
32
|
+
{titleChildren}
|
|
33
|
+
</View>
|
|
34
|
+
|
|
35
|
+
{/* Right action buttons — absolute, first item = far right */}
|
|
36
|
+
{rightActions?.map((action, index) => (<View key={index} style={[styles.btnRight, { right: index * 40 }]}>
|
|
37
|
+
<Button variant={buttonVariant} content="icon-only-rounded" size="M" iconLeft={action.icon} onPress={action.onPress} accessibilityLabel={action.accessibilityLabel}/>
|
|
38
|
+
</View>))}
|
|
39
|
+
</View>
|
|
40
|
+
|
|
41
|
+
{/* ── Optional slot below header ──────────────────────────── */}
|
|
42
|
+
{children != null && (<View style={styles.slot}>
|
|
43
|
+
{children}
|
|
44
|
+
</View>)}
|
|
45
|
+
</View>);
|
|
46
|
+
}
|
|
47
|
+
export default PageNav;
|
|
48
|
+
//# sourceMappingURL=PageNav.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PageNav.js","sourceRoot":"","sources":["../../../../src/components/navigation/PageNav/PageNav.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * PageNav — page-level navigation header.\n *\n * White background, title + icon centered, ghost icon-only buttons.\n * Optional slot below the header row for tabs or subtitles.\n */\nimport React from 'react';\nimport { Text, View } from 'react-native';\nimport { useTheme } from '../../../context/ThemeContext';\nimport { Button } from '../../Button';\nimport type { ButtonVariant } from '../../Button';\nimport { styles } from './PageNav.styles';\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\nexport interface RightAction {\n /** Icon element for the button */\n icon: React.ReactElement;\n /** Callback on press */\n onPress: () => void;\n /** Accessibility label for screen readers */\n accessibilityLabel?: string;\n}\n\nexport interface PageNavProps {\n /** Page title — centered in the header */\n title?: string;\n /** Title size — 's' (16px), 'm' (18px), 'l' (20px, default) */\n titleSize?: 's' | 'm' | 'l';\n /** Optional Phosphor icon shown left of the title */\n titleIcon?: React.ReactElement;\n /**\n * Left action buttons — rendered left to right (first item = far left).\n * Each item: { icon, onPress }.\n */\n leftActions?: RightAction[];\n /**\n * Right action buttons — rendered right to left (first item = far right).\n * Each item: { icon, onPress }.\n */\n rightActions?: RightAction[];\n /**\n * Variant applied to all action buttons (back + right actions).\n * Defaults to 'ghost'.\n */\n buttonVariant?: ButtonVariant;\n /** Optional content rendered after the title in the centered title group */\n titleChildren?: React.ReactNode;\n /** Optional content below the header row (34px slot) */\n children?: React.ReactNode;\n}\n\n// ---------------------------------------------------------------------------\n// Component\n// ---------------------------------------------------------------------------\n\nexport function PageNav({\n title,\n titleIcon,\n leftActions,\n rightActions,\n buttonVariant = 'ghost',\n titleSize = 'l',\n titleChildren,\n children,\n}: PageNavProps) {\n const { colors, fontFamily } = useTheme();\n\n return (\n <View style={styles.container}>\n {/* ── Header row ─────────────────────────────────────────── */}\n <View style={styles.headerRow}>\n\n {/* Left action buttons — absolute, first item = far left */}\n {leftActions?.map((action, index) => (\n <View\n key={index}\n style={[styles.btnLeft, { left: index * 40 }]}\n >\n <Button\n variant={buttonVariant}\n content=\"icon-only-rounded\"\n size=\"M\"\n iconLeft={action.icon}\n onPress={action.onPress}\n accessibilityLabel={action.accessibilityLabel}\n />\n </View>\n ))}\n\n {/* Centered title group */}\n <View style={styles.titleGroup}>\n {titleIcon != null && titleIcon}\n {title != null && (\n <Text style={[styles.title, titleSize === 's' ? styles.titleS : titleSize === 'm' ? styles.titleM : styles.titleL, { color: colors.text.primary, fontFamily }]}>\n {title}\n </Text>\n )}\n {titleChildren}\n </View>\n\n {/* Right action buttons — absolute, first item = far right */}\n {rightActions?.map((action, index) => (\n <View\n key={index}\n style={[styles.btnRight, { right: index * 40 }]}\n >\n <Button\n variant={buttonVariant}\n content=\"icon-only-rounded\"\n size=\"M\"\n iconLeft={action.icon}\n onPress={action.onPress}\n accessibilityLabel={action.accessibilityLabel}\n />\n </View>\n ))}\n </View>\n\n {/* ── Optional slot below header ──────────────────────────── */}\n {children != null && (\n <View style={styles.slot}>\n {children}\n </View>\n )}\n </View>\n );\n}\n\nexport default PageNav;"]}
|