jfs-components 0.1.12 → 0.1.17
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 +15 -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 +9 -9
- 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/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/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 +9 -9
- 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/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/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/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 -1
- 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 +9 -9
- 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/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/index.ts +2 -0
- package/src/utils/react-utils.ts +72 -1
- package/src/utils/shadow.ts +219 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React, { useMemo } from 'react'
|
|
2
2
|
import {
|
|
3
3
|
View,
|
|
4
|
+
Text,
|
|
4
5
|
type StyleProp,
|
|
5
6
|
type ViewStyle,
|
|
6
7
|
type TextStyle,
|
|
@@ -8,7 +9,6 @@ import {
|
|
|
8
9
|
import { getVariableByName } from '../../design-tokens/figma-variables-resolver'
|
|
9
10
|
import { EMPTY_MODES, cloneChildrenWithModes } from '../../utils/react-utils'
|
|
10
11
|
import { formatIndianNumber } from '../../utils/number-utils'
|
|
11
|
-
import Title from '../Title/Title'
|
|
12
12
|
import LinearProgress from '../LinearProgress/LinearProgress'
|
|
13
13
|
import MetricLegendItem from '../MetricLegendItem/MetricLegendItem'
|
|
14
14
|
import type { Modes } from '../../design-tokens'
|
|
@@ -40,6 +40,14 @@ export type SavingsGoalSummaryItem = {
|
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
export type SavingsGoalSummaryProps = {
|
|
43
|
+
/**
|
|
44
|
+
* Optional caption rendered directly above the percentage value
|
|
45
|
+
* (e.g. `"Credit usage"`), matching the Figma `savingsGoalSummary/label`
|
|
46
|
+
* slot. Pass a string for token-styled text, or any `ReactNode` for full
|
|
47
|
+
* control. Omit (the default) to hide it — preserving the original
|
|
48
|
+
* value-only layout for existing callers.
|
|
49
|
+
*/
|
|
50
|
+
label?: React.ReactNode
|
|
43
51
|
/**
|
|
44
52
|
* Currency symbol (e.g. `'₹'`, `'$'`) prefixed to every legend value.
|
|
45
53
|
* Defaults to `'₹'`. The symbol is rendered as part of the formatted
|
|
@@ -82,6 +90,8 @@ export type SavingsGoalSummaryProps = {
|
|
|
82
90
|
* computed from `current` / `target` and cannot be replaced.
|
|
83
91
|
*/
|
|
84
92
|
titleStyle?: StyleProp<TextStyle>
|
|
93
|
+
/** Override styles for the `label` caption text (string labels only). */
|
|
94
|
+
labelStyle?: StyleProp<TextStyle>
|
|
85
95
|
/** Override the inner legend container styles. */
|
|
86
96
|
legendStyle?: StyleProp<ViewStyle>
|
|
87
97
|
}
|
|
@@ -122,6 +132,7 @@ const DEFAULT_TARGET: SavingsGoalSummaryItem = {
|
|
|
122
132
|
* @param {SavingsGoalSummaryProps} props
|
|
123
133
|
*/
|
|
124
134
|
function SavingsGoalSummary({
|
|
135
|
+
label,
|
|
125
136
|
currency = '₹',
|
|
126
137
|
current = DEFAULT_CURRENT,
|
|
127
138
|
target = DEFAULT_TARGET,
|
|
@@ -129,6 +140,7 @@ function SavingsGoalSummary({
|
|
|
129
140
|
modes = EMPTY_MODES,
|
|
130
141
|
style,
|
|
131
142
|
titleStyle,
|
|
143
|
+
labelStyle,
|
|
132
144
|
legendStyle,
|
|
133
145
|
}: SavingsGoalSummaryProps) {
|
|
134
146
|
// Merge caller modes on top of the defaults so callers can override
|
|
@@ -182,6 +194,66 @@ function SavingsGoalSummary({
|
|
|
182
194
|
const legendGap =
|
|
183
195
|
(getVariableByName('savingsGoalSummary/legend/gap', mergedModes) as number | null) ?? 16
|
|
184
196
|
|
|
197
|
+
// Percentage value typography — driven by the dedicated
|
|
198
|
+
// `savingsGoalSummary/value/*` tokens (Figma 29 / 900) rather than the
|
|
199
|
+
// generic `Title` tokens, so the value matches the design exactly.
|
|
200
|
+
const valueFontSize =
|
|
201
|
+
(getVariableByName('savingsGoalSummary/value/fontSize', mergedModes) as number | null) ?? 29
|
|
202
|
+
const valueFontFamily =
|
|
203
|
+
(getVariableByName('savingsGoalSummary/value/fontFamily', mergedModes) as string | null) ??
|
|
204
|
+
'JioType Var'
|
|
205
|
+
const valueRawLineHeight =
|
|
206
|
+
(getVariableByName('savingsGoalSummary/value/lineHeight', mergedModes) as number | null) ?? 29
|
|
207
|
+
// The value tokens ship with `lineHeight === fontSize` (29/29); clamp to
|
|
208
|
+
// ~1.2x so descenders never clip on native (same guard `Title` uses).
|
|
209
|
+
const valueLineHeight = Math.max(valueRawLineHeight, Math.ceil(valueFontSize * 1.2))
|
|
210
|
+
const valueFontWeight = String(
|
|
211
|
+
getVariableByName('savingsGoalSummary/value/fontWeight', mergedModes) ?? 900,
|
|
212
|
+
) as TextStyle['fontWeight']
|
|
213
|
+
const valueColor =
|
|
214
|
+
(getVariableByName('savingsGoalSummary/value/color', mergedModes) as string | null) ??
|
|
215
|
+
'#0d0d0f'
|
|
216
|
+
|
|
217
|
+
// Caption ("Credit usage") typography — `savingsGoalSummary/label/*`
|
|
218
|
+
// (Figma 12 / 400). Only rendered when a `label` is supplied.
|
|
219
|
+
const labelFontSize =
|
|
220
|
+
(getVariableByName('savingsGoalSummary/label/fontSize', mergedModes) as number | null) ?? 12
|
|
221
|
+
const labelFontFamily =
|
|
222
|
+
(getVariableByName('savingsGoalSummary/label/fontFamily', mergedModes) as string | null) ??
|
|
223
|
+
'JioType Var'
|
|
224
|
+
const labelLineHeight =
|
|
225
|
+
(getVariableByName('savingsGoalSummary/label/lineHeight', mergedModes) as number | null) ?? 16
|
|
226
|
+
const labelFontWeight = String(
|
|
227
|
+
getVariableByName('savingsGoalSummary/label/fontWeight', mergedModes) ?? 400,
|
|
228
|
+
) as TextStyle['fontWeight']
|
|
229
|
+
const labelColor =
|
|
230
|
+
(getVariableByName('savingsGoalSummary/label/color', mergedModes) as string | null) ??
|
|
231
|
+
'#0d0d0f'
|
|
232
|
+
|
|
233
|
+
const labelNode =
|
|
234
|
+
label == null || label === false ? null : typeof label === 'string' ? (
|
|
235
|
+
<Text
|
|
236
|
+
style={[
|
|
237
|
+
{
|
|
238
|
+
color: labelColor,
|
|
239
|
+
fontFamily: labelFontFamily,
|
|
240
|
+
fontSize: labelFontSize,
|
|
241
|
+
lineHeight: labelLineHeight,
|
|
242
|
+
fontWeight: labelFontWeight,
|
|
243
|
+
width: '100%',
|
|
244
|
+
},
|
|
245
|
+
labelStyle,
|
|
246
|
+
]}
|
|
247
|
+
>
|
|
248
|
+
{label}
|
|
249
|
+
</Text>
|
|
250
|
+
) : (
|
|
251
|
+
(() => {
|
|
252
|
+
const processed = cloneChildrenWithModes(label, mergedModes)
|
|
253
|
+
return processed.length === 1 ? processed[0] : processed
|
|
254
|
+
})()
|
|
255
|
+
)
|
|
256
|
+
|
|
185
257
|
const customLegend = children
|
|
186
258
|
? cloneChildrenWithModes(children, mergedModes)
|
|
187
259
|
: null
|
|
@@ -220,14 +292,32 @@ function SavingsGoalSummary({
|
|
|
220
292
|
},
|
|
221
293
|
style,
|
|
222
294
|
]}
|
|
223
|
-
accessibilityLabel={
|
|
295
|
+
accessibilityLabel={
|
|
296
|
+
typeof label === 'string'
|
|
297
|
+
? `${label}, ${percentageLabel}`
|
|
298
|
+
: `Savings goal progress, ${percentageLabel}`
|
|
299
|
+
}
|
|
224
300
|
>
|
|
225
|
-
<
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
301
|
+
<View style={HEADER_GROUP_STYLE}>
|
|
302
|
+
{labelNode}
|
|
303
|
+
<Text
|
|
304
|
+
style={[
|
|
305
|
+
{
|
|
306
|
+
color: valueColor,
|
|
307
|
+
fontFamily: valueFontFamily,
|
|
308
|
+
fontSize: valueFontSize,
|
|
309
|
+
lineHeight: valueLineHeight,
|
|
310
|
+
fontWeight: valueFontWeight,
|
|
311
|
+
width: '100%',
|
|
312
|
+
},
|
|
313
|
+
titleStyle,
|
|
314
|
+
]}
|
|
315
|
+
accessibilityElementsHidden={true}
|
|
316
|
+
importantForAccessibility="no"
|
|
317
|
+
>
|
|
318
|
+
{percentageLabel}
|
|
319
|
+
</Text>
|
|
320
|
+
</View>
|
|
231
321
|
|
|
232
322
|
<LinearProgress value={resolvedProgress} modes={mergedModes} />
|
|
233
323
|
|
|
@@ -260,11 +350,13 @@ function formatLegendValue(value: number | undefined, currency: string): string
|
|
|
260
350
|
return formatIndianNumber(value, { prefix: currency })
|
|
261
351
|
}
|
|
262
352
|
|
|
263
|
-
//
|
|
264
|
-
//
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
353
|
+
// Groups the optional caption ("Credit usage") tightly above the percentage
|
|
354
|
+
// value. The parent container owns the larger spacing to the bar via `gap`,
|
|
355
|
+
// so this only needs the small label→value gap.
|
|
356
|
+
const HEADER_GROUP_STYLE: ViewStyle = {
|
|
357
|
+
width: '100%',
|
|
358
|
+
gap: 2,
|
|
359
|
+
alignItems: 'flex-start',
|
|
268
360
|
}
|
|
269
361
|
|
|
270
362
|
export default SavingsGoalSummary
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import React, { forwardRef } from 'react'
|
|
2
|
+
import {
|
|
3
|
+
ScrollView,
|
|
4
|
+
type ScrollViewProps,
|
|
5
|
+
type StyleProp,
|
|
6
|
+
type ViewStyle,
|
|
7
|
+
} from 'react-native'
|
|
8
|
+
import { EMPTY_MODES, cloneChildrenWithModes } from '../../utils/react-utils'
|
|
9
|
+
import type { Modes } from '../../design-tokens'
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Axis (or axes) along which the content can be scrolled.
|
|
13
|
+
*
|
|
14
|
+
* - `vertical` (default) — content taller than the viewport scrolls up/down.
|
|
15
|
+
* - `horizontal` — content wider than the viewport scrolls left/right.
|
|
16
|
+
* - `both` — content larger on either axis scrolls in both directions
|
|
17
|
+
* (implemented as a horizontal `ScrollView` nested in a vertical one).
|
|
18
|
+
*/
|
|
19
|
+
export type ScrollDirection = 'vertical' | 'horizontal' | 'both'
|
|
20
|
+
|
|
21
|
+
export interface ScrollAreaProps
|
|
22
|
+
extends Omit<
|
|
23
|
+
ScrollViewProps,
|
|
24
|
+
'horizontal' | 'contentContainerStyle' | 'children'
|
|
25
|
+
> {
|
|
26
|
+
/** Content that may be larger than the viewport. */
|
|
27
|
+
children?: React.ReactNode
|
|
28
|
+
/**
|
|
29
|
+
* Scroll axis. Defaults to `vertical`.
|
|
30
|
+
* @default 'vertical'
|
|
31
|
+
*/
|
|
32
|
+
direction?: ScrollDirection
|
|
33
|
+
/**
|
|
34
|
+
* Whether to show the native scroll indicator (scrollbar). Mirrors the Figma
|
|
35
|
+
* design, which has no visible scrollbar, so this defaults to `false`.
|
|
36
|
+
* @default false
|
|
37
|
+
*/
|
|
38
|
+
showScrollIndicator?: boolean
|
|
39
|
+
/**
|
|
40
|
+
* Padding applied to all sides of the scrollable content. Individual sides
|
|
41
|
+
* (`paddingHorizontal`, `paddingTop`, …) take precedence when provided.
|
|
42
|
+
* @default 0
|
|
43
|
+
*/
|
|
44
|
+
padding?: number
|
|
45
|
+
/** Left + right padding of the scrollable content. */
|
|
46
|
+
paddingHorizontal?: number
|
|
47
|
+
/** Top + bottom padding of the scrollable content. */
|
|
48
|
+
paddingVertical?: number
|
|
49
|
+
/** Top padding of the scrollable content. */
|
|
50
|
+
paddingTop?: number
|
|
51
|
+
/** Right padding of the scrollable content. */
|
|
52
|
+
paddingRight?: number
|
|
53
|
+
/** Bottom padding of the scrollable content. */
|
|
54
|
+
paddingBottom?: number
|
|
55
|
+
/** Left padding of the scrollable content. */
|
|
56
|
+
paddingLeft?: number
|
|
57
|
+
/**
|
|
58
|
+
* Style for the viewport (the visible, clipping window). Constrain the
|
|
59
|
+
* scroll area's size here, e.g. `{ height: 240 }` or `{ flex: 1 }`. The
|
|
60
|
+
* component intentionally has no background of its own.
|
|
61
|
+
*/
|
|
62
|
+
style?: StyleProp<ViewStyle>
|
|
63
|
+
/** Style for the scrollable content wrapper (sits inside the viewport). */
|
|
64
|
+
contentContainerStyle?: StyleProp<ViewStyle>
|
|
65
|
+
/** Modes object for design-token resolution, cascaded to all children. */
|
|
66
|
+
modes?: Modes
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Build a padding style fragment, letting the more specific props win over the
|
|
71
|
+
* broader ones (`paddingTop` > `paddingVertical` > `padding`). Only defined
|
|
72
|
+
* values are emitted so consumer `contentContainerStyle` overrides survive.
|
|
73
|
+
*/
|
|
74
|
+
function resolvePadding({
|
|
75
|
+
padding,
|
|
76
|
+
paddingHorizontal,
|
|
77
|
+
paddingVertical,
|
|
78
|
+
paddingTop,
|
|
79
|
+
paddingRight,
|
|
80
|
+
paddingBottom,
|
|
81
|
+
paddingLeft,
|
|
82
|
+
}: Pick<
|
|
83
|
+
ScrollAreaProps,
|
|
84
|
+
| 'padding'
|
|
85
|
+
| 'paddingHorizontal'
|
|
86
|
+
| 'paddingVertical'
|
|
87
|
+
| 'paddingTop'
|
|
88
|
+
| 'paddingRight'
|
|
89
|
+
| 'paddingBottom'
|
|
90
|
+
| 'paddingLeft'
|
|
91
|
+
>): ViewStyle {
|
|
92
|
+
const top = paddingTop ?? paddingVertical ?? padding
|
|
93
|
+
const right = paddingRight ?? paddingHorizontal ?? padding
|
|
94
|
+
const bottom = paddingBottom ?? paddingVertical ?? padding
|
|
95
|
+
const left = paddingLeft ?? paddingHorizontal ?? padding
|
|
96
|
+
|
|
97
|
+
const style: ViewStyle = {}
|
|
98
|
+
if (top != null) style.paddingTop = top
|
|
99
|
+
if (right != null) style.paddingRight = right
|
|
100
|
+
if (bottom != null) style.paddingBottom = bottom
|
|
101
|
+
if (left != null) style.paddingLeft = left
|
|
102
|
+
return style
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* ScrollArea — a transparent, size-constrained viewport that makes content
|
|
107
|
+
* larger than itself smoothly scrollable (Figma node 6319:46886).
|
|
108
|
+
*
|
|
109
|
+
* It has no background of its own; constrain its size through `style`
|
|
110
|
+
* (`height`, `maxHeight`, or `flex`) and drop any over-sized content inside.
|
|
111
|
+
*
|
|
112
|
+
* @example
|
|
113
|
+
* // Vertical (default): a tall column inside a fixed-height window.
|
|
114
|
+
* <ScrollArea style={{ height: 240 }}>
|
|
115
|
+
* <LongContent />
|
|
116
|
+
* </ScrollArea>
|
|
117
|
+
*
|
|
118
|
+
* @example
|
|
119
|
+
* // Horizontal: a wide row of cards inside a full-width window.
|
|
120
|
+
* <ScrollArea direction="horizontal">
|
|
121
|
+
* <Card /> <Card /> <Card />
|
|
122
|
+
* </ScrollArea>
|
|
123
|
+
*/
|
|
124
|
+
export const ScrollArea = forwardRef<ScrollView, ScrollAreaProps>(
|
|
125
|
+
function ScrollArea(
|
|
126
|
+
{
|
|
127
|
+
children,
|
|
128
|
+
direction = 'vertical',
|
|
129
|
+
showScrollIndicator = false,
|
|
130
|
+
padding,
|
|
131
|
+
paddingHorizontal,
|
|
132
|
+
paddingVertical,
|
|
133
|
+
paddingTop,
|
|
134
|
+
paddingRight,
|
|
135
|
+
paddingBottom,
|
|
136
|
+
paddingLeft,
|
|
137
|
+
style,
|
|
138
|
+
contentContainerStyle,
|
|
139
|
+
modes = EMPTY_MODES,
|
|
140
|
+
scrollEventThrottle = 16,
|
|
141
|
+
...rest
|
|
142
|
+
},
|
|
143
|
+
ref,
|
|
144
|
+
) {
|
|
145
|
+
const paddingStyle = resolvePadding({
|
|
146
|
+
padding,
|
|
147
|
+
paddingHorizontal,
|
|
148
|
+
paddingVertical,
|
|
149
|
+
paddingTop,
|
|
150
|
+
paddingRight,
|
|
151
|
+
paddingBottom,
|
|
152
|
+
paddingLeft,
|
|
153
|
+
})
|
|
154
|
+
|
|
155
|
+
// Cascade modes into every child so slotted tokens resolve correctly.
|
|
156
|
+
const content = cloneChildrenWithModes(children, modes)
|
|
157
|
+
|
|
158
|
+
if (direction === 'both') {
|
|
159
|
+
// Outer vertical scroll, inner horizontal scroll. Padding lives on the
|
|
160
|
+
// inner content container so it scrolls with the content on both axes.
|
|
161
|
+
return (
|
|
162
|
+
<ScrollView
|
|
163
|
+
ref={ref}
|
|
164
|
+
style={style}
|
|
165
|
+
showsVerticalScrollIndicator={showScrollIndicator}
|
|
166
|
+
scrollEventThrottle={scrollEventThrottle}
|
|
167
|
+
{...rest}
|
|
168
|
+
>
|
|
169
|
+
<ScrollView
|
|
170
|
+
horizontal
|
|
171
|
+
showsHorizontalScrollIndicator={showScrollIndicator}
|
|
172
|
+
scrollEventThrottle={scrollEventThrottle}
|
|
173
|
+
contentContainerStyle={[paddingStyle, contentContainerStyle]}
|
|
174
|
+
>
|
|
175
|
+
{content}
|
|
176
|
+
</ScrollView>
|
|
177
|
+
</ScrollView>
|
|
178
|
+
)
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
const isHorizontal = direction === 'horizontal'
|
|
182
|
+
|
|
183
|
+
return (
|
|
184
|
+
<ScrollView
|
|
185
|
+
ref={ref}
|
|
186
|
+
horizontal={isHorizontal}
|
|
187
|
+
style={style}
|
|
188
|
+
showsVerticalScrollIndicator={isHorizontal ? undefined : showScrollIndicator}
|
|
189
|
+
showsHorizontalScrollIndicator={isHorizontal ? showScrollIndicator : undefined}
|
|
190
|
+
scrollEventThrottle={scrollEventThrottle}
|
|
191
|
+
contentContainerStyle={[paddingStyle, contentContainerStyle]}
|
|
192
|
+
{...rest}
|
|
193
|
+
>
|
|
194
|
+
{content}
|
|
195
|
+
</ScrollView>
|
|
196
|
+
)
|
|
197
|
+
},
|
|
198
|
+
)
|
|
199
|
+
|
|
200
|
+
export default ScrollArea
|
|
@@ -408,32 +408,32 @@ interface SectionTokens {
|
|
|
408
408
|
}
|
|
409
409
|
|
|
410
410
|
function resolveSectionTokens(modes: Modes): SectionTokens {
|
|
411
|
-
const backgroundColor = getVariableByName('section/background/color', modes)
|
|
412
|
-
const sectionGap = (getVariableByName('section/gap', modes)
|
|
413
|
-
const slotGap = (getVariableByName('slot/gap', modes)
|
|
414
|
-
const paddingHorizontal = getVariableByName('section/padding/horizontal', modes)
|
|
415
|
-
const paddingVertical = getVariableByName('section/padding/vertical', modes)
|
|
416
|
-
const radius = getVariableByName('section/radius', modes)
|
|
417
|
-
|
|
418
|
-
const headerGap = getVariableByName('section/header/gap', modes)
|
|
419
|
-
const headerPaddingHorizontal = getVariableByName('section/header/padding/horizontal', modes)
|
|
420
|
-
const headerPaddingVertical = getVariableByName('section/header/padding/vertical', modes)
|
|
421
|
-
|
|
422
|
-
const titleColor = getVariableByName('section/title/color', modes)
|
|
423
|
-
const titleFontSize = getVariableByName('section/title/fontSize', modes)
|
|
424
|
-
const titleLineHeight = getVariableByName('section/title/lineHeight', modes)
|
|
425
|
-
const titleFontFamily = getVariableByName('section/title/fontFamily', modes)
|
|
426
|
-
const titleFontWeightRaw = getVariableByName('section/title/fontWeight', modes)
|
|
411
|
+
const backgroundColor = getVariableByName('section/background/color', modes)
|
|
412
|
+
const sectionGap = (getVariableByName('section/gap', modes)) as number
|
|
413
|
+
const slotGap = (getVariableByName('slot/gap', modes)) as number
|
|
414
|
+
const paddingHorizontal = getVariableByName('section/padding/horizontal', modes)
|
|
415
|
+
const paddingVertical = getVariableByName('section/padding/vertical', modes)
|
|
416
|
+
const radius = getVariableByName('section/radius', modes)
|
|
417
|
+
|
|
418
|
+
const headerGap = getVariableByName('section/header/gap', modes)
|
|
419
|
+
const headerPaddingHorizontal = getVariableByName('section/header/padding/horizontal', modes)
|
|
420
|
+
const headerPaddingVertical = getVariableByName('section/header/padding/vertical', modes)
|
|
421
|
+
|
|
422
|
+
const titleColor = getVariableByName('section/title/color', modes)
|
|
423
|
+
const titleFontSize = getVariableByName('section/title/fontSize', modes)
|
|
424
|
+
const titleLineHeight = getVariableByName('section/title/lineHeight', modes)
|
|
425
|
+
const titleFontFamily = getVariableByName('section/title/fontFamily', modes)
|
|
426
|
+
const titleFontWeightRaw = getVariableByName('section/title/fontWeight', modes)
|
|
427
427
|
const titleFontWeight =
|
|
428
428
|
typeof titleFontWeightRaw === 'number'
|
|
429
429
|
? titleFontWeightRaw.toString()
|
|
430
430
|
: titleFontWeightRaw
|
|
431
431
|
|
|
432
|
-
const supportTextColor = getVariableByName('section/supportText/color', modes)
|
|
433
|
-
const supportTextFontSize = getVariableByName('section/supportText/fontSize', modes)
|
|
434
|
-
const supportTextLineHeight = getVariableByName('section/supportText/lineHeight', modes)
|
|
435
|
-
const supportTextFontFamily = getVariableByName('section/supportText/fontFamily', modes)
|
|
436
|
-
const supportTextFontWeightRaw = getVariableByName('section/supportText/fontWeight', modes)
|
|
432
|
+
const supportTextColor = getVariableByName('section/supportText/color', modes)
|
|
433
|
+
const supportTextFontSize = getVariableByName('section/supportText/fontSize', modes)
|
|
434
|
+
const supportTextLineHeight = getVariableByName('section/supportText/lineHeight', modes)
|
|
435
|
+
const supportTextFontFamily = getVariableByName('section/supportText/fontFamily', modes)
|
|
436
|
+
const supportTextFontWeightRaw = getVariableByName('section/supportText/fontWeight', modes)
|
|
437
437
|
const supportTextFontWeight =
|
|
438
438
|
typeof supportTextFontWeightRaw === 'number'
|
|
439
439
|
? supportTextFontWeightRaw.toString()
|
|
@@ -765,11 +765,11 @@ function SectionBento({
|
|
|
765
765
|
renderToggle,
|
|
766
766
|
...rest
|
|
767
767
|
}: SectionBentoProps) {
|
|
768
|
-
const backgroundColor = getVariableByName('section/background/color', modes)
|
|
769
|
-
const gap = getVariableByName('section/gap', modes)
|
|
770
|
-
const paddingHorizontal = getVariableByName('section/padding/horizontal', modes)
|
|
771
|
-
const paddingVertical = getVariableByName('section/padding/vertical', modes)
|
|
772
|
-
const radius = getVariableByName('section/radius', modes)
|
|
768
|
+
const backgroundColor = getVariableByName('section/background/color', modes)
|
|
769
|
+
const gap = getVariableByName('section/gap', modes)
|
|
770
|
+
const paddingHorizontal = getVariableByName('section/padding/horizontal', modes)
|
|
771
|
+
const paddingVertical = getVariableByName('section/padding/vertical', modes)
|
|
772
|
+
const radius = getVariableByName('section/radius', modes)
|
|
773
773
|
|
|
774
774
|
const containerStyle = useMemo<ViewStyle>(
|
|
775
775
|
() => ({
|
|
@@ -66,28 +66,28 @@ export default function StatusHero({
|
|
|
66
66
|
const modes = { ...globalModes, ...propModes }
|
|
67
67
|
|
|
68
68
|
// Container
|
|
69
|
-
const gap = Number(getVariableByName('statusHero/gap', modes))
|
|
70
|
-
const padding = Number(getVariableByName('statusHero/padding', modes))
|
|
69
|
+
const gap = Number(getVariableByName('statusHero/gap', modes))
|
|
70
|
+
const padding = Number(getVariableByName('statusHero/padding', modes))
|
|
71
71
|
|
|
72
72
|
// Media slot wrap (gap between icon and money value in default slot)
|
|
73
|
-
const slotWrapGap = Number(getVariableByName('statusHero/slotWrap/gap', modes))
|
|
73
|
+
const slotWrapGap = Number(getVariableByName('statusHero/slotWrap/gap', modes))
|
|
74
74
|
|
|
75
75
|
// Content wrap
|
|
76
|
-
const contentWrapGap = Number(getVariableByName('statusHero/contentWrap/gap', modes))
|
|
76
|
+
const contentWrapGap = Number(getVariableByName('statusHero/contentWrap/gap', modes))
|
|
77
77
|
|
|
78
78
|
// Title
|
|
79
|
-
const titleColor = getVariableByName('statusHero/title/foreground', modes)
|
|
80
|
-
const titleFontSize = Number(getVariableByName('statusHero/title/fontSize', modes))
|
|
81
|
-
const titleFontFamily = getVariableByName('statusHero/title/fontFamily', modes)
|
|
82
|
-
const titleLineHeight = Number(getVariableByName('statusHero/title/lineHeight', modes))
|
|
83
|
-
const titleFontWeight = getVariableByName('statusHero/title/fontWeight', modes)
|
|
79
|
+
const titleColor = getVariableByName('statusHero/title/foreground', modes)
|
|
80
|
+
const titleFontSize = Number(getVariableByName('statusHero/title/fontSize', modes))
|
|
81
|
+
const titleFontFamily = getVariableByName('statusHero/title/fontFamily', modes)
|
|
82
|
+
const titleLineHeight = Number(getVariableByName('statusHero/title/lineHeight', modes))
|
|
83
|
+
const titleFontWeight = getVariableByName('statusHero/title/fontWeight', modes)
|
|
84
84
|
|
|
85
85
|
// Body
|
|
86
|
-
const bodyColor = getVariableByName('statusHero/body/foreground', modes)
|
|
87
|
-
const bodyFontSize = Number(getVariableByName('statusHero/body/fontSize', modes))
|
|
88
|
-
const bodyFontFamily = getVariableByName('statusHero/body/fontFamily', modes)
|
|
89
|
-
const bodyLineHeight = Number(getVariableByName('statusHero/body/lineHeight', modes))
|
|
90
|
-
const bodyFontWeight = getVariableByName('statusHero/body/fontWeight', modes)
|
|
86
|
+
const bodyColor = getVariableByName('statusHero/body/foreground', modes)
|
|
87
|
+
const bodyFontSize = Number(getVariableByName('statusHero/body/fontSize', modes))
|
|
88
|
+
const bodyFontFamily = getVariableByName('statusHero/body/fontFamily', modes)
|
|
89
|
+
const bodyLineHeight = Number(getVariableByName('statusHero/body/lineHeight', modes))
|
|
90
|
+
const bodyFontWeight = getVariableByName('statusHero/body/fontWeight', modes)
|
|
91
91
|
|
|
92
92
|
const containerStyle: ViewStyle = {
|
|
93
93
|
flexDirection: 'column',
|
|
@@ -47,42 +47,40 @@ export function Step({
|
|
|
47
47
|
status = 'number',
|
|
48
48
|
}: StepProps) {
|
|
49
49
|
const minHeight =
|
|
50
|
-
Number(getVariableByName('steperItem/minHeight', modes) as unknown)
|
|
50
|
+
Number(getVariableByName('steperItem/minHeight', modes) as unknown)
|
|
51
51
|
const gap =
|
|
52
|
-
Number(getVariableByName('steperItem/gap', modes) as unknown)
|
|
52
|
+
Number(getVariableByName('steperItem/gap', modes) as unknown)
|
|
53
53
|
|
|
54
54
|
const indicatorSize =
|
|
55
|
-
Number(getVariableByName('stepIndicator/size', modes) as unknown)
|
|
55
|
+
Number(getVariableByName('stepIndicator/size', modes) as unknown)
|
|
56
56
|
const indicatorRadius =
|
|
57
|
-
Number(getVariableByName('stepIndicator/radius', modes) as unknown)
|
|
57
|
+
Number(getVariableByName('stepIndicator/radius', modes) as unknown)
|
|
58
58
|
const indicatorBg =
|
|
59
|
-
(getVariableByName('stepIndicator/background', modes) as string)
|
|
60
|
-
'#5d00b5'
|
|
59
|
+
(getVariableByName('stepIndicator/background', modes) as string)
|
|
61
60
|
const indicatorBorderColor =
|
|
62
|
-
(getVariableByName('stepIndicator/border/color', modes) as string)
|
|
63
|
-
'#5d00b5'
|
|
61
|
+
(getVariableByName('stepIndicator/border/color', modes) as string)
|
|
64
62
|
const indicatorBorderSize =
|
|
65
|
-
Number(getVariableByName('stepIndicator/border/size', modes) as unknown)
|
|
63
|
+
Number(getVariableByName('stepIndicator/border/size', modes) as unknown)
|
|
66
64
|
const iconColor =
|
|
67
|
-
(getVariableByName('stepIndicator/icon/color', modes) as string)
|
|
65
|
+
(getVariableByName('stepIndicator/icon/color', modes) as string)
|
|
68
66
|
const stepStatusSize =
|
|
69
|
-
Number(getVariableByName('stepStatus/size', modes) as unknown)
|
|
67
|
+
Number(getVariableByName('stepStatus/size', modes) as unknown)
|
|
70
68
|
|
|
71
69
|
const labelFontSize =
|
|
72
|
-
Number(getVariableByName('stepIndicator/label/fontSize', modes) as unknown)
|
|
70
|
+
Number(getVariableByName('stepIndicator/label/fontSize', modes) as unknown)
|
|
73
71
|
const labelFontFamily =
|
|
74
|
-
(getVariableByName('stepIndicator/label/fontFamily', modes) as string)
|
|
72
|
+
(getVariableByName('stepIndicator/label/fontFamily', modes) as string)
|
|
75
73
|
const labelLineHeight =
|
|
76
|
-
Number(getVariableByName('stepIndicator/label/lineHeight', modes) as unknown)
|
|
74
|
+
Number(getVariableByName('stepIndicator/label/lineHeight', modes) as unknown)
|
|
77
75
|
const labelFontWeight =
|
|
78
|
-
(getVariableByName('stepIndicator/label/fontWeight', modes) as string)
|
|
76
|
+
(getVariableByName('stepIndicator/label/fontWeight', modes) as string)
|
|
79
77
|
|
|
80
78
|
const lineSize =
|
|
81
|
-
Number(getVariableByName('steperItem/lineSize', modes) as unknown)
|
|
79
|
+
Number(getVariableByName('steperItem/lineSize', modes) as unknown)
|
|
82
80
|
const lineColor =
|
|
83
|
-
(getVariableByName('steperItem/line', modes) as string)
|
|
81
|
+
(getVariableByName('steperItem/line', modes) as string)
|
|
84
82
|
const badgeWrapGap =
|
|
85
|
-
Number(getVariableByName('steperItem/badgeWrap/gap', modes) as unknown)
|
|
83
|
+
Number(getVariableByName('steperItem/badgeWrap/gap', modes) as unknown)
|
|
86
84
|
|
|
87
85
|
const containerStyle: ViewStyle = {
|
|
88
86
|
flexDirection: 'row',
|
|
@@ -24,17 +24,15 @@ export function StepLabel({
|
|
|
24
24
|
style,
|
|
25
25
|
}: StepLabelProps) {
|
|
26
26
|
const titleColor =
|
|
27
|
-
(getVariableByName('steperItem/title/color', modes) as string)
|
|
27
|
+
(getVariableByName('steperItem/title/color', modes) as string)
|
|
28
28
|
const titleFontSize =
|
|
29
|
-
Number(getVariableByName('steperItem/title/fontSize', modes) as unknown)
|
|
29
|
+
Number(getVariableByName('steperItem/title/fontSize', modes) as unknown)
|
|
30
30
|
const titleFontFamily =
|
|
31
|
-
(getVariableByName('steperItem/title/fontFamily', modes) as string)
|
|
32
|
-
undefined
|
|
31
|
+
(getVariableByName('steperItem/title/fontFamily', modes) as string)
|
|
33
32
|
const titleLineHeight =
|
|
34
|
-
Number(getVariableByName('steperItem/title/lineHeight', modes) as unknown)
|
|
35
|
-
18
|
|
33
|
+
Number(getVariableByName('steperItem/title/lineHeight', modes) as unknown)
|
|
36
34
|
const titleFontWeight =
|
|
37
|
-
(getVariableByName('steperItem/title/fontWeight', modes) as string)
|
|
35
|
+
(getVariableByName('steperItem/title/fontWeight', modes) as string)
|
|
38
36
|
|
|
39
37
|
// The Subtitle (supportingText) and Meta both default to the "Neutral"
|
|
40
38
|
// AppearanceBrand. A caller-supplied `AppearanceBrand` still wins (it is
|
|
@@ -44,40 +42,31 @@ export function StepLabel({
|
|
|
44
42
|
const metaModes = { AppearanceBrand: 'Neutral', ...modes }
|
|
45
43
|
|
|
46
44
|
const subtitleColor =
|
|
47
|
-
(getVariableByName('steperItem/subtitle/color', subtitleModes) as string)
|
|
48
|
-
'#3d4047'
|
|
45
|
+
(getVariableByName('steperItem/subtitle/color', subtitleModes) as string)
|
|
49
46
|
const subtitleFontSize =
|
|
50
|
-
Number(
|
|
51
|
-
getVariableByName('steperItem/subtitle/fontSize', subtitleModes) as unknown
|
|
52
|
-
) || 12
|
|
47
|
+
Number(getVariableByName('steperItem/subtitle/fontSize', subtitleModes) as unknown)
|
|
53
48
|
const subtitleFontFamily =
|
|
54
|
-
(getVariableByName('steperItem/subtitle/fontFamily', subtitleModes) as string)
|
|
55
|
-
undefined
|
|
49
|
+
(getVariableByName('steperItem/subtitle/fontFamily', subtitleModes) as string)
|
|
56
50
|
const subtitleLineHeight =
|
|
57
|
-
Number(
|
|
58
|
-
getVariableByName('steperItem/subtitle/lineHeight', subtitleModes) as unknown
|
|
59
|
-
) || 16
|
|
51
|
+
Number(getVariableByName('steperItem/subtitle/lineHeight', subtitleModes) as unknown)
|
|
60
52
|
const subtitleFontWeight =
|
|
61
|
-
(getVariableByName('steperItem/subtitle/fontWeight', subtitleModes) as string)
|
|
62
|
-
'400'
|
|
53
|
+
(getVariableByName('steperItem/subtitle/fontWeight', subtitleModes) as string)
|
|
63
54
|
|
|
64
55
|
const metaColor =
|
|
65
|
-
(getVariableByName('steperItem/meta/color', metaModes) as string)
|
|
56
|
+
(getVariableByName('steperItem/meta/color', metaModes) as string)
|
|
66
57
|
const metaFontSize =
|
|
67
|
-
Number(getVariableByName('steperItem/meta/fontSize', metaModes) as unknown)
|
|
58
|
+
Number(getVariableByName('steperItem/meta/fontSize', metaModes) as unknown)
|
|
68
59
|
// The Figma variable is authored as "fontFamily Copy" (with a space + suffix).
|
|
69
60
|
// Match the literal Figma name to avoid a missing-variable warning.
|
|
70
61
|
const metaFontFamily =
|
|
71
|
-
(getVariableByName('steperItem/meta/fontFamily Copy', metaModes) as string)
|
|
72
|
-
undefined
|
|
62
|
+
(getVariableByName('steperItem/meta/fontFamily Copy', metaModes) as string)
|
|
73
63
|
const metaLineHeight =
|
|
74
|
-
Number(getVariableByName('steperItem/meta/lineHeight', metaModes) as unknown)
|
|
75
|
-
12
|
|
64
|
+
Number(getVariableByName('steperItem/meta/lineHeight', metaModes) as unknown)
|
|
76
65
|
const metaFontWeight =
|
|
77
|
-
(getVariableByName('steperItem/meta/fontWeight', metaModes) as string)
|
|
66
|
+
(getVariableByName('steperItem/meta/fontWeight', metaModes) as string)
|
|
78
67
|
|
|
79
68
|
const textGap =
|
|
80
|
-
Number(getVariableByName('steperItem/textWrap/gap', modes) as unknown)
|
|
69
|
+
Number(getVariableByName('steperItem/textWrap/gap', modes) as unknown)
|
|
81
70
|
|
|
82
71
|
const titleStyle: TextStyle = {
|
|
83
72
|
color: titleColor,
|
|
@@ -22,11 +22,10 @@ export default function Stepper({
|
|
|
22
22
|
style,
|
|
23
23
|
}: StepperProps) {
|
|
24
24
|
const paddingHorizontal =
|
|
25
|
-
Number(getVariableByName('stepper/padding/horizontal', modes) as unknown)
|
|
26
|
-
8
|
|
25
|
+
Number(getVariableByName('stepper/padding/horizontal', modes) as unknown)
|
|
27
26
|
const paddingVertical =
|
|
28
|
-
Number(getVariableByName('stepper/padding/vertical', modes) as unknown)
|
|
29
|
-
const gap = Number(getVariableByName('stepper/gap', modes) as unknown)
|
|
27
|
+
Number(getVariableByName('stepper/padding/vertical', modes) as unknown)
|
|
28
|
+
const gap = Number(getVariableByName('stepper/gap', modes) as unknown)
|
|
30
29
|
|
|
31
30
|
const containerStyle: ViewStyle = {
|
|
32
31
|
paddingHorizontal,
|