jfs-components 0.1.12 → 0.1.18
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 +24 -0
- package/lib/commonjs/components/ActionFooter/ActionFooter.js +7 -24
- package/lib/commonjs/components/ActionTile/ActionTile.js +10 -10
- package/lib/commonjs/components/AmountInput/AmountInput.js +3 -3
- package/lib/commonjs/components/AreaLineChart/AreaLineChart.js +2 -2
- package/lib/commonjs/components/Attached/Attached.js +1 -1
- package/lib/commonjs/components/Avatar/Avatar.js +10 -10
- package/lib/commonjs/components/AvatarGroup/AvatarGroup.js +50 -29
- package/lib/commonjs/components/Badge/Badge.js +12 -12
- package/lib/commonjs/components/BenefitCard/BenefitCard.js +95 -21
- package/lib/commonjs/components/BottomNav/BottomNav.js +2 -2
- package/lib/commonjs/components/BottomNavItem/BottomNavItem.js +3 -3
- package/lib/commonjs/components/Button/Button.js +31 -19
- package/lib/commonjs/components/Card/Card.js +20 -20
- package/lib/commonjs/components/CardAdvisory/CardAdvisory.js +6 -6
- package/lib/commonjs/components/CardCTA/CardCTA.js +21 -21
- package/lib/commonjs/components/CardFeedback/CardFeedback.js +18 -18
- package/lib/commonjs/components/CardFinancialCondition/CardFinancialCondition.js +7 -7
- package/lib/commonjs/components/CardInsight/CardInsight.js +1 -2
- package/lib/commonjs/components/Carousel/Carousel.js +18 -12
- package/lib/commonjs/components/CarouselCardAccounts/CarouselCardAccounts.js +75 -0
- package/lib/commonjs/components/Checkbox/Checkbox.js +6 -13
- package/lib/commonjs/components/ChipGroup/ChipGroup.js +1 -1
- package/lib/commonjs/components/ChipSelect/ChipSelect.js +11 -11
- package/lib/commonjs/components/CircularProgressBar/CircularProgressBar.js +5 -5
- package/lib/commonjs/components/CircularProgressBarDoted/CircularProgressBarDoted.js +8 -8
- package/lib/commonjs/components/CircularRating/CircularRating.js +3 -3
- package/lib/commonjs/components/CompareTable/CompareTable.js +16 -16
- package/lib/commonjs/components/DebitCard/DebitCard.js +18 -18
- package/lib/commonjs/components/Disclaimer/Disclaimer.js +5 -5
- package/lib/commonjs/components/DonutChart/DonutChart.js +11 -11
- package/lib/commonjs/components/Drawer/Drawer.js +60 -60
- package/lib/commonjs/components/Dropdown/Dropdown.js +22 -23
- package/lib/commonjs/components/DropdownInput/DropdownInput.js +10 -10
- package/lib/commonjs/components/EmptyState/EmptyState.js +14 -14
- package/lib/commonjs/components/FilterBar/FilterBar.js +2 -2
- package/lib/commonjs/components/Form/Form.js +3 -3
- package/lib/commonjs/components/FormField/FormField.js +6 -6
- package/lib/commonjs/components/FullscreenModal/FullscreenModal.js +24 -24
- package/lib/commonjs/components/Gauge/Gauge.js +8 -8
- package/lib/commonjs/components/HoldingsCard/HoldingsCard.js +10 -10
- package/lib/commonjs/components/Icon/Icon.js +6 -6
- package/lib/commonjs/components/IconCapsule/IconCapsule.js +7 -7
- package/lib/commonjs/components/InputSearch/InputSearch.js +9 -9
- package/lib/commonjs/components/InstitutionBadge/InstitutionBadge.js +3 -3
- package/lib/commonjs/components/ListGroup/ListGroup.js +8 -8
- package/lib/commonjs/components/ListItem/ListItem.js +10 -10
- package/lib/commonjs/components/LottieIntroBlock/LottieIntroBlock.js +13 -13
- package/lib/commonjs/components/LottiePlayer/LottiePlayer.js +2 -2
- package/lib/commonjs/components/LottiePlayer/LottiePlayer.web.js +2 -2
- package/lib/commonjs/components/MediaCard/MediaCard.js +21 -21
- package/lib/commonjs/components/MessageField/MessageField.js +8 -8
- package/lib/commonjs/components/MoneyValue/MoneyValue.js +7 -7
- package/lib/commonjs/components/NavArrow/NavArrow.js +8 -8
- package/lib/commonjs/components/NoteInput/NoteInput.js +12 -12
- package/lib/commonjs/components/Nudge/Nudge.js +20 -20
- package/lib/commonjs/components/OTP/OTP.js +15 -15
- package/lib/commonjs/components/PageHero/PageHero.js +16 -16
- package/lib/commonjs/components/PaymentFeedback/PaymentFeedback.js +23 -23
- package/lib/commonjs/components/Popup/Popup.js +1 -1
- package/lib/commonjs/components/ProductMerchandisingCard/ProductMerchandisingCard.js +64 -60
- package/lib/commonjs/components/ProgressBadge/ProgressBadge.js +5 -5
- package/lib/commonjs/components/Radio/Radio.js +8 -8
- package/lib/commonjs/components/RechargeCard/RechargeCard.js +31 -31
- package/lib/commonjs/components/SavingsGoalSummary/SavingsGoalSummary.js +59 -12
- package/lib/commonjs/components/ScrollArea/ScrollArea.js +126 -0
- package/lib/commonjs/components/Section/Section.js +24 -24
- package/lib/commonjs/components/StatusHero/StatusHero.js +14 -14
- package/lib/commonjs/components/Stepper/Step.js +16 -16
- package/lib/commonjs/components/Stepper/StepLabel.js +16 -16
- package/lib/commonjs/components/Stepper/Stepper.js +3 -3
- package/lib/commonjs/components/SuggestiveSearch/SuggestiveSearch.js +10 -10
- package/lib/commonjs/components/SupportText/SupportText.js +6 -6
- package/lib/commonjs/components/SupportText/SupportTextIcon.js +2 -2
- package/lib/commonjs/components/Text/Text.js +14 -2
- package/lib/commonjs/components/TextInput/TextInput.js +14 -14
- package/lib/commonjs/components/TextSegment/TextSegment.js +14 -2
- package/lib/commonjs/components/ThreadHero/ThreadHero.js +17 -17
- package/lib/commonjs/components/Title/Title.js +38 -16
- package/lib/commonjs/components/Toast/Toast.js +15 -15
- package/lib/commonjs/components/Toggle/Toggle.js +3 -11
- package/lib/commonjs/components/Tooltip/Tooltip.js +12 -12
- package/lib/commonjs/components/TransactionBubble/TransactionBubble.js +13 -13
- package/lib/commonjs/components/TransactionDetails/TransactionDetails.js +10 -10
- package/lib/commonjs/components/TransactionStatus/TransactionStatus.js +9 -9
- package/lib/commonjs/components/UpiHandle/UpiHandle.js +15 -15
- package/lib/commonjs/components/index.js +14 -0
- package/lib/commonjs/design-tokens/Coin Variables-variables-full.json +1 -1
- package/lib/commonjs/design-tokens/figma-modes.generated.js +50 -42
- package/lib/commonjs/icons/components/Icon4g.js +19 -0
- package/lib/commonjs/icons/components/Icon4gltedata.js +19 -0
- package/lib/commonjs/icons/components/Icon5g.js +19 -0
- package/lib/commonjs/icons/components/Icon5gdoubleplus.js +19 -0
- package/lib/commonjs/icons/components/Icon5gplus.js +19 -0
- package/lib/commonjs/icons/components/IconAdblocker.js +19 -0
- package/lib/commonjs/icons/components/IconAdblockplus.js +19 -0
- package/lib/commonjs/icons/components/IconAnalytics.js +19 -0
- package/lib/commonjs/icons/components/IconAnalyticsdata.js +19 -0
- package/lib/commonjs/icons/components/IconAnalyticspiechart.js +19 -0
- package/lib/commonjs/icons/components/IconAnalyticspiecharttree.js +19 -0
- package/lib/commonjs/icons/components/IconAnalyticspiecharttwo.js +19 -0
- package/lib/commonjs/icons/components/IconCompoundinterest.js +19 -0
- package/lib/commonjs/icons/components/IconConsumptionaccounted.js +19 -0
- package/lib/commonjs/icons/components/IconConsumptionaverage.js +19 -0
- package/lib/commonjs/icons/components/IconConsumptionhigh.js +19 -0
- package/lib/commonjs/icons/components/IconConsumptionlow.js +19 -0
- package/lib/commonjs/icons/components/IconConsumptionunaccounted.js +19 -0
- package/lib/commonjs/icons/components/IconCsvdoc.js +19 -0
- package/lib/commonjs/icons/components/IconDatabase.js +19 -0
- package/lib/commonjs/icons/components/IconDigitalecosystem.js +19 -0
- package/lib/commonjs/icons/components/IconDigitalselfservice.js +19 -0
- package/lib/commonjs/icons/components/IconDistribution.js +19 -0
- package/lib/commonjs/icons/components/IconDocument.js +19 -0
- package/lib/commonjs/icons/components/IconDocumentdoc.js +19 -0
- package/lib/commonjs/icons/components/IconDocumentjpg.js +19 -0
- package/lib/commonjs/icons/components/IconDocumentodt.js +19 -0
- package/lib/commonjs/icons/components/IconDocumentpdf.js +19 -0
- package/lib/commonjs/icons/components/IconDocumentpng.js +19 -0
- package/lib/commonjs/icons/components/IconDocumentraw.js +19 -0
- package/lib/commonjs/icons/components/IconDocumentrtf.js +19 -0
- package/lib/commonjs/icons/components/IconDocumentsettings.js +19 -0
- package/lib/commonjs/icons/components/IconDocumenttif.js +19 -0
- package/lib/commonjs/icons/components/IconDocumenttxt.js +19 -0
- package/lib/commonjs/icons/components/IconDocumentunknown.js +19 -0
- package/lib/commonjs/icons/components/IconDocumentxls.js +19 -0
- package/lib/commonjs/icons/components/IconDocumentxlsx.js +19 -0
- package/lib/commonjs/icons/components/IconFilerequest.js +19 -0
- package/lib/commonjs/icons/components/IconFilesend.js +19 -0
- package/lib/commonjs/icons/components/IconFileshare.js +19 -0
- package/lib/commonjs/icons/components/IconFindinpage.js +19 -0
- package/lib/commonjs/icons/components/IconFolder.js +19 -0
- package/lib/commonjs/icons/components/IconFolderbookmarks.js +19 -0
- package/lib/commonjs/icons/components/IconFolderfavorites.js +19 -0
- package/lib/commonjs/icons/components/IconFolderlocked.js +19 -0
- package/lib/commonjs/icons/components/IconFoldermovefiles.js +19 -0
- package/lib/commonjs/icons/components/IconFolderpublic.js +19 -0
- package/lib/commonjs/icons/components/IconFolderrated.js +19 -0
- package/lib/commonjs/icons/components/IconFolderrequest.js +19 -0
- package/lib/commonjs/icons/components/IconForm.js +19 -0
- package/lib/commonjs/icons/components/IconFormadd.js +19 -0
- package/lib/commonjs/icons/components/IconForms.js +19 -0
- package/lib/commonjs/icons/components/IconGraphincreasing.js +19 -0
- package/lib/commonjs/icons/components/IconGraphlow.js +19 -0
- package/lib/commonjs/icons/components/IconGraphtable.js +19 -0
- package/lib/commonjs/icons/components/IconHealthreport.js +19 -0
- package/lib/commonjs/icons/components/IconHubmode.js +19 -0
- package/lib/commonjs/icons/components/IconInfrastructure.js +19 -0
- package/lib/commonjs/icons/components/IconInterestlow.js +19 -0
- package/lib/commonjs/icons/components/IconLte.js +19 -0
- package/lib/commonjs/icons/components/IconNetworkfuture.js +19 -0
- package/lib/commonjs/icons/components/IconPagesettings.js +19 -0
- package/lib/commonjs/icons/components/IconPptxdoc.js +19 -0
- package/lib/commonjs/icons/components/IconPreferrednumber.js +19 -0
- package/lib/commonjs/icons/components/IconPremiumnumber.js +19 -0
- package/lib/commonjs/icons/components/IconProjection.js +19 -0
- package/lib/commonjs/icons/components/IconRequest.js +19 -0
- package/lib/commonjs/icons/components/IconRoutestraffic.js +19 -0
- package/lib/commonjs/icons/components/IconTechnology.js +19 -0
- package/lib/commonjs/icons/components/IconVolte.js +19 -0
- package/lib/commonjs/icons/components/IconVonr.js +19 -0
- package/lib/commonjs/icons/components/IconVowifi.js +19 -0
- package/lib/commonjs/icons/components/IconVpndata.js +19 -0
- package/lib/commonjs/icons/components/index.js +803 -0
- package/lib/commonjs/icons/registry.js +2 -2
- package/lib/commonjs/utils/GlassFill/GlassFill.js +69 -73
- package/lib/commonjs/utils/index.js +25 -0
- package/lib/commonjs/utils/react-utils.js +62 -0
- package/lib/commonjs/utils/shadow.js +200 -0
- package/lib/module/components/ActionFooter/ActionFooter.js +7 -24
- package/lib/module/components/ActionTile/ActionTile.js +10 -10
- package/lib/module/components/AmountInput/AmountInput.js +3 -3
- package/lib/module/components/AreaLineChart/AreaLineChart.js +2 -2
- package/lib/module/components/Attached/Attached.js +1 -1
- package/lib/module/components/Avatar/Avatar.js +10 -10
- package/lib/module/components/AvatarGroup/AvatarGroup.js +52 -30
- package/lib/module/components/Badge/Badge.js +12 -12
- package/lib/module/components/BenefitCard/BenefitCard.js +95 -21
- package/lib/module/components/BottomNav/BottomNav.js +2 -2
- package/lib/module/components/BottomNavItem/BottomNavItem.js +3 -3
- package/lib/module/components/Button/Button.js +32 -20
- package/lib/module/components/Card/Card.js +20 -20
- package/lib/module/components/CardAdvisory/CardAdvisory.js +6 -6
- package/lib/module/components/CardCTA/CardCTA.js +21 -21
- package/lib/module/components/CardFeedback/CardFeedback.js +18 -18
- package/lib/module/components/CardFinancialCondition/CardFinancialCondition.js +7 -7
- package/lib/module/components/CardInsight/CardInsight.js +1 -2
- package/lib/module/components/Carousel/Carousel.js +18 -12
- package/lib/module/components/CarouselCardAccounts/CarouselCardAccounts.js +71 -0
- package/lib/module/components/Checkbox/Checkbox.js +2 -9
- package/lib/module/components/ChipGroup/ChipGroup.js +1 -1
- package/lib/module/components/ChipSelect/ChipSelect.js +11 -11
- package/lib/module/components/CircularProgressBar/CircularProgressBar.js +5 -5
- package/lib/module/components/CircularProgressBarDoted/CircularProgressBarDoted.js +8 -8
- package/lib/module/components/CircularRating/CircularRating.js +3 -3
- package/lib/module/components/CompareTable/CompareTable.js +16 -16
- package/lib/module/components/DebitCard/DebitCard.js +18 -18
- package/lib/module/components/Disclaimer/Disclaimer.js +5 -5
- package/lib/module/components/DonutChart/DonutChart.js +11 -11
- package/lib/module/components/Drawer/Drawer.js +60 -60
- package/lib/module/components/Dropdown/Dropdown.js +22 -23
- package/lib/module/components/DropdownInput/DropdownInput.js +10 -10
- package/lib/module/components/EmptyState/EmptyState.js +14 -14
- package/lib/module/components/FilterBar/FilterBar.js +2 -2
- package/lib/module/components/Form/Form.js +3 -3
- package/lib/module/components/FormField/FormField.js +6 -6
- package/lib/module/components/FullscreenModal/FullscreenModal.js +24 -24
- package/lib/module/components/Gauge/Gauge.js +8 -8
- package/lib/module/components/HoldingsCard/HoldingsCard.js +10 -10
- package/lib/module/components/Icon/Icon.js +6 -6
- package/lib/module/components/IconCapsule/IconCapsule.js +7 -7
- package/lib/module/components/InputSearch/InputSearch.js +9 -9
- package/lib/module/components/InstitutionBadge/InstitutionBadge.js +3 -3
- package/lib/module/components/ListGroup/ListGroup.js +8 -8
- package/lib/module/components/ListItem/ListItem.js +10 -10
- package/lib/module/components/LottieIntroBlock/LottieIntroBlock.js +13 -13
- package/lib/module/components/LottiePlayer/LottiePlayer.js +2 -2
- package/lib/module/components/LottiePlayer/LottiePlayer.web.js +2 -2
- package/lib/module/components/MediaCard/MediaCard.js +21 -21
- package/lib/module/components/MessageField/MessageField.js +8 -8
- package/lib/module/components/MoneyValue/MoneyValue.js +7 -7
- package/lib/module/components/NavArrow/NavArrow.js +8 -8
- package/lib/module/components/NoteInput/NoteInput.js +12 -12
- package/lib/module/components/Nudge/Nudge.js +20 -20
- package/lib/module/components/OTP/OTP.js +15 -15
- package/lib/module/components/PageHero/PageHero.js +16 -16
- package/lib/module/components/PaymentFeedback/PaymentFeedback.js +23 -23
- package/lib/module/components/Popup/Popup.js +1 -1
- package/lib/module/components/ProductMerchandisingCard/ProductMerchandisingCard.js +66 -62
- package/lib/module/components/ProgressBadge/ProgressBadge.js +5 -5
- package/lib/module/components/Radio/Radio.js +9 -9
- package/lib/module/components/RechargeCard/RechargeCard.js +31 -31
- package/lib/module/components/SavingsGoalSummary/SavingsGoalSummary.js +60 -13
- package/lib/module/components/ScrollArea/ScrollArea.js +121 -0
- package/lib/module/components/Section/Section.js +24 -24
- package/lib/module/components/StatusHero/StatusHero.js +14 -14
- package/lib/module/components/Stepper/Step.js +16 -16
- package/lib/module/components/Stepper/StepLabel.js +16 -16
- package/lib/module/components/Stepper/Stepper.js +3 -3
- package/lib/module/components/SuggestiveSearch/SuggestiveSearch.js +10 -10
- package/lib/module/components/SupportText/SupportText.js +6 -6
- package/lib/module/components/SupportText/SupportTextIcon.js +2 -2
- package/lib/module/components/Text/Text.js +15 -3
- package/lib/module/components/TextInput/TextInput.js +14 -14
- package/lib/module/components/TextSegment/TextSegment.js +15 -3
- package/lib/module/components/ThreadHero/ThreadHero.js +17 -17
- package/lib/module/components/Title/Title.js +39 -17
- package/lib/module/components/Toast/Toast.js +15 -15
- package/lib/module/components/Toggle/Toggle.js +4 -12
- package/lib/module/components/Tooltip/Tooltip.js +12 -12
- package/lib/module/components/TransactionBubble/TransactionBubble.js +13 -13
- package/lib/module/components/TransactionDetails/TransactionDetails.js +10 -10
- package/lib/module/components/TransactionStatus/TransactionStatus.js +9 -9
- package/lib/module/components/UpiHandle/UpiHandle.js +15 -15
- package/lib/module/components/index.js +2 -0
- package/lib/module/design-tokens/Coin Variables-variables-full.json +1 -1
- package/lib/module/design-tokens/figma-modes.generated.js +50 -42
- package/lib/module/icons/components/Icon4g.js +12 -0
- package/lib/module/icons/components/Icon4gltedata.js +12 -0
- package/lib/module/icons/components/Icon5g.js +12 -0
- package/lib/module/icons/components/Icon5gdoubleplus.js +12 -0
- package/lib/module/icons/components/Icon5gplus.js +12 -0
- package/lib/module/icons/components/IconAdblocker.js +12 -0
- package/lib/module/icons/components/IconAdblockplus.js +12 -0
- package/lib/module/icons/components/IconAnalytics.js +12 -0
- package/lib/module/icons/components/IconAnalyticsdata.js +12 -0
- package/lib/module/icons/components/IconAnalyticspiechart.js +12 -0
- package/lib/module/icons/components/IconAnalyticspiecharttree.js +12 -0
- package/lib/module/icons/components/IconAnalyticspiecharttwo.js +12 -0
- package/lib/module/icons/components/IconCompoundinterest.js +12 -0
- package/lib/module/icons/components/IconConsumptionaccounted.js +12 -0
- package/lib/module/icons/components/IconConsumptionaverage.js +12 -0
- package/lib/module/icons/components/IconConsumptionhigh.js +12 -0
- package/lib/module/icons/components/IconConsumptionlow.js +12 -0
- package/lib/module/icons/components/IconConsumptionunaccounted.js +12 -0
- package/lib/module/icons/components/IconCsvdoc.js +12 -0
- package/lib/module/icons/components/IconDatabase.js +12 -0
- package/lib/module/icons/components/IconDigitalecosystem.js +12 -0
- package/lib/module/icons/components/IconDigitalselfservice.js +12 -0
- package/lib/module/icons/components/IconDistribution.js +12 -0
- package/lib/module/icons/components/IconDocument.js +12 -0
- package/lib/module/icons/components/IconDocumentdoc.js +12 -0
- package/lib/module/icons/components/IconDocumentjpg.js +12 -0
- package/lib/module/icons/components/IconDocumentodt.js +12 -0
- package/lib/module/icons/components/IconDocumentpdf.js +12 -0
- package/lib/module/icons/components/IconDocumentpng.js +12 -0
- package/lib/module/icons/components/IconDocumentraw.js +12 -0
- package/lib/module/icons/components/IconDocumentrtf.js +12 -0
- package/lib/module/icons/components/IconDocumentsettings.js +12 -0
- package/lib/module/icons/components/IconDocumenttif.js +12 -0
- package/lib/module/icons/components/IconDocumenttxt.js +12 -0
- package/lib/module/icons/components/IconDocumentunknown.js +12 -0
- package/lib/module/icons/components/IconDocumentxls.js +12 -0
- package/lib/module/icons/components/IconDocumentxlsx.js +12 -0
- package/lib/module/icons/components/IconFilerequest.js +12 -0
- package/lib/module/icons/components/IconFilesend.js +12 -0
- package/lib/module/icons/components/IconFileshare.js +12 -0
- package/lib/module/icons/components/IconFindinpage.js +12 -0
- package/lib/module/icons/components/IconFolder.js +12 -0
- package/lib/module/icons/components/IconFolderbookmarks.js +12 -0
- package/lib/module/icons/components/IconFolderfavorites.js +12 -0
- package/lib/module/icons/components/IconFolderlocked.js +12 -0
- package/lib/module/icons/components/IconFoldermovefiles.js +12 -0
- package/lib/module/icons/components/IconFolderpublic.js +12 -0
- package/lib/module/icons/components/IconFolderrated.js +12 -0
- package/lib/module/icons/components/IconFolderrequest.js +12 -0
- package/lib/module/icons/components/IconForm.js +12 -0
- package/lib/module/icons/components/IconFormadd.js +12 -0
- package/lib/module/icons/components/IconForms.js +12 -0
- package/lib/module/icons/components/IconGraphincreasing.js +12 -0
- package/lib/module/icons/components/IconGraphlow.js +12 -0
- package/lib/module/icons/components/IconGraphtable.js +12 -0
- package/lib/module/icons/components/IconHealthreport.js +12 -0
- package/lib/module/icons/components/IconHubmode.js +12 -0
- package/lib/module/icons/components/IconInfrastructure.js +12 -0
- package/lib/module/icons/components/IconInterestlow.js +12 -0
- package/lib/module/icons/components/IconLte.js +12 -0
- package/lib/module/icons/components/IconNetworkfuture.js +12 -0
- package/lib/module/icons/components/IconPagesettings.js +12 -0
- package/lib/module/icons/components/IconPptxdoc.js +12 -0
- package/lib/module/icons/components/IconPreferrednumber.js +12 -0
- package/lib/module/icons/components/IconPremiumnumber.js +12 -0
- package/lib/module/icons/components/IconProjection.js +12 -0
- package/lib/module/icons/components/IconRequest.js +12 -0
- package/lib/module/icons/components/IconRoutestraffic.js +12 -0
- package/lib/module/icons/components/IconTechnology.js +12 -0
- package/lib/module/icons/components/IconVolte.js +12 -0
- package/lib/module/icons/components/IconVonr.js +12 -0
- package/lib/module/icons/components/IconVowifi.js +12 -0
- package/lib/module/icons/components/IconVpndata.js +12 -0
- package/lib/module/icons/components/index.js +73 -0
- package/lib/module/icons/registry.js +2 -2
- package/lib/module/utils/GlassFill/GlassFill.js +69 -72
- package/lib/module/utils/index.js +2 -1
- package/lib/module/utils/react-utils.js +61 -0
- package/lib/module/utils/shadow.js +194 -0
- package/lib/typescript/src/components/BenefitCard/BenefitCard.d.ts +33 -4
- package/lib/typescript/src/components/Carousel/Carousel.d.ts +11 -1
- package/lib/typescript/src/components/CarouselCardAccounts/CarouselCardAccounts.d.ts +57 -0
- package/lib/typescript/src/components/SavingsGoalSummary/SavingsGoalSummary.d.ts +11 -1
- package/lib/typescript/src/components/ScrollArea/ScrollArea.d.ts +77 -0
- package/lib/typescript/src/components/Text/Text.d.ts +12 -3
- package/lib/typescript/src/components/TextSegment/TextSegment.d.ts +12 -3
- package/lib/typescript/src/components/Title/Title.d.ts +12 -2
- package/lib/typescript/src/components/index.d.ts +2 -0
- package/lib/typescript/src/design-tokens/figma-modes.generated.d.ts +23 -15
- package/lib/typescript/src/icons/components/Icon4g.d.ts +3 -0
- package/lib/typescript/src/icons/components/Icon4gltedata.d.ts +3 -0
- package/lib/typescript/src/icons/components/Icon5g.d.ts +3 -0
- package/lib/typescript/src/icons/components/Icon5gdoubleplus.d.ts +3 -0
- package/lib/typescript/src/icons/components/Icon5gplus.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconAdblocker.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconAdblockplus.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconAnalytics.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconAnalyticsdata.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconAnalyticspiechart.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconAnalyticspiecharttree.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconAnalyticspiecharttwo.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconCompoundinterest.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconConsumptionaccounted.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconConsumptionaverage.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconConsumptionhigh.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconConsumptionlow.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconConsumptionunaccounted.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconCsvdoc.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDatabase.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDigitalecosystem.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDigitalselfservice.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDistribution.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDocument.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDocumentdoc.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDocumentjpg.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDocumentodt.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDocumentpdf.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDocumentpng.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDocumentraw.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDocumentrtf.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDocumentsettings.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDocumenttif.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDocumenttxt.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDocumentunknown.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDocumentxls.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDocumentxlsx.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconFilerequest.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconFilesend.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconFileshare.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconFindinpage.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconFolder.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconFolderbookmarks.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconFolderfavorites.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconFolderlocked.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconFoldermovefiles.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconFolderpublic.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconFolderrated.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconFolderrequest.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconForm.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconFormadd.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconForms.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconGraphincreasing.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconGraphlow.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconGraphtable.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconHealthreport.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconHubmode.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconInfrastructure.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconInterestlow.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconLte.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconNetworkfuture.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconPagesettings.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconPptxdoc.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconPreferrednumber.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconPremiumnumber.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconProjection.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconRequest.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconRoutestraffic.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconTechnology.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconVolte.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconVonr.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconVowifi.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconVpndata.d.ts +3 -0
- package/lib/typescript/src/icons/components/index.d.ts +73 -0
- package/lib/typescript/src/icons/registry.d.ts +1 -1
- package/lib/typescript/src/utils/GlassFill/GlassFill.d.ts +11 -4
- package/lib/typescript/src/utils/index.d.ts +2 -0
- package/lib/typescript/src/utils/react-utils.d.ts +40 -1
- package/lib/typescript/src/utils/shadow.d.ts +72 -0
- package/package.json +2 -2
- package/src/components/ActionFooter/ActionFooter.tsx +8 -26
- package/src/components/ActionTile/ActionTile.tsx +10 -10
- package/src/components/AmountInput/AmountInput.tsx +3 -3
- package/src/components/AreaLineChart/AreaLineChart.tsx +2 -2
- package/src/components/Attached/Attached.tsx +1 -1
- package/src/components/Avatar/Avatar.tsx +10 -10
- package/src/components/AvatarGroup/AvatarGroup.tsx +53 -27
- package/src/components/Badge/Badge.tsx +12 -13
- package/src/components/BenefitCard/BenefitCard.tsx +120 -27
- package/src/components/BottomNav/BottomNav.tsx +2 -2
- package/src/components/BottomNavItem/BottomNavItem.tsx +3 -3
- package/src/components/Button/Button.tsx +30 -20
- package/src/components/Card/Card.tsx +20 -20
- package/src/components/CardAdvisory/CardAdvisory.tsx +6 -6
- package/src/components/CardCTA/CardCTA.tsx +21 -21
- package/src/components/CardFeedback/CardFeedback.tsx +18 -18
- package/src/components/CardFinancialCondition/CardFinancialCondition.tsx +7 -10
- package/src/components/CardInsight/CardInsight.tsx +1 -3
- package/src/components/Carousel/Carousel.tsx +29 -12
- package/src/components/CarouselCardAccounts/CarouselCardAccounts.tsx +113 -0
- package/src/components/Checkbox/Checkbox.tsx +2 -8
- package/src/components/ChipGroup/ChipGroup.tsx +1 -1
- package/src/components/ChipSelect/ChipSelect.tsx +11 -11
- package/src/components/CircularProgressBar/CircularProgressBar.tsx +5 -5
- package/src/components/CircularProgressBarDoted/CircularProgressBarDoted.tsx +8 -8
- package/src/components/CircularRating/CircularRating.tsx +3 -3
- package/src/components/CompareTable/CompareTable.tsx +16 -16
- package/src/components/DebitCard/DebitCard.tsx +22 -22
- package/src/components/Disclaimer/Disclaimer.tsx +5 -5
- package/src/components/DonutChart/DonutChart.tsx +11 -45
- package/src/components/Drawer/Drawer.tsx +80 -71
- package/src/components/Dropdown/Dropdown.tsx +23 -28
- package/src/components/DropdownInput/DropdownInput.tsx +10 -17
- package/src/components/EmptyState/EmptyState.tsx +14 -14
- package/src/components/FilterBar/FilterBar.tsx +2 -2
- package/src/components/Form/Form.tsx +3 -3
- package/src/components/FormField/FormField.tsx +6 -11
- package/src/components/FullscreenModal/FullscreenModal.tsx +24 -24
- package/src/components/Gauge/Gauge.tsx +8 -8
- package/src/components/HoldingsCard/HoldingsCard.tsx +10 -10
- package/src/components/Icon/Icon.tsx +6 -6
- package/src/components/IconCapsule/IconCapsule.tsx +7 -7
- package/src/components/InputSearch/InputSearch.tsx +9 -9
- package/src/components/InstitutionBadge/InstitutionBadge.tsx +3 -6
- package/src/components/ListGroup/ListGroup.tsx +8 -8
- package/src/components/ListItem/ListItem.tsx +10 -10
- package/src/components/LottieIntroBlock/LottieIntroBlock.tsx +13 -16
- package/src/components/LottiePlayer/LottiePlayer.tsx +2 -2
- package/src/components/LottiePlayer/LottiePlayer.web.tsx +2 -2
- package/src/components/MediaCard/MediaCard.tsx +21 -21
- package/src/components/MessageField/MessageField.tsx +8 -16
- package/src/components/MoneyValue/MoneyValue.tsx +7 -7
- package/src/components/NavArrow/NavArrow.tsx +8 -8
- package/src/components/NoteInput/NoteInput.tsx +12 -12
- package/src/components/Nudge/Nudge.tsx +20 -20
- package/src/components/OTP/OTP.tsx +16 -16
- package/src/components/PageHero/PageHero.tsx +16 -16
- package/src/components/PaymentFeedback/PaymentFeedback.tsx +27 -27
- package/src/components/Popup/Popup.tsx +1 -1
- package/src/components/ProductMerchandisingCard/ProductMerchandisingCard.tsx +76 -47
- package/src/components/ProgressBadge/ProgressBadge.tsx +5 -5
- package/src/components/Radio/Radio.tsx +8 -9
- package/src/components/RechargeCard/RechargeCard.tsx +31 -31
- package/src/components/SavingsGoalSummary/SavingsGoalSummary.tsx +105 -13
- package/src/components/ScrollArea/ScrollArea.tsx +200 -0
- package/src/components/Section/Section.tsx +26 -26
- package/src/components/StatusHero/StatusHero.tsx +14 -14
- package/src/components/Stepper/Step.tsx +16 -18
- package/src/components/Stepper/StepLabel.tsx +16 -27
- package/src/components/Stepper/Stepper.tsx +3 -4
- package/src/components/SuggestiveSearch/SuggestiveSearch.tsx +10 -20
- package/src/components/SupportText/SupportText.tsx +6 -6
- package/src/components/SupportText/SupportTextIcon.tsx +2 -2
- package/src/components/Text/Text.tsx +23 -5
- package/src/components/TextInput/TextInput.tsx +14 -14
- package/src/components/TextSegment/TextSegment.tsx +22 -4
- package/src/components/ThreadHero/ThreadHero.tsx +17 -17
- package/src/components/Title/Title.tsx +44 -18
- package/src/components/Toast/Toast.tsx +15 -15
- package/src/components/Toggle/Toggle.tsx +5 -10
- package/src/components/Tooltip/Tooltip.tsx +12 -12
- package/src/components/TransactionBubble/TransactionBubble.tsx +15 -15
- package/src/components/TransactionDetails/TransactionDetails.tsx +10 -10
- package/src/components/TransactionStatus/TransactionStatus.tsx +9 -9
- package/src/components/UpiHandle/UpiHandle.tsx +15 -15
- package/src/components/index.ts +2 -0
- package/src/design-tokens/Coin Variables-variables-full.json +1 -1
- package/src/design-tokens/figma-modes.generated.ts +50 -42
- package/src/icons/components/Icon4g.tsx +11 -0
- package/src/icons/components/Icon4gltedata.tsx +11 -0
- package/src/icons/components/Icon5g.tsx +11 -0
- package/src/icons/components/Icon5gdoubleplus.tsx +11 -0
- package/src/icons/components/Icon5gplus.tsx +11 -0
- package/src/icons/components/IconAdblocker.tsx +11 -0
- package/src/icons/components/IconAdblockplus.tsx +11 -0
- package/src/icons/components/IconAnalytics.tsx +11 -0
- package/src/icons/components/IconAnalyticsdata.tsx +11 -0
- package/src/icons/components/IconAnalyticspiechart.tsx +11 -0
- package/src/icons/components/IconAnalyticspiecharttree.tsx +11 -0
- package/src/icons/components/IconAnalyticspiecharttwo.tsx +11 -0
- package/src/icons/components/IconCompoundinterest.tsx +11 -0
- package/src/icons/components/IconConsumptionaccounted.tsx +11 -0
- package/src/icons/components/IconConsumptionaverage.tsx +11 -0
- package/src/icons/components/IconConsumptionhigh.tsx +11 -0
- package/src/icons/components/IconConsumptionlow.tsx +11 -0
- package/src/icons/components/IconConsumptionunaccounted.tsx +11 -0
- package/src/icons/components/IconCsvdoc.tsx +11 -0
- package/src/icons/components/IconDatabase.tsx +11 -0
- package/src/icons/components/IconDigitalecosystem.tsx +11 -0
- package/src/icons/components/IconDigitalselfservice.tsx +11 -0
- package/src/icons/components/IconDistribution.tsx +11 -0
- package/src/icons/components/IconDocument.tsx +11 -0
- package/src/icons/components/IconDocumentdoc.tsx +11 -0
- package/src/icons/components/IconDocumentjpg.tsx +11 -0
- package/src/icons/components/IconDocumentodt.tsx +11 -0
- package/src/icons/components/IconDocumentpdf.tsx +11 -0
- package/src/icons/components/IconDocumentpng.tsx +11 -0
- package/src/icons/components/IconDocumentraw.tsx +11 -0
- package/src/icons/components/IconDocumentrtf.tsx +11 -0
- package/src/icons/components/IconDocumentsettings.tsx +11 -0
- package/src/icons/components/IconDocumenttif.tsx +11 -0
- package/src/icons/components/IconDocumenttxt.tsx +11 -0
- package/src/icons/components/IconDocumentunknown.tsx +11 -0
- package/src/icons/components/IconDocumentxls.tsx +11 -0
- package/src/icons/components/IconDocumentxlsx.tsx +11 -0
- package/src/icons/components/IconFilerequest.tsx +11 -0
- package/src/icons/components/IconFilesend.tsx +11 -0
- package/src/icons/components/IconFileshare.tsx +11 -0
- package/src/icons/components/IconFindinpage.tsx +11 -0
- package/src/icons/components/IconFolder.tsx +11 -0
- package/src/icons/components/IconFolderbookmarks.tsx +11 -0
- package/src/icons/components/IconFolderfavorites.tsx +11 -0
- package/src/icons/components/IconFolderlocked.tsx +11 -0
- package/src/icons/components/IconFoldermovefiles.tsx +11 -0
- package/src/icons/components/IconFolderpublic.tsx +11 -0
- package/src/icons/components/IconFolderrated.tsx +11 -0
- package/src/icons/components/IconFolderrequest.tsx +11 -0
- package/src/icons/components/IconForm.tsx +11 -0
- package/src/icons/components/IconFormadd.tsx +11 -0
- package/src/icons/components/IconForms.tsx +11 -0
- package/src/icons/components/IconGraphincreasing.tsx +11 -0
- package/src/icons/components/IconGraphlow.tsx +11 -0
- package/src/icons/components/IconGraphtable.tsx +11 -0
- package/src/icons/components/IconHealthreport.tsx +11 -0
- package/src/icons/components/IconHubmode.tsx +11 -0
- package/src/icons/components/IconInfrastructure.tsx +11 -0
- package/src/icons/components/IconInterestlow.tsx +11 -0
- package/src/icons/components/IconLte.tsx +11 -0
- package/src/icons/components/IconNetworkfuture.tsx +11 -0
- package/src/icons/components/IconPagesettings.tsx +11 -0
- package/src/icons/components/IconPptxdoc.tsx +11 -0
- package/src/icons/components/IconPreferrednumber.tsx +11 -0
- package/src/icons/components/IconPremiumnumber.tsx +11 -0
- package/src/icons/components/IconProjection.tsx +11 -0
- package/src/icons/components/IconRequest.tsx +11 -0
- package/src/icons/components/IconRoutestraffic.tsx +11 -0
- package/src/icons/components/IconTechnology.tsx +11 -0
- package/src/icons/components/IconVolte.tsx +11 -0
- package/src/icons/components/IconVonr.tsx +11 -0
- package/src/icons/components/IconVowifi.tsx +11 -0
- package/src/icons/components/IconVpndata.tsx +11 -0
- package/src/icons/components/index.ts +73 -0
- package/src/icons/registry.ts +293 -1
- package/src/utils/GlassFill/GlassFill.tsx +59 -56
- package/src/utils/index.ts +2 -0
- package/src/utils/react-utils.ts +72 -1
- package/src/utils/shadow.ts +219 -0
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
import React, { useId } from 'react';
|
|
4
4
|
import { View, StyleSheet, Platform, UIManager } from 'react-native';
|
|
5
5
|
import { BlurView } from '@react-native-community/blur';
|
|
6
|
-
import MaskedView from '@react-native-masked-view/masked-view';
|
|
7
6
|
import Svg, { Defs, LinearGradient, Stop, Rect } from 'react-native-svg';
|
|
8
7
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
8
|
const DEFAULT_FALLBACK_DARK = '#1414174a';
|
|
@@ -14,32 +13,30 @@ const DEFAULT_FALLBACK_LIGHT = '#ffffff66';
|
|
|
14
13
|
const NATIVE_BLUR_NAME = Platform.OS === 'android' ? 'AndroidBlurView' : 'BlurView';
|
|
15
14
|
|
|
16
15
|
/**
|
|
17
|
-
* Alpha stop on
|
|
18
|
-
* position (0 = top of the surface, 1 = bottom); `opacity` is the
|
|
19
|
-
* there (0 =
|
|
16
|
+
* Alpha stop on the no-native-blur fallback gradient. `offset` is the vertical
|
|
17
|
+
* position (0 = top of the surface, 1 = bottom); `opacity` is the tint alpha
|
|
18
|
+
* there (0 = fully clear, 1 = full fallback color).
|
|
20
19
|
*
|
|
21
|
-
* Using several stops (rather than a single linear 0 → 1 ramp)
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
* "glass" feel rather than a flat translucent panel.
|
|
20
|
+
* Using several stops (rather than a single linear 0 → 1 ramp) eases the tint
|
|
21
|
+
* in, so it swells smoothly toward the bottom instead of along a hard seam —
|
|
22
|
+
* the soft S-curve that gives the surface its "glass" feel.
|
|
25
23
|
*/
|
|
26
24
|
|
|
27
25
|
/**
|
|
28
|
-
* A single
|
|
29
|
-
* - `
|
|
30
|
-
*
|
|
26
|
+
* A single bottom-anchored band of the progressive blur stack.
|
|
27
|
+
* - `start` is where the band begins, as a fraction from the top (0 = covers
|
|
28
|
+
* the whole surface, 0.8 = only the bottom 20%). Each band runs from `start`
|
|
29
|
+
* to the bottom.
|
|
30
|
+
* - `amount` is the band's own blur strength as a share (0–1) of the peak.
|
|
31
31
|
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
* heavy block), while still giving a genuine variable-radius result — the blur
|
|
37
|
-
* radius grows toward the bottom where the two layers overlap.
|
|
32
|
+
* Because each `BlurView` re-blurs everything rendered behind it, the bands
|
|
33
|
+
* COMPOUND where they overlap (toward the bottom), so the effective radius grows
|
|
34
|
+
* downward without any masking. The top region is covered only by the first,
|
|
35
|
+
* faint band; the bottom is covered by all of them.
|
|
38
36
|
*/
|
|
39
37
|
|
|
40
|
-
//
|
|
41
|
-
//
|
|
42
|
-
// snapping clear. Also reused for the no-native-blur fallback scrim.
|
|
38
|
+
// Eased tint ramp for the no-native-blur fallback scrim. A faint trace begins
|
|
39
|
+
// near the very top and grows steadily downward.
|
|
43
40
|
const BASE_MASK_STOPS = [{
|
|
44
41
|
offset: 0.0,
|
|
45
42
|
opacity: 0
|
|
@@ -56,26 +53,26 @@ const BASE_MASK_STOPS = [{
|
|
|
56
53
|
offset: 1.0,
|
|
57
54
|
opacity: 1
|
|
58
55
|
}];
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
//
|
|
64
|
-
{
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
56
|
+
|
|
57
|
+
// Bottom-anchored blur bands (top → bottom). The first band is faint and covers
|
|
58
|
+
// the whole surface so the top reads as barely-there glass; each subsequent band
|
|
59
|
+
// starts lower and adds strength, compounding toward the bottom for a smooth
|
|
60
|
+
// variable-radius result. Quadrature of these shares lands the bottom at ~peak.
|
|
61
|
+
const PROGRESSIVE_BANDS = [{
|
|
62
|
+
start: 0.0,
|
|
63
|
+
amount: 0.18
|
|
64
|
+
}, {
|
|
65
|
+
start: 0.3,
|
|
66
|
+
amount: 0.28
|
|
67
|
+
}, {
|
|
68
|
+
start: 0.52,
|
|
69
|
+
amount: 0.38
|
|
70
|
+
}, {
|
|
71
|
+
start: 0.7,
|
|
72
|
+
amount: 0.5
|
|
73
|
+
}, {
|
|
74
|
+
start: 0.84,
|
|
75
|
+
amount: 0.6
|
|
79
76
|
}];
|
|
80
77
|
|
|
81
78
|
/**
|
|
@@ -108,13 +105,14 @@ const NATIVE_BLUR_SUPPORTED = (() => {
|
|
|
108
105
|
})();
|
|
109
106
|
|
|
110
107
|
/**
|
|
111
|
-
* Vertical
|
|
112
|
-
*
|
|
113
|
-
*
|
|
114
|
-
*
|
|
108
|
+
* Vertical color-gradient scrim drawn with `react-native-svg` — used as the
|
|
109
|
+
* no-native-blur fallback. Paints `color` at the eased per-stop alpha so the
|
|
110
|
+
* tint swells smoothly from clear (top) to full (bottom), exactly mirroring the
|
|
111
|
+
* old `MaskedView`-over-solid-color fallback but with no native-view masking.
|
|
115
112
|
*/
|
|
116
|
-
function
|
|
113
|
+
function GradientScrim({
|
|
117
114
|
id,
|
|
115
|
+
color,
|
|
118
116
|
stops
|
|
119
117
|
}) {
|
|
120
118
|
return /*#__PURE__*/_jsxs(Svg, {
|
|
@@ -129,7 +127,7 @@ function GradientMask({
|
|
|
129
127
|
y2: "1",
|
|
130
128
|
children: stops.map((s, i) => /*#__PURE__*/_jsx(Stop, {
|
|
131
129
|
offset: s.offset,
|
|
132
|
-
stopColor:
|
|
130
|
+
stopColor: color,
|
|
133
131
|
stopOpacity: s.opacity
|
|
134
132
|
}, i))
|
|
135
133
|
})
|
|
@@ -194,38 +192,37 @@ function GlassFill({
|
|
|
194
192
|
return /*#__PURE__*/_jsx(View, {
|
|
195
193
|
style: [StyleSheet.absoluteFill, style],
|
|
196
194
|
pointerEvents: "none",
|
|
197
|
-
children: /*#__PURE__*/_jsx(
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
stops: BASE_MASK_STOPS
|
|
202
|
-
}),
|
|
203
|
-
children: /*#__PURE__*/_jsx(View, {
|
|
204
|
-
style: [StyleSheet.absoluteFill, {
|
|
205
|
-
backgroundColor: fallbackColor
|
|
206
|
-
}]
|
|
207
|
-
})
|
|
195
|
+
children: /*#__PURE__*/_jsx(GradientScrim, {
|
|
196
|
+
id: `${maskId}-fb`,
|
|
197
|
+
color: fallbackColor,
|
|
198
|
+
stops: BASE_MASK_STOPS
|
|
208
199
|
})
|
|
209
200
|
});
|
|
210
201
|
}
|
|
211
202
|
return /*#__PURE__*/_jsx(View, {
|
|
212
203
|
style: [StyleSheet.absoluteFill, style],
|
|
213
204
|
pointerEvents: "none",
|
|
214
|
-
children:
|
|
215
|
-
const amount = Math.max(1, Math.round(peakBlur *
|
|
216
|
-
return
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
205
|
+
children: PROGRESSIVE_BANDS.map((band, i) => {
|
|
206
|
+
const amount = Math.max(1, Math.round(peakBlur * band.amount));
|
|
207
|
+
return (
|
|
208
|
+
/*#__PURE__*/
|
|
209
|
+
// Each band is clipped to start at `band.start` and run to
|
|
210
|
+
// the bottom; its `BlurView` blurs the content (and any
|
|
211
|
+
// lower bands) behind it, so the radius compounds downward.
|
|
212
|
+
_jsx(View, {
|
|
213
|
+
style: [StyleSheet.absoluteFill, {
|
|
214
|
+
top: `${band.start * 100}%`,
|
|
215
|
+
overflow: 'hidden'
|
|
216
|
+
}],
|
|
217
|
+
pointerEvents: "none",
|
|
218
|
+
children: /*#__PURE__*/_jsx(BlurView, {
|
|
219
|
+
style: StyleSheet.absoluteFill,
|
|
220
|
+
blurType: blurType,
|
|
221
|
+
blurAmount: amount,
|
|
222
|
+
reducedTransparencyFallbackColor: fallbackColor
|
|
223
|
+
})
|
|
224
|
+
}, i)
|
|
225
|
+
);
|
|
229
226
|
})
|
|
230
227
|
});
|
|
231
228
|
}
|
|
@@ -2,4 +2,5 @@
|
|
|
2
2
|
|
|
3
3
|
export { cloneChildrenWithModes, flattenChildren } from './react-utils';
|
|
4
4
|
export { default as MediaSource } from './MediaSource';
|
|
5
|
-
export { formatIndianNumber } from './number-utils';
|
|
5
|
+
export { formatIndianNumber } from './number-utils';
|
|
6
|
+
export { boxShadow, supportsNativeBoxShadow, parseBoxShadow, parseSingleShadow } from './shadow';
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import React from 'react';
|
|
4
|
+
import { Platform } from 'react-native';
|
|
4
5
|
/**
|
|
5
6
|
* A shared, frozen empty modes object.
|
|
6
7
|
*
|
|
@@ -146,6 +147,66 @@ export function resolveTruncation(disableTruncation, numberOfLines, ellipsizeMod
|
|
|
146
147
|
ellipsizeMode
|
|
147
148
|
};
|
|
148
149
|
}
|
|
150
|
+
/**
|
|
151
|
+
* Resolves the `<Text>` props + style for the two truncation escape hatches.
|
|
152
|
+
* This supersedes {@link resolveTruncation} for components that want the
|
|
153
|
+
* "brutal" overflow behaviour rather than just dropping the line clamp.
|
|
154
|
+
*
|
|
155
|
+
* - `disableTruncation`: never truncate. Drops `numberOfLines`/`ellipsizeMode`
|
|
156
|
+
* AND sets `flexShrink: 0`, so a tight flex parent can no longer squeeze the
|
|
157
|
+
* text into an ellipsis — instead the text keeps its intrinsic size and
|
|
158
|
+
* overflows, even if that means blowing past (and visually breaking) the
|
|
159
|
+
* parent layout. The text still wraps onto multiple lines.
|
|
160
|
+
* - `singleLine`: force everything onto one line with no wrapping. Implies
|
|
161
|
+
* `disableTruncation` (the ellipsis is never shown). On web this adds
|
|
162
|
+
* `whiteSpace: 'nowrap'` so the single line overflows horizontally instead of
|
|
163
|
+
* wrapping. The text is never shrunk.
|
|
164
|
+
*
|
|
165
|
+
* Note (native): React Native's `<Text>` has no `white-space: nowrap`
|
|
166
|
+
* equivalent, so on iOS/Android `singleLine` cannot force a hard non-wrapping
|
|
167
|
+
* overflow — it behaves like `disableTruncation` (no ellipsis, no shrink). The
|
|
168
|
+
* hard single-line overflow is honoured on web (Storybook / react-native-web).
|
|
169
|
+
*
|
|
170
|
+
* When neither flag is set, the supplied `numberOfLines`/`ellipsizeMode` pass
|
|
171
|
+
* through unchanged and no extra style is returned.
|
|
172
|
+
*/
|
|
173
|
+
export function resolveTextLayout({
|
|
174
|
+
disableTruncation,
|
|
175
|
+
singleLine,
|
|
176
|
+
numberOfLines,
|
|
177
|
+
ellipsizeMode
|
|
178
|
+
}) {
|
|
179
|
+
if (singleLine) {
|
|
180
|
+
return {
|
|
181
|
+
numberOfLines: undefined,
|
|
182
|
+
ellipsizeMode: undefined,
|
|
183
|
+
style: {
|
|
184
|
+
flexShrink: 0,
|
|
185
|
+
flexGrow: 0,
|
|
186
|
+
...(Platform.OS === 'web' ? {
|
|
187
|
+
whiteSpace: 'nowrap',
|
|
188
|
+
overflow: 'visible'
|
|
189
|
+
} : {})
|
|
190
|
+
}
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
if (disableTruncation) {
|
|
194
|
+
return {
|
|
195
|
+
numberOfLines: undefined,
|
|
196
|
+
ellipsizeMode: undefined,
|
|
197
|
+
style: {
|
|
198
|
+
flexShrink: 0,
|
|
199
|
+
...(Platform.OS === 'web' ? {
|
|
200
|
+
overflow: 'visible'
|
|
201
|
+
} : {})
|
|
202
|
+
}
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
return {
|
|
206
|
+
numberOfLines,
|
|
207
|
+
ellipsizeMode
|
|
208
|
+
};
|
|
209
|
+
}
|
|
149
210
|
|
|
150
211
|
/**
|
|
151
212
|
* Flattens React children, extracting them from Fragments.
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { Platform } from 'react-native';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Cross-platform drop-shadow helper with a backward-compatibility layer.
|
|
7
|
+
*
|
|
8
|
+
* Why this exists
|
|
9
|
+
* ----------------
|
|
10
|
+
* The spec-compliant `boxShadow` style prop only landed in React Native 0.76
|
|
11
|
+
* (and only on the New Architecture / Fabric). Older apps that consume this
|
|
12
|
+
* library are still on pre-0.76 React Native where `boxShadow` is silently
|
|
13
|
+
* ignored on native, so their shadows simply disappear.
|
|
14
|
+
*
|
|
15
|
+
* Rather than hand-rolling a `Platform.select` block in every component, route
|
|
16
|
+
* ALL drop shadows through this single helper. When `boxShadow` is natively
|
|
17
|
+
* supported it is used verbatim (web + RN 0.76+ Fabric). When it is NOT
|
|
18
|
+
* supported, the CSS-style shadow string is parsed and translated into the
|
|
19
|
+
* legacy native shadow API:
|
|
20
|
+
* - iOS: `shadowColor`, `shadowOffset`, `shadowOpacity`, `shadowRadius`
|
|
21
|
+
* - Android: `elevation`
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```tsx
|
|
25
|
+
* const style = boxShadow('0px 2px 4px 0px rgba(0,0,0,0.18)')
|
|
26
|
+
* <View style={[base, style]} />
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
// `boxShadow` is intentionally absent from the @types/react-native surface in
|
|
31
|
+
// this repo (pinned to 0.73), so we widen ViewStyle locally for the cases
|
|
32
|
+
// where we DO emit the native/web boxShadow string.
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Whether the spec-compliant `boxShadow` style prop is honored at runtime.
|
|
36
|
+
* - Web (react-native-web) always supports it.
|
|
37
|
+
* - Native supports it from RN 0.76+ AND only on the New Architecture (Fabric).
|
|
38
|
+
*/
|
|
39
|
+
export function supportsNativeBoxShadow() {
|
|
40
|
+
if (Platform.OS === 'web') {
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
const version = Platform.constants?.reactNativeVersion;
|
|
44
|
+
const isVersionSupported = version ? version.major > 0 || version.major === 0 && version.minor >= 76 : false;
|
|
45
|
+
|
|
46
|
+
// Even on 0.76+, boxShadow is a New Architecture feature. Fabric exposes a
|
|
47
|
+
// global UI manager; its presence is the most reliable runtime signal.
|
|
48
|
+
const isFabric = typeof globalThis !== 'undefined' && globalThis.nativeFabricUIManager != null;
|
|
49
|
+
return isVersionSupported && isFabric;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Splits a (potentially multi-) box-shadow string on top-level commas, i.e.
|
|
54
|
+
* commas that are NOT inside a color function such as `rgba(12, 13, 16, 0.12)`.
|
|
55
|
+
*/
|
|
56
|
+
function splitShadows(value) {
|
|
57
|
+
const out = [];
|
|
58
|
+
let depth = 0;
|
|
59
|
+
let current = '';
|
|
60
|
+
for (const ch of value) {
|
|
61
|
+
if (ch === '(') depth++;else if (ch === ')') depth--;
|
|
62
|
+
if (ch === ',' && depth === 0) {
|
|
63
|
+
if (current.trim()) out.push(current.trim());
|
|
64
|
+
current = '';
|
|
65
|
+
} else {
|
|
66
|
+
current += ch;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
if (current.trim()) out.push(current.trim());
|
|
70
|
+
return out;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Parses a single CSS box-shadow layer into its primitive parts.
|
|
75
|
+
* Supports: `[inset] offsetX offsetY [blur] [spread] color` in any sensible
|
|
76
|
+
* ordering of the keyword/color, with `rgb()/rgba()/hsl()/hsla()`, hex, or
|
|
77
|
+
* named colors.
|
|
78
|
+
*/
|
|
79
|
+
export function parseSingleShadow(input) {
|
|
80
|
+
let s = input.trim();
|
|
81
|
+
let inset = false;
|
|
82
|
+
if (/(^|\s)inset(\s|$)/i.test(s)) {
|
|
83
|
+
inset = true;
|
|
84
|
+
s = s.replace(/(^|\s)inset(\s|$)/i, ' ').trim();
|
|
85
|
+
}
|
|
86
|
+
let color = 'rgba(0,0,0,1)';
|
|
87
|
+
const fnColor = s.match(/(?:rgba?|hsla?)\([^)]*\)/i);
|
|
88
|
+
if (fnColor) {
|
|
89
|
+
color = fnColor[0];
|
|
90
|
+
s = s.replace(fnColor[0], ' ').trim();
|
|
91
|
+
} else {
|
|
92
|
+
const hex = s.match(/#[0-9a-fA-F]{3,8}\b/);
|
|
93
|
+
if (hex) {
|
|
94
|
+
color = hex[0];
|
|
95
|
+
s = s.replace(hex[0], ' ').trim();
|
|
96
|
+
} else {
|
|
97
|
+
// Fall back to a trailing named color token (e.g. "red", "black").
|
|
98
|
+
const tokens = s.split(/\s+/).filter(Boolean);
|
|
99
|
+
const last = tokens[tokens.length - 1];
|
|
100
|
+
if (last && Number.isNaN(parseFloat(last))) {
|
|
101
|
+
color = last;
|
|
102
|
+
tokens.pop();
|
|
103
|
+
s = tokens.join(' ');
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
const nums = s.split(/\s+/).filter(Boolean).map(t => parseFloat(t) || 0);
|
|
108
|
+
const [offsetX = 0, offsetY = 0, blur = 0, spread = 0] = nums;
|
|
109
|
+
return {
|
|
110
|
+
offsetX,
|
|
111
|
+
offsetY,
|
|
112
|
+
blur,
|
|
113
|
+
spread,
|
|
114
|
+
color,
|
|
115
|
+
inset
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Parses a full box-shadow string (one or more comma-separated layers).
|
|
121
|
+
*/
|
|
122
|
+
export function parseBoxShadow(value) {
|
|
123
|
+
return splitShadows(value).map(parseSingleShadow);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Picks the visually dominant shadow layer (largest blur, then largest spread).
|
|
128
|
+
* iOS' legacy shadow API can only render a single shadow per view.
|
|
129
|
+
*/
|
|
130
|
+
function pickPrimary(shadows) {
|
|
131
|
+
if (shadows.length === 0) return undefined;
|
|
132
|
+
return shadows.reduce((best, s) => {
|
|
133
|
+
if (s.blur > best.blur) return s;
|
|
134
|
+
if (s.blur === best.blur && s.spread > best.spread) return s;
|
|
135
|
+
return best;
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Translates the parsed shadow into the legacy native shadow style used by
|
|
141
|
+
* pre-0.76 React Native.
|
|
142
|
+
*/
|
|
143
|
+
function legacyShadowStyle(value, options) {
|
|
144
|
+
const shadows = parseBoxShadow(value);
|
|
145
|
+
const primary = pickPrimary(shadows);
|
|
146
|
+
if (!primary) {
|
|
147
|
+
return {};
|
|
148
|
+
}
|
|
149
|
+
if (Platform.OS === 'android') {
|
|
150
|
+
const elevation = options?.elevation ?? Math.max(0, Math.round(primary.blur / 2));
|
|
151
|
+
if (elevation <= 0) {
|
|
152
|
+
return {};
|
|
153
|
+
}
|
|
154
|
+
return {
|
|
155
|
+
elevation
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
// iOS: shadowOpacity defaults to 0 (invisible), so it MUST be set. We keep
|
|
160
|
+
// the full color (its own alpha is respected) and use opacity 1 as the
|
|
161
|
+
// multiplier so rgba() alpha is honored end-to-end.
|
|
162
|
+
return {
|
|
163
|
+
shadowColor: primary.color,
|
|
164
|
+
shadowOffset: {
|
|
165
|
+
width: primary.offsetX,
|
|
166
|
+
height: primary.offsetY
|
|
167
|
+
},
|
|
168
|
+
shadowOpacity: 1,
|
|
169
|
+
shadowRadius: primary.blur
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* Returns a style object that renders the given CSS-style box-shadow on every
|
|
175
|
+
* platform. Uses the native `boxShadow` prop when supported, otherwise falls
|
|
176
|
+
* back to the legacy `shadow*` (iOS) / `elevation` (Android) API.
|
|
177
|
+
*
|
|
178
|
+
* @param value A CSS box-shadow string, e.g. `'0px 2px 4px 0px rgba(0,0,0,0.2)'`.
|
|
179
|
+
* Multiple comma-separated layers are supported; on the legacy
|
|
180
|
+
* fallback iOS uses the most prominent layer and Android uses a
|
|
181
|
+
* single elevation.
|
|
182
|
+
* @param options Optional overrides (e.g. explicit Android `elevation`).
|
|
183
|
+
*/
|
|
184
|
+
export function boxShadow(value, options) {
|
|
185
|
+
if (!value) {
|
|
186
|
+
return {};
|
|
187
|
+
}
|
|
188
|
+
if (supportsNativeBoxShadow()) {
|
|
189
|
+
return {
|
|
190
|
+
boxShadow: value
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
return legacyShadowStyle(value, options);
|
|
194
|
+
}
|
|
@@ -25,17 +25,46 @@ export interface BenefitCardProps {
|
|
|
25
25
|
/** Header section title (e.g. `"You will earn"`). */
|
|
26
26
|
headerTitle?: string;
|
|
27
27
|
/**
|
|
28
|
-
*
|
|
29
|
-
*
|
|
28
|
+
* @deprecated The header is now a multi-row list wrap. A single item still
|
|
29
|
+
* works and is rendered as a one-row list (lowest precedence, after
|
|
30
|
+
* `header` and `headerItems`). Prefer `headerItems` (declarative) or
|
|
31
|
+
* `header` (slot).
|
|
30
32
|
*/
|
|
31
33
|
headerItem?: BenefitCardItem;
|
|
34
|
+
/**
|
|
35
|
+
* Declarative header list-wrap rows shown under the header title and above
|
|
36
|
+
* the divider (icon + title + optional trailing value). Replaces the
|
|
37
|
+
* legacy single {@link BenefitCardProps.headerItem}. Ignored when the
|
|
38
|
+
* `header` slot is provided.
|
|
39
|
+
*/
|
|
40
|
+
headerItems?: BenefitCardItem[];
|
|
41
|
+
/**
|
|
42
|
+
* Real slot for the header "list wrap" (the rows under the header title).
|
|
43
|
+
* Highest precedence — when provided, these children render instead of
|
|
44
|
+
* `headerItems` / `headerItem`; `modes` (plus the `List Item Style:
|
|
45
|
+
* Minimal` style) cascade into every child automatically.
|
|
46
|
+
*/
|
|
47
|
+
header?: React.ReactNode;
|
|
32
48
|
/**
|
|
33
49
|
* Toggles the whole header section (title + item + divider). Mirrors the
|
|
34
50
|
* Figma `showHeader` property. Defaults to `true`.
|
|
35
51
|
*/
|
|
36
52
|
showHeader?: boolean;
|
|
37
|
-
/**
|
|
53
|
+
/**
|
|
54
|
+
* @deprecated In the Figma redesign the plain body title was replaced by a
|
|
55
|
+
* slot-based upsell `Nudge` ({@link BenefitCardProps.bodyHeader}). Still
|
|
56
|
+
* honored for backward compatibility: when set, it renders as a plain text
|
|
57
|
+
* title in place of the default nudge. Prefer `bodyHeader`.
|
|
58
|
+
*/
|
|
38
59
|
bodyTitle?: string;
|
|
60
|
+
/**
|
|
61
|
+
* Real slot rendered between the header divider and the body list — in the
|
|
62
|
+
* Figma reference this is an upsell `Nudge` (avatar + highlighted
|
|
63
|
+
* "JioFinance+" message). Defaults to that nudge. Pass `null`/`false` to
|
|
64
|
+
* hide it, `bodyTitle` for the legacy plain-text title, or any `ReactNode`
|
|
65
|
+
* for full control; `modes` cascade into the slot.
|
|
66
|
+
*/
|
|
67
|
+
bodyHeader?: React.ReactNode;
|
|
39
68
|
/**
|
|
40
69
|
* Body benefit rows. Ignored when `children` is provided (the slot wins).
|
|
41
70
|
*/
|
|
@@ -88,6 +117,6 @@ export interface BenefitCardProps {
|
|
|
88
117
|
* `AppearanceBrand: Secondary` brand color, exactly matching the design. All
|
|
89
118
|
* three defaults can be overridden via `modes`.
|
|
90
119
|
*/
|
|
91
|
-
declare function BenefitCard({ headerTitle, headerItem, showHeader, bodyTitle, items, children, buttonLabel, onButtonPress, button, showButton, onPress, width, modes, style, accessibilityLabel, }: BenefitCardProps): import("react/jsx-runtime").JSX.Element;
|
|
120
|
+
declare function BenefitCard({ headerTitle, headerItem, headerItems, header, showHeader, bodyTitle, bodyHeader, items, children, buttonLabel, onButtonPress, button, showButton, onPress, width, modes, style, accessibilityLabel, }: BenefitCardProps): import("react/jsx-runtime").JSX.Element;
|
|
92
121
|
export default BenefitCard;
|
|
93
122
|
//# sourceMappingURL=BenefitCard.d.ts.map
|
|
@@ -18,12 +18,22 @@ export interface CarouselProps {
|
|
|
18
18
|
gap?: number;
|
|
19
19
|
/** Width of each carousel item. When undefined, items take full container width. */
|
|
20
20
|
itemWidth?: number;
|
|
21
|
+
/**
|
|
22
|
+
* Explicit horizontal padding (px) for the scroll content. When provided it
|
|
23
|
+
* overrides the token-derived padding verbatim — the built-in `carousel/
|
|
24
|
+
* padding/horizontal × 2` "peek" multiplier is NOT applied. Use this for
|
|
25
|
+
* presets (e.g. the account-card strip) whose own tokens define a flush,
|
|
26
|
+
* non-peeking layout.
|
|
27
|
+
*/
|
|
28
|
+
paddingHorizontal?: number;
|
|
29
|
+
/** Explicit vertical padding (px) for the outer container. Overrides `carousel/padding/vertical`. */
|
|
30
|
+
paddingVertical?: number;
|
|
21
31
|
/** Called when the active index changes. */
|
|
22
32
|
onIndexChange?: (index: number) => void;
|
|
23
33
|
/** Style overrides for the outermost container. */
|
|
24
34
|
style?: StyleProp<ViewStyle>;
|
|
25
35
|
}
|
|
26
|
-
export declare function Carousel({ children, modes, autoPlay, autoPlayInterval, showPagination, loop, gap: gapProp, itemWidth: itemWidthProp, onIndexChange, style, }: CarouselProps): import("react/jsx-runtime").JSX.Element;
|
|
36
|
+
export declare function Carousel({ children, modes, autoPlay, autoPlayInterval, showPagination, loop, gap: gapProp, itemWidth: itemWidthProp, paddingHorizontal: paddingHorizontalProp, paddingVertical: paddingVerticalProp, onIndexChange, style, }: CarouselProps): import("react/jsx-runtime").JSX.Element;
|
|
27
37
|
export declare namespace Carousel {
|
|
28
38
|
var Item: typeof import("./Carousel").Item;
|
|
29
39
|
var Pagination: typeof import("./Carousel").Pagination;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { StyleProp, ViewStyle } from 'react-native';
|
|
3
|
+
import type { Modes } from '../../design-tokens';
|
|
4
|
+
export interface CarouselCardAccountsProps {
|
|
5
|
+
/**
|
|
6
|
+
* The account cards to render — this is the slot. Pass any number of
|
|
7
|
+
* `AccountCard` elements (or any node). Each becomes one horizontally
|
|
8
|
+
* scrollable, snap-aligned item. `modes` are forwarded to every child.
|
|
9
|
+
*/
|
|
10
|
+
children?: React.ReactNode;
|
|
11
|
+
/** Design-token modes (e.g. `{ 'Color Mode': 'Light' }`). */
|
|
12
|
+
modes?: Modes;
|
|
13
|
+
/**
|
|
14
|
+
* Width of each card slot in px. Defaults to the Figma reference width
|
|
15
|
+
* (`125`). Combined with `gap` this drives the per-card snap interval.
|
|
16
|
+
*/
|
|
17
|
+
itemWidth?: number;
|
|
18
|
+
/**
|
|
19
|
+
* Gap between cards in px. Resolved from the `carouselCardAccounts/gap`
|
|
20
|
+
* token (default `8`) when omitted.
|
|
21
|
+
*/
|
|
22
|
+
gap?: number;
|
|
23
|
+
/**
|
|
24
|
+
* Show the pagination dots. Defaults to `false` — the account strip is a
|
|
25
|
+
* flush, free-scrolling row rather than a paged hero carousel.
|
|
26
|
+
*/
|
|
27
|
+
showPagination?: boolean;
|
|
28
|
+
/** Loop back to the first card after the last. Default: `false`. */
|
|
29
|
+
loop?: boolean;
|
|
30
|
+
/** Called when the active (snapped) card index changes. */
|
|
31
|
+
onIndexChange?: (index: number) => void;
|
|
32
|
+
/** Style override for the outermost container. */
|
|
33
|
+
style?: StyleProp<ViewStyle>;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* `CarouselCardAccounts` — a horizontally scrollable strip of compact
|
|
37
|
+
* `AccountCard`s (the Figma "Carousel / Card Accounts" component).
|
|
38
|
+
*
|
|
39
|
+
* It is a thin, opinionated preset over the shared {@link Carousel} scroll
|
|
40
|
+
* engine — so the snap/scroll/modes-cascade behaviour is **not** duplicated.
|
|
41
|
+
* Its niche is the account-selection strip: fixed-width card slots, flush
|
|
42
|
+
* (no peek) padding, per-card snapping, and no pagination by default.
|
|
43
|
+
*
|
|
44
|
+
* The cards are a real slot: pass any number of `AccountCard` children
|
|
45
|
+
* (typically a list of `connected` cards followed by a single `add` card).
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* <CarouselCardAccounts modes={modes}>
|
|
49
|
+
* <AccountCard title="Personal account" subtitle="**** 5651" imageSource={art} />
|
|
50
|
+
* <AccountCard title="Salary account" subtitle="**** 1180" imageSource={art} />
|
|
51
|
+
* <AccountCard state="add" title="Add a card" onPress={openLinkFlow} />
|
|
52
|
+
* </CarouselCardAccounts>
|
|
53
|
+
*/
|
|
54
|
+
declare function CarouselCardAccounts({ children, modes, itemWidth, gap: gapProp, showPagination, loop, onIndexChange, style, }: CarouselCardAccountsProps): import("react/jsx-runtime").JSX.Element;
|
|
55
|
+
declare const _default: React.MemoExoticComponent<typeof CarouselCardAccounts>;
|
|
56
|
+
export default _default;
|
|
57
|
+
//# sourceMappingURL=CarouselCardAccounts.d.ts.map
|
|
@@ -27,6 +27,14 @@ export type SavingsGoalSummaryItem = {
|
|
|
27
27
|
indicatorColor?: string;
|
|
28
28
|
};
|
|
29
29
|
export type SavingsGoalSummaryProps = {
|
|
30
|
+
/**
|
|
31
|
+
* Optional caption rendered directly above the percentage value
|
|
32
|
+
* (e.g. `"Credit usage"`), matching the Figma `savingsGoalSummary/label`
|
|
33
|
+
* slot. Pass a string for token-styled text, or any `ReactNode` for full
|
|
34
|
+
* control. Omit (the default) to hide it — preserving the original
|
|
35
|
+
* value-only layout for existing callers.
|
|
36
|
+
*/
|
|
37
|
+
label?: React.ReactNode;
|
|
30
38
|
/**
|
|
31
39
|
* Currency symbol (e.g. `'₹'`, `'$'`) prefixed to every legend value.
|
|
32
40
|
* Defaults to `'₹'`. The symbol is rendered as part of the formatted
|
|
@@ -69,6 +77,8 @@ export type SavingsGoalSummaryProps = {
|
|
|
69
77
|
* computed from `current` / `target` and cannot be replaced.
|
|
70
78
|
*/
|
|
71
79
|
titleStyle?: StyleProp<TextStyle>;
|
|
80
|
+
/** Override styles for the `label` caption text (string labels only). */
|
|
81
|
+
labelStyle?: StyleProp<TextStyle>;
|
|
72
82
|
/** Override the inner legend container styles. */
|
|
73
83
|
legendStyle?: StyleProp<ViewStyle>;
|
|
74
84
|
};
|
|
@@ -91,6 +101,6 @@ export type SavingsGoalSummaryProps = {
|
|
|
91
101
|
* @component
|
|
92
102
|
* @param {SavingsGoalSummaryProps} props
|
|
93
103
|
*/
|
|
94
|
-
declare function SavingsGoalSummary({ currency, current, target, children, modes, style, titleStyle, legendStyle, }: SavingsGoalSummaryProps): import("react/jsx-runtime").JSX.Element;
|
|
104
|
+
declare function SavingsGoalSummary({ label, currency, current, target, children, modes, style, titleStyle, labelStyle, legendStyle, }: SavingsGoalSummaryProps): import("react/jsx-runtime").JSX.Element;
|
|
95
105
|
export default SavingsGoalSummary;
|
|
96
106
|
//# sourceMappingURL=SavingsGoalSummary.d.ts.map
|