@metamask/design-system-react-native 0.10.0 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +33 -1
- package/dist/components/BannerBase/BannerBase.cjs +63 -0
- package/dist/components/BannerBase/BannerBase.cjs.map +1 -0
- package/dist/components/BannerBase/BannerBase.d.cts +4 -0
- package/dist/components/BannerBase/BannerBase.d.cts.map +1 -0
- package/dist/components/BannerBase/BannerBase.d.mts +4 -0
- package/dist/components/BannerBase/BannerBase.d.mts.map +1 -0
- package/dist/components/BannerBase/BannerBase.mjs +63 -0
- package/dist/components/BannerBase/BannerBase.mjs.map +1 -0
- package/dist/components/BannerBase/BannerBase.types.cjs +3 -0
- package/dist/components/BannerBase/BannerBase.types.cjs.map +1 -0
- package/dist/components/BannerBase/BannerBase.types.d.cts +53 -0
- package/dist/components/BannerBase/BannerBase.types.d.cts.map +1 -0
- package/dist/components/BannerBase/BannerBase.types.d.mts +53 -0
- package/dist/components/BannerBase/BannerBase.types.d.mts.map +1 -0
- package/dist/components/BannerBase/BannerBase.types.mjs +2 -0
- package/dist/components/BannerBase/BannerBase.types.mjs.map +1 -0
- package/dist/components/BannerBase/index.cjs +6 -0
- package/dist/components/BannerBase/index.cjs.map +1 -0
- package/dist/components/BannerBase/index.d.cts +3 -0
- package/dist/components/BannerBase/index.d.cts.map +1 -0
- package/dist/components/BannerBase/index.d.mts +3 -0
- package/dist/components/BannerBase/index.d.mts.map +1 -0
- package/dist/components/BannerBase/index.mjs +2 -0
- package/dist/components/BannerBase/index.mjs.map +1 -0
- package/dist/components/BottomSheet/BottomSheet.cjs +109 -0
- package/dist/components/BottomSheet/BottomSheet.cjs.map +1 -0
- package/dist/components/BottomSheet/BottomSheet.d.cts +16 -0
- package/dist/components/BottomSheet/BottomSheet.d.cts.map +1 -0
- package/dist/components/BottomSheet/BottomSheet.d.mts +16 -0
- package/dist/components/BottomSheet/BottomSheet.d.mts.map +1 -0
- package/dist/components/BottomSheet/BottomSheet.mjs +87 -0
- package/dist/components/BottomSheet/BottomSheet.mjs.map +1 -0
- package/dist/components/BottomSheet/BottomSheet.types.cjs +3 -0
- package/dist/components/BottomSheet/BottomSheet.types.cjs.map +1 -0
- package/dist/components/BottomSheet/BottomSheet.types.d.cts +28 -0
- package/dist/components/BottomSheet/BottomSheet.types.d.cts.map +1 -0
- package/dist/components/BottomSheet/BottomSheet.types.d.mts +28 -0
- package/dist/components/BottomSheet/BottomSheet.types.d.mts.map +1 -0
- package/dist/components/BottomSheet/BottomSheet.types.mjs +2 -0
- package/dist/components/BottomSheet/BottomSheet.types.mjs.map +1 -0
- package/dist/components/BottomSheet/index.cjs +6 -0
- package/dist/components/BottomSheet/index.cjs.map +1 -0
- package/dist/components/BottomSheet/index.d.cts +3 -0
- package/dist/components/BottomSheet/index.d.cts.map +1 -0
- package/dist/components/BottomSheet/index.d.mts +3 -0
- package/dist/components/BottomSheet/index.d.mts.map +1 -0
- package/dist/components/BottomSheet/index.mjs +2 -0
- package/dist/components/BottomSheet/index.mjs.map +1 -0
- package/dist/components/BottomSheetDialog/BottomSheetDialog.cjs +207 -0
- package/dist/components/BottomSheetDialog/BottomSheetDialog.cjs.map +1 -0
- package/dist/components/BottomSheetDialog/BottomSheetDialog.constants.cjs +18 -0
- package/dist/components/BottomSheetDialog/BottomSheetDialog.constants.cjs.map +1 -0
- package/dist/components/BottomSheetDialog/BottomSheetDialog.constants.d.cts +14 -0
- package/dist/components/BottomSheetDialog/BottomSheetDialog.constants.d.cts.map +1 -0
- package/dist/components/BottomSheetDialog/BottomSheetDialog.constants.d.mts +14 -0
- package/dist/components/BottomSheetDialog/BottomSheetDialog.constants.d.mts.map +1 -0
- package/dist/components/BottomSheetDialog/BottomSheetDialog.constants.mjs +15 -0
- package/dist/components/BottomSheetDialog/BottomSheetDialog.constants.mjs.map +1 -0
- package/dist/components/BottomSheetDialog/BottomSheetDialog.d.cts +13 -0
- package/dist/components/BottomSheetDialog/BottomSheetDialog.d.cts.map +1 -0
- package/dist/components/BottomSheetDialog/BottomSheetDialog.d.mts +13 -0
- package/dist/components/BottomSheetDialog/BottomSheetDialog.d.mts.map +1 -0
- package/dist/components/BottomSheetDialog/BottomSheetDialog.mjs +190 -0
- package/dist/components/BottomSheetDialog/BottomSheetDialog.mjs.map +1 -0
- package/dist/components/BottomSheetDialog/BottomSheetDialog.types.cjs +3 -0
- package/dist/components/BottomSheetDialog/BottomSheetDialog.types.cjs.map +1 -0
- package/dist/components/BottomSheetDialog/BottomSheetDialog.types.d.cts +56 -0
- package/dist/components/BottomSheetDialog/BottomSheetDialog.types.d.cts.map +1 -0
- package/dist/components/BottomSheetDialog/BottomSheetDialog.types.d.mts +56 -0
- package/dist/components/BottomSheetDialog/BottomSheetDialog.types.d.mts.map +1 -0
- package/dist/components/BottomSheetDialog/BottomSheetDialog.types.mjs +2 -0
- package/dist/components/BottomSheetDialog/BottomSheetDialog.types.mjs.map +1 -0
- package/dist/components/BottomSheetDialog/index.cjs +9 -0
- package/dist/components/BottomSheetDialog/index.cjs.map +1 -0
- package/dist/components/BottomSheetDialog/index.d.cts +3 -0
- package/dist/components/BottomSheetDialog/index.d.cts.map +1 -0
- package/dist/components/BottomSheetDialog/index.d.mts +3 -0
- package/dist/components/BottomSheetDialog/index.d.mts.map +1 -0
- package/dist/components/BottomSheetDialog/index.mjs +2 -0
- package/dist/components/BottomSheetDialog/index.mjs.map +1 -0
- package/dist/components/ButtonBase/ButtonBase.cjs +2 -9
- package/dist/components/ButtonBase/ButtonBase.cjs.map +1 -1
- package/dist/components/ButtonBase/ButtonBase.d.cts.map +1 -1
- package/dist/components/ButtonBase/ButtonBase.d.mts.map +1 -1
- package/dist/components/ButtonBase/ButtonBase.mjs +3 -10
- package/dist/components/ButtonBase/ButtonBase.mjs.map +1 -1
- package/dist/components/ButtonFilter/ButtonFilter.cjs +28 -0
- package/dist/components/ButtonFilter/ButtonFilter.cjs.map +1 -0
- package/dist/components/ButtonFilter/ButtonFilter.d.cts +4 -0
- package/dist/components/ButtonFilter/ButtonFilter.d.cts.map +1 -0
- package/dist/components/ButtonFilter/ButtonFilter.d.mts +4 -0
- package/dist/components/ButtonFilter/ButtonFilter.d.mts.map +1 -0
- package/dist/components/ButtonFilter/ButtonFilter.mjs +28 -0
- package/dist/components/ButtonFilter/ButtonFilter.mjs.map +1 -0
- package/dist/components/ButtonFilter/ButtonFilter.types.cjs +3 -0
- package/dist/components/ButtonFilter/ButtonFilter.types.cjs.map +1 -0
- package/dist/components/ButtonFilter/ButtonFilter.types.d.cts +9 -0
- package/dist/components/ButtonFilter/ButtonFilter.types.d.cts.map +1 -0
- package/dist/components/ButtonFilter/ButtonFilter.types.d.mts +9 -0
- package/dist/components/ButtonFilter/ButtonFilter.types.d.mts.map +1 -0
- package/dist/components/ButtonFilter/ButtonFilter.types.mjs +2 -0
- package/dist/components/ButtonFilter/ButtonFilter.types.mjs.map +1 -0
- package/dist/components/ButtonFilter/index.cjs +6 -0
- package/dist/components/ButtonFilter/index.cjs.map +1 -0
- package/dist/components/ButtonFilter/index.d.cts +3 -0
- package/dist/components/ButtonFilter/index.d.cts.map +1 -0
- package/dist/components/ButtonFilter/index.d.mts +3 -0
- package/dist/components/ButtonFilter/index.d.mts.map +1 -0
- package/dist/components/ButtonFilter/index.mjs +2 -0
- package/dist/components/ButtonFilter/index.mjs.map +1 -0
- package/dist/components/ButtonIcon/ButtonIcon.cjs +10 -4
- package/dist/components/ButtonIcon/ButtonIcon.cjs.map +1 -1
- package/dist/components/ButtonIcon/ButtonIcon.d.cts +1 -1
- package/dist/components/ButtonIcon/ButtonIcon.d.cts.map +1 -1
- package/dist/components/ButtonIcon/ButtonIcon.d.mts +1 -1
- package/dist/components/ButtonIcon/ButtonIcon.d.mts.map +1 -1
- package/dist/components/ButtonIcon/ButtonIcon.mjs +11 -5
- package/dist/components/ButtonIcon/ButtonIcon.mjs.map +1 -1
- package/dist/components/ButtonIcon/ButtonIcon.types.cjs.map +1 -1
- package/dist/components/ButtonIcon/ButtonIcon.types.d.cts +4 -11
- package/dist/components/ButtonIcon/ButtonIcon.types.d.cts.map +1 -1
- package/dist/components/ButtonIcon/ButtonIcon.types.d.mts +4 -11
- package/dist/components/ButtonIcon/ButtonIcon.types.d.mts.map +1 -1
- package/dist/components/ButtonIcon/ButtonIcon.types.mjs.map +1 -1
- package/dist/components/ButtonIcon/index.cjs +2 -1
- package/dist/components/ButtonIcon/index.cjs.map +1 -1
- package/dist/components/ButtonIcon/index.d.cts +1 -1
- package/dist/components/ButtonIcon/index.d.cts.map +1 -1
- package/dist/components/ButtonIcon/index.d.mts +1 -1
- package/dist/components/ButtonIcon/index.d.mts.map +1 -1
- package/dist/components/ButtonIcon/index.mjs +1 -1
- package/dist/components/ButtonIcon/index.mjs.map +1 -1
- package/dist/components/Icon/assets/ai.svg +1 -1
- package/dist/components/Input/Input.cjs +12 -2
- package/dist/components/Input/Input.cjs.map +1 -1
- package/dist/components/Input/Input.d.cts +2 -1
- package/dist/components/Input/Input.d.cts.map +1 -1
- package/dist/components/Input/Input.d.mts +2 -1
- package/dist/components/Input/Input.d.mts.map +1 -1
- package/dist/components/Input/Input.mjs +12 -2
- package/dist/components/Input/Input.mjs.map +1 -1
- package/dist/components/Input/Input.types.cjs.map +1 -1
- package/dist/components/Input/Input.types.d.cts +5 -1
- package/dist/components/Input/Input.types.d.cts.map +1 -1
- package/dist/components/Input/Input.types.d.mts +5 -1
- package/dist/components/Input/Input.types.d.mts.map +1 -1
- package/dist/components/Input/Input.types.mjs.map +1 -1
- package/dist/components/ListItem/ListItem.cjs +61 -0
- package/dist/components/ListItem/ListItem.cjs.map +1 -0
- package/dist/components/ListItem/ListItem.constants.cjs +14 -0
- package/dist/components/ListItem/ListItem.constants.cjs.map +1 -0
- package/dist/components/ListItem/ListItem.constants.d.cts +8 -0
- package/dist/components/ListItem/ListItem.constants.d.cts.map +1 -0
- package/dist/components/ListItem/ListItem.constants.d.mts +8 -0
- package/dist/components/ListItem/ListItem.constants.d.mts.map +1 -0
- package/dist/components/ListItem/ListItem.constants.mjs +11 -0
- package/dist/components/ListItem/ListItem.constants.mjs.map +1 -0
- package/dist/components/ListItem/ListItem.d.cts +4 -0
- package/dist/components/ListItem/ListItem.d.cts.map +1 -0
- package/dist/components/ListItem/ListItem.d.mts +4 -0
- package/dist/components/ListItem/ListItem.d.mts.map +1 -0
- package/dist/components/ListItem/ListItem.mjs +41 -0
- package/dist/components/ListItem/ListItem.mjs.map +1 -0
- package/dist/components/ListItem/ListItem.types.cjs +12 -0
- package/dist/components/ListItem/ListItem.types.cjs.map +1 -0
- package/dist/components/ListItem/ListItem.types.d.cts +60 -0
- package/dist/components/ListItem/ListItem.types.d.cts.map +1 -0
- package/dist/components/ListItem/ListItem.types.d.mts +60 -0
- package/dist/components/ListItem/ListItem.types.d.mts.map +1 -0
- package/dist/components/ListItem/ListItem.types.mjs +9 -0
- package/dist/components/ListItem/ListItem.types.mjs.map +1 -0
- package/dist/components/ListItem/index.cjs +8 -0
- package/dist/components/ListItem/index.cjs.map +1 -0
- package/dist/components/ListItem/index.d.cts +4 -0
- package/dist/components/ListItem/index.d.cts.map +1 -0
- package/dist/components/ListItem/index.d.mts +4 -0
- package/dist/components/ListItem/index.d.mts.map +1 -0
- package/dist/components/ListItem/index.mjs +3 -0
- package/dist/components/ListItem/index.mjs.map +1 -0
- package/dist/components/MainActionButton/MainActionButton.cjs +28 -0
- package/dist/components/MainActionButton/MainActionButton.cjs.map +1 -0
- package/dist/components/MainActionButton/MainActionButton.d.cts +4 -0
- package/dist/components/MainActionButton/MainActionButton.d.cts.map +1 -0
- package/dist/components/MainActionButton/MainActionButton.d.mts +4 -0
- package/dist/components/MainActionButton/MainActionButton.d.mts.map +1 -0
- package/dist/components/MainActionButton/MainActionButton.mjs +28 -0
- package/dist/components/MainActionButton/MainActionButton.mjs.map +1 -0
- package/dist/components/MainActionButton/MainActionButton.types.cjs +3 -0
- package/dist/components/MainActionButton/MainActionButton.types.cjs.map +1 -0
- package/dist/components/MainActionButton/MainActionButton.types.d.cts +41 -0
- package/dist/components/MainActionButton/MainActionButton.types.d.cts.map +1 -0
- package/dist/components/MainActionButton/MainActionButton.types.d.mts +41 -0
- package/dist/components/MainActionButton/MainActionButton.types.d.mts.map +1 -0
- package/dist/components/MainActionButton/MainActionButton.types.mjs +2 -0
- package/dist/components/MainActionButton/MainActionButton.types.mjs.map +1 -0
- package/dist/components/MainActionButton/index.cjs +6 -0
- package/dist/components/MainActionButton/index.cjs.map +1 -0
- package/dist/components/MainActionButton/index.d.cts +3 -0
- package/dist/components/MainActionButton/index.d.cts.map +1 -0
- package/dist/components/MainActionButton/index.d.mts +3 -0
- package/dist/components/MainActionButton/index.d.mts.map +1 -0
- package/dist/components/MainActionButton/index.mjs +2 -0
- package/dist/components/MainActionButton/index.mjs.map +1 -0
- package/dist/components/TabEmptyState/TabEmptyState.cjs +22 -0
- package/dist/components/TabEmptyState/TabEmptyState.cjs.map +1 -0
- package/dist/components/TabEmptyState/TabEmptyState.d.cts +4 -0
- package/dist/components/TabEmptyState/TabEmptyState.d.cts.map +1 -0
- package/dist/components/TabEmptyState/TabEmptyState.d.mts +4 -0
- package/dist/components/TabEmptyState/TabEmptyState.d.mts.map +1 -0
- package/dist/components/TabEmptyState/TabEmptyState.mjs +22 -0
- package/dist/components/TabEmptyState/TabEmptyState.mjs.map +1 -0
- package/dist/components/TabEmptyState/TabEmptyState.types.cjs +3 -0
- package/dist/components/TabEmptyState/TabEmptyState.types.cjs.map +1 -0
- package/dist/components/TabEmptyState/TabEmptyState.types.d.cts +45 -0
- package/dist/components/TabEmptyState/TabEmptyState.types.d.cts.map +1 -0
- package/dist/components/TabEmptyState/TabEmptyState.types.d.mts +45 -0
- package/dist/components/TabEmptyState/TabEmptyState.types.d.mts.map +1 -0
- package/dist/components/TabEmptyState/TabEmptyState.types.mjs +2 -0
- package/dist/components/TabEmptyState/TabEmptyState.types.mjs.map +1 -0
- package/dist/components/TabEmptyState/index.cjs +6 -0
- package/dist/components/TabEmptyState/index.cjs.map +1 -0
- package/dist/components/TabEmptyState/index.d.cts +3 -0
- package/dist/components/TabEmptyState/index.d.cts.map +1 -0
- package/dist/components/TabEmptyState/index.d.mts +3 -0
- package/dist/components/TabEmptyState/index.d.mts.map +1 -0
- package/dist/components/TabEmptyState/index.mjs +2 -0
- package/dist/components/TabEmptyState/index.mjs.map +1 -0
- package/dist/components/Toast/Toast.cjs +3 -2
- package/dist/components/Toast/Toast.cjs.map +1 -1
- package/dist/components/Toast/Toast.d.cts.map +1 -1
- package/dist/components/Toast/Toast.d.mts.map +1 -1
- package/dist/components/Toast/Toast.mjs +4 -3
- package/dist/components/Toast/Toast.mjs.map +1 -1
- package/dist/components/Toast/Toast.types.cjs +5 -5
- package/dist/components/Toast/Toast.types.cjs.map +1 -1
- package/dist/components/Toast/Toast.types.d.cts +5 -4
- package/dist/components/Toast/Toast.types.d.cts.map +1 -1
- package/dist/components/Toast/Toast.types.d.mts +5 -4
- package/dist/components/Toast/Toast.types.d.mts.map +1 -1
- package/dist/components/Toast/Toast.types.mjs +4 -4
- package/dist/components/Toast/Toast.types.mjs.map +1 -1
- package/dist/components/Toast/index.cjs +2 -2
- package/dist/components/Toast/index.cjs.map +1 -1
- package/dist/components/Toast/index.d.cts +1 -1
- package/dist/components/Toast/index.d.cts.map +1 -1
- package/dist/components/Toast/index.d.mts +1 -1
- package/dist/components/Toast/index.d.mts.map +1 -1
- package/dist/components/Toast/index.mjs +1 -1
- package/dist/components/Toast/index.mjs.map +1 -1
- package/dist/components/index.cjs +30 -2
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.d.cts +24 -4
- package/dist/components/index.d.cts.map +1 -1
- package/dist/components/index.d.mts +24 -4
- package/dist/components/index.d.mts.map +1 -1
- package/dist/components/index.mjs +12 -2
- package/dist/components/index.mjs.map +1 -1
- package/dist/types/index.cjs +10 -1
- package/dist/types/index.cjs.map +1 -1
- package/dist/types/index.d.cts +8 -0
- package/dist/types/index.d.cts.map +1 -1
- package/dist/types/index.d.mts +8 -0
- package/dist/types/index.d.mts.map +1 -1
- package/dist/types/index.mjs +9 -0
- package/dist/types/index.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MainActionButton.cjs","sourceRoot":"","sources":["../../../src/components/MainActionButton/MainActionButton.tsx"],"names":[],"mappings":";;;;;;AAAA,qFAAmE;AACnE,kDAA0B;AAG1B,4CAAoD;AACpD,gFAAmE;AACnE,4CAAmE;AAI5D,MAAM,gBAAgB,GAAG,CAAC,EAC/B,QAAQ,EACR,KAAK,EACL,SAAS,EACT,UAAU,EACV,OAAO,EACP,SAAS,EACT,UAAU,EACV,KAAK,EACL,UAAU,GAAG,KAAK,EAClB,WAAW,GAAG,EAAE,EAChB,GAAG,KAAK,EACc,EAAE,EAAE;IAC1B,MAAM,EAAE,GAAG,IAAA,wCAAW,GAAE,CAAC;IAEzB,OAAO,CACL,CAAC,+BAAc,CACb,QAAQ,CAAC,CAAC,UAAU,CAAC,CACrB,UAAU,CACV,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAC3C,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAC/C,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CACjD,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;YACrB,MAAM,SAAS,GAAG,EAAE,CAAC,KAAK,CACxB,+DAA+D,EAC/D,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,UAAU,EACxD,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,EACzC,WAAW,CACY,CAAC;YAE1B,MAAM,eAAe,GACnB,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAE3D,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACtE,CAAC,CAAC,CACF,IAAI,KAAK,CAAC,CAEV;MAAA,EACE;QAAA,CAAC,WAAI,CACH,IAAI,SAAS,CAAC,CACd,IAAI,CAAC,CAAC,QAAQ,CAAC,CACf,IAAI,CAAC,CAAC,eAAQ,CAAC,EAAE,CAAC,CAClB,KAAK,CAAC,CAAC,gBAAS,CAAC,eAAe,CAAC,EAEnC;QAAA,CAAC,WAAI,CACH,IAAI,UAAU,CAAC,CACf,OAAO,CAAC,CAAC,kBAAW,CAAC,MAAM,CAAC,CAC5B,UAAU,CAAC,CAAC,iBAAU,CAAC,MAAM,CAAC,CAC9B,KAAK,CAAC,CAAC,gBAAS,CAAC,WAAW,CAAC,CAC7B,WAAW,CAAC,kCAAkC,CAC9C,aAAa,CAAC,CAAC,CAAC,CAAC,CACjB,aAAa,CAAC,MAAM,CAEpB;UAAA,CAAC,KAAK,CACR;QAAA,EAAE,WAAI,CACR;MAAA,GACF;IAAA,EAAE,+BAAc,CAAC,CAClB,CAAC;AACJ,CAAC,CAAC;AA1DW,QAAA,gBAAgB,oBA0D3B","sourcesContent":["import { useTailwind } from '@metamask/design-system-twrnc-preset';\nimport React from 'react';\nimport type { StyleProp, ViewStyle } from 'react-native';\n\nimport { Icon, IconColor, IconSize } from '../Icon';\nimport { ButtonAnimated } from '../temp-components/ButtonAnimated';\nimport { Text, FontWeight, TextColor, TextVariant } from '../Text';\n\nimport type { MainActionButtonProps } from './MainActionButton.types';\n\nexport const MainActionButton = ({\n iconName,\n label,\n iconProps,\n labelProps,\n onPress,\n onPressIn,\n onPressOut,\n style,\n isDisabled = false,\n twClassName = '',\n ...props\n}: MainActionButtonProps) => {\n const tw = useTailwind();\n\n return (\n <ButtonAnimated\n disabled={isDisabled}\n accessible\n onPress={!isDisabled ? onPress : undefined}\n onPressIn={!isDisabled ? onPressIn : undefined}\n onPressOut={!isDisabled ? onPressOut : undefined}\n style={({ pressed }) => {\n const baseStyle = tw.style(\n 'items-center justify-center rounded-xl px-1 py-4 min-w-[68px]',\n pressed && !isDisabled ? 'bg-muted-pressed' : 'bg-muted',\n isDisabled ? 'opacity-50' : 'opacity-100',\n twClassName,\n ) as StyleProp<ViewStyle>;\n\n const additionalStyle =\n typeof style === 'function' ? style({ pressed }) : style;\n\n return additionalStyle ? [baseStyle, additionalStyle] : [baseStyle];\n }}\n {...props}\n >\n <>\n <Icon\n {...iconProps}\n name={iconName}\n size={IconSize.Lg}\n color={IconColor.IconAlternative}\n />\n <Text\n {...labelProps}\n variant={TextVariant.BodySm}\n fontWeight={FontWeight.Medium}\n color={TextColor.TextDefault}\n twClassName=\"mt-0.5 w-full text-center shrink\"\n numberOfLines={1}\n ellipsizeMode=\"tail\"\n >\n {label}\n </Text>\n </>\n </ButtonAnimated>\n );\n};\n"]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { MainActionButtonProps } from "./MainActionButton.types.cjs";
|
|
3
|
+
export declare const MainActionButton: ({ iconName, label, iconProps, labelProps, onPress, onPressIn, onPressOut, style, isDisabled, twClassName, ...props }: MainActionButtonProps) => React.JSX.Element;
|
|
4
|
+
//# sourceMappingURL=MainActionButton.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MainActionButton.d.cts","sourceRoot":"","sources":["../../../src/components/MainActionButton/MainActionButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,cAAc;AAO1B,OAAO,KAAK,EAAE,qBAAqB,EAAE,qCAAiC;AAEtE,eAAO,MAAM,gBAAgB,yHAY1B,qBAAqB,sBA8CvB,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { MainActionButtonProps } from "./MainActionButton.types.mjs";
|
|
3
|
+
export declare const MainActionButton: ({ iconName, label, iconProps, labelProps, onPress, onPressIn, onPressOut, style, isDisabled, twClassName, ...props }: MainActionButtonProps) => React.JSX.Element;
|
|
4
|
+
//# sourceMappingURL=MainActionButton.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MainActionButton.d.mts","sourceRoot":"","sources":["../../../src/components/MainActionButton/MainActionButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,cAAc;AAO1B,OAAO,KAAK,EAAE,qBAAqB,EAAE,qCAAiC;AAEtE,eAAO,MAAM,gBAAgB,yHAY1B,qBAAqB,sBA8CvB,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
function $importDefault(module) {
|
|
2
|
+
if (module?.__esModule) {
|
|
3
|
+
return module.default;
|
|
4
|
+
}
|
|
5
|
+
return module;
|
|
6
|
+
}
|
|
7
|
+
import { useTailwind } from "@metamask/design-system-twrnc-preset";
|
|
8
|
+
import $React from "react";
|
|
9
|
+
const React = $importDefault($React);
|
|
10
|
+
import { Icon, IconColor, IconSize } from "../Icon/index.mjs";
|
|
11
|
+
import { ButtonAnimated } from "../temp-components/ButtonAnimated/index.mjs";
|
|
12
|
+
import { Text, FontWeight, TextColor, TextVariant } from "../Text/index.mjs";
|
|
13
|
+
export const MainActionButton = ({ iconName, label, iconProps, labelProps, onPress, onPressIn, onPressOut, style, isDisabled = false, twClassName = '', ...props }) => {
|
|
14
|
+
const tw = useTailwind();
|
|
15
|
+
return (<ButtonAnimated disabled={isDisabled} accessible onPress={!isDisabled ? onPress : undefined} onPressIn={!isDisabled ? onPressIn : undefined} onPressOut={!isDisabled ? onPressOut : undefined} style={({ pressed }) => {
|
|
16
|
+
const baseStyle = tw.style('items-center justify-center rounded-xl px-1 py-4 min-w-[68px]', pressed && !isDisabled ? 'bg-muted-pressed' : 'bg-muted', isDisabled ? 'opacity-50' : 'opacity-100', twClassName);
|
|
17
|
+
const additionalStyle = typeof style === 'function' ? style({ pressed }) : style;
|
|
18
|
+
return additionalStyle ? [baseStyle, additionalStyle] : [baseStyle];
|
|
19
|
+
}} {...props}>
|
|
20
|
+
<>
|
|
21
|
+
<Icon {...iconProps} name={iconName} size={IconSize.Lg} color={IconColor.IconAlternative}/>
|
|
22
|
+
<Text {...labelProps} variant={TextVariant.BodySm} fontWeight={FontWeight.Medium} color={TextColor.TextDefault} twClassName="mt-0.5 w-full text-center shrink" numberOfLines={1} ellipsizeMode="tail">
|
|
23
|
+
{label}
|
|
24
|
+
</Text>
|
|
25
|
+
</>
|
|
26
|
+
</ButtonAnimated>);
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=MainActionButton.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MainActionButton.mjs","sourceRoot":"","sources":["../../../src/components/MainActionButton/MainActionButton.tsx"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,6CAA6C;AACnE,OAAO,MAAK,cAAc;;AAG1B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,0BAAgB;AACpD,OAAO,EAAE,cAAc,EAAE,oDAA0C;AACnE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,0BAAgB;AAInE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAC/B,QAAQ,EACR,KAAK,EACL,SAAS,EACT,UAAU,EACV,OAAO,EACP,SAAS,EACT,UAAU,EACV,KAAK,EACL,UAAU,GAAG,KAAK,EAClB,WAAW,GAAG,EAAE,EAChB,GAAG,KAAK,EACc,EAAE,EAAE;IAC1B,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IAEzB,OAAO,CACL,CAAC,cAAc,CACb,QAAQ,CAAC,CAAC,UAAU,CAAC,CACrB,UAAU,CACV,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAC3C,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAC/C,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CACjD,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;YACrB,MAAM,SAAS,GAAG,EAAE,CAAC,KAAK,CACxB,+DAA+D,EAC/D,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,UAAU,EACxD,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,EACzC,WAAW,CACY,CAAC;YAE1B,MAAM,eAAe,GACnB,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAE3D,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACtE,CAAC,CAAC,CACF,IAAI,KAAK,CAAC,CAEV;MAAA,EACE;QAAA,CAAC,IAAI,CACH,IAAI,SAAS,CAAC,CACd,IAAI,CAAC,CAAC,QAAQ,CAAC,CACf,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAClB,KAAK,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,EAEnC;QAAA,CAAC,IAAI,CACH,IAAI,UAAU,CAAC,CACf,OAAO,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAC5B,UAAU,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAC9B,KAAK,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAC7B,WAAW,CAAC,kCAAkC,CAC9C,aAAa,CAAC,CAAC,CAAC,CAAC,CACjB,aAAa,CAAC,MAAM,CAEpB;UAAA,CAAC,KAAK,CACR;QAAA,EAAE,IAAI,CACR;MAAA,GACF;IAAA,EAAE,cAAc,CAAC,CAClB,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { useTailwind } from '@metamask/design-system-twrnc-preset';\nimport React from 'react';\nimport type { StyleProp, ViewStyle } from 'react-native';\n\nimport { Icon, IconColor, IconSize } from '../Icon';\nimport { ButtonAnimated } from '../temp-components/ButtonAnimated';\nimport { Text, FontWeight, TextColor, TextVariant } from '../Text';\n\nimport type { MainActionButtonProps } from './MainActionButton.types';\n\nexport const MainActionButton = ({\n iconName,\n label,\n iconProps,\n labelProps,\n onPress,\n onPressIn,\n onPressOut,\n style,\n isDisabled = false,\n twClassName = '',\n ...props\n}: MainActionButtonProps) => {\n const tw = useTailwind();\n\n return (\n <ButtonAnimated\n disabled={isDisabled}\n accessible\n onPress={!isDisabled ? onPress : undefined}\n onPressIn={!isDisabled ? onPressIn : undefined}\n onPressOut={!isDisabled ? onPressOut : undefined}\n style={({ pressed }) => {\n const baseStyle = tw.style(\n 'items-center justify-center rounded-xl px-1 py-4 min-w-[68px]',\n pressed && !isDisabled ? 'bg-muted-pressed' : 'bg-muted',\n isDisabled ? 'opacity-50' : 'opacity-100',\n twClassName,\n ) as StyleProp<ViewStyle>;\n\n const additionalStyle =\n typeof style === 'function' ? style({ pressed }) : style;\n\n return additionalStyle ? [baseStyle, additionalStyle] : [baseStyle];\n }}\n {...props}\n >\n <>\n <Icon\n {...iconProps}\n name={iconName}\n size={IconSize.Lg}\n color={IconColor.IconAlternative}\n />\n <Text\n {...labelProps}\n variant={TextVariant.BodySm}\n fontWeight={FontWeight.Medium}\n color={TextColor.TextDefault}\n twClassName=\"mt-0.5 w-full text-center shrink\"\n numberOfLines={1}\n ellipsizeMode=\"tail\"\n >\n {label}\n </Text>\n </>\n </ButtonAnimated>\n );\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MainActionButton.types.cjs","sourceRoot":"","sources":["../../../src/components/MainActionButton/MainActionButton.types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n PressableProps,\n PressableStateCallbackType,\n StyleProp,\n ViewStyle,\n} from 'react-native';\n\nimport type { IconName, IconProps } from '../Icon';\nimport type { TextProps } from '../Text';\n\n/**\n * MainActionButton component props.\n */\nexport type MainActionButtonProps = {\n /**\n * Icon name rendered above the label.\n */\n iconName: IconName;\n /**\n * Label text rendered below the icon.\n */\n label: string;\n /**\n * Optional props forwarded to the internal Icon component.\n * Useful for test IDs and accessibility metadata.\n */\n iconProps?: Omit<Partial<IconProps>, 'name' | 'size' | 'color'>;\n /**\n * Optional props forwarded to the internal Text component.\n * Useful for test IDs and accessibility metadata.\n */\n labelProps?: Omit<\n Partial<TextProps>,\n 'children' | 'variant' | 'fontWeight' | 'color' | 'twClassName'\n >;\n /**\n * Disables the button interaction and applies disabled styling.\n *\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Optional Tailwind classes to extend or override container styles.\n */\n twClassName?: string;\n /**\n * Optional React Native style for the button container.\n */\n style?:\n | StyleProp<ViewStyle>\n | ((state: PressableStateCallbackType) => StyleProp<ViewStyle>);\n} & Omit<PressableProps, 'children' | 'disabled' | 'style'>;\n"]}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { PressableProps, PressableStateCallbackType, StyleProp, ViewStyle } from "react-native/index.js";
|
|
2
|
+
import type { IconName, IconProps } from "../Icon/index.cjs";
|
|
3
|
+
import type { TextProps } from "../Text/index.cjs";
|
|
4
|
+
/**
|
|
5
|
+
* MainActionButton component props.
|
|
6
|
+
*/
|
|
7
|
+
export type MainActionButtonProps = {
|
|
8
|
+
/**
|
|
9
|
+
* Icon name rendered above the label.
|
|
10
|
+
*/
|
|
11
|
+
iconName: IconName;
|
|
12
|
+
/**
|
|
13
|
+
* Label text rendered below the icon.
|
|
14
|
+
*/
|
|
15
|
+
label: string;
|
|
16
|
+
/**
|
|
17
|
+
* Optional props forwarded to the internal Icon component.
|
|
18
|
+
* Useful for test IDs and accessibility metadata.
|
|
19
|
+
*/
|
|
20
|
+
iconProps?: Omit<Partial<IconProps>, 'name' | 'size' | 'color'>;
|
|
21
|
+
/**
|
|
22
|
+
* Optional props forwarded to the internal Text component.
|
|
23
|
+
* Useful for test IDs and accessibility metadata.
|
|
24
|
+
*/
|
|
25
|
+
labelProps?: Omit<Partial<TextProps>, 'children' | 'variant' | 'fontWeight' | 'color' | 'twClassName'>;
|
|
26
|
+
/**
|
|
27
|
+
* Disables the button interaction and applies disabled styling.
|
|
28
|
+
*
|
|
29
|
+
* @default false
|
|
30
|
+
*/
|
|
31
|
+
isDisabled?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Optional Tailwind classes to extend or override container styles.
|
|
34
|
+
*/
|
|
35
|
+
twClassName?: string;
|
|
36
|
+
/**
|
|
37
|
+
* Optional React Native style for the button container.
|
|
38
|
+
*/
|
|
39
|
+
style?: StyleProp<ViewStyle> | ((state: PressableStateCallbackType) => StyleProp<ViewStyle>);
|
|
40
|
+
} & Omit<PressableProps, 'children' | 'disabled' | 'style'>;
|
|
41
|
+
//# sourceMappingURL=MainActionButton.types.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MainActionButton.types.d.cts","sourceRoot":"","sources":["../../../src/components/MainActionButton/MainActionButton.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,0BAA0B,EAC1B,SAAS,EACT,SAAS,EACV,8BAAqB;AAEtB,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,0BAAgB;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,0BAAgB;AAEzC;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC;IACnB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,SAAS,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IAChE;;;OAGG;IACH,UAAU,CAAC,EAAE,IAAI,CACf,OAAO,CAAC,SAAS,CAAC,EAClB,UAAU,GAAG,SAAS,GAAG,YAAY,GAAG,OAAO,GAAG,aAAa,CAChE,CAAC;IACF;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,KAAK,CAAC,EACF,SAAS,CAAC,SAAS,CAAC,GACpB,CAAC,CAAC,KAAK,EAAE,0BAA0B,KAAK,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;CACnE,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { PressableProps, PressableStateCallbackType, StyleProp, ViewStyle } from "react-native/index.js";
|
|
2
|
+
import type { IconName, IconProps } from "../Icon/index.mjs";
|
|
3
|
+
import type { TextProps } from "../Text/index.mjs";
|
|
4
|
+
/**
|
|
5
|
+
* MainActionButton component props.
|
|
6
|
+
*/
|
|
7
|
+
export type MainActionButtonProps = {
|
|
8
|
+
/**
|
|
9
|
+
* Icon name rendered above the label.
|
|
10
|
+
*/
|
|
11
|
+
iconName: IconName;
|
|
12
|
+
/**
|
|
13
|
+
* Label text rendered below the icon.
|
|
14
|
+
*/
|
|
15
|
+
label: string;
|
|
16
|
+
/**
|
|
17
|
+
* Optional props forwarded to the internal Icon component.
|
|
18
|
+
* Useful for test IDs and accessibility metadata.
|
|
19
|
+
*/
|
|
20
|
+
iconProps?: Omit<Partial<IconProps>, 'name' | 'size' | 'color'>;
|
|
21
|
+
/**
|
|
22
|
+
* Optional props forwarded to the internal Text component.
|
|
23
|
+
* Useful for test IDs and accessibility metadata.
|
|
24
|
+
*/
|
|
25
|
+
labelProps?: Omit<Partial<TextProps>, 'children' | 'variant' | 'fontWeight' | 'color' | 'twClassName'>;
|
|
26
|
+
/**
|
|
27
|
+
* Disables the button interaction and applies disabled styling.
|
|
28
|
+
*
|
|
29
|
+
* @default false
|
|
30
|
+
*/
|
|
31
|
+
isDisabled?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Optional Tailwind classes to extend or override container styles.
|
|
34
|
+
*/
|
|
35
|
+
twClassName?: string;
|
|
36
|
+
/**
|
|
37
|
+
* Optional React Native style for the button container.
|
|
38
|
+
*/
|
|
39
|
+
style?: StyleProp<ViewStyle> | ((state: PressableStateCallbackType) => StyleProp<ViewStyle>);
|
|
40
|
+
} & Omit<PressableProps, 'children' | 'disabled' | 'style'>;
|
|
41
|
+
//# sourceMappingURL=MainActionButton.types.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MainActionButton.types.d.mts","sourceRoot":"","sources":["../../../src/components/MainActionButton/MainActionButton.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,0BAA0B,EAC1B,SAAS,EACT,SAAS,EACV,8BAAqB;AAEtB,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,0BAAgB;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,0BAAgB;AAEzC;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC;IACnB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,SAAS,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IAChE;;;OAGG;IACH,UAAU,CAAC,EAAE,IAAI,CACf,OAAO,CAAC,SAAS,CAAC,EAClB,UAAU,GAAG,SAAS,GAAG,YAAY,GAAG,OAAO,GAAG,aAAa,CAChE,CAAC;IACF;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,KAAK,CAAC,EACF,SAAS,CAAC,SAAS,CAAC,GACpB,CAAC,CAAC,KAAK,EAAE,0BAA0B,KAAK,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;CACnE,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MainActionButton.types.mjs","sourceRoot":"","sources":["../../../src/components/MainActionButton/MainActionButton.types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n PressableProps,\n PressableStateCallbackType,\n StyleProp,\n ViewStyle,\n} from 'react-native';\n\nimport type { IconName, IconProps } from '../Icon';\nimport type { TextProps } from '../Text';\n\n/**\n * MainActionButton component props.\n */\nexport type MainActionButtonProps = {\n /**\n * Icon name rendered above the label.\n */\n iconName: IconName;\n /**\n * Label text rendered below the icon.\n */\n label: string;\n /**\n * Optional props forwarded to the internal Icon component.\n * Useful for test IDs and accessibility metadata.\n */\n iconProps?: Omit<Partial<IconProps>, 'name' | 'size' | 'color'>;\n /**\n * Optional props forwarded to the internal Text component.\n * Useful for test IDs and accessibility metadata.\n */\n labelProps?: Omit<\n Partial<TextProps>,\n 'children' | 'variant' | 'fontWeight' | 'color' | 'twClassName'\n >;\n /**\n * Disables the button interaction and applies disabled styling.\n *\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Optional Tailwind classes to extend or override container styles.\n */\n twClassName?: string;\n /**\n * Optional React Native style for the button container.\n */\n style?:\n | StyleProp<ViewStyle>\n | ((state: PressableStateCallbackType) => StyleProp<ViewStyle>);\n} & Omit<PressableProps, 'children' | 'disabled' | 'style'>;\n"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MainActionButton = void 0;
|
|
4
|
+
var MainActionButton_1 = require("./MainActionButton.cjs");
|
|
5
|
+
Object.defineProperty(exports, "MainActionButton", { enumerable: true, get: function () { return MainActionButton_1.MainActionButton; } });
|
|
6
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sourceRoot":"","sources":["../../../src/components/MainActionButton/index.ts"],"names":[],"mappings":";;;AAAA,2DAAsD;AAA7C,oHAAA,gBAAgB,OAAA","sourcesContent":["export { MainActionButton } from './MainActionButton';\nexport type { MainActionButtonProps } from './MainActionButton.types';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../../src/components/MainActionButton/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,+BAA2B;AACtD,YAAY,EAAE,qBAAqB,EAAE,qCAAiC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../../src/components/MainActionButton/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,+BAA2B;AACtD,YAAY,EAAE,qBAAqB,EAAE,qCAAiC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../src/components/MainActionButton/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,+BAA2B","sourcesContent":["export { MainActionButton } from './MainActionButton';\nexport type { MainActionButtonProps } from './MainActionButton.types';\n"]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.TabEmptyState = void 0;
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const Box_1 = require("../Box/index.cjs");
|
|
9
|
+
const Button_1 = require("../Button/index.cjs");
|
|
10
|
+
const Text_1 = require("../Text/index.cjs");
|
|
11
|
+
const TabEmptyState = ({ icon, description, descriptionProps, actionButtonText, actionButtonProps, onAction, children, style, twClassName = '', ...props }) => (<Box_1.Box flexDirection={Box_1.BoxFlexDirection.Column} alignItems={Box_1.BoxAlignItems.Center} justifyContent={Box_1.BoxJustifyContent.Center} backgroundColor={Box_1.BoxBackgroundColor.BackgroundDefault} gap={3} twClassName={`max-w-64 ${twClassName}`} style={style} {...props}>
|
|
12
|
+
{icon}
|
|
13
|
+
{description && (<Text_1.Text variant={Text_1.TextVariant.BodyMd} color={Text_1.TextColor.TextAlternative} twClassName="text-center" {...descriptionProps}>
|
|
14
|
+
{description}
|
|
15
|
+
</Text_1.Text>)}
|
|
16
|
+
{actionButtonText && onAction && (<Button_1.Button variant={Button_1.ButtonVariant.Secondary} onPress={onAction} {...actionButtonProps}>
|
|
17
|
+
{actionButtonText}
|
|
18
|
+
</Button_1.Button>)}
|
|
19
|
+
{children}
|
|
20
|
+
</Box_1.Box>);
|
|
21
|
+
exports.TabEmptyState = TabEmptyState;
|
|
22
|
+
//# sourceMappingURL=TabEmptyState.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TabEmptyState.cjs","sourceRoot":"","sources":["../../../src/components/TabEmptyState/TabEmptyState.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,0CAMgB;AAChB,gDAAkD;AAClD,4CAAuD;AAIhD,MAAM,aAAa,GAAG,CAAC,EAC5B,IAAI,EACJ,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,WAAW,GAAG,EAAE,EAChB,GAAG,KAAK,EACW,EAAE,EAAE,CAAC,CACxB,CAAC,SAAG,CACF,aAAa,CAAC,CAAC,sBAAgB,CAAC,MAAM,CAAC,CACvC,UAAU,CAAC,CAAC,mBAAa,CAAC,MAAM,CAAC,CACjC,cAAc,CAAC,CAAC,uBAAiB,CAAC,MAAM,CAAC,CACzC,eAAe,CAAC,CAAC,wBAAkB,CAAC,iBAAiB,CAAC,CACtD,GAAG,CAAC,CAAC,CAAC,CAAC,CACP,WAAW,CAAC,CAAC,YAAY,WAAW,EAAE,CAAC,CACvC,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,IAAI,KAAK,CAAC,CAEV;IAAA,CAAC,IAAI,CACL;IAAA,CAAC,WAAW,IAAI,CACd,CAAC,WAAI,CACH,OAAO,CAAC,CAAC,kBAAW,CAAC,MAAM,CAAC,CAC5B,KAAK,CAAC,CAAC,gBAAS,CAAC,eAAe,CAAC,CACjC,WAAW,CAAC,aAAa,CACzB,IAAI,gBAAgB,CAAC,CAErB;QAAA,CAAC,WAAW,CACd;MAAA,EAAE,WAAI,CAAC,CACR,CACD;IAAA,CAAC,gBAAgB,IAAI,QAAQ,IAAI,CAC/B,CAAC,eAAM,CACL,OAAO,CAAC,CAAC,sBAAa,CAAC,SAAS,CAAC,CACjC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAClB,IAAI,iBAAiB,CAAC,CAEtB;QAAA,CAAC,gBAAgB,CACnB;MAAA,EAAE,eAAM,CAAC,CACV,CACD;IAAA,CAAC,QAAQ,CACX;EAAA,EAAE,SAAG,CAAC,CACP,CAAC;AA5CW,QAAA,aAAa,iBA4CxB","sourcesContent":["import React from 'react';\n\nimport {\n Box,\n BoxFlexDirection,\n BoxAlignItems,\n BoxJustifyContent,\n BoxBackgroundColor,\n} from '../Box';\nimport { Button, ButtonVariant } from '../Button';\nimport { Text, TextVariant, TextColor } from '../Text';\n\nimport type { TabEmptyStateProps } from './TabEmptyState.types';\n\nexport const TabEmptyState = ({\n icon,\n description,\n descriptionProps,\n actionButtonText,\n actionButtonProps,\n onAction,\n children,\n style,\n twClassName = '',\n ...props\n}: TabEmptyStateProps) => (\n <Box\n flexDirection={BoxFlexDirection.Column}\n alignItems={BoxAlignItems.Center}\n justifyContent={BoxJustifyContent.Center}\n backgroundColor={BoxBackgroundColor.BackgroundDefault}\n gap={3}\n twClassName={`max-w-64 ${twClassName}`}\n style={style}\n {...props}\n >\n {icon}\n {description && (\n <Text\n variant={TextVariant.BodyMd}\n color={TextColor.TextAlternative}\n twClassName=\"text-center\"\n {...descriptionProps}\n >\n {description}\n </Text>\n )}\n {actionButtonText && onAction && (\n <Button\n variant={ButtonVariant.Secondary}\n onPress={onAction}\n {...actionButtonProps}\n >\n {actionButtonText}\n </Button>\n )}\n {children}\n </Box>\n);\n"]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { TabEmptyStateProps } from "./TabEmptyState.types.cjs";
|
|
3
|
+
export declare const TabEmptyState: ({ icon, description, descriptionProps, actionButtonText, actionButtonProps, onAction, children, style, twClassName, ...props }: TabEmptyStateProps) => React.JSX.Element;
|
|
4
|
+
//# sourceMappingURL=TabEmptyState.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TabEmptyState.d.cts","sourceRoot":"","sources":["../../../src/components/TabEmptyState/TabEmptyState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc;AAY1B,OAAO,KAAK,EAAE,kBAAkB,EAAE,kCAA8B;AAEhE,eAAO,MAAM,aAAa,mIAWvB,kBAAkB,sBAiCpB,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { TabEmptyStateProps } from "./TabEmptyState.types.mjs";
|
|
3
|
+
export declare const TabEmptyState: ({ icon, description, descriptionProps, actionButtonText, actionButtonProps, onAction, children, style, twClassName, ...props }: TabEmptyStateProps) => React.JSX.Element;
|
|
4
|
+
//# sourceMappingURL=TabEmptyState.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TabEmptyState.d.mts","sourceRoot":"","sources":["../../../src/components/TabEmptyState/TabEmptyState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc;AAY1B,OAAO,KAAK,EAAE,kBAAkB,EAAE,kCAA8B;AAEhE,eAAO,MAAM,aAAa,mIAWvB,kBAAkB,sBAiCpB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
function $importDefault(module) {
|
|
2
|
+
if (module?.__esModule) {
|
|
3
|
+
return module.default;
|
|
4
|
+
}
|
|
5
|
+
return module;
|
|
6
|
+
}
|
|
7
|
+
import $React from "react";
|
|
8
|
+
const React = $importDefault($React);
|
|
9
|
+
import { Box, BoxFlexDirection, BoxAlignItems, BoxJustifyContent, BoxBackgroundColor } from "../Box/index.mjs";
|
|
10
|
+
import { Button, ButtonVariant } from "../Button/index.mjs";
|
|
11
|
+
import { Text, TextVariant, TextColor } from "../Text/index.mjs";
|
|
12
|
+
export const TabEmptyState = ({ icon, description, descriptionProps, actionButtonText, actionButtonProps, onAction, children, style, twClassName = '', ...props }) => (<Box flexDirection={BoxFlexDirection.Column} alignItems={BoxAlignItems.Center} justifyContent={BoxJustifyContent.Center} backgroundColor={BoxBackgroundColor.BackgroundDefault} gap={3} twClassName={`max-w-64 ${twClassName}`} style={style} {...props}>
|
|
13
|
+
{icon}
|
|
14
|
+
{description && (<Text variant={TextVariant.BodyMd} color={TextColor.TextAlternative} twClassName="text-center" {...descriptionProps}>
|
|
15
|
+
{description}
|
|
16
|
+
</Text>)}
|
|
17
|
+
{actionButtonText && onAction && (<Button variant={ButtonVariant.Secondary} onPress={onAction} {...actionButtonProps}>
|
|
18
|
+
{actionButtonText}
|
|
19
|
+
</Button>)}
|
|
20
|
+
{children}
|
|
21
|
+
</Box>);
|
|
22
|
+
//# sourceMappingURL=TabEmptyState.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TabEmptyState.mjs","sourceRoot":"","sources":["../../../src/components/TabEmptyState/TabEmptyState.tsx"],"names":[],"mappings":";;;;;;AAAA,OAAO,MAAK,cAAc;;AAE1B,OAAO,EACL,GAAG,EACH,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EACnB,yBAAe;AAChB,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,4BAAkB;AAClD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,0BAAgB;AAIvD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAC5B,IAAI,EACJ,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,WAAW,GAAG,EAAE,EAChB,GAAG,KAAK,EACW,EAAE,EAAE,CAAC,CACxB,CAAC,GAAG,CACF,aAAa,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CACvC,UAAU,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CACjC,cAAc,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CACzC,eAAe,CAAC,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CACtD,GAAG,CAAC,CAAC,CAAC,CAAC,CACP,WAAW,CAAC,CAAC,YAAY,WAAW,EAAE,CAAC,CACvC,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,IAAI,KAAK,CAAC,CAEV;IAAA,CAAC,IAAI,CACL;IAAA,CAAC,WAAW,IAAI,CACd,CAAC,IAAI,CACH,OAAO,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAC5B,KAAK,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CACjC,WAAW,CAAC,aAAa,CACzB,IAAI,gBAAgB,CAAC,CAErB;QAAA,CAAC,WAAW,CACd;MAAA,EAAE,IAAI,CAAC,CACR,CACD;IAAA,CAAC,gBAAgB,IAAI,QAAQ,IAAI,CAC/B,CAAC,MAAM,CACL,OAAO,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CACjC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAClB,IAAI,iBAAiB,CAAC,CAEtB;QAAA,CAAC,gBAAgB,CACnB;MAAA,EAAE,MAAM,CAAC,CACV,CACD;IAAA,CAAC,QAAQ,CACX;EAAA,EAAE,GAAG,CAAC,CACP,CAAC","sourcesContent":["import React from 'react';\n\nimport {\n Box,\n BoxFlexDirection,\n BoxAlignItems,\n BoxJustifyContent,\n BoxBackgroundColor,\n} from '../Box';\nimport { Button, ButtonVariant } from '../Button';\nimport { Text, TextVariant, TextColor } from '../Text';\n\nimport type { TabEmptyStateProps } from './TabEmptyState.types';\n\nexport const TabEmptyState = ({\n icon,\n description,\n descriptionProps,\n actionButtonText,\n actionButtonProps,\n onAction,\n children,\n style,\n twClassName = '',\n ...props\n}: TabEmptyStateProps) => (\n <Box\n flexDirection={BoxFlexDirection.Column}\n alignItems={BoxAlignItems.Center}\n justifyContent={BoxJustifyContent.Center}\n backgroundColor={BoxBackgroundColor.BackgroundDefault}\n gap={3}\n twClassName={`max-w-64 ${twClassName}`}\n style={style}\n {...props}\n >\n {icon}\n {description && (\n <Text\n variant={TextVariant.BodyMd}\n color={TextColor.TextAlternative}\n twClassName=\"text-center\"\n {...descriptionProps}\n >\n {description}\n </Text>\n )}\n {actionButtonText && onAction && (\n <Button\n variant={ButtonVariant.Secondary}\n onPress={onAction}\n {...actionButtonProps}\n >\n {actionButtonText}\n </Button>\n )}\n {children}\n </Box>\n);\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TabEmptyState.types.cjs","sourceRoot":"","sources":["../../../src/components/TabEmptyState/TabEmptyState.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ReactNode } from 'react';\nimport type { ViewProps } from 'react-native';\n\nimport type { ButtonProps } from '../Button/Button.types';\nimport type { TextProps } from '../Text/Text.types';\n\n/**\n * TabEmptyState component props.\n */\nexport type TabEmptyStateProps = {\n /**\n * Optional icon to display in the empty state.\n * If using a PNG/JPG image, use `useAssetFromTheme` to handle light/dark themes.\n */\n icon?: ReactNode;\n /**\n * Optional description text to display in the empty state.\n */\n description?: string;\n /**\n * Optional props to pass to the description Text component.\n */\n descriptionProps?: Partial<TextProps>;\n /**\n * Optional label for the action button.\n * The button is only rendered when both `actionButtonText` and `onAction` are provided.\n */\n actionButtonText?: string;\n /**\n * Optional props to pass to the action Button component.\n */\n actionButtonProps?: Partial<ButtonProps>;\n /**\n * Optional callback when the action button is pressed.\n * The button is only rendered when both `actionButtonText` and `onAction` are provided.\n */\n onAction?: () => void;\n /**\n * Optional additional content to display below the action button.\n */\n children?: ReactNode;\n /**\n * Optional prop to add twrnc overriding classNames.\n */\n twClassName?: string;\n} & ViewProps;\n"]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
import type { ViewProps } from "react-native/index.js";
|
|
3
|
+
import type { ButtonProps } from "../Button/Button.types.cjs";
|
|
4
|
+
import type { TextProps } from "../Text/Text.types.cjs";
|
|
5
|
+
/**
|
|
6
|
+
* TabEmptyState component props.
|
|
7
|
+
*/
|
|
8
|
+
export type TabEmptyStateProps = {
|
|
9
|
+
/**
|
|
10
|
+
* Optional icon to display in the empty state.
|
|
11
|
+
* If using a PNG/JPG image, use `useAssetFromTheme` to handle light/dark themes.
|
|
12
|
+
*/
|
|
13
|
+
icon?: ReactNode;
|
|
14
|
+
/**
|
|
15
|
+
* Optional description text to display in the empty state.
|
|
16
|
+
*/
|
|
17
|
+
description?: string;
|
|
18
|
+
/**
|
|
19
|
+
* Optional props to pass to the description Text component.
|
|
20
|
+
*/
|
|
21
|
+
descriptionProps?: Partial<TextProps>;
|
|
22
|
+
/**
|
|
23
|
+
* Optional label for the action button.
|
|
24
|
+
* The button is only rendered when both `actionButtonText` and `onAction` are provided.
|
|
25
|
+
*/
|
|
26
|
+
actionButtonText?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Optional props to pass to the action Button component.
|
|
29
|
+
*/
|
|
30
|
+
actionButtonProps?: Partial<ButtonProps>;
|
|
31
|
+
/**
|
|
32
|
+
* Optional callback when the action button is pressed.
|
|
33
|
+
* The button is only rendered when both `actionButtonText` and `onAction` are provided.
|
|
34
|
+
*/
|
|
35
|
+
onAction?: () => void;
|
|
36
|
+
/**
|
|
37
|
+
* Optional additional content to display below the action button.
|
|
38
|
+
*/
|
|
39
|
+
children?: ReactNode;
|
|
40
|
+
/**
|
|
41
|
+
* Optional prop to add twrnc overriding classNames.
|
|
42
|
+
*/
|
|
43
|
+
twClassName?: string;
|
|
44
|
+
} & ViewProps;
|
|
45
|
+
//# sourceMappingURL=TabEmptyState.types.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TabEmptyState.types.d.cts","sourceRoot":"","sources":["../../../src/components/TabEmptyState/TabEmptyState.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,8BAAqB;AAE9C,OAAO,KAAK,EAAE,WAAW,EAAE,mCAA+B;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,+BAA2B;AAEpD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACtC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACzC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,SAAS,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
import type { ViewProps } from "react-native/index.js";
|
|
3
|
+
import type { ButtonProps } from "../Button/Button.types.mjs";
|
|
4
|
+
import type { TextProps } from "../Text/Text.types.mjs";
|
|
5
|
+
/**
|
|
6
|
+
* TabEmptyState component props.
|
|
7
|
+
*/
|
|
8
|
+
export type TabEmptyStateProps = {
|
|
9
|
+
/**
|
|
10
|
+
* Optional icon to display in the empty state.
|
|
11
|
+
* If using a PNG/JPG image, use `useAssetFromTheme` to handle light/dark themes.
|
|
12
|
+
*/
|
|
13
|
+
icon?: ReactNode;
|
|
14
|
+
/**
|
|
15
|
+
* Optional description text to display in the empty state.
|
|
16
|
+
*/
|
|
17
|
+
description?: string;
|
|
18
|
+
/**
|
|
19
|
+
* Optional props to pass to the description Text component.
|
|
20
|
+
*/
|
|
21
|
+
descriptionProps?: Partial<TextProps>;
|
|
22
|
+
/**
|
|
23
|
+
* Optional label for the action button.
|
|
24
|
+
* The button is only rendered when both `actionButtonText` and `onAction` are provided.
|
|
25
|
+
*/
|
|
26
|
+
actionButtonText?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Optional props to pass to the action Button component.
|
|
29
|
+
*/
|
|
30
|
+
actionButtonProps?: Partial<ButtonProps>;
|
|
31
|
+
/**
|
|
32
|
+
* Optional callback when the action button is pressed.
|
|
33
|
+
* The button is only rendered when both `actionButtonText` and `onAction` are provided.
|
|
34
|
+
*/
|
|
35
|
+
onAction?: () => void;
|
|
36
|
+
/**
|
|
37
|
+
* Optional additional content to display below the action button.
|
|
38
|
+
*/
|
|
39
|
+
children?: ReactNode;
|
|
40
|
+
/**
|
|
41
|
+
* Optional prop to add twrnc overriding classNames.
|
|
42
|
+
*/
|
|
43
|
+
twClassName?: string;
|
|
44
|
+
} & ViewProps;
|
|
45
|
+
//# sourceMappingURL=TabEmptyState.types.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TabEmptyState.types.d.mts","sourceRoot":"","sources":["../../../src/components/TabEmptyState/TabEmptyState.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,8BAAqB;AAE9C,OAAO,KAAK,EAAE,WAAW,EAAE,mCAA+B;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,+BAA2B;AAEpD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACtC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACzC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TabEmptyState.types.mjs","sourceRoot":"","sources":["../../../src/components/TabEmptyState/TabEmptyState.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ReactNode } from 'react';\nimport type { ViewProps } from 'react-native';\n\nimport type { ButtonProps } from '../Button/Button.types';\nimport type { TextProps } from '../Text/Text.types';\n\n/**\n * TabEmptyState component props.\n */\nexport type TabEmptyStateProps = {\n /**\n * Optional icon to display in the empty state.\n * If using a PNG/JPG image, use `useAssetFromTheme` to handle light/dark themes.\n */\n icon?: ReactNode;\n /**\n * Optional description text to display in the empty state.\n */\n description?: string;\n /**\n * Optional props to pass to the description Text component.\n */\n descriptionProps?: Partial<TextProps>;\n /**\n * Optional label for the action button.\n * The button is only rendered when both `actionButtonText` and `onAction` are provided.\n */\n actionButtonText?: string;\n /**\n * Optional props to pass to the action Button component.\n */\n actionButtonProps?: Partial<ButtonProps>;\n /**\n * Optional callback when the action button is pressed.\n * The button is only rendered when both `actionButtonText` and `onAction` are provided.\n */\n onAction?: () => void;\n /**\n * Optional additional content to display below the action button.\n */\n children?: ReactNode;\n /**\n * Optional prop to add twrnc overriding classNames.\n */\n twClassName?: string;\n} & ViewProps;\n"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TabEmptyState = void 0;
|
|
4
|
+
var TabEmptyState_1 = require("./TabEmptyState.cjs");
|
|
5
|
+
Object.defineProperty(exports, "TabEmptyState", { enumerable: true, get: function () { return TabEmptyState_1.TabEmptyState; } });
|
|
6
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sourceRoot":"","sources":["../../../src/components/TabEmptyState/index.ts"],"names":[],"mappings":";;;AAAA,qDAAgD;AAAvC,8GAAA,aAAa,OAAA","sourcesContent":["export { TabEmptyState } from './TabEmptyState';\nexport type { TabEmptyStateProps } from './TabEmptyState.types';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../../src/components/TabEmptyState/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,4BAAwB;AAChD,YAAY,EAAE,kBAAkB,EAAE,kCAA8B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../../src/components/TabEmptyState/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,4BAAwB;AAChD,YAAY,EAAE,kBAAkB,EAAE,kCAA8B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../src/components/TabEmptyState/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,4BAAwB","sourcesContent":["export { TabEmptyState } from './TabEmptyState';\nexport type { TabEmptyStateProps } from './TabEmptyState.types';\n"]}
|
|
@@ -116,8 +116,9 @@ const Toast = (0, react_1.forwardRef)(({ twClassName, labelsContainerProps, ...p
|
|
|
116
116
|
{linkButtonOptions.label}
|
|
117
117
|
</Button_1.Button>);
|
|
118
118
|
const renderCloseButton = (closeButtonOptions) => {
|
|
119
|
-
if (closeButtonOptions
|
|
120
|
-
|
|
119
|
+
if (closeButtonOptions && 'iconName' in closeButtonOptions) {
|
|
120
|
+
const iconOptions = closeButtonOptions;
|
|
121
|
+
return (<ButtonIcon_1.ButtonIcon iconName={iconOptions.iconName} onPress={(e) => iconOptions.onPress?.(e)} size={iconOptions.size} isDisabled={iconOptions.isDisabled} twClassName={iconOptions.twClassName} style={iconOptions.style} iconProps={iconOptions.iconProps}/>);
|
|
121
122
|
}
|
|
122
123
|
return (<Button_1.Button variant={Button_1.ButtonVariant.Primary} onPress={(e) => closeButtonOptions?.onPress?.(e)} startIconName={closeButtonOptions?.startIconName} endIconName={closeButtonOptions?.endIconName} style={closeButtonOptions?.style}>
|
|
123
124
|
{closeButtonOptions?.children}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toast.cjs","sourceRoot":"","sources":["../../../src/components/Toast/Toast.tsx"],"names":[],"mappings":"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","sourcesContent":["// Third party dependencies.\nimport { useTailwind } from '@metamask/design-system-twrnc-preset';\nimport React, {\n forwardRef,\n isValidElement,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { Dimensions, View } from 'react-native';\nimport type { LayoutChangeEvent, StyleProp, ViewStyle } from 'react-native';\n// eslint-disable-next-line import-x/default\nimport Animated, {\n cancelAnimation,\n runOnJS,\n useAnimatedStyle,\n useSharedValue,\n withDelay,\n withTiming,\n} from 'react-native-reanimated';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\n\n// External dependencies.\nimport { AvatarAccount, AvatarAccountSize } from '../AvatarAccount';\nimport { AvatarFavicon, AvatarFaviconSize } from '../AvatarFavicon';\nimport { AvatarIcon, AvatarIconSize } from '../AvatarIcon';\nimport { AvatarNetwork, AvatarNetworkSize } from '../AvatarNetwork';\nimport { Button, ButtonVariant } from '../Button';\nimport { ButtonIcon } from '../ButtonIcon';\nimport { Text, TextVariant, TextColor, FontWeight } from '../Text';\n\n// Internal dependencies.\nimport {\n TOAST_VISIBILITY_DURATION,\n TOAST_ANIMATION_DURATION,\n TOAST_BOTTOM_PADDING,\n} from './Toast.constants';\nimport type {\n ToastCloseButtonOptions,\n ToastDescriptionOptions,\n ToastLabelOptions,\n ToastLinkButtonOptions,\n ToastOptions,\n ToastProps,\n ToastRef,\n} from './Toast.types';\nimport { ButtonIconVariant, ToastVariant } from './Toast.types';\n\nconst screenHeight = Dimensions.get('window').height;\n\nconst Toast = forwardRef<ToastRef, ToastProps>(\n ({ twClassName, labelsContainerProps, ...props }, ref) => {\n const tw = useTailwind();\n const [toastOptions, setToastOptions] = useState<ToastOptions | undefined>(\n undefined,\n );\n const replacementTimerRef = useRef<ReturnType<typeof setTimeout> | null>(\n null,\n );\n const { bottom: bottomNotchSpacing } = useSafeAreaInsets();\n const translateYProgress = useSharedValue(screenHeight);\n const bottomOffset = toastOptions?.bottomOffset ?? 0;\n const animatedStyle = useAnimatedStyle(() => ({\n transform: [{ translateY: translateYProgress.value - bottomOffset }],\n }));\n const baseStyle: StyleProp<ViewStyle> = useMemo(\n () => [\n tw.style(\n 'absolute left-4 right-4 bottom-0 bg-background-section border border-border-muted rounded-xl p-3 flex-row items-center',\n twClassName,\n ),\n animatedStyle,\n ],\n [tw, animatedStyle, twClassName],\n );\n\n const resetState = () => setToastOptions(undefined);\n\n const showToast = (options: ToastOptions) => {\n let timeoutDuration = 0;\n if (toastOptions) {\n cancelAnimation(translateYProgress);\n timeoutDuration = 100;\n // Clear existing toast state to prevent animation conflicts when showing rapid successive toasts\n setToastOptions(undefined);\n }\n if (replacementTimerRef.current !== null) {\n clearTimeout(replacementTimerRef.current);\n }\n replacementTimerRef.current = setTimeout(() => {\n replacementTimerRef.current = null;\n setToastOptions(options);\n }, timeoutDuration);\n };\n\n const closeToast = () => {\n if (replacementTimerRef.current !== null) {\n clearTimeout(replacementTimerRef.current);\n replacementTimerRef.current = null;\n }\n translateYProgress.value = withTiming(\n screenHeight,\n { duration: TOAST_ANIMATION_DURATION },\n () => {\n runOnJS(resetState)();\n },\n );\n };\n\n useImperativeHandle(ref, () => ({\n showToast,\n closeToast,\n }));\n\n const onAnimatedViewLayout = (e: LayoutChangeEvent) => {\n /* istanbul ignore next - guard only; layout fires when toastOptions is set */\n if (toastOptions) {\n const { height } = e.nativeEvent.layout;\n const translateYToValue = -(TOAST_BOTTOM_PADDING + bottomNotchSpacing);\n\n translateYProgress.value = height;\n\n if (toastOptions.hasNoTimeout) {\n translateYProgress.value = withTiming(translateYToValue, {\n duration: TOAST_ANIMATION_DURATION,\n });\n } else {\n translateYProgress.value = withTiming(\n translateYToValue,\n { duration: TOAST_ANIMATION_DURATION },\n () => {\n translateYProgress.value = withDelay(\n TOAST_VISIBILITY_DURATION,\n withTiming(\n height,\n { duration: TOAST_ANIMATION_DURATION },\n runOnJS(resetState),\n ),\n );\n },\n );\n }\n }\n };\n\n const renderLabel = (labelOptions: ToastLabelOptions) => (\n <Text variant={TextVariant.BodyMd}>\n {labelOptions.map(({ label, isBold }, index) => (\n <Text\n key={`toast-label-${index}`}\n variant={TextVariant.BodyMd}\n fontWeight={isBold ? FontWeight.Bold : undefined}\n color={TextColor.TextDefault}\n >\n {label}\n </Text>\n ))}\n </Text>\n );\n\n const renderDescription = (descriptionOptions?: ToastDescriptionOptions) =>\n descriptionOptions && (\n <Text\n variant={TextVariant.BodySm}\n color={TextColor.TextAlternative}\n style={tw.style('mt-1')}\n >\n {descriptionOptions.description}\n </Text>\n );\n\n const renderActionButton = (linkButtonOptions?: ToastLinkButtonOptions) =>\n linkButtonOptions && (\n <Button\n variant={ButtonVariant.Secondary}\n onPress={linkButtonOptions.onPress}\n style={tw.style('mt-2')}\n >\n {linkButtonOptions.label}\n </Button>\n );\n\n const renderCloseButton = (\n closeButtonOptions?: ToastCloseButtonOptions,\n ) => {\n if (closeButtonOptions?.variant === ButtonIconVariant.Icon) {\n return (\n <ButtonIcon\n onPress={(e) => closeButtonOptions?.onPress?.(e)}\n iconName={closeButtonOptions?.iconName}\n />\n );\n }\n return (\n <Button\n variant={ButtonVariant.Primary}\n onPress={(e) => closeButtonOptions?.onPress?.(e)}\n startIconName={closeButtonOptions?.startIconName}\n endIconName={closeButtonOptions?.endIconName}\n style={closeButtonOptions?.style}\n >\n {closeButtonOptions?.children}\n </Button>\n );\n };\n\n const renderAvatar = () => {\n switch (toastOptions?.variant) {\n case ToastVariant.Plain:\n return null;\n case ToastVariant.Account: {\n const { accountAddress, accountAvatarType } = toastOptions;\n return (\n <AvatarAccount\n address={accountAddress}\n variant={accountAvatarType}\n size={AvatarAccountSize.Md}\n style={tw.style('mr-4')}\n />\n );\n }\n case ToastVariant.Network: {\n const { networkImageSource, networkName } = toastOptions;\n return (\n <AvatarNetwork\n name={networkName}\n src={networkImageSource}\n size={AvatarNetworkSize.Md}\n style={tw.style('mr-4')}\n />\n );\n }\n case ToastVariant.App: {\n const { appIconSource } = toastOptions;\n return (\n <AvatarFavicon\n src={appIconSource}\n size={AvatarFaviconSize.Md}\n style={tw.style('mr-4')}\n />\n );\n }\n case ToastVariant.Icon: {\n const { iconName, severity } = toastOptions;\n return (\n <AvatarIcon\n iconName={iconName}\n severity={severity}\n size={AvatarIconSize.Md}\n style={tw.style('mr-4')}\n />\n );\n }\n /* istanbul ignore next - all variants handled above */\n default:\n return null;\n }\n };\n\n const renderToastContent = (options: ToastOptions) => {\n const {\n labelOptions,\n descriptionOptions,\n linkButtonOptions,\n closeButtonOptions,\n startAccessory,\n } = options;\n\n const isStartAccessoryValid =\n startAccessory !== null &&\n startAccessory !== undefined &&\n isValidElement(startAccessory);\n\n return (\n <>\n {isStartAccessoryValid ? startAccessory : renderAvatar()}\n <View\n style={tw.style('flex-1 justify-center')}\n {...labelsContainerProps}\n >\n {renderLabel(labelOptions)}\n {renderDescription(descriptionOptions)}\n {renderActionButton(linkButtonOptions)}\n </View>\n {closeButtonOptions ? renderCloseButton(closeButtonOptions) : null}\n </>\n );\n };\n\n if (!toastOptions) {\n return null;\n }\n\n return (\n <Animated.View\n onLayout={onAnimatedViewLayout}\n style={baseStyle}\n {...props}\n >\n {renderToastContent(toastOptions)}\n </Animated.View>\n );\n },\n);\n\nexport default Toast;\n"]}
|
|
1
|
+
{"version":3,"file":"Toast.cjs","sourceRoot":"","sources":["../../../src/components/Toast/Toast.tsx"],"names":[],"mappings":"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","sourcesContent":["// Third party dependencies.\nimport { useTailwind } from '@metamask/design-system-twrnc-preset';\nimport React, {\n forwardRef,\n isValidElement,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { Dimensions, View } from 'react-native';\nimport type { LayoutChangeEvent, StyleProp, ViewStyle } from 'react-native';\n// eslint-disable-next-line import-x/default\nimport Animated, {\n cancelAnimation,\n runOnJS,\n useAnimatedStyle,\n useSharedValue,\n withDelay,\n withTiming,\n} from 'react-native-reanimated';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\n\n// External dependencies.\nimport { AvatarAccount, AvatarAccountSize } from '../AvatarAccount';\nimport { AvatarFavicon, AvatarFaviconSize } from '../AvatarFavicon';\nimport { AvatarIcon, AvatarIconSize } from '../AvatarIcon';\nimport { AvatarNetwork, AvatarNetworkSize } from '../AvatarNetwork';\nimport { Button, ButtonVariant } from '../Button';\nimport { ButtonIcon } from '../ButtonIcon';\nimport { Text, TextVariant, TextColor, FontWeight } from '../Text';\n\n// Internal dependencies.\nimport {\n TOAST_VISIBILITY_DURATION,\n TOAST_ANIMATION_DURATION,\n TOAST_BOTTOM_PADDING,\n} from './Toast.constants';\nimport type {\n ToastCloseButtonIconOptions,\n ToastCloseButtonOptions,\n ToastDescriptionOptions,\n ToastLabelOptions,\n ToastLinkButtonOptions,\n ToastOptions,\n ToastProps,\n ToastRef,\n} from './Toast.types';\nimport { ToastVariant } from './Toast.types';\n\nconst screenHeight = Dimensions.get('window').height;\n\nconst Toast = forwardRef<ToastRef, ToastProps>(\n ({ twClassName, labelsContainerProps, ...props }, ref) => {\n const tw = useTailwind();\n const [toastOptions, setToastOptions] = useState<ToastOptions | undefined>(\n undefined,\n );\n const replacementTimerRef = useRef<ReturnType<typeof setTimeout> | null>(\n null,\n );\n const { bottom: bottomNotchSpacing } = useSafeAreaInsets();\n const translateYProgress = useSharedValue(screenHeight);\n const bottomOffset = toastOptions?.bottomOffset ?? 0;\n const animatedStyle = useAnimatedStyle(() => ({\n transform: [{ translateY: translateYProgress.value - bottomOffset }],\n }));\n const baseStyle: StyleProp<ViewStyle> = useMemo(\n () => [\n tw.style(\n 'absolute left-4 right-4 bottom-0 bg-background-section border border-border-muted rounded-xl p-3 flex-row items-center',\n twClassName,\n ),\n animatedStyle,\n ],\n [tw, animatedStyle, twClassName],\n );\n\n const resetState = () => setToastOptions(undefined);\n\n const showToast = (options: ToastOptions) => {\n let timeoutDuration = 0;\n if (toastOptions) {\n cancelAnimation(translateYProgress);\n timeoutDuration = 100;\n // Clear existing toast state to prevent animation conflicts when showing rapid successive toasts\n setToastOptions(undefined);\n }\n if (replacementTimerRef.current !== null) {\n clearTimeout(replacementTimerRef.current);\n }\n replacementTimerRef.current = setTimeout(() => {\n replacementTimerRef.current = null;\n setToastOptions(options);\n }, timeoutDuration);\n };\n\n const closeToast = () => {\n if (replacementTimerRef.current !== null) {\n clearTimeout(replacementTimerRef.current);\n replacementTimerRef.current = null;\n }\n translateYProgress.value = withTiming(\n screenHeight,\n { duration: TOAST_ANIMATION_DURATION },\n () => {\n runOnJS(resetState)();\n },\n );\n };\n\n useImperativeHandle(ref, () => ({\n showToast,\n closeToast,\n }));\n\n const onAnimatedViewLayout = (e: LayoutChangeEvent) => {\n /* istanbul ignore next - guard only; layout fires when toastOptions is set */\n if (toastOptions) {\n const { height } = e.nativeEvent.layout;\n const translateYToValue = -(TOAST_BOTTOM_PADDING + bottomNotchSpacing);\n\n translateYProgress.value = height;\n\n if (toastOptions.hasNoTimeout) {\n translateYProgress.value = withTiming(translateYToValue, {\n duration: TOAST_ANIMATION_DURATION,\n });\n } else {\n translateYProgress.value = withTiming(\n translateYToValue,\n { duration: TOAST_ANIMATION_DURATION },\n () => {\n translateYProgress.value = withDelay(\n TOAST_VISIBILITY_DURATION,\n withTiming(\n height,\n { duration: TOAST_ANIMATION_DURATION },\n runOnJS(resetState),\n ),\n );\n },\n );\n }\n }\n };\n\n const renderLabel = (labelOptions: ToastLabelOptions) => (\n <Text variant={TextVariant.BodyMd}>\n {labelOptions.map(({ label, isBold }, index) => (\n <Text\n key={`toast-label-${index}`}\n variant={TextVariant.BodyMd}\n fontWeight={isBold ? FontWeight.Bold : undefined}\n color={TextColor.TextDefault}\n >\n {label}\n </Text>\n ))}\n </Text>\n );\n\n const renderDescription = (descriptionOptions?: ToastDescriptionOptions) =>\n descriptionOptions && (\n <Text\n variant={TextVariant.BodySm}\n color={TextColor.TextAlternative}\n style={tw.style('mt-1')}\n >\n {descriptionOptions.description}\n </Text>\n );\n\n const renderActionButton = (linkButtonOptions?: ToastLinkButtonOptions) =>\n linkButtonOptions && (\n <Button\n variant={ButtonVariant.Secondary}\n onPress={linkButtonOptions.onPress}\n style={tw.style('mt-2')}\n >\n {linkButtonOptions.label}\n </Button>\n );\n\n const renderCloseButton = (\n closeButtonOptions?: ToastCloseButtonOptions,\n ) => {\n if (closeButtonOptions && 'iconName' in closeButtonOptions) {\n const iconOptions = closeButtonOptions as ToastCloseButtonIconOptions;\n return (\n <ButtonIcon\n iconName={iconOptions.iconName}\n onPress={(e) => iconOptions.onPress?.(e)}\n size={iconOptions.size}\n isDisabled={iconOptions.isDisabled}\n twClassName={iconOptions.twClassName}\n style={iconOptions.style}\n iconProps={iconOptions.iconProps}\n />\n );\n }\n return (\n <Button\n variant={ButtonVariant.Primary}\n onPress={(e) => closeButtonOptions?.onPress?.(e)}\n startIconName={closeButtonOptions?.startIconName}\n endIconName={closeButtonOptions?.endIconName}\n style={closeButtonOptions?.style}\n >\n {closeButtonOptions?.children}\n </Button>\n );\n };\n\n const renderAvatar = () => {\n switch (toastOptions?.variant) {\n case ToastVariant.Plain:\n return null;\n case ToastVariant.Account: {\n const { accountAddress, accountAvatarType } = toastOptions;\n return (\n <AvatarAccount\n address={accountAddress}\n variant={accountAvatarType}\n size={AvatarAccountSize.Md}\n style={tw.style('mr-4')}\n />\n );\n }\n case ToastVariant.Network: {\n const { networkImageSource, networkName } = toastOptions;\n return (\n <AvatarNetwork\n name={networkName}\n src={networkImageSource}\n size={AvatarNetworkSize.Md}\n style={tw.style('mr-4')}\n />\n );\n }\n case ToastVariant.App: {\n const { appIconSource } = toastOptions;\n return (\n <AvatarFavicon\n src={appIconSource}\n size={AvatarFaviconSize.Md}\n style={tw.style('mr-4')}\n />\n );\n }\n case ToastVariant.Icon: {\n const { iconName, severity } = toastOptions;\n return (\n <AvatarIcon\n iconName={iconName}\n severity={severity}\n size={AvatarIconSize.Md}\n style={tw.style('mr-4')}\n />\n );\n }\n /* istanbul ignore next - all variants handled above */\n default:\n return null;\n }\n };\n\n const renderToastContent = (options: ToastOptions) => {\n const {\n labelOptions,\n descriptionOptions,\n linkButtonOptions,\n closeButtonOptions,\n startAccessory,\n } = options;\n\n const isStartAccessoryValid =\n startAccessory !== null &&\n startAccessory !== undefined &&\n isValidElement(startAccessory);\n\n return (\n <>\n {isStartAccessoryValid ? startAccessory : renderAvatar()}\n <View\n style={tw.style('flex-1 justify-center')}\n {...labelsContainerProps}\n >\n {renderLabel(labelOptions)}\n {renderDescription(descriptionOptions)}\n {renderActionButton(linkButtonOptions)}\n </View>\n {closeButtonOptions ? renderCloseButton(closeButtonOptions) : null}\n </>\n );\n };\n\n if (!toastOptions) {\n return null;\n }\n\n return (\n <Animated.View\n onLayout={onAnimatedViewLayout}\n style={baseStyle}\n {...props}\n >\n {renderToastContent(toastOptions)}\n </Animated.View>\n );\n },\n);\n\nexport default Toast;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toast.d.cts","sourceRoot":"","sources":["../../../src/components/Toast/Toast.tsx"],"names":[],"mappings":"AAEA,OAAO,KAON,cAAc;AA6Bf,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"Toast.d.cts","sourceRoot":"","sources":["../../../src/components/Toast/Toast.tsx"],"names":[],"mappings":"AAEA,OAAO,KAON,cAAc;AA6Bf,OAAO,KAAK,EAQV,QAAQ,EACT,0BAAsB;AAKvB,QAAA,MAAM,KAAK;;;oFAmQV,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toast.d.mts","sourceRoot":"","sources":["../../../src/components/Toast/Toast.tsx"],"names":[],"mappings":"AAEA,OAAO,KAON,cAAc;AA6Bf,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"Toast.d.mts","sourceRoot":"","sources":["../../../src/components/Toast/Toast.tsx"],"names":[],"mappings":"AAEA,OAAO,KAON,cAAc;AA6Bf,OAAO,KAAK,EAQV,QAAQ,EACT,0BAAsB;AAKvB,QAAA,MAAM,KAAK;;;oFAmQV,CAAC;AAEF,eAAe,KAAK,CAAC"}
|