jfs-components 0.1.8 → 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 +31 -0
- package/lib/commonjs/components/Accordion/Accordion.js +2 -1
- package/lib/commonjs/components/AccordionCheckbox/AccordionCheckbox.js +4 -3
- package/lib/commonjs/components/AccountCard/AccountCard.js +4 -3
- package/lib/commonjs/components/ActionFooter/ActionFooter.js +7 -24
- package/lib/commonjs/components/ActionTile/ActionTile.js +10 -10
- package/lib/commonjs/components/AllocationComparisonChart/AllocationComparisonChart.js +9 -6
- package/lib/commonjs/components/AmountInput/AmountInput.js +3 -3
- package/lib/commonjs/components/AreaLineChart/AreaLineChart.js +13 -9
- 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 +55 -16
- 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/BrandChip/BrandChip.js +3 -3
- package/lib/commonjs/components/Button/Button.js +32 -19
- package/lib/commonjs/components/Card/Card.js +20 -20
- package/lib/commonjs/components/CardAdvisory/CardAdvisory.js +8 -7
- package/lib/commonjs/components/CardBankAccount/CardBankAccount.js +3 -2
- package/lib/commonjs/components/CardCTA/CardCTA.js +215 -45
- 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 +6 -3
- 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 +12 -8
- package/lib/commonjs/components/CircularProgressBarDoted/CircularProgressBarDoted.js +11 -10
- package/lib/commonjs/components/CircularRating/CircularRating.js +5 -4
- package/lib/commonjs/components/ClusterBubble/ClusterBubble.js +3 -2
- package/lib/commonjs/components/CompareTable/CompareTable.js +88 -59
- package/lib/commonjs/components/CoverageBarComparison/CoverageBarComparison.js +3 -2
- 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 +15 -14
- package/lib/commonjs/components/Drawer/Drawer.js +60 -60
- package/lib/commonjs/components/Dropdown/Dropdown.js +25 -25
- package/lib/commonjs/components/DropdownInput/DropdownInput.js +13 -12
- package/lib/commonjs/components/EmptyState/EmptyState.js +14 -14
- package/lib/commonjs/components/ExpandableCheckbox/ExpandableCheckbox.js +2 -1
- 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 +48 -8
- package/lib/commonjs/components/FullscreenModal/FullscreenModal.js +24 -24
- package/lib/commonjs/components/Gauge/Gauge.js +9 -9
- package/lib/commonjs/components/HoldingsCard/HoldingsCard.js +13 -12
- 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 +5 -4
- package/lib/commonjs/components/ListGroup/ListGroup.js +10 -9
- package/lib/commonjs/components/ListItem/ListItem.js +13 -12
- 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 +25 -23
- package/lib/commonjs/components/MessageField/MessageField.js +8 -8
- package/lib/commonjs/components/MetricLegendItem/MetricLegendItem.js +3 -2
- package/lib/commonjs/components/MoneyValue/MoneyValue.js +7 -7
- package/lib/commonjs/components/MonthlyStatusGrid/MonthlyStatusGrid.js +6 -3
- 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/PoweredByLabel/PoweredByLabel.js +3 -2
- package/lib/commonjs/components/ProductMerchandisingCard/ProductMerchandisingCard.js +107 -33
- package/lib/commonjs/components/ProductOverview/ProductOverview.js +4 -3
- package/lib/commonjs/components/ProgressBadge/ProgressBadge.js +7 -7
- package/lib/commonjs/components/ProjectionMarker/ProjectionMarker.js +3 -2
- 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 +27 -26
- package/lib/commonjs/components/Slider/Slider.js +3 -2
- package/lib/commonjs/components/Stack/Stack.js +86 -0
- 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 +20 -11
- package/lib/commonjs/components/SummaryTile/SummaryTile.js +3 -2
- package/lib/commonjs/components/SupportText/SupportText.js +6 -6
- package/lib/commonjs/components/SupportText/SupportTextIcon.js +2 -2
- package/lib/commonjs/components/Table/Table.js +324 -0
- package/lib/commonjs/components/Text/Text.js +15 -2
- package/lib/commonjs/components/TextInput/TextInput.js +23 -15
- package/lib/commonjs/components/TextSegment/TextSegment.js +15 -2
- package/lib/commonjs/components/ThreadHero/ThreadHero.js +21 -22
- package/lib/commonjs/components/Title/Title.js +39 -16
- package/lib/commonjs/components/Toast/Toast.js +18 -17
- 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 +15 -14
- package/lib/commonjs/components/TransactionDetails/TransactionDetails.js +10 -10
- package/lib/commonjs/components/TransactionStatus/TransactionStatus.js +12 -11
- package/lib/commonjs/components/UpiHandle/UpiHandle.js +17 -17
- package/lib/commonjs/components/index.js +58 -0
- package/lib/commonjs/design-tokens/Coin Variables-variables-full.json +1 -1
- package/lib/commonjs/design-tokens/figma-modes.generated.js +51 -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/{components/ProductMerchandisingCard → utils/GlassFill}/GlassFill.js +11 -3
- package/lib/commonjs/{components/ProductMerchandisingCard → utils/GlassFill}/GlassFill.web.js +8 -4
- package/lib/commonjs/utils/index.js +25 -0
- package/lib/commonjs/utils/react-utils.js +118 -0
- package/lib/commonjs/utils/shadow.js +200 -0
- package/lib/commonjs/utils/web-platform-utils.js +59 -0
- package/lib/module/components/Accordion/Accordion.js +3 -2
- package/lib/module/components/AccordionCheckbox/AccordionCheckbox.js +5 -4
- package/lib/module/components/AccountCard/AccountCard.js +5 -4
- package/lib/module/components/ActionFooter/ActionFooter.js +7 -24
- package/lib/module/components/ActionTile/ActionTile.js +10 -10
- package/lib/module/components/AllocationComparisonChart/AllocationComparisonChart.js +10 -7
- package/lib/module/components/AmountInput/AmountInput.js +3 -3
- package/lib/module/components/AreaLineChart/AreaLineChart.js +14 -10
- 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 +57 -18
- 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/BrandChip/BrandChip.js +4 -4
- package/lib/module/components/Button/Button.js +32 -19
- package/lib/module/components/Card/Card.js +20 -20
- package/lib/module/components/CardAdvisory/CardAdvisory.js +9 -8
- package/lib/module/components/CardBankAccount/CardBankAccount.js +4 -3
- package/lib/module/components/CardCTA/CardCTA.js +216 -46
- 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 +6 -3
- 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 +13 -9
- package/lib/module/components/CircularProgressBarDoted/CircularProgressBarDoted.js +12 -11
- package/lib/module/components/CircularRating/CircularRating.js +6 -5
- package/lib/module/components/ClusterBubble/ClusterBubble.js +4 -3
- package/lib/module/components/CompareTable/CompareTable.js +89 -60
- package/lib/module/components/CoverageBarComparison/CoverageBarComparison.js +4 -3
- 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 +16 -15
- package/lib/module/components/Drawer/Drawer.js +60 -60
- package/lib/module/components/Dropdown/Dropdown.js +26 -26
- package/lib/module/components/DropdownInput/DropdownInput.js +14 -13
- package/lib/module/components/EmptyState/EmptyState.js +14 -14
- package/lib/module/components/ExpandableCheckbox/ExpandableCheckbox.js +2 -1
- 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 +51 -11
- package/lib/module/components/FullscreenModal/FullscreenModal.js +24 -24
- package/lib/module/components/Gauge/Gauge.js +9 -9
- package/lib/module/components/HoldingsCard/HoldingsCard.js +14 -13
- 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 +6 -5
- package/lib/module/components/ListGroup/ListGroup.js +11 -10
- package/lib/module/components/ListItem/ListItem.js +14 -13
- 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 +25 -23
- package/lib/module/components/MessageField/MessageField.js +8 -8
- package/lib/module/components/MetricLegendItem/MetricLegendItem.js +4 -3
- package/lib/module/components/MoneyValue/MoneyValue.js +7 -7
- package/lib/module/components/MonthlyStatusGrid/MonthlyStatusGrid.js +7 -4
- 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/PoweredByLabel/PoweredByLabel.js +4 -3
- package/lib/module/components/ProductMerchandisingCard/ProductMerchandisingCard.js +109 -35
- package/lib/module/components/ProductOverview/ProductOverview.js +5 -4
- package/lib/module/components/ProgressBadge/ProgressBadge.js +8 -8
- package/lib/module/components/ProjectionMarker/ProjectionMarker.js +4 -3
- 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 +28 -27
- package/lib/module/components/Slider/Slider.js +4 -3
- package/lib/module/components/Stack/Stack.js +81 -0
- 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 +20 -11
- package/lib/module/components/SummaryTile/SummaryTile.js +4 -3
- package/lib/module/components/SupportText/SupportText.js +6 -6
- package/lib/module/components/SupportText/SupportTextIcon.js +2 -2
- package/lib/module/components/Table/Table.js +315 -0
- package/lib/module/components/Text/Text.js +16 -3
- package/lib/module/components/TextInput/TextInput.js +23 -15
- package/lib/module/components/TextSegment/TextSegment.js +16 -3
- package/lib/module/components/ThreadHero/ThreadHero.js +22 -23
- package/lib/module/components/Title/Title.js +40 -17
- package/lib/module/components/Toast/Toast.js +19 -18
- 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 +16 -15
- package/lib/module/components/TransactionDetails/TransactionDetails.js +10 -10
- package/lib/module/components/TransactionStatus/TransactionStatus.js +13 -12
- package/lib/module/components/UpiHandle/UpiHandle.js +18 -18
- package/lib/module/components/index.js +4 -0
- package/lib/module/design-tokens/Coin Variables-variables-full.json +1 -1
- package/lib/module/design-tokens/figma-modes.generated.js +51 -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/{components/ProductMerchandisingCard → utils/GlassFill}/GlassFill.js +11 -3
- package/lib/module/{components/ProductMerchandisingCard → utils/GlassFill}/GlassFill.web.js +8 -4
- package/lib/module/utils/index.js +2 -1
- package/lib/module/utils/react-utils.js +115 -0
- package/lib/module/utils/shadow.js +194 -0
- package/lib/module/utils/web-platform-utils.js +58 -0
- package/lib/typescript/src/components/Accordion/Accordion.d.ts +7 -1
- package/lib/typescript/src/components/AccordionCheckbox/AccordionCheckbox.d.ts +7 -1
- package/lib/typescript/src/components/AccountCard/AccountCard.d.ts +7 -1
- package/lib/typescript/src/components/AllocationComparisonChart/AllocationComparisonChart.d.ts +7 -1
- package/lib/typescript/src/components/AreaLineChart/AreaLineChart.d.ts +8 -1
- package/lib/typescript/src/components/Badge/Badge.d.ts +32 -2
- package/lib/typescript/src/components/BenefitCard/BenefitCard.d.ts +33 -4
- package/lib/typescript/src/components/BrandChip/BrandChip.d.ts +7 -1
- package/lib/typescript/src/components/Button/Button.d.ts +7 -1
- package/lib/typescript/src/components/CardAdvisory/CardAdvisory.d.ts +7 -1
- package/lib/typescript/src/components/CardBankAccount/CardBankAccount.d.ts +7 -1
- package/lib/typescript/src/components/CardCTA/CardCTA.d.ts +27 -5
- 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/CircularProgressBar/CircularProgressBar.d.ts +7 -1
- package/lib/typescript/src/components/CircularProgressBarDoted/CircularProgressBarDoted.d.ts +7 -1
- package/lib/typescript/src/components/CircularRating/CircularRating.d.ts +7 -1
- package/lib/typescript/src/components/ClusterBubble/ClusterBubble.d.ts +7 -1
- package/lib/typescript/src/components/CompareTable/CompareTable.d.ts +7 -1
- package/lib/typescript/src/components/CoverageBarComparison/CoverageBarComparison.d.ts +7 -1
- package/lib/typescript/src/components/DonutChart/DonutChart.d.ts +7 -1
- package/lib/typescript/src/components/Dropdown/Dropdown.d.ts +7 -1
- package/lib/typescript/src/components/DropdownInput/DropdownInput.d.ts +6 -0
- package/lib/typescript/src/components/ExpandableCheckbox/ExpandableCheckbox.d.ts +7 -1
- package/lib/typescript/src/components/HoldingsCard/HoldingsCard.d.ts +7 -1
- package/lib/typescript/src/components/InstitutionBadge/InstitutionBadge.d.ts +7 -1
- package/lib/typescript/src/components/ListGroup/ListGroup.d.ts +7 -1
- package/lib/typescript/src/components/ListItem/ListItem.d.ts +7 -1
- package/lib/typescript/src/components/MetricLegendItem/MetricLegendItem.d.ts +7 -1
- package/lib/typescript/src/components/MonthlyStatusGrid/MonthlyStatusGrid.d.ts +14 -2
- package/lib/typescript/src/components/PoweredByLabel/PoweredByLabel.d.ts +7 -1
- package/lib/typescript/src/components/ProductMerchandisingCard/ProductMerchandisingCard.d.ts +7 -1
- package/lib/typescript/src/components/ProductOverview/ProductOverview.d.ts +7 -1
- package/lib/typescript/src/components/ProgressBadge/ProgressBadge.d.ts +7 -1
- package/lib/typescript/src/components/ProjectionMarker/ProjectionMarker.d.ts +7 -1
- 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/Section/Section.d.ts +7 -1
- package/lib/typescript/src/components/Slider/Slider.d.ts +6 -0
- package/lib/typescript/src/components/Stack/Stack.d.ts +81 -0
- package/lib/typescript/src/components/SummaryTile/SummaryTile.d.ts +7 -1
- package/lib/typescript/src/components/Table/Table.d.ts +139 -0
- package/lib/typescript/src/components/Text/Text.d.ts +16 -1
- package/lib/typescript/src/components/TextSegment/TextSegment.d.ts +16 -1
- package/lib/typescript/src/components/ThreadHero/ThreadHero.d.ts +7 -1
- package/lib/typescript/src/components/Title/Title.d.ts +17 -1
- package/lib/typescript/src/components/Toast/Toast.d.ts +7 -1
- package/lib/typescript/src/components/TransactionBubble/TransactionBubble.d.ts +7 -1
- package/lib/typescript/src/components/TransactionStatus/TransactionStatus.d.ts +7 -1
- package/lib/typescript/src/components/UpiHandle/UpiHandle.d.ts +7 -1
- package/lib/typescript/src/components/index.d.ts +6 -2
- 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/{components/ProductMerchandisingCard → utils/GlassFill}/GlassFill.d.ts +31 -3
- package/lib/typescript/src/{components/ProductMerchandisingCard → utils/GlassFill}/GlassFill.web.d.ts +18 -2
- package/lib/typescript/src/utils/index.d.ts +2 -0
- package/lib/typescript/src/utils/react-utils.d.ts +76 -0
- package/lib/typescript/src/utils/shadow.d.ts +72 -0
- package/lib/typescript/src/utils/web-platform-utils.d.ts +36 -0
- package/package.json +2 -1
- package/src/components/Accordion/Accordion.tsx +9 -2
- package/src/components/AccordionCheckbox/AccordionCheckbox.tsx +10 -3
- package/src/components/AccountCard/AccountCard.tsx +10 -3
- package/src/components/ActionFooter/ActionFooter.tsx +8 -26
- package/src/components/ActionTile/ActionTile.tsx +10 -10
- package/src/components/AllocationComparisonChart/AllocationComparisonChart.tsx +14 -4
- package/src/components/AmountInput/AmountInput.tsx +3 -3
- package/src/components/AreaLineChart/AreaLineChart.tsx +17 -7
- 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 +86 -17
- 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/BrandChip/BrandChip.tsx +9 -3
- package/src/components/Button/Button.tsx +36 -19
- package/src/components/Card/Card.tsx +20 -20
- package/src/components/CardAdvisory/CardAdvisory.tsx +15 -8
- package/src/components/CardBankAccount/CardBankAccount.tsx +9 -2
- package/src/components/CardCTA/CardCTA.tsx +237 -64
- package/src/components/CardFeedback/CardFeedback.tsx +18 -18
- package/src/components/CardFinancialCondition/CardFinancialCondition.tsx +7 -10
- package/src/components/CardInsight/CardInsight.tsx +8 -4
- 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 +19 -9
- package/src/components/CircularProgressBarDoted/CircularProgressBarDoted.tsx +18 -11
- package/src/components/CircularRating/CircularRating.tsx +12 -5
- package/src/components/ClusterBubble/ClusterBubble.tsx +9 -2
- package/src/components/CompareTable/CompareTable.tsx +114 -66
- package/src/components/CoverageBarComparison/CoverageBarComparison.tsx +9 -2
- package/src/components/DebitCard/DebitCard.tsx +22 -22
- package/src/components/Disclaimer/Disclaimer.tsx +5 -5
- package/src/components/DonutChart/DonutChart.tsx +21 -48
- package/src/components/Drawer/Drawer.tsx +80 -71
- package/src/components/Dropdown/Dropdown.tsx +32 -30
- package/src/components/DropdownInput/DropdownInput.tsx +19 -19
- package/src/components/EmptyState/EmptyState.tsx +14 -14
- package/src/components/ExpandableCheckbox/ExpandableCheckbox.tsx +8 -1
- package/src/components/FilterBar/FilterBar.tsx +2 -2
- package/src/components/Form/Form.tsx +3 -3
- package/src/components/FormField/FormField.tsx +55 -15
- package/src/components/FullscreenModal/FullscreenModal.tsx +24 -24
- package/src/components/Gauge/Gauge.tsx +9 -9
- package/src/components/HoldingsCard/HoldingsCard.tsx +19 -12
- 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 +12 -8
- package/src/components/ListGroup/ListGroup.tsx +17 -10
- package/src/components/ListItem/ListItem.tsx +20 -13
- 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 +23 -23
- package/src/components/MessageField/MessageField.tsx +8 -16
- package/src/components/MetricLegendItem/MetricLegendItem.tsx +9 -2
- package/src/components/MoneyValue/MoneyValue.tsx +7 -7
- package/src/components/MonthlyStatusGrid/MonthlyStatusGrid.tsx +17 -2
- 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/PoweredByLabel/PoweredByLabel.tsx +9 -2
- package/src/components/ProductMerchandisingCard/ProductMerchandisingCard.tsx +104 -37
- package/src/components/ProductOverview/ProductOverview.tsx +10 -3
- package/src/components/ProgressBadge/ProgressBadge.tsx +14 -8
- package/src/components/ProjectionMarker/ProjectionMarker.tsx +9 -2
- 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 +36 -29
- package/src/components/Slider/Slider.tsx +9 -2
- package/src/components/Stack/Stack.tsx +131 -0
- 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 +20 -21
- package/src/components/SummaryTile/SummaryTile.tsx +9 -2
- package/src/components/SupportText/SupportText.tsx +6 -6
- package/src/components/SupportText/SupportTextIcon.tsx +2 -2
- package/src/components/Table/Table.tsx +449 -0
- package/src/components/Text/Text.tsx +28 -3
- package/src/components/TextInput/TextInput.tsx +21 -15
- package/src/components/TextSegment/TextSegment.tsx +27 -2
- package/src/components/ThreadHero/ThreadHero.tsx +27 -20
- package/src/components/Title/Title.tsx +50 -17
- package/src/components/Toast/Toast.tsx +24 -17
- package/src/components/Toggle/Toggle.tsx +5 -10
- package/src/components/Tooltip/Tooltip.tsx +12 -12
- package/src/components/TransactionBubble/TransactionBubble.tsx +22 -15
- package/src/components/TransactionDetails/TransactionDetails.tsx +10 -10
- package/src/components/TransactionStatus/TransactionStatus.tsx +18 -11
- package/src/components/UpiHandle/UpiHandle.tsx +24 -18
- package/src/components/index.ts +25 -2
- package/src/design-tokens/Coin Variables-variables-full.json +1 -1
- package/src/design-tokens/figma-modes.generated.ts +51 -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/{components/ProductMerchandisingCard → utils/GlassFill}/GlassFill.tsx +32 -3
- package/src/{components/ProductMerchandisingCard → utils/GlassFill}/GlassFill.web.tsx +25 -4
- package/src/utils/index.ts +2 -0
- package/src/utils/react-utils.ts +132 -0
- package/src/utils/shadow.ts +219 -0
- package/src/utils/web-platform-utils.ts +68 -0
- package/lib/commonjs/components/MediaCard/GlassFill.js +0 -62
- package/lib/commonjs/components/MediaCard/GlassFill.web.js +0 -48
- package/lib/module/components/MediaCard/GlassFill.js +0 -57
- package/lib/module/components/MediaCard/GlassFill.web.js +0 -43
- package/lib/typescript/src/components/MediaCard/GlassFill.d.ts +0 -47
- package/lib/typescript/src/components/MediaCard/GlassFill.web.d.ts +0 -20
- package/src/components/MediaCard/GlassFill.tsx +0 -89
- package/src/components/MediaCard/GlassFill.web.tsx +0 -53
|
@@ -3,13 +3,13 @@ import {
|
|
|
3
3
|
Pressable,
|
|
4
4
|
View,
|
|
5
5
|
StyleSheet,
|
|
6
|
-
Platform,
|
|
7
6
|
ViewStyle,
|
|
8
7
|
DimensionValue,
|
|
9
8
|
StyleProp,
|
|
10
9
|
} from 'react-native'
|
|
11
10
|
import { getVariableByName } from '../../design-tokens/figma-variables-resolver'
|
|
12
11
|
import { EMPTY_MODES } from '../../utils/react-utils'
|
|
12
|
+
import { boxShadow } from '../../utils/shadow'
|
|
13
13
|
import type { Modes } from '../../design-tokens'
|
|
14
14
|
|
|
15
15
|
// ---------------------------------------------------------------------------
|
|
@@ -61,9 +61,9 @@ export const Radio = forwardRef<View, RadioProps>(function Radio({
|
|
|
61
61
|
const [pressed, setPressed] = useState(false)
|
|
62
62
|
|
|
63
63
|
// ---- Dimensions ----
|
|
64
|
-
const widthStr = getVariableByName('radio/width', modes)
|
|
65
|
-
const heightStr = getVariableByName('radio/height', modes)
|
|
66
|
-
const selectorSizeStr = getVariableByName('radio/selector/size', modes)
|
|
64
|
+
const widthStr = getVariableByName('radio/width', modes)
|
|
65
|
+
const heightStr = getVariableByName('radio/height', modes)
|
|
66
|
+
const selectorSizeStr = getVariableByName('radio/selector/size', modes)
|
|
67
67
|
|
|
68
68
|
const width = parseFloat(widthStr?.toString() || '18')
|
|
69
69
|
const height = parseFloat(heightStr?.toString() || '18')
|
|
@@ -101,7 +101,7 @@ export const Radio = forwardRef<View, RadioProps>(function Radio({
|
|
|
101
101
|
// ---- Colors & Border ----
|
|
102
102
|
|
|
103
103
|
const resolveColor = (path: string, fallback: string) => {
|
|
104
|
-
return getVariableByName(path, modes)
|
|
104
|
+
return getVariableByName(path, modes)
|
|
105
105
|
}
|
|
106
106
|
|
|
107
107
|
// Background Color
|
|
@@ -155,10 +155,9 @@ export const Radio = forwardRef<View, RadioProps>(function Radio({
|
|
|
155
155
|
backgroundColor,
|
|
156
156
|
justifyContent: 'center',
|
|
157
157
|
alignItems: 'center',
|
|
158
|
-
//
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
} : {}),
|
|
158
|
+
// Focus/selected glow ring. Rendered via the unified boxShadow helper
|
|
159
|
+
// so it works on web + RN 0.76+ and degrades gracefully on older RN.
|
|
160
|
+
...(shadowSize > 0 ? boxShadow(`0px 0px 0px ${shadowSize}px ${shadowColor}`) : {}),
|
|
162
161
|
}
|
|
163
162
|
|
|
164
163
|
const selectorStyle: ViewStyle = {
|
|
@@ -83,47 +83,47 @@ export default function RechargeCard({
|
|
|
83
83
|
style,
|
|
84
84
|
}: RechargeCardProps) {
|
|
85
85
|
// Container Tokens (defaults mirror Figma node 2235:937).
|
|
86
|
-
const backgroundColor = getVariableByName('rechargeCard/background', modes)
|
|
87
|
-
const paddingHorizontal = parseInt(getVariableByName('rechargeCard/padding/horizontal', modes)
|
|
88
|
-
const paddingVertical = parseInt(getVariableByName('rechargeCard/padding/vertical', modes)
|
|
89
|
-
const gap = parseInt(getVariableByName('rechargeCard/gap', modes)
|
|
90
|
-
const radius = parseInt(getVariableByName('rechargeCard/radius', modes)
|
|
91
|
-
const minWidth = parseInt(getVariableByName('rechargeCard/minWidth', modes)
|
|
92
|
-
const strokeWidth = parseInt(getVariableByName('rechargeCard/strokeWidth', modes)
|
|
93
|
-
const strokeColor = getVariableByName('rechargeCard/stroke/color', modes)
|
|
86
|
+
const backgroundColor = getVariableByName('rechargeCard/background', modes);
|
|
87
|
+
const paddingHorizontal = parseInt(getVariableByName('rechargeCard/padding/horizontal', modes), 10);
|
|
88
|
+
const paddingVertical = parseInt(getVariableByName('rechargeCard/padding/vertical', modes), 10);
|
|
89
|
+
const gap = parseInt(getVariableByName('rechargeCard/gap', modes), 10);
|
|
90
|
+
const radius = parseInt(getVariableByName('rechargeCard/radius', modes), 10);
|
|
91
|
+
const minWidth = parseInt(getVariableByName('rechargeCard/minWidth', modes), 10);
|
|
92
|
+
const strokeWidth = parseInt(getVariableByName('rechargeCard/strokeWidth', modes), 10);
|
|
93
|
+
const strokeColor = getVariableByName('rechargeCard/stroke/color', modes);
|
|
94
94
|
|
|
95
95
|
// Header Tokens
|
|
96
|
-
const headerGap = parseInt(getVariableByName('rechargeCard/header/gap', modes)
|
|
97
|
-
const titleColor = getVariableByName('rechargeCard/title/color', modes)
|
|
98
|
-
const titleFontSize = parseInt(getVariableByName('rechargeCard/title/fontSize', modes)
|
|
99
|
-
const titleFontFamily = getVariableByName('rechargeCard/title/fontFamily', modes)
|
|
100
|
-
const titleLineHeight = parseInt(getVariableByName('rechargeCard/title/lineHeight', modes)
|
|
101
|
-
const titleFontWeight = getVariableByName('rechargeCard/title/fontWeight', modes)
|
|
96
|
+
const headerGap = parseInt(getVariableByName('rechargeCard/header/gap', modes), 10);
|
|
97
|
+
const titleColor = getVariableByName('rechargeCard/title/color', modes);
|
|
98
|
+
const titleFontSize = parseInt(getVariableByName('rechargeCard/title/fontSize', modes), 10);
|
|
99
|
+
const titleFontFamily = getVariableByName('rechargeCard/title/fontFamily', modes);
|
|
100
|
+
const titleLineHeight = parseInt(getVariableByName('rechargeCard/title/lineHeight', modes), 10);
|
|
101
|
+
const titleFontWeight = getVariableByName('rechargeCard/title/fontWeight', modes);
|
|
102
102
|
|
|
103
103
|
// Specs Tokens
|
|
104
|
-
const specsGap = parseInt(getVariableByName('rechargeCard/specs/gap', modes)
|
|
105
|
-
const specItemGap = parseInt(getVariableByName('rechargeCard/specItem/gap', modes)
|
|
104
|
+
const specsGap = parseInt(getVariableByName('rechargeCard/specs/gap', modes), 10);
|
|
105
|
+
const specItemGap = parseInt(getVariableByName('rechargeCard/specItem/gap', modes), 10);
|
|
106
106
|
|
|
107
107
|
// Spec Label Tokens
|
|
108
|
-
const specLabelColor = getVariableByName('rechargeCard/specItem/label/color', modes)
|
|
109
|
-
const specLabelFontSize = parseInt(getVariableByName('rechargeCard/specItem/label/fontSize', modes)
|
|
110
|
-
const specLabelFontFamily = getVariableByName('rechargeCard/specItem/label/fontFamily', modes)
|
|
111
|
-
const specLabelLineHeight = parseInt(getVariableByName('rechargeCard/specItem/label/lineHeight', modes)
|
|
112
|
-
const specLabelFontWeight = getVariableByName('rechargeCard/specItem/label/fontWeight', modes)
|
|
108
|
+
const specLabelColor = getVariableByName('rechargeCard/specItem/label/color', modes);
|
|
109
|
+
const specLabelFontSize = parseInt(getVariableByName('rechargeCard/specItem/label/fontSize', modes), 10);
|
|
110
|
+
const specLabelFontFamily = getVariableByName('rechargeCard/specItem/label/fontFamily', modes);
|
|
111
|
+
const specLabelLineHeight = parseInt(getVariableByName('rechargeCard/specItem/label/lineHeight', modes), 10);
|
|
112
|
+
const specLabelFontWeight = getVariableByName('rechargeCard/specItem/label/fontWeight', modes);
|
|
113
113
|
|
|
114
114
|
// Spec Value Tokens
|
|
115
|
-
const specValueColor = getVariableByName('rechargeCard/specItem/value/color', modes)
|
|
116
|
-
const specValueFontSize = parseInt(getVariableByName('rechargeCard/specItem/value/fontSize', modes)
|
|
117
|
-
const specValueFontFamily = getVariableByName('rechargeCard/specItem/value/fontFamily', modes)
|
|
118
|
-
const specValueLineHeight = parseInt(getVariableByName('rechargeCard/specItem/value/lineHeight', modes)
|
|
119
|
-
const specValueFontWeight = getVariableByName('rechargeCard/specItem/value/fontWeight', modes)
|
|
115
|
+
const specValueColor = getVariableByName('rechargeCard/specItem/value/color', modes);
|
|
116
|
+
const specValueFontSize = parseInt(getVariableByName('rechargeCard/specItem/value/fontSize', modes), 10);
|
|
117
|
+
const specValueFontFamily = getVariableByName('rechargeCard/specItem/value/fontFamily', modes);
|
|
118
|
+
const specValueLineHeight = parseInt(getVariableByName('rechargeCard/specItem/value/lineHeight', modes), 10);
|
|
119
|
+
const specValueFontWeight = getVariableByName('rechargeCard/specItem/value/fontWeight', modes);
|
|
120
120
|
|
|
121
121
|
// Disclaimer Tokens
|
|
122
|
-
const disclaimerColor = getVariableByName('rechargeCard/disclaimer/color', modes)
|
|
123
|
-
const disclaimerFontSize = parseInt(getVariableByName('rechargeCard/disclaimer/fontSize', modes)
|
|
124
|
-
const disclaimerFontFamily = getVariableByName('rechargeCard/disclaimer/fontFamily', modes)
|
|
125
|
-
const disclaimerLineHeight = parseInt(getVariableByName('rechargeCard/disclaimer/lineHeight', modes)
|
|
126
|
-
const disclaimerFontWeight = getVariableByName('rechargeCard/disclaimer/fontWeight', modes)
|
|
122
|
+
const disclaimerColor = getVariableByName('rechargeCard/disclaimer/color', modes);
|
|
123
|
+
const disclaimerFontSize = parseInt(getVariableByName('rechargeCard/disclaimer/fontSize', modes), 10);
|
|
124
|
+
const disclaimerFontFamily = getVariableByName('rechargeCard/disclaimer/fontFamily', modes);
|
|
125
|
+
const disclaimerLineHeight = parseInt(getVariableByName('rechargeCard/disclaimer/lineHeight', modes), 10);
|
|
126
|
+
const disclaimerFontWeight = getVariableByName('rechargeCard/disclaimer/fontWeight', modes);
|
|
127
127
|
|
|
128
128
|
const resolveFontWeight = (weight: string | number) => typeof weight === 'number' ? weight.toString() : weight;
|
|
129
129
|
|
|
@@ -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
|
|
@@ -14,7 +14,7 @@ import NavArrow from '../NavArrow/NavArrow'
|
|
|
14
14
|
import IconCapsule from '../IconCapsule/IconCapsule'
|
|
15
15
|
import ListItem from '../ListItem/ListItem'
|
|
16
16
|
import { usePressableWebSupport, type WebAccessibilityProps } from '../../utils/web-platform-utils'
|
|
17
|
-
import { EMPTY_MODES, cloneChildrenWithModes, flattenChildren } from '../../utils/react-utils'
|
|
17
|
+
import { EMPTY_MODES, cloneChildrenWithModes, flattenChildren, resolveTruncation } from '../../utils/react-utils'
|
|
18
18
|
import type { Modes } from '../../design-tokens'
|
|
19
19
|
|
|
20
20
|
// Match Button: delay the press visual on iOS so a scroll-cancelled touch
|
|
@@ -366,6 +366,12 @@ type SectionProps = {
|
|
|
366
366
|
* Web-specific accessibility props (only used on web platform)
|
|
367
367
|
*/
|
|
368
368
|
webAccessibilityProps?: WebAccessibilityProps;
|
|
369
|
+
/**
|
|
370
|
+
* When `true`, disables text truncation: the trailing ellipsis (`…`) is never
|
|
371
|
+
* shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
|
|
372
|
+
* lines as it needs even when horizontal space is tight.
|
|
373
|
+
*/
|
|
374
|
+
disableTruncation?: boolean;
|
|
369
375
|
} & React.ComponentProps<typeof View>;
|
|
370
376
|
|
|
371
377
|
/**
|
|
@@ -402,32 +408,32 @@ interface SectionTokens {
|
|
|
402
408
|
}
|
|
403
409
|
|
|
404
410
|
function resolveSectionTokens(modes: Modes): SectionTokens {
|
|
405
|
-
const backgroundColor = getVariableByName('section/background/color', modes)
|
|
406
|
-
const sectionGap = (getVariableByName('section/gap', modes)
|
|
407
|
-
const slotGap = (getVariableByName('slot/gap', modes)
|
|
408
|
-
const paddingHorizontal = getVariableByName('section/padding/horizontal', modes)
|
|
409
|
-
const paddingVertical = getVariableByName('section/padding/vertical', modes)
|
|
410
|
-
const radius = getVariableByName('section/radius', modes)
|
|
411
|
-
|
|
412
|
-
const headerGap = getVariableByName('section/header/gap', modes)
|
|
413
|
-
const headerPaddingHorizontal = getVariableByName('section/header/padding/horizontal', modes)
|
|
414
|
-
const headerPaddingVertical = getVariableByName('section/header/padding/vertical', modes)
|
|
415
|
-
|
|
416
|
-
const titleColor = getVariableByName('section/title/color', modes)
|
|
417
|
-
const titleFontSize = getVariableByName('section/title/fontSize', modes)
|
|
418
|
-
const titleLineHeight = getVariableByName('section/title/lineHeight', modes)
|
|
419
|
-
const titleFontFamily = getVariableByName('section/title/fontFamily', modes)
|
|
420
|
-
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)
|
|
421
427
|
const titleFontWeight =
|
|
422
428
|
typeof titleFontWeightRaw === 'number'
|
|
423
429
|
? titleFontWeightRaw.toString()
|
|
424
430
|
: titleFontWeightRaw
|
|
425
431
|
|
|
426
|
-
const supportTextColor = getVariableByName('section/supportText/color', modes)
|
|
427
|
-
const supportTextFontSize = getVariableByName('section/supportText/fontSize', modes)
|
|
428
|
-
const supportTextLineHeight = getVariableByName('section/supportText/lineHeight', modes)
|
|
429
|
-
const supportTextFontFamily = getVariableByName('section/supportText/fontFamily', modes)
|
|
430
|
-
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)
|
|
431
437
|
const supportTextFontWeight =
|
|
432
438
|
typeof supportTextFontWeightRaw === 'number'
|
|
433
439
|
? supportTextFontWeightRaw.toString()
|
|
@@ -483,6 +489,7 @@ function Section({
|
|
|
483
489
|
accessibilityLabel: _accessibilityLabel,
|
|
484
490
|
accessibilityHint,
|
|
485
491
|
webAccessibilityProps,
|
|
492
|
+
disableTruncation,
|
|
486
493
|
...rest
|
|
487
494
|
}: SectionProps) {
|
|
488
495
|
// Focus and hover are still mirrored in React because they are visible,
|
|
@@ -527,7 +534,7 @@ function Section({
|
|
|
527
534
|
<View style={headerWrapStyle}>
|
|
528
535
|
<Text
|
|
529
536
|
style={tokens.titleStyle}
|
|
530
|
-
|
|
537
|
+
{...resolveTruncation(disableTruncation, 1)}
|
|
531
538
|
accessibilityElementsHidden={true}
|
|
532
539
|
importantForAccessibility="no"
|
|
533
540
|
>
|
|
@@ -540,7 +547,7 @@ function Section({
|
|
|
540
547
|
{showSupportText && (
|
|
541
548
|
<Text
|
|
542
549
|
style={tokens.supportTextStyle}
|
|
543
|
-
|
|
550
|
+
{...resolveTruncation(disableTruncation, 2)}
|
|
544
551
|
accessibilityElementsHidden={true}
|
|
545
552
|
importantForAccessibility="no"
|
|
546
553
|
>
|
|
@@ -758,11 +765,11 @@ function SectionBento({
|
|
|
758
765
|
renderToggle,
|
|
759
766
|
...rest
|
|
760
767
|
}: SectionBentoProps) {
|
|
761
|
-
const backgroundColor = getVariableByName('section/background/color', modes)
|
|
762
|
-
const gap = getVariableByName('section/gap', modes)
|
|
763
|
-
const paddingHorizontal = getVariableByName('section/padding/horizontal', modes)
|
|
764
|
-
const paddingVertical = getVariableByName('section/padding/vertical', modes)
|
|
765
|
-
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)
|
|
766
773
|
|
|
767
774
|
const containerStyle = useMemo<ViewStyle>(
|
|
768
775
|
() => ({
|