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,7 +1,7 @@
|
|
|
1
1
|
import React, { isValidElement, cloneElement, type ReactNode } from 'react'
|
|
2
2
|
import { View, Text, type ViewStyle, type TextStyle } from 'react-native'
|
|
3
3
|
import { getVariableByName } from '../../design-tokens/figma-variables-resolver'
|
|
4
|
-
import { EMPTY_MODES } from '../../utils/react-utils'
|
|
4
|
+
import { EMPTY_MODES, resolveTruncation } from '../../utils/react-utils'
|
|
5
5
|
import type { Modes } from '../../design-tokens'
|
|
6
6
|
|
|
7
7
|
export type ThreadHeroProps = {
|
|
@@ -17,6 +17,12 @@ export type ThreadHeroProps = {
|
|
|
17
17
|
modes?: Modes
|
|
18
18
|
/** Optional container style */
|
|
19
19
|
style?: ViewStyle
|
|
20
|
+
/**
|
|
21
|
+
* When `true`, disables text truncation: the trailing ellipsis (`…`) is never
|
|
22
|
+
* shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
|
|
23
|
+
* lines as it needs even when horizontal space is tight.
|
|
24
|
+
*/
|
|
25
|
+
disableTruncation?: boolean
|
|
20
26
|
}
|
|
21
27
|
|
|
22
28
|
/**
|
|
@@ -29,31 +35,32 @@ export default function ThreadHero({
|
|
|
29
35
|
renderAvatar,
|
|
30
36
|
modes = EMPTY_MODES,
|
|
31
37
|
style,
|
|
38
|
+
disableTruncation,
|
|
32
39
|
}: ThreadHeroProps) {
|
|
33
40
|
// Container Gaps
|
|
34
|
-
const containerGap = Number(getVariableByName('threadHero/gap', modes))
|
|
35
|
-
const detailsGap = Number(getVariableByName('threadHero/details/gap', modes))
|
|
41
|
+
const containerGap = Number(getVariableByName('threadHero/gap', modes))
|
|
42
|
+
const detailsGap = Number(getVariableByName('threadHero/details/gap', modes))
|
|
36
43
|
|
|
37
44
|
// Title Styles
|
|
38
|
-
const titleColor = getVariableByName('threadHero/title/color', modes)
|
|
39
|
-
const titleFontSize = Number(getVariableByName('threadHero/title/fontSize', modes))
|
|
40
|
-
const titleFontFamily = getVariableByName('threadHero/title/fontFamily', modes)
|
|
41
|
-
const titleLineHeight = Number(getVariableByName('threadHero/title/lineHeight', modes))
|
|
42
|
-
const titleFontWeight = getVariableByName('threadHero/title/fontWeight', modes)
|
|
45
|
+
const titleColor = getVariableByName('threadHero/title/color', modes)
|
|
46
|
+
const titleFontSize = Number(getVariableByName('threadHero/title/fontSize', modes))
|
|
47
|
+
const titleFontFamily = getVariableByName('threadHero/title/fontFamily', modes)
|
|
48
|
+
const titleLineHeight = Number(getVariableByName('threadHero/title/lineHeight', modes))
|
|
49
|
+
const titleFontWeight = getVariableByName('threadHero/title/fontWeight', modes)
|
|
43
50
|
|
|
44
51
|
// Subtitle Styles
|
|
45
|
-
const subtitleColor = getVariableByName('threadHero/subtitle/color', modes)
|
|
46
|
-
const subtitleFontSize = Number(getVariableByName('threadHero/subtitle/fontSize', modes))
|
|
47
|
-
const subtitleFontFamily = getVariableByName('threadHero/subtitle/fontFamily', modes)
|
|
48
|
-
const subtitleLineHeight = Number(getVariableByName('threadHero/subtitle/lineHeight', modes))
|
|
49
|
-
const subtitleFontWeight = getVariableByName('threadHero/subtitle/fontWeight', modes)
|
|
52
|
+
const subtitleColor = getVariableByName('threadHero/subtitle/color', modes)
|
|
53
|
+
const subtitleFontSize = Number(getVariableByName('threadHero/subtitle/fontSize', modes))
|
|
54
|
+
const subtitleFontFamily = getVariableByName('threadHero/subtitle/fontFamily', modes)
|
|
55
|
+
const subtitleLineHeight = Number(getVariableByName('threadHero/subtitle/lineHeight', modes))
|
|
56
|
+
const subtitleFontWeight = getVariableByName('threadHero/subtitle/fontWeight', modes)
|
|
50
57
|
|
|
51
58
|
// Caption Styles
|
|
52
|
-
const captionColor = getVariableByName('threadHero/caption/color', modes)
|
|
53
|
-
const captionFontSize = Number(getVariableByName('threadHero/caption/fontSize', modes))
|
|
54
|
-
const captionFontFamily = getVariableByName('threadHero/caption/fontFamily', modes)
|
|
55
|
-
const captionLineHeight = Number(getVariableByName('threadHero/caption/lineHeight', modes))
|
|
56
|
-
const captionFontWeight = getVariableByName('threadHero/caption/fontWeight', modes)
|
|
59
|
+
const captionColor = getVariableByName('threadHero/caption/color', modes)
|
|
60
|
+
const captionFontSize = Number(getVariableByName('threadHero/caption/fontSize', modes))
|
|
61
|
+
const captionFontFamily = getVariableByName('threadHero/caption/fontFamily', modes)
|
|
62
|
+
const captionLineHeight = Number(getVariableByName('threadHero/caption/lineHeight', modes))
|
|
63
|
+
const captionFontWeight = getVariableByName('threadHero/caption/fontWeight', modes)
|
|
57
64
|
|
|
58
65
|
// Styles
|
|
59
66
|
const containerStyle: ViewStyle = {
|
|
@@ -111,13 +118,13 @@ export default function ThreadHero({
|
|
|
111
118
|
{avatarContent}
|
|
112
119
|
{title ? <Text style={titleStyle}>{title}</Text> : null}
|
|
113
120
|
{subtitle ? (
|
|
114
|
-
<Text style={subtitleStyle}
|
|
121
|
+
<Text style={subtitleStyle} {...resolveTruncation(disableTruncation, 1, 'tail')}>
|
|
115
122
|
{subtitle}
|
|
116
123
|
</Text>
|
|
117
124
|
) : null}
|
|
118
125
|
</View>
|
|
119
126
|
{caption ? (
|
|
120
|
-
<Text style={captionStyle}
|
|
127
|
+
<Text style={captionStyle} {...resolveTruncation(disableTruncation, 1, 'tail')}>
|
|
121
128
|
{caption}
|
|
122
129
|
</Text>
|
|
123
130
|
) : null}
|
|
@@ -2,7 +2,7 @@ import React from 'react'
|
|
|
2
2
|
import { View, Text, type StyleProp, type ViewStyle, type TextStyle } from 'react-native'
|
|
3
3
|
import { getVariableByName } from '../../design-tokens/figma-variables-resolver'
|
|
4
4
|
import { useTokens } from '../../design-tokens/JFSThemeProvider'
|
|
5
|
-
import { EMPTY_MODES } from '../../utils/react-utils'
|
|
5
|
+
import { EMPTY_MODES, resolveTextLayout } from '../../utils/react-utils'
|
|
6
6
|
import type { Modes } from '../../design-tokens'
|
|
7
7
|
|
|
8
8
|
export type TitleProps = {
|
|
@@ -17,6 +17,22 @@ export type TitleProps = {
|
|
|
17
17
|
/** Optional style overrides for the subtitle text. */
|
|
18
18
|
subtitleStyle?: StyleProp<TextStyle>;
|
|
19
19
|
numberOfLines?: number;
|
|
20
|
+
/**
|
|
21
|
+
* When `true`, disables truncation for both the title and subtitle: the
|
|
22
|
+
* trailing ellipsis (`…`) is never shown and the `numberOfLines` clamp is
|
|
23
|
+
* ignored. The text is also never shrunk by a tight parent — it keeps its
|
|
24
|
+
* full intrinsic size and overflows (even breaking the parent layout) rather
|
|
25
|
+
* than ever clipping into an ellipsis. The text still wraps onto multiple
|
|
26
|
+
* lines.
|
|
27
|
+
*/
|
|
28
|
+
disableTruncation?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* When `true`, forces both the title and subtitle onto a single line with no
|
|
31
|
+
* wrapping (implies {@link disableTruncation}). On web the line overflows
|
|
32
|
+
* horizontally — brutally breaking the parent layout if it has to — instead
|
|
33
|
+
* of wrapping or truncating.
|
|
34
|
+
*/
|
|
35
|
+
singleLine?: boolean;
|
|
20
36
|
accessibilityLabel?: string;
|
|
21
37
|
accessibilityHint?: string;
|
|
22
38
|
} & React.ComponentProps<typeof View>;
|
|
@@ -35,6 +51,8 @@ function Title({
|
|
|
35
51
|
textStyle,
|
|
36
52
|
subtitleStyle,
|
|
37
53
|
numberOfLines,
|
|
54
|
+
disableTruncation,
|
|
55
|
+
singleLine,
|
|
38
56
|
accessibilityLabel,
|
|
39
57
|
accessibilityHint,
|
|
40
58
|
...rest
|
|
@@ -43,16 +61,16 @@ function Title({
|
|
|
43
61
|
const modes = { ...globalModes, ...propModes }
|
|
44
62
|
|
|
45
63
|
const paddingHorizontal =
|
|
46
|
-
getVariableByName('title/padding/horizontal', modes)
|
|
64
|
+
getVariableByName('title/padding/horizontal', modes)
|
|
47
65
|
const paddingVertical =
|
|
48
|
-
getVariableByName('title/padding/vertical', modes)
|
|
49
|
-
const gap = getVariableByName('title/gap', modes)
|
|
66
|
+
getVariableByName('title/padding/vertical', modes)
|
|
67
|
+
const gap = getVariableByName('title/gap', modes)
|
|
50
68
|
|
|
51
69
|
const labelColor =
|
|
52
|
-
getVariableByName('title/label/color', modes)
|
|
53
|
-
const fontSize = getVariableByName('title/fontSize', modes)
|
|
70
|
+
getVariableByName('title/label/color', modes)
|
|
71
|
+
const fontSize = getVariableByName('title/fontSize', modes)
|
|
54
72
|
const rawLineHeight =
|
|
55
|
-
getVariableByName('title/lineHeight', modes)
|
|
73
|
+
getVariableByName('title/lineHeight', modes)
|
|
56
74
|
// The Figma title tokens ship with `lineHeight === fontSize` (26/26). On
|
|
57
75
|
// native (especially Android) that produces a Text box exactly `lineHeight`
|
|
58
76
|
// tall, which clips descenders like p/g/y/q/j at the bottom — particularly
|
|
@@ -61,28 +79,28 @@ function Title({
|
|
|
61
79
|
// the original value is preserved.
|
|
62
80
|
const lineHeight = Math.max(rawLineHeight, Math.ceil(fontSize * 1.2))
|
|
63
81
|
const fontFamily =
|
|
64
|
-
getVariableByName('title/fontFamily', modes)
|
|
82
|
+
getVariableByName('title/fontFamily', modes)
|
|
65
83
|
const fontWeightRaw =
|
|
66
|
-
getVariableByName('title/fontWeight', modes)
|
|
84
|
+
getVariableByName('title/fontWeight', modes)
|
|
67
85
|
const fontWeight =
|
|
68
86
|
typeof fontWeightRaw === 'number'
|
|
69
87
|
? fontWeightRaw.toString()
|
|
70
88
|
: fontWeightRaw
|
|
71
89
|
|
|
72
90
|
const subtitleColor =
|
|
73
|
-
getVariableByName('pageSubtitle/label/color', modes)
|
|
91
|
+
getVariableByName('pageSubtitle/label/color', modes)
|
|
74
92
|
const subtitleFontSize =
|
|
75
|
-
getVariableByName('pageSubtitle/fontSize', modes)
|
|
93
|
+
getVariableByName('pageSubtitle/fontSize', modes)
|
|
76
94
|
const subtitleRawLineHeight =
|
|
77
|
-
getVariableByName('pageSubtitle/lineHeight', modes)
|
|
95
|
+
getVariableByName('pageSubtitle/lineHeight', modes)
|
|
78
96
|
const subtitleLineHeight = Math.max(
|
|
79
97
|
subtitleRawLineHeight,
|
|
80
98
|
Math.ceil(subtitleFontSize * 1.2)
|
|
81
99
|
)
|
|
82
100
|
const subtitleFontFamily =
|
|
83
|
-
getVariableByName('pageSubtitle/fontFamily', modes)
|
|
101
|
+
getVariableByName('pageSubtitle/fontFamily', modes)
|
|
84
102
|
const subtitleFontWeightRaw =
|
|
85
|
-
getVariableByName('pageSubtitle/fontWeight', modes)
|
|
103
|
+
getVariableByName('pageSubtitle/fontWeight', modes)
|
|
86
104
|
const subtitleFontWeight =
|
|
87
105
|
typeof subtitleFontWeightRaw === 'number'
|
|
88
106
|
? subtitleFontWeightRaw.toString()
|
|
@@ -118,6 +136,20 @@ function Title({
|
|
|
118
136
|
textAlign: TEXT_ALIGN_MAP[textAlign],
|
|
119
137
|
}
|
|
120
138
|
|
|
139
|
+
// `style` from the layout helper must be merged AFTER the consumer override
|
|
140
|
+
// so the brutal overflow / no-wrap behaviour always wins.
|
|
141
|
+
const { style: titleLayoutStyle, ...titleTruncation } = resolveTextLayout({
|
|
142
|
+
disableTruncation,
|
|
143
|
+
singleLine,
|
|
144
|
+
numberOfLines: numberOfLines !== undefined ? numberOfLines : 1,
|
|
145
|
+
})
|
|
146
|
+
// The subtitle has never been line-clamped, so it only picks up the escape
|
|
147
|
+
// hatches (overflow / single-line) — `numberOfLines` is intentionally omitted.
|
|
148
|
+
const { style: subtitleLayoutStyle, ...subtitleTruncation } = resolveTextLayout({
|
|
149
|
+
disableTruncation,
|
|
150
|
+
singleLine,
|
|
151
|
+
})
|
|
152
|
+
|
|
121
153
|
return (
|
|
122
154
|
<View
|
|
123
155
|
style={[containerStyle, style]}
|
|
@@ -127,8 +159,8 @@ function Title({
|
|
|
127
159
|
{...rest}
|
|
128
160
|
>
|
|
129
161
|
<Text
|
|
130
|
-
style={[titleTextStyle, textStyle]}
|
|
131
|
-
|
|
162
|
+
style={[titleTextStyle, textStyle, titleLayoutStyle]}
|
|
163
|
+
{...titleTruncation}
|
|
132
164
|
accessibilityElementsHidden={true}
|
|
133
165
|
importantForAccessibility="no"
|
|
134
166
|
>
|
|
@@ -136,7 +168,8 @@ function Title({
|
|
|
136
168
|
</Text>
|
|
137
169
|
{subtitle != null && (
|
|
138
170
|
<Text
|
|
139
|
-
style={[subtitleTextStyle, subtitleStyle]}
|
|
171
|
+
style={[subtitleTextStyle, subtitleStyle, subtitleLayoutStyle]}
|
|
172
|
+
{...subtitleTruncation}
|
|
140
173
|
accessibilityElementsHidden={true}
|
|
141
174
|
importantForAccessibility="no"
|
|
142
175
|
>
|
|
@@ -3,7 +3,7 @@ import { StyleSheet, Text, type StyleProp, type ViewStyle } from 'react-native'
|
|
|
3
3
|
import Animated, { FadeIn, FadeOut, SlideInDown, SlideInUp } from 'react-native-reanimated'
|
|
4
4
|
import { getVariableByName } from '../../design-tokens/figma-variables-resolver'
|
|
5
5
|
import { closeToast, type ToastPlacement } from './useToast'
|
|
6
|
-
import { EMPTY_MODES } from '../../utils/react-utils'
|
|
6
|
+
import { EMPTY_MODES, resolveTruncation } from '../../utils/react-utils'
|
|
7
7
|
import type { Modes } from '../../design-tokens'
|
|
8
8
|
|
|
9
9
|
export interface ToastProps {
|
|
@@ -14,6 +14,12 @@ export interface ToastProps {
|
|
|
14
14
|
modes?: Modes | undefined
|
|
15
15
|
placement?: ToastPlacement | undefined
|
|
16
16
|
style?: StyleProp<ViewStyle> | undefined
|
|
17
|
+
/**
|
|
18
|
+
* When `true`, disables text truncation: the trailing ellipsis (`…`) is never
|
|
19
|
+
* shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
|
|
20
|
+
* lines as it needs even when horizontal space is tight.
|
|
21
|
+
*/
|
|
22
|
+
disableTruncation?: boolean
|
|
17
23
|
}
|
|
18
24
|
|
|
19
25
|
const ANIMATION_DURATION = 250
|
|
@@ -26,6 +32,7 @@ function Toast({
|
|
|
26
32
|
modes = EMPTY_MODES,
|
|
27
33
|
placement = 'bottom',
|
|
28
34
|
style,
|
|
35
|
+
disableTruncation,
|
|
29
36
|
}: ToastProps) {
|
|
30
37
|
const timerRef = useRef<ReturnType<typeof setTimeout> | null>(null)
|
|
31
38
|
|
|
@@ -37,21 +44,21 @@ function Toast({
|
|
|
37
44
|
}
|
|
38
45
|
}, [id, timeout])
|
|
39
46
|
|
|
40
|
-
const backgroundColor = getVariableByName('toast/background', modes)
|
|
41
|
-
const foreground = getVariableByName('toast/foreground', modes)
|
|
42
|
-
const fontSize = getVariableByName('toast/fontSize', modes)
|
|
43
|
-
const fontFamily = getVariableByName('toast/fontFamily', modes)
|
|
44
|
-
const fontWeight = getVariableByName('toast/fontWeight', modes)
|
|
45
|
-
const lineHeight = getVariableByName('toast/lineHeight', modes)
|
|
46
|
-
const radius = getVariableByName('toast/radius', modes)
|
|
47
|
-
const paddingHorizontal = getVariableByName('toast/padding/horizontal', modes)
|
|
48
|
-
const paddingVertical = getVariableByName('toast/padding/vertical', modes)
|
|
49
|
-
const gap = getVariableByName('toast/gap', modes)
|
|
50
|
-
const borderWidth = getVariableByName('toast/border/size', modes)
|
|
51
|
-
const borderColor = getVariableByName('toast/border/color', modes)
|
|
52
|
-
const shadowBlurPrimary = getVariableByName('toast/shadow/primary/blur', modes)
|
|
53
|
-
const shadowOffsetYPrimary = getVariableByName('toast/shadow/primary/offsetY', modes)
|
|
54
|
-
const shadowColorPrimary = getVariableByName('toast/shadow/primary/color', modes)
|
|
47
|
+
const backgroundColor = getVariableByName('toast/background', modes)
|
|
48
|
+
const foreground = getVariableByName('toast/foreground', modes)
|
|
49
|
+
const fontSize = getVariableByName('toast/fontSize', modes)
|
|
50
|
+
const fontFamily = getVariableByName('toast/fontFamily', modes)
|
|
51
|
+
const fontWeight = getVariableByName('toast/fontWeight', modes)
|
|
52
|
+
const lineHeight = getVariableByName('toast/lineHeight', modes)
|
|
53
|
+
const radius = getVariableByName('toast/radius', modes)
|
|
54
|
+
const paddingHorizontal = getVariableByName('toast/padding/horizontal', modes)
|
|
55
|
+
const paddingVertical = getVariableByName('toast/padding/vertical', modes)
|
|
56
|
+
const gap = getVariableByName('toast/gap', modes)
|
|
57
|
+
const borderWidth = getVariableByName('toast/border/size', modes)
|
|
58
|
+
const borderColor = getVariableByName('toast/border/color', modes)
|
|
59
|
+
const shadowBlurPrimary = getVariableByName('toast/shadow/primary/blur', modes)
|
|
60
|
+
const shadowOffsetYPrimary = getVariableByName('toast/shadow/primary/offsetY', modes)
|
|
61
|
+
const shadowColorPrimary = getVariableByName('toast/shadow/primary/color', modes)
|
|
55
62
|
|
|
56
63
|
const enterAnimation = placement === 'top'
|
|
57
64
|
? SlideInUp.duration(ANIMATION_DURATION)
|
|
@@ -88,7 +95,7 @@ function Toast({
|
|
|
88
95
|
accessibilityRole="alert"
|
|
89
96
|
accessibilityLiveRegion="assertive"
|
|
90
97
|
>
|
|
91
|
-
<Text style={textStyle}
|
|
98
|
+
<Text style={textStyle} {...resolveTruncation(disableTruncation, 2)}>
|
|
92
99
|
{title}
|
|
93
100
|
</Text>
|
|
94
101
|
</Animated.View>
|
|
@@ -2,12 +2,12 @@ import React, { useCallback, useState } from 'react'
|
|
|
2
2
|
import {
|
|
3
3
|
Pressable,
|
|
4
4
|
View,
|
|
5
|
-
Platform,
|
|
6
5
|
type StyleProp,
|
|
7
6
|
type ViewStyle,
|
|
8
7
|
} from 'react-native'
|
|
9
8
|
import { getVariableByName } from '../../design-tokens/figma-variables-resolver'
|
|
10
9
|
import { EMPTY_MODES } from '../../utils/react-utils'
|
|
10
|
+
import { boxShadow } from '../../utils/shadow'
|
|
11
11
|
import type { Modes } from '../../design-tokens'
|
|
12
12
|
|
|
13
13
|
export interface ToggleProps {
|
|
@@ -89,15 +89,10 @@ function Toggle({
|
|
|
89
89
|
opacity: disabled ? 0.5 : 1,
|
|
90
90
|
}
|
|
91
91
|
|
|
92
|
-
const thumbShadow: ViewStyle =
|
|
93
|
-
|
|
94
|
-
:
|
|
95
|
-
|
|
96
|
-
shadowOffset: { width: thumbShadowOffsetX as number, height: thumbShadowOffsetY as number },
|
|
97
|
-
shadowRadius: thumbShadowRadius as number,
|
|
98
|
-
shadowOpacity: 1,
|
|
99
|
-
elevation: 4,
|
|
100
|
-
}
|
|
92
|
+
const thumbShadow: ViewStyle = boxShadow(
|
|
93
|
+
`${thumbShadowOffsetX}px ${thumbShadowOffsetY}px ${thumbShadowRadius}px 0px ${thumbShadowColor}`,
|
|
94
|
+
{ elevation: 4 },
|
|
95
|
+
)
|
|
101
96
|
|
|
102
97
|
const thumbStyle: ViewStyle = {
|
|
103
98
|
width: thumbSize as number,
|
|
@@ -263,18 +263,18 @@ export function TooltipContent({
|
|
|
263
263
|
const { width: windowWidth, height: windowHeight } = Dimensions.get('window')
|
|
264
264
|
|
|
265
265
|
// Tokens
|
|
266
|
-
const bgColor = (getVariableByName('tooltip/background', modes) as string)
|
|
267
|
-
const paddingH = Number(getVariableByName('tooltip/padding/horizontal', modes)
|
|
268
|
-
const paddingV = Number(getVariableByName('tooltip/padding/vertical', modes)
|
|
269
|
-
const radius = Number(getVariableByName('radius', modes)
|
|
270
|
-
const maxWidthToken = Number(getVariableByName('maxWidth', modes)
|
|
271
|
-
const arrowWidth = Number(getVariableByName('tooltip/tipItem/width', modes)
|
|
272
|
-
const arrowHeight = Number(getVariableByName('tooltip/tipItem/height', modes)
|
|
273
|
-
const labelColor = (getVariableByName('tooltip/label/color', modes) as string)
|
|
274
|
-
const fontSize = Number(getVariableByName('tooltip/label/fontSize', modes)
|
|
275
|
-
const fontWeight = (getVariableByName('tooltip/label/fontWeight', modes) as string)
|
|
276
|
-
const lineHeight = Number(getVariableByName('tooltip/label/lineHeight', modes)
|
|
277
|
-
const fontFamily = (getVariableByName('tooltip/lable/fontFamily', modes) as string)
|
|
266
|
+
const bgColor = (getVariableByName('tooltip/background', modes) as string)
|
|
267
|
+
const paddingH = Number(getVariableByName('tooltip/padding/horizontal', modes))
|
|
268
|
+
const paddingV = Number(getVariableByName('tooltip/padding/vertical', modes))
|
|
269
|
+
const radius = Number(getVariableByName('radius', modes))
|
|
270
|
+
const maxWidthToken = Number(getVariableByName('maxWidth', modes))
|
|
271
|
+
const arrowWidth = Number(getVariableByName('tooltip/tipItem/width', modes))
|
|
272
|
+
const arrowHeight = Number(getVariableByName('tooltip/tipItem/height', modes))
|
|
273
|
+
const labelColor = (getVariableByName('tooltip/label/color', modes) as string)
|
|
274
|
+
const fontSize = Number(getVariableByName('tooltip/label/fontSize', modes))
|
|
275
|
+
const fontWeight = (getVariableByName('tooltip/label/fontWeight', modes) as string)
|
|
276
|
+
const lineHeight = Number(getVariableByName('tooltip/label/lineHeight', modes))
|
|
277
|
+
const fontFamily = (getVariableByName('tooltip/lable/fontFamily', modes) as string)
|
|
278
278
|
|
|
279
279
|
if (!isVisible) return null
|
|
280
280
|
|
|
@@ -4,7 +4,7 @@ import { getVariableByName } from '../../design-tokens/figma-variables-resolver'
|
|
|
4
4
|
import MoneyValue from '../MoneyValue/MoneyValue'
|
|
5
5
|
import TransactionStatus from '../TransactionStatus/TransactionStatus'
|
|
6
6
|
import NavArrow from '../NavArrow/NavArrow'
|
|
7
|
-
import { EMPTY_MODES, cloneChildrenWithModes } from '../../utils/react-utils'
|
|
7
|
+
import { EMPTY_MODES, cloneChildrenWithModes, resolveTruncation } from '../../utils/react-utils'
|
|
8
8
|
import { usePressableWebSupport, type WebAccessibilityProps } from '../../utils/web-platform-utils'
|
|
9
9
|
import type { Modes } from '../../design-tokens'
|
|
10
10
|
|
|
@@ -23,6 +23,12 @@ export type TransactionBubbleProps = {
|
|
|
23
23
|
accessibilityLabel?: string
|
|
24
24
|
accessibilityHint?: string
|
|
25
25
|
webAccessibilityProps?: WebAccessibilityProps
|
|
26
|
+
/**
|
|
27
|
+
* When `true`, disables text truncation: the trailing ellipsis (`…`) is never
|
|
28
|
+
* shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
|
|
29
|
+
* lines as it needs even when horizontal space is tight.
|
|
30
|
+
*/
|
|
31
|
+
disableTruncation?: boolean
|
|
26
32
|
} & Omit<PressableProps, 'style' | 'children' | 'onPress'>
|
|
27
33
|
|
|
28
34
|
/**
|
|
@@ -56,6 +62,7 @@ function TransactionBubble({
|
|
|
56
62
|
accessibilityLabel,
|
|
57
63
|
accessibilityHint,
|
|
58
64
|
webAccessibilityProps,
|
|
65
|
+
disableTruncation,
|
|
59
66
|
...rest
|
|
60
67
|
}: TransactionBubbleProps) {
|
|
61
68
|
const resolvedModes = {
|
|
@@ -63,21 +70,21 @@ function TransactionBubble({
|
|
|
63
70
|
'Context3': 'Transaction Bubble',
|
|
64
71
|
}
|
|
65
72
|
|
|
66
|
-
const padding = Number(getVariableByName('transactionBubble/padding', resolvedModes))
|
|
67
|
-
const radius = Number(getVariableByName('transactionBubble/radius', resolvedModes))
|
|
68
|
-
const borderSize = Number(getVariableByName('transactionBubble/border/size', resolvedModes))
|
|
69
|
-
const backgroundColor = getVariableByName('transactionBubble/background', resolvedModes)
|
|
70
|
-
const borderColor = getVariableByName('transactionBubble/border/color', resolvedModes)
|
|
71
|
-
const bubbleGap = Number(getVariableByName('transactionBubble/gap', resolvedModes))
|
|
72
|
-
const moneyValueWrapGap = Number(getVariableByName('transactionBubble/wrap/gap', resolvedModes))
|
|
73
|
+
const padding = Number(getVariableByName('transactionBubble/padding', resolvedModes))
|
|
74
|
+
const radius = Number(getVariableByName('transactionBubble/radius', resolvedModes))
|
|
75
|
+
const borderSize = Number(getVariableByName('transactionBubble/border/size', resolvedModes))
|
|
76
|
+
const backgroundColor = getVariableByName('transactionBubble/background', resolvedModes)
|
|
77
|
+
const borderColor = getVariableByName('transactionBubble/border/color', resolvedModes)
|
|
78
|
+
const bubbleGap = Number(getVariableByName('transactionBubble/gap', resolvedModes))
|
|
79
|
+
const moneyValueWrapGap = Number(getVariableByName('transactionBubble/wrap/gap', resolvedModes))
|
|
73
80
|
|
|
74
|
-
const descriptionColor = getVariableByName('transactionBubble/description/color', resolvedModes)
|
|
75
|
-
const descriptionFontSize = Number(getVariableByName('transactionBubble/description/fontSize', resolvedModes))
|
|
76
|
-
const descriptionLineHeight = Number(getVariableByName('transactionBubble/description/lineHeight', resolvedModes))
|
|
77
|
-
const descriptionFontFamily = getVariableByName('transactionBubble/description/fontFamily', resolvedModes)
|
|
81
|
+
const descriptionColor = getVariableByName('transactionBubble/description/color', resolvedModes)
|
|
82
|
+
const descriptionFontSize = Number(getVariableByName('transactionBubble/description/fontSize', resolvedModes))
|
|
83
|
+
const descriptionLineHeight = Number(getVariableByName('transactionBubble/description/lineHeight', resolvedModes))
|
|
84
|
+
const descriptionFontFamily = getVariableByName('transactionBubble/description/fontFamily', resolvedModes)
|
|
78
85
|
|
|
79
|
-
const statusWrapGap = Number(getVariableByName('transactionBubble/statusWrap/gap', resolvedModes))
|
|
80
|
-
const statusWrapHeight = Number(getVariableByName('transactionBubble/statusWrap/height', resolvedModes))
|
|
86
|
+
const statusWrapGap = Number(getVariableByName('transactionBubble/statusWrap/gap', resolvedModes))
|
|
87
|
+
const statusWrapHeight = Number(getVariableByName('transactionBubble/statusWrap/height', resolvedModes))
|
|
81
88
|
|
|
82
89
|
const containerStyle: ViewStyle = {
|
|
83
90
|
padding,
|
|
@@ -122,7 +129,7 @@ function TransactionBubble({
|
|
|
122
129
|
const mainContent = (
|
|
123
130
|
<View style={{ gap: bubbleGap }}>
|
|
124
131
|
<View style={{ gap: moneyValueWrapGap }}>
|
|
125
|
-
<Text style={descriptionStyle}
|
|
132
|
+
<Text style={descriptionStyle} {...resolveTruncation(disableTruncation, 1)}>{description}</Text>
|
|
126
133
|
<MoneyValue value={value} currency={currency} modes={resolvedModes} />
|
|
127
134
|
</View>
|
|
128
135
|
{processedChildren}
|
|
@@ -52,21 +52,21 @@ function Item({
|
|
|
52
52
|
const gap = getVariableByName('detailItem/gap', modes) ?? 4
|
|
53
53
|
|
|
54
54
|
// Label typography tokens
|
|
55
|
-
const labelColor = getVariableByName('detailItem/label/color', modes)
|
|
56
|
-
const labelFontSize = getVariableByName('detailItem/label/fontSize', modes)
|
|
57
|
-
const labelFontFamily = getVariableByName('detailItem/label/fontFamily', modes)
|
|
58
|
-
const labelLineHeight = getVariableByName('detailItem/label/lineHeight', modes)
|
|
59
|
-
const labelFontWeightRaw = getVariableByName('detailItem/label/fontWeight', modes)
|
|
55
|
+
const labelColor = getVariableByName('detailItem/label/color', modes)
|
|
56
|
+
const labelFontSize = getVariableByName('detailItem/label/fontSize', modes)
|
|
57
|
+
const labelFontFamily = getVariableByName('detailItem/label/fontFamily', modes)
|
|
58
|
+
const labelLineHeight = getVariableByName('detailItem/label/lineHeight', modes)
|
|
59
|
+
const labelFontWeightRaw = getVariableByName('detailItem/label/fontWeight', modes)
|
|
60
60
|
const labelFontWeight = typeof labelFontWeightRaw === 'number'
|
|
61
61
|
? labelFontWeightRaw.toString()
|
|
62
62
|
: labelFontWeightRaw
|
|
63
63
|
|
|
64
64
|
// Value typography tokens
|
|
65
|
-
const valueColor = getVariableByName('detailItem/value/color', modes)
|
|
66
|
-
const valueFontSize = getVariableByName('detailItem/value/fontSize', modes)
|
|
67
|
-
const valueFontFamily = getVariableByName('detailItem/value/fontFamily', modes)
|
|
68
|
-
const valueLineHeight = getVariableByName('detailItem/value/lineHeight', modes)
|
|
69
|
-
const valueFontWeightRaw = getVariableByName('detailItem/value/fontWeight', modes)
|
|
65
|
+
const valueColor = getVariableByName('detailItem/value/color', modes)
|
|
66
|
+
const valueFontSize = getVariableByName('detailItem/value/fontSize', modes)
|
|
67
|
+
const valueFontFamily = getVariableByName('detailItem/value/fontFamily', modes)
|
|
68
|
+
const valueLineHeight = getVariableByName('detailItem/value/lineHeight', modes)
|
|
69
|
+
const valueFontWeightRaw = getVariableByName('detailItem/value/fontWeight', modes)
|
|
70
70
|
const valueFontWeight = typeof valueFontWeightRaw === 'number'
|
|
71
71
|
? valueFontWeightRaw.toString()
|
|
72
72
|
: valueFontWeightRaw === 'Medium' ? '500' : valueFontWeightRaw
|
|
@@ -2,7 +2,7 @@ import React from 'react'
|
|
|
2
2
|
import { View, Text, type ViewStyle, type TextStyle } from 'react-native'
|
|
3
3
|
import { Svg, Path } from 'react-native-svg'
|
|
4
4
|
import { getVariableByName } from '../../design-tokens/figma-variables-resolver'
|
|
5
|
-
import { EMPTY_MODES } from '../../utils/react-utils'
|
|
5
|
+
import { EMPTY_MODES, resolveTruncation } from '../../utils/react-utils'
|
|
6
6
|
import type { Modes } from '../../design-tokens'
|
|
7
7
|
|
|
8
8
|
// --- Internal Icon Component ---
|
|
@@ -19,7 +19,7 @@ const StatusIcon = ({
|
|
|
19
19
|
height = 15,
|
|
20
20
|
color,
|
|
21
21
|
}: StatusIconProps) => {
|
|
22
|
-
const resolvedColor = color || getVariableByName('transactionStatus/icon/color', modes)
|
|
22
|
+
const resolvedColor = color || getVariableByName('transactionStatus/icon/color', modes)
|
|
23
23
|
|
|
24
24
|
return (
|
|
25
25
|
<Svg
|
|
@@ -48,6 +48,12 @@ export type TransactionStatusProps = {
|
|
|
48
48
|
modes?: Modes
|
|
49
49
|
/** Optional container style */
|
|
50
50
|
style?: ViewStyle
|
|
51
|
+
/**
|
|
52
|
+
* When `true`, disables text truncation: the trailing ellipsis (`…`) is never
|
|
53
|
+
* shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
|
|
54
|
+
* lines as it needs even when horizontal space is tight.
|
|
55
|
+
*/
|
|
56
|
+
disableTruncation?: boolean
|
|
51
57
|
}
|
|
52
58
|
|
|
53
59
|
/**
|
|
@@ -58,17 +64,18 @@ export default function TransactionStatus({
|
|
|
58
64
|
date = '20 Mar 2025',
|
|
59
65
|
modes = EMPTY_MODES,
|
|
60
66
|
style,
|
|
67
|
+
disableTruncation,
|
|
61
68
|
}: TransactionStatusProps) {
|
|
62
|
-
const gap = Number(getVariableByName('transactionBubble/statusWrap/gap', modes))
|
|
69
|
+
const gap = Number(getVariableByName('transactionBubble/statusWrap/gap', modes))
|
|
63
70
|
// Using 'transactionStatus' tokens for text
|
|
64
|
-
const textColor = getVariableByName('transactionStatus/color', modes)
|
|
65
|
-
const fontSize = Number(getVariableByName('transactionStatus/fontSize', modes))
|
|
66
|
-
const lineHeight = Number(getVariableByName('transactionStatus/lineHeight', modes))
|
|
67
|
-
const fontFamily = getVariableByName('transactionStatus/fontFamily', modes)
|
|
68
|
-
const fontWeight = getVariableByName('transactionStatus/fontWeight2', modes)
|
|
71
|
+
const textColor = getVariableByName('transactionStatus/color', modes)
|
|
72
|
+
const fontSize = Number(getVariableByName('transactionStatus/fontSize', modes))
|
|
73
|
+
const lineHeight = Number(getVariableByName('transactionStatus/lineHeight', modes))
|
|
74
|
+
const fontFamily = getVariableByName('transactionStatus/fontFamily', modes)
|
|
75
|
+
const fontWeight = getVariableByName('transactionStatus/fontWeight2', modes)
|
|
69
76
|
|
|
70
|
-
const iconColor = getVariableByName('transactionStatus/icon/color', modes)
|
|
71
|
-
const iconSize = Number(getVariableByName('transactionStatus/iconSize', modes))
|
|
77
|
+
const iconColor = getVariableByName('transactionStatus/icon/color', modes)
|
|
78
|
+
const iconSize = Number(getVariableByName('transactionStatus/iconSize', modes))
|
|
72
79
|
|
|
73
80
|
const containerStyle: ViewStyle = {
|
|
74
81
|
flexDirection: 'row',
|
|
@@ -88,7 +95,7 @@ export default function TransactionStatus({
|
|
|
88
95
|
return (
|
|
89
96
|
<View style={containerStyle}>
|
|
90
97
|
<StatusIcon width={iconSize} height={iconSize} color={iconColor} modes={modes} />
|
|
91
|
-
<Text style={textStyle}
|
|
98
|
+
<Text style={textStyle} {...resolveTruncation(disableTruncation, 1)}>
|
|
92
99
|
{status} · {date}
|
|
93
100
|
</Text>
|
|
94
101
|
</View>
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
} from 'react-native'
|
|
14
14
|
import { getVariableByName } from '../../design-tokens/figma-variables-resolver'
|
|
15
15
|
import { useTokens } from '../../design-tokens/JFSThemeProvider'
|
|
16
|
-
import { EMPTY_MODES } from '../../utils/react-utils'
|
|
16
|
+
import { EMPTY_MODES, resolveTruncation } from '../../utils/react-utils'
|
|
17
17
|
import MediaSource, { type UnifiedSource } from '../../utils/MediaSource'
|
|
18
18
|
import Icon from '../../icons/Icon'
|
|
19
19
|
import type { Modes } from '../../design-tokens'
|
|
@@ -52,6 +52,12 @@ type UpiHandleProps = {
|
|
|
52
52
|
onPress?: () => void;
|
|
53
53
|
onClick?: () => void;
|
|
54
54
|
disabled?: boolean;
|
|
55
|
+
/**
|
|
56
|
+
* When `true`, disables text truncation: the trailing ellipsis (`…`) is never
|
|
57
|
+
* shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
|
|
58
|
+
* lines as it needs even when horizontal space is tight.
|
|
59
|
+
*/
|
|
60
|
+
disableTruncation?: boolean;
|
|
55
61
|
} & Omit<React.ComponentProps<typeof View>, 'style' | 'accessibilityRole' | 'accessibilityLabel' | 'accessibilityHint'>;
|
|
56
62
|
|
|
57
63
|
interface UpiHandleTokens {
|
|
@@ -64,26 +70,26 @@ interface UpiHandleTokens {
|
|
|
64
70
|
}
|
|
65
71
|
|
|
66
72
|
function resolveUpiHandleTokens(modes: Modes): UpiHandleTokens {
|
|
67
|
-
const backgroundColor = (getVariableByName('upiHandle/background', modes)
|
|
68
|
-
const radius = (getVariableByName('upiHandle/radius', modes)
|
|
69
|
-
const paddingLeft = (getVariableByName('upiHandle/padding/left', modes)
|
|
70
|
-
const paddingRight = (getVariableByName('upiHandle/padding/right', modes)
|
|
71
|
-
const paddingVertical = (getVariableByName('upiHandle/padding/vertical', modes)
|
|
72
|
-
const gap = (getVariableByName('upiHandle/gap', modes)
|
|
73
|
+
const backgroundColor = (getVariableByName('upiHandle/background', modes)) as string
|
|
74
|
+
const radius = (getVariableByName('upiHandle/radius', modes)) as number
|
|
75
|
+
const paddingLeft = (getVariableByName('upiHandle/padding/left', modes)) as number
|
|
76
|
+
const paddingRight = (getVariableByName('upiHandle/padding/right', modes)) as number
|
|
77
|
+
const paddingVertical = (getVariableByName('upiHandle/padding/vertical', modes)) as number
|
|
78
|
+
const gap = (getVariableByName('upiHandle/gap', modes)) as number
|
|
73
79
|
|
|
74
|
-
const avatarSize = (getVariableByName('upiHandle/image/size', modes)
|
|
75
|
-
const avatarRadius = (getVariableByName('upiHandle/image/radius', modes)
|
|
80
|
+
const avatarSize = (getVariableByName('upiHandle/image/size', modes)) as number
|
|
81
|
+
const avatarRadius = (getVariableByName('upiHandle/image/radius', modes)) as number
|
|
76
82
|
|
|
77
|
-
const labelColor = (getVariableByName('upiHandle/label/color', modes)
|
|
78
|
-
const labelFontSize = (getVariableByName('upiHandle/label/fontSize', modes)
|
|
79
|
-
const labelLineHeight = (getVariableByName('upiHandle/label/lineHeight', modes)
|
|
80
|
-
const labelFontFamily = (getVariableByName('upiHandle/label/fontFamily', modes)
|
|
81
|
-
const labelFontWeightRaw = getVariableByName('upiHandle/label/fontWeight', modes)
|
|
83
|
+
const labelColor = (getVariableByName('upiHandle/label/color', modes)) as string
|
|
84
|
+
const labelFontSize = (getVariableByName('upiHandle/label/fontSize', modes)) as number
|
|
85
|
+
const labelLineHeight = (getVariableByName('upiHandle/label/lineHeight', modes)) as number
|
|
86
|
+
const labelFontFamily = (getVariableByName('upiHandle/label/fontFamily', modes)) as string
|
|
87
|
+
const labelFontWeightRaw = getVariableByName('upiHandle/label/fontWeight', modes)
|
|
82
88
|
const labelFontWeight =
|
|
83
89
|
typeof labelFontWeightRaw === 'number' ? labelFontWeightRaw.toString() : labelFontWeightRaw
|
|
84
90
|
|
|
85
|
-
const iconColor = (getVariableByName('upiHandle/icon/color', modes)
|
|
86
|
-
const iconSize = (getVariableByName('upiHandle/icon/size', modes)
|
|
91
|
+
const iconColor = (getVariableByName('upiHandle/icon/color', modes)) as string
|
|
92
|
+
const iconSize = (getVariableByName('upiHandle/icon/size', modes)) as number
|
|
87
93
|
|
|
88
94
|
return {
|
|
89
95
|
containerStyle: {
|
|
@@ -152,6 +158,7 @@ function UpiHandle({
|
|
|
152
158
|
onPress,
|
|
153
159
|
onClick,
|
|
154
160
|
disabled,
|
|
161
|
+
disableTruncation,
|
|
155
162
|
// accessibilityLabel is accepted on the type for API back-compat; the
|
|
156
163
|
// wrapper renders `accessibilityLabel={undefined}` because the inner Text
|
|
157
164
|
// already carries the label.
|
|
@@ -240,8 +247,7 @@ function UpiHandle({
|
|
|
240
247
|
</View>
|
|
241
248
|
<Text
|
|
242
249
|
style={tokens.labelStyle}
|
|
243
|
-
|
|
244
|
-
ellipsizeMode="tail"
|
|
250
|
+
{...resolveTruncation(disableTruncation, 1, 'tail')}
|
|
245
251
|
accessibilityElementsHidden={true}
|
|
246
252
|
importantForAccessibility="no"
|
|
247
253
|
>
|