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
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react'
|
|
2
|
-
import { View, Text, type ViewStyle, type TextStyle, type StyleProp } from 'react-native'
|
|
2
|
+
import { View, Text, type ViewStyle, type TextStyle, type StyleProp, type ImageSourcePropType } from 'react-native'
|
|
3
3
|
import { findVariablesByPattern, getVariableByName } from '../../design-tokens/figma-variables-resolver'
|
|
4
4
|
import { useTokens } from '../../design-tokens/JFSThemeProvider'
|
|
5
5
|
import { cloneChildrenWithModes, EMPTY_MODES } from '../../utils/react-utils'
|
|
@@ -8,12 +8,24 @@ import Button from '../Button/Button'
|
|
|
8
8
|
import Badge from '../Badge/Badge'
|
|
9
9
|
import ButtonGroup from '../ButtonGroup/ButtonGroup'
|
|
10
10
|
import IconButton from '../IconButton/IconButton'
|
|
11
|
+
import Avatar from '../Avatar/Avatar'
|
|
11
12
|
import type { Modes } from '../../design-tokens'
|
|
12
13
|
|
|
13
|
-
export type CardCTAType = 'cta' | 'rating'
|
|
14
|
+
export type CardCTAType = 'cta' | 'rating' | 'sip'
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Accepted `type` values. The canonical (and historical) values are lowercase
|
|
18
|
+
* (`'cta' | 'rating' | 'sip'`). The Figma variant names are PascalCase
|
|
19
|
+
* (`'CTA' | 'Rating' | 'Sip'`) — we accept those too and normalize internally
|
|
20
|
+
* so callers can pass either casing without a breaking change.
|
|
21
|
+
*/
|
|
22
|
+
export type CardCTATypeInput = CardCTAType | 'CTA' | 'Rating' | 'Sip'
|
|
14
23
|
|
|
15
24
|
const optionalTokenAvailability = new Map<string, boolean>()
|
|
16
25
|
|
|
26
|
+
const toWeight = (w: number | string): TextStyle['fontWeight'] =>
|
|
27
|
+
(typeof w === 'number' ? `${w}` : w) as TextStyle['fontWeight']
|
|
28
|
+
|
|
17
29
|
function getOptionalVariableByName<T>(name: string, modes: Modes, fallback: T): T {
|
|
18
30
|
let isAvailable = optionalTokenAvailability.get(name)
|
|
19
31
|
|
|
@@ -30,8 +42,13 @@ function getOptionalVariableByName<T>(name: string, modes: Modes, fallback: T):
|
|
|
30
42
|
}
|
|
31
43
|
|
|
32
44
|
export type CardCTAProps = {
|
|
33
|
-
/**
|
|
34
|
-
|
|
45
|
+
/**
|
|
46
|
+
* Visual layout variant. `'cta'` (default) is the horizontal CTA card,
|
|
47
|
+
* `'rating'` is the rating card, and `'sip'` is the avatar-led card with a
|
|
48
|
+
* headline/description/subtitle footer. PascalCase Figma names
|
|
49
|
+
* (`'CTA' | 'Rating' | 'Sip'`) are also accepted.
|
|
50
|
+
*/
|
|
51
|
+
type?: CardCTATypeInput;
|
|
35
52
|
/** Title text */
|
|
36
53
|
title?: string;
|
|
37
54
|
/** Body / subtitle text */
|
|
@@ -50,6 +67,14 @@ export type CardCTAProps = {
|
|
|
50
67
|
onPressLike?: () => void;
|
|
51
68
|
/** Callback for the default dislike action */
|
|
52
69
|
onPressDislike?: () => void;
|
|
70
|
+
/** [sip] Headline text shown above the description row */
|
|
71
|
+
headline?: string;
|
|
72
|
+
/** [sip] Description text (left of subtitle) */
|
|
73
|
+
description?: string;
|
|
74
|
+
/** [sip] Subtitle text (right of description) */
|
|
75
|
+
subtitle?: string;
|
|
76
|
+
/** [sip] Image source for the default Avatar */
|
|
77
|
+
avatarSource?: ImageSourcePropType | string;
|
|
53
78
|
/** Mode configuration for design token resolution */
|
|
54
79
|
modes?: Modes;
|
|
55
80
|
/** Slot: replaces the default icon area (right side) */
|
|
@@ -60,6 +85,8 @@ export type CardCTAProps = {
|
|
|
60
85
|
ratingBadgeSlot?: React.ReactNode;
|
|
61
86
|
/** Slot: replaces the default like/dislike action group */
|
|
62
87
|
ratingActionsSlot?: React.ReactNode;
|
|
88
|
+
/** [sip] Slot: replaces the default Avatar */
|
|
89
|
+
avatarSlot?: React.ReactNode;
|
|
63
90
|
/** Container style overrides */
|
|
64
91
|
style?: StyleProp<ViewStyle>;
|
|
65
92
|
};
|
|
@@ -75,43 +102,51 @@ function CardCTA({
|
|
|
75
102
|
showRatingActions = true,
|
|
76
103
|
onPressLike,
|
|
77
104
|
onPressDislike,
|
|
105
|
+
headline = 'Headline',
|
|
106
|
+
description = 'Description',
|
|
107
|
+
subtitle = 'Subtitle',
|
|
108
|
+
avatarSource,
|
|
78
109
|
modes: propModes = EMPTY_MODES,
|
|
79
110
|
iconSlot,
|
|
80
111
|
buttonSlot,
|
|
81
112
|
ratingBadgeSlot,
|
|
82
113
|
ratingActionsSlot,
|
|
114
|
+
avatarSlot,
|
|
83
115
|
style,
|
|
84
116
|
}: CardCTAProps) {
|
|
85
117
|
const { modes: globalModes } = useTokens()
|
|
86
118
|
const modes = { ...globalModes, ...propModes }
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
const
|
|
90
|
-
const
|
|
91
|
-
|
|
92
|
-
const
|
|
93
|
-
|
|
94
|
-
const
|
|
95
|
-
const
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
const
|
|
99
|
-
const
|
|
100
|
-
|
|
101
|
-
const
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
const
|
|
105
|
-
|
|
106
|
-
const
|
|
107
|
-
const
|
|
119
|
+
// Accept both lowercase (canonical) and Figma PascalCase variant names.
|
|
120
|
+
const normalizedType = (typeof type === 'string' ? type.toLowerCase() : 'cta') as CardCTAType
|
|
121
|
+
const isRating = normalizedType === 'rating'
|
|
122
|
+
const isSip = normalizedType === 'sip'
|
|
123
|
+
|
|
124
|
+
const background = getVariableByName('cardCTA/background', modes)
|
|
125
|
+
const radius = getVariableByName('cardCTA/radius', modes)
|
|
126
|
+
const borderSize = getVariableByName('cardCTA/border/size', modes)
|
|
127
|
+
const borderColor = getVariableByName('cardCTA/border/color', modes)
|
|
128
|
+
|
|
129
|
+
const leftPaddingH = getVariableByName('cardCTA/left-wrap/padding/horizontal', modes)
|
|
130
|
+
const leftPaddingV = getVariableByName('cardCTA/left-wrap/padding/vertical', modes)
|
|
131
|
+
const leftGap = getVariableByName('cardCTA/left-wrap/gap', modes)
|
|
132
|
+
|
|
133
|
+
const rightPaddingH = getVariableByName('cardCTA/right-wrap/padding/horizontal', modes)
|
|
134
|
+
const rightPaddingV = getVariableByName('cardCTA/right-wrap/padding/vertical', modes)
|
|
135
|
+
|
|
136
|
+
const textGap = getVariableByName('cardCTA/text-wrap/gap', modes)
|
|
137
|
+
|
|
138
|
+
const titleColor = getVariableByName('cardCTA/title/color', modes)
|
|
139
|
+
const titleFontFamily = getVariableByName('cardCTA/title/fontFamily', modes)
|
|
140
|
+
const titleFontSize = getVariableByName('cardCTA/title/fontSize', modes)
|
|
141
|
+
const titleLineHeight = getVariableByName('cardCTA/title/lineHeight', modes)
|
|
142
|
+
const titleFontWeightRaw = getVariableByName('cardCTA/title/fontWeight', modes)
|
|
108
143
|
const titleFontWeight = typeof titleFontWeightRaw === 'number' ? titleFontWeightRaw.toString() : titleFontWeightRaw
|
|
109
144
|
|
|
110
|
-
const bodyColor = getVariableByName('cardCTA/body/color', modes)
|
|
111
|
-
const bodyFontFamily = getVariableByName('cardCTA/body/fontFamily', modes)
|
|
112
|
-
const bodyFontSize = getVariableByName('cardCTA/body/fontSize', modes)
|
|
113
|
-
const bodyLineHeight = getVariableByName('cardCTA/body/lineHeight', modes)
|
|
114
|
-
const bodyFontWeightRaw = getVariableByName('cardCTA/body/fontWeight', modes)
|
|
145
|
+
const bodyColor = getVariableByName('cardCTA/body/color', modes)
|
|
146
|
+
const bodyFontFamily = getVariableByName('cardCTA/body/fontFamily', modes)
|
|
147
|
+
const bodyFontSize = getVariableByName('cardCTA/body/fontSize', modes)
|
|
148
|
+
const bodyLineHeight = getVariableByName('cardCTA/body/lineHeight', modes)
|
|
149
|
+
const bodyFontWeightRaw = getVariableByName('cardCTA/body/fontWeight', modes)
|
|
115
150
|
const bodyFontWeight = typeof bodyFontWeightRaw === 'number' ? bodyFontWeightRaw.toString() : bodyFontWeightRaw
|
|
116
151
|
|
|
117
152
|
const ratingContentGap = getOptionalVariableByName('cardCTA/rating/content/gap', modes, 12)
|
|
@@ -122,41 +157,108 @@ function CardCTA({
|
|
|
122
157
|
const ratingFooterPaddingTop = getOptionalVariableByName('cardCTA/rating/footer/top', modes, 0)
|
|
123
158
|
const ratingFooterPaddingBottom = getOptionalVariableByName('cardCTA/rating/footer/bottom', modes, 12)
|
|
124
159
|
|
|
160
|
+
// Sip variant footer text block (Headline / Description / Subtitle). These
|
|
161
|
+
// `ccCard/*` tokens were introduced for the Sip layout — resolve them
|
|
162
|
+
// optionally so older token snapshots that lack them fall back gracefully.
|
|
163
|
+
const sipFooterGap = getOptionalVariableByName('ccCard/footer/textWrap/gap', modes, 4)
|
|
164
|
+
|
|
165
|
+
const sipHeadlineColor = getOptionalVariableByName('ccCard/headline/color', modes, '#707275')
|
|
166
|
+
const sipHeadlineFontFamily = getOptionalVariableByName('ccCard/headline/fontFamily', modes, 'JioType Var')
|
|
167
|
+
const sipHeadlineFontSize = getOptionalVariableByName('ccCard/headline/fontSize', modes, 10)
|
|
168
|
+
const sipHeadlineLineHeight = getOptionalVariableByName('ccCard/headline/lineHeight', modes, 13)
|
|
169
|
+
const sipHeadlineFontWeightRaw = getOptionalVariableByName<string | number>('ccCard/headline/fontWeight', modes, 500)
|
|
170
|
+
const sipHeadlineFontWeight = typeof sipHeadlineFontWeightRaw === 'number' ? sipHeadlineFontWeightRaw.toString() : sipHeadlineFontWeightRaw
|
|
171
|
+
|
|
172
|
+
const sipDescriptionColor = getOptionalVariableByName('ccCard/title/color', modes, '#081007')
|
|
173
|
+
const sipDescriptionFontFamily = getOptionalVariableByName('ccCard/title/fontFamily', modes, 'JioType Var')
|
|
174
|
+
const sipDescriptionFontSize = getOptionalVariableByName('ccCard/title/fontSize', modes, 14)
|
|
175
|
+
const sipDescriptionLineHeight = getOptionalVariableByName('ccCard/title/lineHeight', modes, 15)
|
|
176
|
+
const sipDescriptionFontWeightRaw = getOptionalVariableByName<string | number>('ccCard/title/fontWeight', modes, 700)
|
|
177
|
+
const sipDescriptionFontWeight = typeof sipDescriptionFontWeightRaw === 'number' ? sipDescriptionFontWeightRaw.toString() : sipDescriptionFontWeightRaw
|
|
178
|
+
|
|
179
|
+
const sipSubtitleColor = getOptionalVariableByName('ccCard/subtitle/color', modes, '#707275')
|
|
180
|
+
const sipSubtitleFontFamily = getOptionalVariableByName('ccCard/subtitle/fontFamily', modes, 'JioType Var')
|
|
181
|
+
const sipSubtitleFontSize = getOptionalVariableByName('ccCard/subtitle/fontSize', modes, 10)
|
|
182
|
+
const sipSubtitleLineHeight = getOptionalVariableByName('ccCard/subtitle/lineHeight', modes, 13)
|
|
183
|
+
const sipSubtitleFontWeightRaw = getOptionalVariableByName<string | number>('ccCard/subtitle/fontWeight', modes, 500)
|
|
184
|
+
const sipSubtitleFontWeight = typeof sipSubtitleFontWeightRaw === 'number' ? sipSubtitleFontWeightRaw.toString() : sipSubtitleFontWeightRaw
|
|
185
|
+
|
|
186
|
+
const avatarModes = { ...modes, 'Avatar Size': 'L' }
|
|
187
|
+
|
|
125
188
|
const buttonModes = {...modes, AppearanceBrand: 'Secondary', 'Button / Size': 'S'}
|
|
126
189
|
const iconButtonModes = {'Button / Size': 'S', 'Emphasis': 'Low', 'AppearanceBrand':'Neutral',...modes }
|
|
127
190
|
const effectiveButtonLabel = buttonLabel ?? (isRating ? 'Save' : 'Button')
|
|
128
191
|
const nonWrappingButtonLabel = effectiveButtonLabel.replace(/\s/g, '\u00A0')
|
|
129
192
|
const [measuredButtonLabelWidth, setMeasuredButtonLabelWidth] = React.useState<number | null>(null)
|
|
130
193
|
|
|
131
|
-
const buttonPaddingH = getVariableByName('button/padding/horizontal', buttonModes)
|
|
194
|
+
const buttonPaddingH = getVariableByName('button/padding/horizontal', buttonModes)
|
|
132
195
|
const buttonBorderSize = getVariableByName('button/border/size', buttonModes) ?? 1
|
|
196
|
+
// Small safety pad so sub-pixel rounding between the measure pass and the
|
|
197
|
+
// rendered glyph run can never clip the final character.
|
|
133
198
|
const measuredButtonWidth = measuredButtonLabelWidth === null
|
|
134
199
|
? undefined
|
|
135
|
-
: Math.ceil(measuredButtonLabelWidth + (buttonPaddingH as number) * 2 + (buttonBorderSize as number) * 2)
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
200
|
+
: Math.ceil(measuredButtonLabelWidth + (buttonPaddingH as number) * 2 + (buttonBorderSize as number) * 2 + 2)
|
|
201
|
+
|
|
202
|
+
// ROOT-CAUSE FIX for the Android "jumping button" feedback loop + clipping.
|
|
203
|
+
//
|
|
204
|
+
// Previously the *visible* label measured itself via `onTextLayout` and we
|
|
205
|
+
// fed that width straight back onto the same Button. Because the button is
|
|
206
|
+
// width-constrained by its parent, Android clamps the overflowing text and
|
|
207
|
+
// even character-breaks a single word ("Save" -> "Sav"/"e"); the re-applied
|
|
208
|
+
// width re-triggers layout, producing an endless ~60fps width oscillation.
|
|
209
|
+
//
|
|
210
|
+
// We now measure an *off-screen* copy of the label, laid out at an
|
|
211
|
+
// effectively unbounded width, so its reported single-line width is
|
|
212
|
+
// intrinsic and constant regardless of the button's applied width — the
|
|
213
|
+
// measurement can no longer depend on the value it produces, so the loop is
|
|
214
|
+
// impossible. Crucially the measurer reuses the Button's own resolved label
|
|
215
|
+
// styles (passed into `renderContent`), so the measured font matches the
|
|
216
|
+
// rendered font exactly and the width is never an under-estimate. The label
|
|
217
|
+
// is always a single line that overflows rather than wraps or truncates.
|
|
218
|
+
const handleMeasureTextLayout = React.useCallback((event: any) => {
|
|
219
|
+
const line = event?.nativeEvent?.lines?.[0]
|
|
220
|
+
const width = line && typeof line.width === 'number' ? line.width : 0
|
|
221
|
+
if (width <= 0) return
|
|
222
|
+
|
|
223
|
+
setMeasuredButtonLabelWidth((currentWidth) =>
|
|
224
|
+
currentWidth !== null && Math.abs(currentWidth - width) < 0.5
|
|
225
|
+
? currentWidth
|
|
226
|
+
: Math.ceil(width)
|
|
143
227
|
)
|
|
144
|
-
if (nextWidth <= 0) return
|
|
145
|
-
|
|
146
|
-
setMeasuredButtonLabelWidth((currentWidth) => {
|
|
147
|
-
if (currentWidth !== null && Math.abs(currentWidth - nextWidth) < 1) {
|
|
148
|
-
return currentWidth
|
|
149
|
-
}
|
|
150
|
-
return nextWidth
|
|
151
|
-
})
|
|
152
228
|
}, [])
|
|
153
229
|
|
|
230
|
+
// Off-screen measurer wrapper: absolute + opacity 0 + pointerEvents none =>
|
|
231
|
+
// out of flow, invisible, never intercepts touches, zero layout impact.
|
|
232
|
+
const measurerWrapStyle: ViewStyle = { position: 'absolute', left: 0, top: 0, opacity: 0 }
|
|
233
|
+
|
|
234
|
+
// Renders the visible single-line label (never wraps, never ellipsizes) plus
|
|
235
|
+
// the co-located off-screen measurer that shares the Button's exact label
|
|
236
|
+
// styles. `width: 9999` forces the measurer onto one line so `onTextLayout`
|
|
237
|
+
// reports the true intrinsic width.
|
|
238
|
+
const renderButtonContent = (labelExtraStyle: TextStyle) => (labelStyles: StyleProp<TextStyle>) => (
|
|
239
|
+
<>
|
|
240
|
+
<Text numberOfLines={1} ellipsizeMode="clip" style={[labelStyles, labelExtraStyle]}>
|
|
241
|
+
{nonWrappingButtonLabel}
|
|
242
|
+
</Text>
|
|
243
|
+
<View
|
|
244
|
+
pointerEvents="none"
|
|
245
|
+
accessibilityElementsHidden
|
|
246
|
+
importantForAccessibility="no"
|
|
247
|
+
style={measurerWrapStyle}
|
|
248
|
+
>
|
|
249
|
+
<Text style={[labelStyles, { width: 9999 }]} onTextLayout={handleMeasureTextLayout}>
|
|
250
|
+
{nonWrappingButtonLabel}
|
|
251
|
+
</Text>
|
|
252
|
+
</View>
|
|
253
|
+
</>
|
|
254
|
+
)
|
|
255
|
+
|
|
154
256
|
const containerStyle: ViewStyle = {
|
|
155
257
|
backgroundColor: background,
|
|
156
258
|
borderRadius: radius,
|
|
157
259
|
borderWidth: borderSize,
|
|
158
260
|
borderColor,
|
|
159
|
-
flexDirection: isRating ? 'column' : 'row',
|
|
261
|
+
flexDirection: isRating || isSip ? 'column' : 'row',
|
|
160
262
|
overflow: 'visible',
|
|
161
263
|
}
|
|
162
264
|
|
|
@@ -245,6 +347,53 @@ function CardCTA({
|
|
|
245
347
|
fontWeight: bodyFontWeight,
|
|
246
348
|
}
|
|
247
349
|
|
|
350
|
+
const sipWrapStyle: ViewStyle = {
|
|
351
|
+
width: '100%',
|
|
352
|
+
paddingHorizontal: leftPaddingH,
|
|
353
|
+
paddingVertical: leftPaddingV,
|
|
354
|
+
gap: leftGap,
|
|
355
|
+
alignItems: 'flex-start',
|
|
356
|
+
justifyContent: 'flex-start',
|
|
357
|
+
overflow: 'visible',
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
const sipFooterTextWrapStyle: ViewStyle = {
|
|
361
|
+
gap: sipFooterGap,
|
|
362
|
+
alignItems: 'flex-start',
|
|
363
|
+
alignSelf: 'stretch',
|
|
364
|
+
minWidth: 0,
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
const sipDescriptionWrapStyle: ViewStyle = {
|
|
368
|
+
flexDirection: 'row',
|
|
369
|
+
gap: sipFooterGap,
|
|
370
|
+
alignItems: 'flex-end',
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
const sipHeadlineStyle: TextStyle = {
|
|
374
|
+
color: sipHeadlineColor,
|
|
375
|
+
fontFamily: sipHeadlineFontFamily,
|
|
376
|
+
fontSize: sipHeadlineFontSize,
|
|
377
|
+
lineHeight: sipHeadlineLineHeight,
|
|
378
|
+
fontWeight: toWeight(sipHeadlineFontWeightRaw),
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
const sipDescriptionStyle: TextStyle = {
|
|
382
|
+
color: sipDescriptionColor,
|
|
383
|
+
fontFamily: sipDescriptionFontFamily,
|
|
384
|
+
fontSize: sipDescriptionFontSize,
|
|
385
|
+
lineHeight: sipDescriptionLineHeight,
|
|
386
|
+
fontWeight: toWeight(sipDescriptionFontWeightRaw),
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
const sipSubtitleStyle: TextStyle = {
|
|
390
|
+
color: sipSubtitleColor,
|
|
391
|
+
fontFamily: sipSubtitleFontFamily,
|
|
392
|
+
fontSize: sipSubtitleFontSize,
|
|
393
|
+
lineHeight: sipSubtitleLineHeight,
|
|
394
|
+
fontWeight: toWeight(sipSubtitleFontWeightRaw),
|
|
395
|
+
}
|
|
396
|
+
|
|
248
397
|
const ratingContentStyle: ViewStyle = {
|
|
249
398
|
paddingHorizontal: ratingContentPaddingH,
|
|
250
399
|
paddingVertical: ratingContentPaddingV,
|
|
@@ -294,6 +443,44 @@ function CardCTA({
|
|
|
294
443
|
flexWrap: 'nowrap',
|
|
295
444
|
}
|
|
296
445
|
|
|
446
|
+
if (isSip) {
|
|
447
|
+
return (
|
|
448
|
+
<View style={[containerStyle, style]}>
|
|
449
|
+
<View style={sipWrapStyle}>
|
|
450
|
+
{avatarSlot ? (
|
|
451
|
+
cloneChildrenWithModes(avatarSlot, avatarModes)
|
|
452
|
+
) : (
|
|
453
|
+
<Avatar style="Image" imageSource={avatarSource} modes={avatarModes} />
|
|
454
|
+
)}
|
|
455
|
+
<View style={textWrapStyle}>
|
|
456
|
+
<Text style={titleStyle}>{title}</Text>
|
|
457
|
+
<Text style={bodyStyle}>{body}</Text>
|
|
458
|
+
</View>
|
|
459
|
+
<View style={sipFooterTextWrapStyle}>
|
|
460
|
+
<Text style={sipHeadlineStyle}>{headline}</Text>
|
|
461
|
+
<View style={sipDescriptionWrapStyle}>
|
|
462
|
+
<Text style={sipDescriptionStyle}>{description}</Text>
|
|
463
|
+
<Text style={sipSubtitleStyle}>{subtitle}</Text>
|
|
464
|
+
</View>
|
|
465
|
+
</View>
|
|
466
|
+
<View style={buttonWrapStyle}>
|
|
467
|
+
{buttonSlot ? (
|
|
468
|
+
cloneChildrenWithModes(buttonSlot, buttonModes)
|
|
469
|
+
) : (
|
|
470
|
+
<Button
|
|
471
|
+
label={effectiveButtonLabel}
|
|
472
|
+
onPress={onPressButton || (() => {})}
|
|
473
|
+
modes={buttonModes}
|
|
474
|
+
style={buttonStyle}
|
|
475
|
+
renderContent={renderButtonContent(buttonLabelStyle)}
|
|
476
|
+
/>
|
|
477
|
+
)}
|
|
478
|
+
</View>
|
|
479
|
+
</View>
|
|
480
|
+
</View>
|
|
481
|
+
)
|
|
482
|
+
}
|
|
483
|
+
|
|
297
484
|
if (isRating) {
|
|
298
485
|
return (
|
|
299
486
|
<View style={[containerStyle, style]}>
|
|
@@ -318,14 +505,7 @@ function CardCTA({
|
|
|
318
505
|
onPress={onPressButton || (() => {})}
|
|
319
506
|
modes={buttonModes}
|
|
320
507
|
style={ratingButtonStyle}
|
|
321
|
-
renderContent={(
|
|
322
|
-
<Text
|
|
323
|
-
onTextLayout={handleButtonLabelTextLayout}
|
|
324
|
-
style={[labelStyles, ratingButtonLabelStyle]}
|
|
325
|
-
>
|
|
326
|
-
{nonWrappingButtonLabel}
|
|
327
|
-
</Text>
|
|
328
|
-
)}
|
|
508
|
+
renderContent={renderButtonContent(ratingButtonLabelStyle)}
|
|
329
509
|
/>
|
|
330
510
|
)}
|
|
331
511
|
</View>
|
|
@@ -368,14 +548,7 @@ function CardCTA({
|
|
|
368
548
|
onPress={onPressButton || (() => {})}
|
|
369
549
|
modes={buttonModes}
|
|
370
550
|
style={buttonStyle}
|
|
371
|
-
renderContent={(
|
|
372
|
-
<Text
|
|
373
|
-
onTextLayout={handleButtonLabelTextLayout}
|
|
374
|
-
style={[labelStyles, buttonLabelStyle]}
|
|
375
|
-
>
|
|
376
|
-
{nonWrappingButtonLabel}
|
|
377
|
-
</Text>
|
|
378
|
-
)}
|
|
551
|
+
renderContent={renderButtonContent(buttonLabelStyle)}
|
|
379
552
|
/>
|
|
380
553
|
)}
|
|
381
554
|
</View>
|
|
@@ -41,11 +41,11 @@ export function CardFeedback({
|
|
|
41
41
|
...propModes,
|
|
42
42
|
};
|
|
43
43
|
// Container Tokens
|
|
44
|
-
const backgroundColor = getVariableByName('cardFeedback/background', modes)
|
|
45
|
-
const radius = parseFloat(getVariableByName('cardFeedback/radius', modes)
|
|
46
|
-
const gap = parseFloat(getVariableByName('cardFeedback/gap', modes)
|
|
47
|
-
const paddingHorizontal = parseFloat(getVariableByName('cardFeedback/padding/horizontal', modes)
|
|
48
|
-
const paddingVertical = parseFloat(getVariableByName('cardFeedback/padding/vertical', modes)
|
|
44
|
+
const backgroundColor = getVariableByName('cardFeedback/background', modes);
|
|
45
|
+
const radius = parseFloat(getVariableByName('cardFeedback/radius', modes));
|
|
46
|
+
const gap = parseFloat(getVariableByName('cardFeedback/gap', modes));
|
|
47
|
+
const paddingHorizontal = parseFloat(getVariableByName('cardFeedback/padding/horizontal', modes));
|
|
48
|
+
const paddingVertical = parseFloat(getVariableByName('cardFeedback/padding/vertical', modes));
|
|
49
49
|
|
|
50
50
|
const containerStyle: ViewStyle = {
|
|
51
51
|
backgroundColor,
|
|
@@ -80,7 +80,7 @@ export function Icon({ children, style, modes: propModes, icon }: { children?: R
|
|
|
80
80
|
const context = useContext(CardFeedbackContext);
|
|
81
81
|
const modes = propModes || context.modes || {};
|
|
82
82
|
|
|
83
|
-
const size = parseFloat(getVariableByName('cardFeedback/icon/size', modes)
|
|
83
|
+
const size = parseFloat(getVariableByName('cardFeedback/icon/size', modes));
|
|
84
84
|
// Color for the icon itself
|
|
85
85
|
const color = getVariableByName('appearanceFeedback/cardFeedback/icon/color', modes);
|
|
86
86
|
console.log(color);
|
|
@@ -120,7 +120,7 @@ export function Content({ children, style, modes: propModes }: { children?: Reac
|
|
|
120
120
|
const context = useContext(CardFeedbackContext);
|
|
121
121
|
const modes = propModes || context.modes || {};
|
|
122
122
|
|
|
123
|
-
const gap = parseFloat(getVariableByName('cardFeedback/text/gap', modes)
|
|
123
|
+
const gap = parseFloat(getVariableByName('cardFeedback/text/gap', modes));
|
|
124
124
|
|
|
125
125
|
// Pass modes to children (Title, Body, etc.)
|
|
126
126
|
const childrenWithModes = React.Children.map(children, child => {
|
|
@@ -145,11 +145,11 @@ export function Title({ children, style, modes: propModes }: { children?: React.
|
|
|
145
145
|
const context = useContext(CardFeedbackContext);
|
|
146
146
|
const modes = propModes || context.modes || {};
|
|
147
147
|
|
|
148
|
-
const color = getVariableByName('cardFeedback/title/color', modes)
|
|
149
|
-
const fontSize = parseFloat(getVariableByName('cardFeedback/title/fontSize', modes)
|
|
150
|
-
const fontFamily = getVariableByName('cardFeedback/title/fontFamily', modes)
|
|
151
|
-
const lineHeight = parseFloat(getVariableByName('cardFeedback/title/lineHeight', modes)
|
|
152
|
-
const fontWeight = getVariableByName('cardFeedback/title/fontWeight', modes)
|
|
148
|
+
const color = getVariableByName('cardFeedback/title/color', modes);
|
|
149
|
+
const fontSize = parseFloat(getVariableByName('cardFeedback/title/fontSize', modes));
|
|
150
|
+
const fontFamily = getVariableByName('cardFeedback/title/fontFamily', modes);
|
|
151
|
+
const lineHeight = parseFloat(getVariableByName('cardFeedback/title/lineHeight', modes));
|
|
152
|
+
const fontWeight = getVariableByName('cardFeedback/title/fontWeight', modes);
|
|
153
153
|
|
|
154
154
|
const textStyle: TextStyle = {
|
|
155
155
|
color,
|
|
@@ -170,11 +170,11 @@ export function Body({ children, style, modes: propModes }: { children?: React.R
|
|
|
170
170
|
const context = useContext(CardFeedbackContext);
|
|
171
171
|
const modes = propModes || context.modes || {};
|
|
172
172
|
|
|
173
|
-
const color = getVariableByName('cardFeedback/body/color', modes)
|
|
174
|
-
const fontSize = parseFloat(getVariableByName('cardFeedback/body/fontSize', modes)
|
|
175
|
-
const fontFamily = getVariableByName('cardFeedback/body/fontFamily', modes)
|
|
176
|
-
const lineHeight = parseFloat(getVariableByName('cardFeedback/body/lineHeight', modes)
|
|
177
|
-
const fontWeight = getVariableByName('cardFeedback/body/fontWeight', modes)
|
|
173
|
+
const color = getVariableByName('cardFeedback/body/color', modes);
|
|
174
|
+
const fontSize = parseFloat(getVariableByName('cardFeedback/body/fontSize', modes));
|
|
175
|
+
const fontFamily = getVariableByName('cardFeedback/body/fontFamily', modes);
|
|
176
|
+
const lineHeight = parseFloat(getVariableByName('cardFeedback/body/lineHeight', modes));
|
|
177
|
+
const fontWeight = getVariableByName('cardFeedback/body/fontWeight', modes);
|
|
178
178
|
|
|
179
179
|
const textStyle: TextStyle = {
|
|
180
180
|
color,
|
|
@@ -195,7 +195,7 @@ export function Action({ children, style, modes: propModes }: { children?: React
|
|
|
195
195
|
const context = useContext(CardFeedbackContext);
|
|
196
196
|
const modes = propModes || context.modes || {};
|
|
197
197
|
|
|
198
|
-
const gap = parseFloat(getVariableByName('cardFeedback/actionSlot/gap', modes)
|
|
198
|
+
const gap = parseFloat(getVariableByName('cardFeedback/actionSlot/gap', modes));
|
|
199
199
|
|
|
200
200
|
// "Maximise existing component usage" -> Pass modes to children (Buttons)
|
|
201
201
|
const childrenWithModes = React.Children.map(children, child => {
|
|
@@ -104,8 +104,7 @@ function resolveCardFinancialConditionTokens(
|
|
|
104
104
|
modes: Modes
|
|
105
105
|
): CardFinancialConditionTokens {
|
|
106
106
|
const background =
|
|
107
|
-
(getVariableByName('financialConditionCard/background', modes) as string)
|
|
108
|
-
'#ffffff'
|
|
107
|
+
(getVariableByName('financialConditionCard/background', modes) as string)
|
|
109
108
|
const radius = toNumber(
|
|
110
109
|
getVariableByName('financialConditionCard/radius', modes),
|
|
111
110
|
16
|
|
@@ -133,8 +132,7 @@ function resolveCardFinancialConditionTokens(
|
|
|
133
132
|
)
|
|
134
133
|
|
|
135
134
|
const titleColor =
|
|
136
|
-
(getVariableByName('financialConditionCard/title/color', modes) as string)
|
|
137
|
-
'#0c0d10'
|
|
135
|
+
(getVariableByName('financialConditionCard/title/color', modes) as string)
|
|
138
136
|
const titleFontSize = toNumber(
|
|
139
137
|
getVariableByName('financialConditionCard/title/fontSize', modes),
|
|
140
138
|
16
|
|
@@ -143,7 +141,7 @@ function resolveCardFinancialConditionTokens(
|
|
|
143
141
|
(getVariableByName(
|
|
144
142
|
'financialConditionCard/title/fontFamily',
|
|
145
143
|
modes
|
|
146
|
-
) as string)
|
|
144
|
+
) as string)
|
|
147
145
|
const titleLineHeight = toNumber(
|
|
148
146
|
getVariableByName('financialConditionCard/title/lineHeight', modes),
|
|
149
147
|
18
|
|
@@ -154,8 +152,7 @@ function resolveCardFinancialConditionTokens(
|
|
|
154
152
|
)
|
|
155
153
|
|
|
156
154
|
const bodyColor =
|
|
157
|
-
(getVariableByName('financialConditionCard/body/color', modes) as string)
|
|
158
|
-
'#0c0d10'
|
|
155
|
+
(getVariableByName('financialConditionCard/body/color', modes) as string)
|
|
159
156
|
const bodyFontSize = toNumber(
|
|
160
157
|
getVariableByName('financialConditionCard/body/fontSize', modes),
|
|
161
158
|
14
|
|
@@ -164,7 +161,7 @@ function resolveCardFinancialConditionTokens(
|
|
|
164
161
|
(getVariableByName(
|
|
165
162
|
'financialConditionCard/body/fontFamily',
|
|
166
163
|
modes
|
|
167
|
-
) as string)
|
|
164
|
+
) as string)
|
|
168
165
|
const bodyLineHeight = toNumber(
|
|
169
166
|
getVariableByName('financialConditionCard/body/lineHeight', modes),
|
|
170
167
|
17
|
|
@@ -175,13 +172,13 @@ function resolveCardFinancialConditionTokens(
|
|
|
175
172
|
)
|
|
176
173
|
|
|
177
174
|
const nudgeBodyColor =
|
|
178
|
-
(getVariableByName('nudge/body/color', modes) as string)
|
|
175
|
+
(getVariableByName('nudge/body/color', modes) as string)
|
|
179
176
|
const nudgeBodyFontSize = toNumber(
|
|
180
177
|
getVariableByName('nudge/body/fontSize', modes),
|
|
181
178
|
12
|
|
182
179
|
)
|
|
183
180
|
const nudgeBodyFontFamily =
|
|
184
|
-
(getVariableByName('nudge/body/fontFamily', modes) as string)
|
|
181
|
+
(getVariableByName('nudge/body/fontFamily', modes) as string)
|
|
185
182
|
const nudgeBodyLineHeight = toNumber(
|
|
186
183
|
getVariableByName('nudge/body/lineHeight', modes),
|
|
187
184
|
16
|
|
@@ -71,7 +71,11 @@ function CardInsight({
|
|
|
71
71
|
const background =
|
|
72
72
|
(getVariableByName('cardInsight/background', modes) as string | null) ?? '#ffffff'
|
|
73
73
|
const radius =
|
|
74
|
-
(getVariableByName('cardInsight/radius', modes) as number | null) ??
|
|
74
|
+
(getVariableByName('cardInsight/radius', modes) as number | null) ?? 12
|
|
75
|
+
const borderWidth =
|
|
76
|
+
(getVariableByName('cardInsight/borderWidth', modes) as number | null) ?? 1
|
|
77
|
+
const borderColor =
|
|
78
|
+
(getVariableByName('cardInsight/border/color', modes) as string | null) ?? '#ffffff'
|
|
75
79
|
const paddingHorizontal =
|
|
76
80
|
(getVariableByName('cardInsight/padding/horizontal', modes) as number | null) ?? 12
|
|
77
81
|
const paddingVertical =
|
|
@@ -79,7 +83,6 @@ function CardInsight({
|
|
|
79
83
|
const gap = (getVariableByName('cardInsight/gap', modes) as number | null) ?? 12
|
|
80
84
|
const contentGap =
|
|
81
85
|
(getVariableByName('cardInsight/contentGap', modes) as number | null) ?? 8
|
|
82
|
-
const width = (getVariableByName('cardInsight/width', modes) as number | null) ?? 356
|
|
83
86
|
const slotBackground =
|
|
84
87
|
(getVariableByName('cardInsight/slot/background', modes) as string | null) ?? '#ffffff'
|
|
85
88
|
|
|
@@ -125,7 +128,7 @@ function CardInsight({
|
|
|
125
128
|
|
|
126
129
|
const renderSlot = (): React.ReactNode => {
|
|
127
130
|
if (!children) {
|
|
128
|
-
return <SavingsGoalSummary modes={modes} />
|
|
131
|
+
return <SavingsGoalSummary label="Credit usage" modes={modes} />
|
|
129
132
|
}
|
|
130
133
|
const processed = cloneChildrenWithModes(children, modes)
|
|
131
134
|
return processed.length === 1 ? processed[0] : processed
|
|
@@ -161,9 +164,10 @@ function CardInsight({
|
|
|
161
164
|
<View
|
|
162
165
|
style={[
|
|
163
166
|
{
|
|
164
|
-
width,
|
|
165
167
|
backgroundColor: background,
|
|
166
168
|
borderRadius: radius,
|
|
169
|
+
borderWidth,
|
|
170
|
+
borderColor,
|
|
167
171
|
paddingHorizontal,
|
|
168
172
|
paddingVertical,
|
|
169
173
|
gap,
|