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,6 @@
|
|
|
1
|
-
import React, { forwardRef, useCallback, useMemo, useState } from 'react'
|
|
1
|
+
import React, { forwardRef, useCallback, useMemo, useRef, useState } from 'react'
|
|
2
2
|
import {
|
|
3
|
+
Platform,
|
|
3
4
|
View,
|
|
4
5
|
Text,
|
|
5
6
|
TextInput as RNTextInput,
|
|
@@ -10,7 +11,8 @@ import {
|
|
|
10
11
|
} from 'react-native'
|
|
11
12
|
import { getVariableByName } from '../../design-tokens/figma-variables-resolver'
|
|
12
13
|
import { useTokens } from '../../design-tokens/JFSThemeProvider'
|
|
13
|
-
import { EMPTY_MODES, cloneChildrenWithModes } from '../../utils/react-utils'
|
|
14
|
+
import { EMPTY_MODES, cloneChildrenWithModes, mergeRefs } from '../../utils/react-utils'
|
|
15
|
+
import { useWebOutsidePress } from '../../utils/web-platform-utils'
|
|
14
16
|
import SupportText from '../SupportText/SupportText'
|
|
15
17
|
import type { SupportTextStatus } from '../SupportText/SupportTextIcon'
|
|
16
18
|
import Icon from '../../icons/Icon'
|
|
@@ -124,10 +126,9 @@ function useFormFieldTokens(modes: Modes) {
|
|
|
124
126
|
|
|
125
127
|
// Label (Figma: 14/17 medium, color #0c0d10)
|
|
126
128
|
const labelColor =
|
|
127
|
-
(getVariableByName('formField/label/color', modes) as string)
|
|
129
|
+
(getVariableByName('formField/label/color', modes) as string)
|
|
128
130
|
const labelFontFamily =
|
|
129
|
-
(getVariableByName('formField/label/fontFamily', modes) as string)
|
|
130
|
-
'JioType Var'
|
|
131
|
+
(getVariableByName('formField/label/fontFamily', modes) as string)
|
|
131
132
|
const labelFontSize = toNumber(
|
|
132
133
|
getVariableByName('formField/label/fontSize', modes),
|
|
133
134
|
14,
|
|
@@ -166,19 +167,16 @@ function useFormFieldTokens(modes: Modes) {
|
|
|
166
167
|
45,
|
|
167
168
|
)
|
|
168
169
|
const inputFontFamily =
|
|
169
|
-
(getVariableByName('formField/input/label/fontFamily', modes) as string)
|
|
170
|
-
'JioType Var'
|
|
170
|
+
(getVariableByName('formField/input/label/fontFamily', modes) as string)
|
|
171
171
|
const inputFontWeight = toFontWeight(
|
|
172
172
|
getVariableByName('formField/input/label/fontWeight', modes),
|
|
173
173
|
'400',
|
|
174
174
|
)
|
|
175
175
|
|
|
176
176
|
const inputBackground =
|
|
177
|
-
(getVariableByName('formField/input/background', modes) as string)
|
|
178
|
-
'#ffffff'
|
|
177
|
+
(getVariableByName('formField/input/background', modes) as string)
|
|
179
178
|
const inputBorderColor =
|
|
180
|
-
(getVariableByName('formField/input/border/color', modes) as string)
|
|
181
|
-
'#b5b6b7'
|
|
179
|
+
(getVariableByName('formField/input/border/color', modes) as string)
|
|
182
180
|
|
|
183
181
|
if (__DEV__) {
|
|
184
182
|
console.warn('[FormField] border color (modes changed)', {
|
|
@@ -192,8 +190,7 @@ function useFormFieldTokens(modes: Modes) {
|
|
|
192
190
|
}
|
|
193
191
|
|
|
194
192
|
const inputTextColor =
|
|
195
|
-
(getVariableByName('formField/input/label/color', modes) as string)
|
|
196
|
-
'#24262b'
|
|
193
|
+
(getVariableByName('formField/input/label/color', modes) as string)
|
|
197
194
|
|
|
198
195
|
return {
|
|
199
196
|
gap,
|
|
@@ -347,6 +344,25 @@ const FormField = forwardRef<RNTextInput, FormFieldProps>(function FormField({
|
|
|
347
344
|
const [isFocused, setIsFocused] = useState(false)
|
|
348
345
|
const interactive = !isDisabled && !isReadOnly
|
|
349
346
|
|
|
347
|
+
// Internal handles so we can (a) imperatively blur the input and (b) detect
|
|
348
|
+
// outside presses. The forwarded `ref` is merged in below, so the public
|
|
349
|
+
// ref API (focus/blur/clear/isFocused) is unchanged for consumers.
|
|
350
|
+
const inputRef = useRef<RNTextInput>(null)
|
|
351
|
+
const rootRef = useRef<View>(null)
|
|
352
|
+
// Stable merged ref so React doesn't detach/reattach (and momentarily null
|
|
353
|
+
// `inputRef.current`) on every render.
|
|
354
|
+
const mergedInputRef = useMemo(() => mergeRefs(inputRef, ref), [ref])
|
|
355
|
+
|
|
356
|
+
// Web: pressing an INTERACTIVE element outside the field (Button, link,
|
|
357
|
+
// another pressable) often does not move DOM focus, so the native `blur`
|
|
358
|
+
// never fires and the field stays visually "Active". Force a blur on any
|
|
359
|
+
// outside pointer press while focused. No-op on native.
|
|
360
|
+
useWebOutsidePress(
|
|
361
|
+
rootRef,
|
|
362
|
+
useCallback(() => inputRef.current?.blur(), []),
|
|
363
|
+
isFocused,
|
|
364
|
+
)
|
|
365
|
+
|
|
350
366
|
// FormField States cascade — error > read only/disabled > active (focused) > idle.
|
|
351
367
|
// Disabled maps to "Read Only" since there is no dedicated disabled mode and
|
|
352
368
|
// the visual treatment is closest. This is only the DEFAULT — an explicit
|
|
@@ -478,7 +494,30 @@ const FormField = forwardRef<RNTextInput, FormFieldProps>(function FormField({
|
|
|
478
494
|
color: tokens.inputTextColor,
|
|
479
495
|
fontFamily: tokens.inputFontFamily,
|
|
480
496
|
fontSize: tokens.inputFontSize,
|
|
481
|
-
lineHeight: tokens.inputLineHeight
|
|
497
|
+
// ⚠️ DO NOT change to an unconditional `lineHeight: tokens.inputLineHeight`.
|
|
498
|
+
// This has regressed twice — read this before "simplifying" it.
|
|
499
|
+
//
|
|
500
|
+
// `inputLineHeight` comes from the Figma token `formField/input/label`
|
|
501
|
+
// ("16/45"), which is a 16px font inside a 45px ROW, i.e. it is the row
|
|
502
|
+
// HEIGHT, not the text leading. The row height is already applied via
|
|
503
|
+
// `inputRowStyle.minHeight` + `alignItems: 'center'`, so the text never
|
|
504
|
+
// needs this value as its own `lineHeight`.
|
|
505
|
+
//
|
|
506
|
+
// Passing a `lineHeight` (45) that is much larger than `fontSize` (16)
|
|
507
|
+
// onto a single-line RNTextInput breaks ONLY iOS: iOS puts ALL the extra
|
|
508
|
+
// vertical space ABOVE the glyphs, so the text/placeholder sinks to the
|
|
509
|
+
// bottom of the box instead of centering. Android and Web distribute the
|
|
510
|
+
// space evenly and look correct. This is a long-standing iOS native
|
|
511
|
+
// font-metrics bug in UITextField — see facebook/react-native#39145 and
|
|
512
|
+
// #28012; the documented workaround is exactly "drop lineHeight on the
|
|
513
|
+
// single-line input and let a wrapper center it". A single-line UITextField
|
|
514
|
+
// with no lineHeight centers its text natively (see react-native#56774).
|
|
515
|
+
//
|
|
516
|
+
// So: omit lineHeight on iOS (native centering via the row), and keep the
|
|
517
|
+
// token value on Android/Web where it already renders correctly.
|
|
518
|
+
...(Platform.OS === 'ios'
|
|
519
|
+
? null
|
|
520
|
+
: { lineHeight: tokens.inputLineHeight }),
|
|
482
521
|
fontWeight: tokens.inputFontWeight,
|
|
483
522
|
padding: 0,
|
|
484
523
|
margin: 0,
|
|
@@ -530,6 +569,7 @@ const FormField = forwardRef<RNTextInput, FormFieldProps>(function FormField({
|
|
|
530
569
|
|
|
531
570
|
return (
|
|
532
571
|
<View
|
|
572
|
+
ref={rootRef}
|
|
533
573
|
style={[wrapperStyle, style]}
|
|
534
574
|
pointerEvents={isDisabled ? 'none' : 'auto'}
|
|
535
575
|
testID={testID}
|
|
@@ -552,7 +592,7 @@ const FormField = forwardRef<RNTextInput, FormFieldProps>(function FormField({
|
|
|
552
592
|
</View>
|
|
553
593
|
)}
|
|
554
594
|
<RNTextInput
|
|
555
|
-
ref={
|
|
595
|
+
ref={mergedInputRef}
|
|
556
596
|
style={[inputTextStyles, inputTextStyle]}
|
|
557
597
|
value={value ?? ''}
|
|
558
598
|
onChangeText={handleChangeText}
|
|
@@ -125,40 +125,40 @@ type HeroTextProps = {
|
|
|
125
125
|
|
|
126
126
|
function HeroText({ eyebrow, headline, supportingText, priceText, modes }: HeroTextProps) {
|
|
127
127
|
const styles = useMemo(() => {
|
|
128
|
-
const gap = Number(getVariableByName('PageHero/gap', modes))
|
|
129
|
-
const textWrapGap = Number(getVariableByName('PageHero/textWrap/gap', modes))
|
|
128
|
+
const gap = Number(getVariableByName('PageHero/gap', modes))
|
|
129
|
+
const textWrapGap = Number(getVariableByName('PageHero/textWrap/gap', modes))
|
|
130
130
|
|
|
131
131
|
const eyebrowStyle: TextStyle = {
|
|
132
|
-
color: (getVariableByName('PageHero/eyebrow/color', modes) as string)
|
|
133
|
-
fontFamily: (getVariableByName('PageHero/eyebrow/fontFamily', modes) as string)
|
|
134
|
-
fontSize: Number(getVariableByName('PageHero/eyebrow/fontSize', modes))
|
|
135
|
-
fontWeight: String(getVariableByName('PageHero/eyebrow/fontWeight', modes)
|
|
136
|
-
lineHeight: Number(getVariableByName('PageHero/eyebrow/lineHeight', modes))
|
|
132
|
+
color: (getVariableByName('PageHero/eyebrow/color', modes) as string),
|
|
133
|
+
fontFamily: (getVariableByName('PageHero/eyebrow/fontFamily', modes) as string),
|
|
134
|
+
fontSize: Number(getVariableByName('PageHero/eyebrow/fontSize', modes)),
|
|
135
|
+
fontWeight: String(getVariableByName('PageHero/eyebrow/fontWeight', modes)) as TextStyle['fontWeight'],
|
|
136
|
+
lineHeight: Number(getVariableByName('PageHero/eyebrow/lineHeight', modes)),
|
|
137
137
|
textAlign: 'center',
|
|
138
138
|
}
|
|
139
139
|
const headlineStyle: TextStyle = {
|
|
140
|
-
color: (getVariableByName('PageHero/headline/color', modes) as string)
|
|
141
|
-
fontFamily: (getVariableByName('PageHero/headline/fontFamily', modes) as string)
|
|
142
|
-
fontSize: Number(getVariableByName('PageHero/headline/fontSize', modes))
|
|
143
|
-
fontWeight: String(getVariableByName('PageHero/headline/fontWeight', modes)
|
|
144
|
-
lineHeight: Number(getVariableByName('PageHero/headline/lineHeight', modes))
|
|
140
|
+
color: (getVariableByName('PageHero/headline/color', modes) as string),
|
|
141
|
+
fontFamily: (getVariableByName('PageHero/headline/fontFamily', modes) as string),
|
|
142
|
+
fontSize: Number(getVariableByName('PageHero/headline/fontSize', modes)),
|
|
143
|
+
fontWeight: String(getVariableByName('PageHero/headline/fontWeight', modes)) as TextStyle['fontWeight'],
|
|
144
|
+
lineHeight: Number(getVariableByName('PageHero/headline/lineHeight', modes)),
|
|
145
145
|
textAlign: 'center',
|
|
146
146
|
width: '100%',
|
|
147
147
|
}
|
|
148
148
|
const supportingTextStyle: TextStyle = {
|
|
149
|
-
color: (getVariableByName('PageHero/supportingText/color', modes) as string)
|
|
150
|
-
fontFamily: (getVariableByName('PageHero/supportingText/fontFamily', modes) as string)
|
|
151
|
-
fontSize: Number(getVariableByName('PageHero/supportingText/fontSize', modes))
|
|
152
|
-
fontWeight: String(getVariableByName('PageHero/supportingText/fontWeight', modes)
|
|
153
|
-
lineHeight: Number(getVariableByName('PageHero/supportingText/lineHeight', modes))
|
|
149
|
+
color: (getVariableByName('PageHero/supportingText/color', modes) as string),
|
|
150
|
+
fontFamily: (getVariableByName('PageHero/supportingText/fontFamily', modes) as string),
|
|
151
|
+
fontSize: Number(getVariableByName('PageHero/supportingText/fontSize', modes)),
|
|
152
|
+
fontWeight: String(getVariableByName('PageHero/supportingText/fontWeight', modes)) as TextStyle['fontWeight'],
|
|
153
|
+
lineHeight: Number(getVariableByName('PageHero/supportingText/lineHeight', modes)),
|
|
154
154
|
textAlign: 'center',
|
|
155
155
|
}
|
|
156
156
|
const priceTextStyle: TextStyle = {
|
|
157
|
-
color: (getVariableByName('PageHero/body/color', modes) as string)
|
|
158
|
-
fontFamily: (getVariableByName('PageHero/body/fontFamily', modes) as string)
|
|
159
|
-
fontSize: Number(getVariableByName('PageHero/body/fontSize', modes))
|
|
160
|
-
fontWeight: String(getVariableByName('PageHero/body/fontWeight', modes)
|
|
161
|
-
lineHeight: Number(getVariableByName('PageHero/body/lineHeight', modes))
|
|
157
|
+
color: (getVariableByName('PageHero/body/color', modes) as string),
|
|
158
|
+
fontFamily: (getVariableByName('PageHero/body/fontFamily', modes) as string),
|
|
159
|
+
fontSize: Number(getVariableByName('PageHero/body/fontSize', modes)),
|
|
160
|
+
fontWeight: String(getVariableByName('PageHero/body/fontWeight', modes)) as TextStyle['fontWeight'],
|
|
161
|
+
lineHeight: Number(getVariableByName('PageHero/body/lineHeight', modes)),
|
|
162
162
|
textAlign: 'center',
|
|
163
163
|
}
|
|
164
164
|
|
|
@@ -268,7 +268,7 @@ function FullscreenModal({
|
|
|
268
268
|
[globalModes, propModes]
|
|
269
269
|
)
|
|
270
270
|
|
|
271
|
-
const rootGap = Number(getVariableByName('fullScreenModal/gap', modes))
|
|
271
|
+
const rootGap = Number(getVariableByName('fullScreenModal/gap', modes))
|
|
272
272
|
|
|
273
273
|
// Safe-area insets so the floating chrome clears the system bars: the close
|
|
274
274
|
// button drops below the status bar / notch, and the sticky footer keeps its
|
|
@@ -283,7 +283,7 @@ function FullscreenModal({
|
|
|
283
283
|
// Extend (not replace) the footer's token bottom padding by the bottom inset
|
|
284
284
|
// so the action button never sits under the system navigation area.
|
|
285
285
|
const footerInsetStyle = useMemo<ViewStyle>(() => {
|
|
286
|
-
const base = Number(getVariableByName('actionFooter/padding/bottom', modes))
|
|
286
|
+
const base = Number(getVariableByName('actionFooter/padding/bottom', modes))
|
|
287
287
|
return { paddingBottom: base + insets.bottom }
|
|
288
288
|
}, [modes, insets.bottom])
|
|
289
289
|
|
|
@@ -91,7 +91,7 @@ const toFontWeight = (value: unknown, fallback: TextStyle['fontWeight']) => {
|
|
|
91
91
|
|
|
92
92
|
const getStrokeColor = (style: StyleProp<ViewStyle>, fallback: string) => {
|
|
93
93
|
const flattened = StyleSheet.flatten(style)
|
|
94
|
-
return typeof flattened.backgroundColor === 'string'
|
|
94
|
+
return flattened && typeof flattened.backgroundColor === 'string'
|
|
95
95
|
? flattened.backgroundColor
|
|
96
96
|
: fallback
|
|
97
97
|
}
|
|
@@ -145,34 +145,34 @@ function Gauge({
|
|
|
145
145
|
const arcLength = Math.PI * radius
|
|
146
146
|
const progress = clamp(value, min, max)
|
|
147
147
|
|
|
148
|
-
const titleColor = getVariableByName('gauge/title/color', modes)
|
|
148
|
+
const titleColor = getVariableByName('gauge/title/color', modes)
|
|
149
149
|
const titleFontSize = toNumber(getVariableByName('gauge/title/fontSize', modes), 23)
|
|
150
150
|
const titleLineHeight = toNumber(getVariableByName('gauge/title/lineHeight', modes), 23)
|
|
151
|
-
const titleFontFamily = getVariableByName('gauge/title/fontFamily', modes)
|
|
151
|
+
const titleFontFamily = getVariableByName('gauge/title/fontFamily', modes)
|
|
152
152
|
const titleFontWeight = toFontWeight(getVariableByName('gauge/title/fontWeight', modes), '900')
|
|
153
153
|
const titleHeight = toNumber(getVariableByName('gauge/title/height', modes), 46)
|
|
154
154
|
|
|
155
155
|
const readoutGap = toNumber(getVariableByName('gauge/readout/gap', modes), 8)
|
|
156
156
|
const readoutPadding = toNumber(getVariableByName('gauge/readout/padding', modes), 8)
|
|
157
|
-
const valueColor = getVariableByName('gauge/readout/value/color', modes)
|
|
157
|
+
const valueColor = getVariableByName('gauge/readout/value/color', modes)
|
|
158
158
|
const valueFontSize = toNumber(getVariableByName('gauge/readout/value/fontSize', modes), 36)
|
|
159
159
|
const valueLineHeight = toNumber(getVariableByName('gauge/readout/value/lineHeight', modes), 36)
|
|
160
|
-
const valueFontFamily = getVariableByName('gauge/readout/value/fontFamily', modes)
|
|
160
|
+
const valueFontFamily = getVariableByName('gauge/readout/value/fontFamily', modes)
|
|
161
161
|
const valueFontWeight = toFontWeight(getVariableByName('gauge/readout/value/fontWeight', modes), '800')
|
|
162
162
|
|
|
163
|
-
const captionColor = getVariableByName('gauge/caption/color', modes)
|
|
163
|
+
const captionColor = getVariableByName('gauge/caption/color', modes)
|
|
164
164
|
const captionFontSize = toNumber(getVariableByName('gauge/caption/fontSize', modes), 14)
|
|
165
165
|
const captionLineHeight = toNumber(getVariableByName('gauge/caption/lineHeight', modes), 18)
|
|
166
|
-
const captionFontFamily = getVariableByName('gauge/caption/fontFamily', modes)
|
|
166
|
+
const captionFontFamily = getVariableByName('gauge/caption/fontFamily', modes)
|
|
167
167
|
const captionFontWeight = toFontWeight(getVariableByName('gauge/caption/fontWeight', modes), '500')
|
|
168
168
|
|
|
169
169
|
const trackColor = getStrokeColor(
|
|
170
170
|
trackStyle,
|
|
171
|
-
getVariableByName('gauge/track/color', modes)
|
|
171
|
+
getVariableByName('gauge/track/color', modes)
|
|
172
172
|
)
|
|
173
173
|
const progressColor = getStrokeColor(
|
|
174
174
|
progressStyle,
|
|
175
|
-
getVariableByName('gauge/progress/color', modes)
|
|
175
|
+
getVariableByName('gauge/progress/color', modes)
|
|
176
176
|
)
|
|
177
177
|
|
|
178
178
|
const containerStyle: ViewStyle = {
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
} from 'react-native'
|
|
11
11
|
import { getVariableByName } from '../../design-tokens/figma-variables-resolver'
|
|
12
12
|
import Radio from '../Radio/Radio'
|
|
13
|
-
import { EMPTY_MODES } from '../../utils/react-utils'
|
|
13
|
+
import { EMPTY_MODES, resolveTruncation } from '../../utils/react-utils'
|
|
14
14
|
import type { Modes } from '../../design-tokens'
|
|
15
15
|
|
|
16
16
|
export interface HoldingsCardDetailItem {
|
|
@@ -39,6 +39,12 @@ export interface HoldingsCardProps {
|
|
|
39
39
|
style?: StyleProp<ViewStyle>
|
|
40
40
|
/** Test ID for testing. */
|
|
41
41
|
testID?: string
|
|
42
|
+
/**
|
|
43
|
+
* When `true`, disables text truncation: the trailing ellipsis (`…`) is never
|
|
44
|
+
* shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
|
|
45
|
+
* lines as it needs even when horizontal space is tight.
|
|
46
|
+
*/
|
|
47
|
+
disableTruncation?: boolean
|
|
42
48
|
}
|
|
43
49
|
|
|
44
50
|
const GRID_COLUMNS = 3
|
|
@@ -62,10 +68,11 @@ export default function HoldingsCard({
|
|
|
62
68
|
modes = EMPTY_MODES,
|
|
63
69
|
style,
|
|
64
70
|
testID,
|
|
71
|
+
disableTruncation,
|
|
65
72
|
}: HoldingsCardProps) {
|
|
66
73
|
// ---- Container tokens ----
|
|
67
|
-
const containerFill = getVariableByName('holdingsCard/container/fill', modes)
|
|
68
|
-
const containerStroke = getVariableByName('holdingsCard/container/stroke', modes)
|
|
74
|
+
const containerFill = getVariableByName('holdingsCard/container/fill', modes)
|
|
75
|
+
const containerStroke = getVariableByName('holdingsCard/container/stroke', modes)
|
|
69
76
|
const containerStrokeWeight = parseFloat(
|
|
70
77
|
(getVariableByName('holdingsCard/container/strokeWeight', modes) ?? 1).toString()
|
|
71
78
|
)
|
|
@@ -94,24 +101,24 @@ export default function HoldingsCard({
|
|
|
94
101
|
const heroGap = parseFloat(
|
|
95
102
|
(getVariableByName('holdingsCard/hero/gap', modes) ?? 4).toString()
|
|
96
103
|
)
|
|
97
|
-
const heroLabelColor = getVariableByName('holdingsCard/hero/label/color', modes)
|
|
104
|
+
const heroLabelColor = getVariableByName('holdingsCard/hero/label/color', modes)
|
|
98
105
|
const heroLabelFontSize = parseFloat(
|
|
99
106
|
(getVariableByName('holdingsCard/hero/label/fontSize', modes) ?? 12).toString()
|
|
100
107
|
)
|
|
101
108
|
const heroLabelFontFamily =
|
|
102
|
-
getVariableByName('holdingsCard/hero/label/fontFamily', modes)
|
|
109
|
+
getVariableByName('holdingsCard/hero/label/fontFamily', modes)
|
|
103
110
|
const heroLabelLineHeight = parseFloat(
|
|
104
111
|
(getVariableByName('holdingsCard/hero/label/lineHeight', modes) ?? 16).toString()
|
|
105
112
|
)
|
|
106
113
|
const heroLabelFontWeight =
|
|
107
114
|
(getVariableByName('holdingsCard/hero/label/fontWeight', modes) ?? '400').toString()
|
|
108
115
|
|
|
109
|
-
const heroValueColor = getVariableByName('holdingsCard/hero/value/color', modes)
|
|
116
|
+
const heroValueColor = getVariableByName('holdingsCard/hero/value/color', modes)
|
|
110
117
|
const heroValueFontSize = parseFloat(
|
|
111
118
|
(getVariableByName('holdingsCard/hero/value/fontSize', modes) ?? 20).toString()
|
|
112
119
|
)
|
|
113
120
|
const heroValueFontFamily =
|
|
114
|
-
getVariableByName('holdingsCard/hero/value/fontFamily', modes)
|
|
121
|
+
getVariableByName('holdingsCard/hero/value/fontFamily', modes)
|
|
115
122
|
const heroValueLineHeight = parseFloat(
|
|
116
123
|
(getVariableByName('holdingsCard/hero/value/lineHeight', modes) ?? 22).toString()
|
|
117
124
|
)
|
|
@@ -120,12 +127,12 @@ export default function HoldingsCard({
|
|
|
120
127
|
|
|
121
128
|
// ---- Details grid tokens ----
|
|
122
129
|
const detailLabelColor =
|
|
123
|
-
getVariableByName('holdingsCard/detailsGrid/label/color', modes)
|
|
130
|
+
getVariableByName('holdingsCard/detailsGrid/label/color', modes)
|
|
124
131
|
const detailLabelFontSize = parseFloat(
|
|
125
132
|
(getVariableByName('holdingsCard/detailsGrid/label/fontSize', modes) ?? 10).toString()
|
|
126
133
|
)
|
|
127
134
|
const detailLabelFontFamily =
|
|
128
|
-
getVariableByName('holdingsCard/detailsGrid/label/fontFamily', modes)
|
|
135
|
+
getVariableByName('holdingsCard/detailsGrid/label/fontFamily', modes)
|
|
129
136
|
const detailLabelLineHeight = parseFloat(
|
|
130
137
|
(getVariableByName('holdingsCard/detailsGrid/label/lineHeight', modes) ?? 12).toString()
|
|
131
138
|
)
|
|
@@ -133,12 +140,12 @@ export default function HoldingsCard({
|
|
|
133
140
|
(getVariableByName('holdingsCard/detailsGrid/label/fontWeight', modes) ?? '500').toString()
|
|
134
141
|
|
|
135
142
|
const detailValueColor =
|
|
136
|
-
getVariableByName('holdingsCard/detailsGrid/value/color', modes)
|
|
143
|
+
getVariableByName('holdingsCard/detailsGrid/value/color', modes)
|
|
137
144
|
const detailValueFontSize = parseFloat(
|
|
138
145
|
(getVariableByName('holdingsCard/detailsGrid/value/fontSize', modes) ?? 12).toString()
|
|
139
146
|
)
|
|
140
147
|
const detailValueFontFamily =
|
|
141
|
-
getVariableByName('holdingsCard/detailsGrid/value/fontFamily', modes)
|
|
148
|
+
getVariableByName('holdingsCard/detailsGrid/value/fontFamily', modes)
|
|
142
149
|
const detailValueLineHeight = parseFloat(
|
|
143
150
|
(getVariableByName('holdingsCard/detailsGrid/value/lineHeight', modes) ?? 14).toString()
|
|
144
151
|
)
|
|
@@ -268,7 +275,7 @@ export default function HoldingsCard({
|
|
|
268
275
|
lineHeight: detailValueLineHeight,
|
|
269
276
|
fontWeight: detailValueFontWeight as any,
|
|
270
277
|
}}
|
|
271
|
-
|
|
278
|
+
{...resolveTruncation(disableTruncation, 1)}
|
|
272
279
|
>
|
|
273
280
|
{item.value}
|
|
274
281
|
</Text>
|
|
@@ -55,12 +55,12 @@ interface IconTokens {
|
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
function resolveIconTokens(modes: Modes): IconTokens {
|
|
58
|
-
const iconColor = (getVariableByName('icon/color', modes)
|
|
59
|
-
const iconSize = (getVariableByName('icon/size', modes)
|
|
60
|
-
const paddingLeft = (getVariableByName('icon/padding/left', modes)
|
|
61
|
-
const paddingTop = (getVariableByName('icon/padding/top', modes)
|
|
62
|
-
const paddingRight = (getVariableByName('icon/padding/right', modes)
|
|
63
|
-
const paddingBottom = (getVariableByName('icon/padding/bottom', modes)
|
|
58
|
+
const iconColor = (getVariableByName('icon/color', modes)) as string
|
|
59
|
+
const iconSize = (getVariableByName('icon/size', modes)) as number
|
|
60
|
+
const paddingLeft = (getVariableByName('icon/padding/left', modes)) as number
|
|
61
|
+
const paddingTop = (getVariableByName('icon/padding/top', modes)) as number
|
|
62
|
+
const paddingRight = (getVariableByName('icon/padding/right', modes)) as number
|
|
63
|
+
const paddingBottom = (getVariableByName('icon/padding/bottom', modes)) as number
|
|
64
64
|
|
|
65
65
|
return {
|
|
66
66
|
containerStyle: {
|
|
@@ -30,13 +30,13 @@ interface IconCapsuleTokens {
|
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
function resolveIconCapsuleTokens(modes: Modes): IconCapsuleTokens {
|
|
33
|
-
const size = (getVariableByName('iconCapsule/size', modes)
|
|
34
|
-
const radiusRaw = (getVariableByName('iconCapsule/radius', modes)
|
|
35
|
-
const backgroundColor = (getVariableByName('iconCapsule/background', modes)
|
|
36
|
-
const borderColor = (getVariableByName('iconCapsule/border/color', modes)
|
|
37
|
-
const borderSize = (getVariableByName('iconCapsule/border/size', modes)
|
|
38
|
-
const iconColor = (getVariableByName('iconCapsule/icon/color', modes)
|
|
39
|
-
const iconSize = (getVariableByName('iconCapsule/icon/size', modes)
|
|
33
|
+
const size = (getVariableByName('iconCapsule/size', modes)) as number
|
|
34
|
+
const radiusRaw = (getVariableByName('iconCapsule/radius', modes)) as number
|
|
35
|
+
const backgroundColor = (getVariableByName('iconCapsule/background', modes)) as string
|
|
36
|
+
const borderColor = (getVariableByName('iconCapsule/border/color', modes)) as string
|
|
37
|
+
const borderSize = (getVariableByName('iconCapsule/border/size', modes)) as number
|
|
38
|
+
const iconColor = (getVariableByName('iconCapsule/icon/color', modes)) as string
|
|
39
|
+
const iconSize = (getVariableByName('iconCapsule/icon/size', modes)) as number
|
|
40
40
|
|
|
41
41
|
// 9999 is the design-token sentinel for "perfect circle"
|
|
42
42
|
const borderRadius = radiusRaw === 9999 ? size / 2 : radiusRaw
|
|
@@ -27,13 +27,13 @@ function SupportText({
|
|
|
27
27
|
style
|
|
28
28
|
}: SupportTextProps) {
|
|
29
29
|
// Resolve variables
|
|
30
|
-
const gap = getVariableByName('supportText/gap', modes)
|
|
31
|
-
const foreground = getVariableByName('supportText/foreground', modes)
|
|
32
|
-
const iconSize = getVariableByName('supportText/icon/size', modes)
|
|
33
|
-
const fontSize = getVariableByName('supportText/fontSize', modes)
|
|
34
|
-
const fontFamily = getVariableByName('supportText/fontFamily', modes)
|
|
35
|
-
const fontWeightRaw = getVariableByName('supportText/fontWeight', modes)
|
|
36
|
-
const lineHeight = getVariableByName('supportText/lineHeight', modes)
|
|
30
|
+
const gap = getVariableByName('supportText/gap', modes)
|
|
31
|
+
const foreground = getVariableByName('supportText/foreground', modes)
|
|
32
|
+
const iconSize = getVariableByName('supportText/icon/size', modes)
|
|
33
|
+
const fontSize = getVariableByName('supportText/fontSize', modes)
|
|
34
|
+
const fontFamily = getVariableByName('supportText/fontFamily', modes)
|
|
35
|
+
const fontWeightRaw = getVariableByName('supportText/fontWeight', modes)
|
|
36
|
+
const lineHeight = getVariableByName('supportText/lineHeight', modes)
|
|
37
37
|
|
|
38
38
|
const fontWeight = (typeof fontWeightRaw === 'number' ? fontWeightRaw.toString() : fontWeightRaw) as TextStyle['fontWeight']
|
|
39
39
|
|
|
@@ -105,7 +105,7 @@ const InputSearch = forwardRef<RNTextInput, InputSearchProps>(function InputSear
|
|
|
105
105
|
'InputState': isFocused ? 'Active' : 'Idle'
|
|
106
106
|
}
|
|
107
107
|
|
|
108
|
-
const formFieldGap = getVariableByName('formField/gap', componentModes)
|
|
108
|
+
const formFieldGap = getVariableByName('formField/gap', componentModes)
|
|
109
109
|
|
|
110
110
|
// If state is active (has text) and focused? Or just if it has text?
|
|
111
111
|
// Design typically: Active state (focused) shows clear button if there is text.
|
|
@@ -131,7 +131,7 @@ const InputSearch = forwardRef<RNTextInput, InputSearchProps>(function InputSear
|
|
|
131
131
|
<Icon
|
|
132
132
|
name="ic_close"
|
|
133
133
|
size={18}
|
|
134
|
-
color={getVariableByName('textInput/icon/color', componentModes)
|
|
134
|
+
color={getVariableByName('textInput/icon/color', componentModes)}
|
|
135
135
|
/>
|
|
136
136
|
</Pressable>
|
|
137
137
|
</React.Fragment>
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
} from 'react-native'
|
|
9
9
|
import { getVariableByName } from '../../design-tokens/figma-variables-resolver'
|
|
10
10
|
import { useTokens } from '../../design-tokens/JFSThemeProvider'
|
|
11
|
-
import { EMPTY_MODES, cloneChildrenWithModes } from '../../utils/react-utils'
|
|
11
|
+
import { EMPTY_MODES, cloneChildrenWithModes, resolveTruncation } from '../../utils/react-utils'
|
|
12
12
|
import MediaSource, { type UnifiedSource } from '../../utils/MediaSource'
|
|
13
13
|
import type { Modes } from '../../design-tokens'
|
|
14
14
|
|
|
@@ -43,6 +43,12 @@ export type InstitutionBadgeProps = InstitutionBadgeBaseProps & {
|
|
|
43
43
|
labelStyle?: StyleProp<TextStyle>
|
|
44
44
|
/** Accessibility label. Defaults to `label`. */
|
|
45
45
|
accessibilityLabel?: string
|
|
46
|
+
/**
|
|
47
|
+
* When `true`, disables text truncation: the trailing ellipsis (`…`) is never
|
|
48
|
+
* shown and any `numberOfLines` clamp is ignored, so the text wraps to as many
|
|
49
|
+
* lines as it needs even when horizontal space is tight.
|
|
50
|
+
*/
|
|
51
|
+
disableTruncation?: boolean
|
|
46
52
|
}
|
|
47
53
|
|
|
48
54
|
interface InstitutionBadgeTokens {
|
|
@@ -83,15 +89,13 @@ function resolveInstitutionBadgeTokens(
|
|
|
83
89
|
const gap = toNumber(getVariableByName('institutionBadge/gap', modes), 8)
|
|
84
90
|
|
|
85
91
|
const foreground =
|
|
86
|
-
(getVariableByName('institutionBadge/foreground', modes) as string)
|
|
87
|
-
'#080d1a'
|
|
92
|
+
(getVariableByName('institutionBadge/foreground', modes) as string)
|
|
88
93
|
const fontSize = toNumber(
|
|
89
94
|
getVariableByName('institutionBadge/fontSize', modes),
|
|
90
95
|
14
|
|
91
96
|
)
|
|
92
97
|
const fontFamily =
|
|
93
|
-
(getVariableByName('institutionBadge/fontFamily', modes) as string)
|
|
94
|
-
'JioType Var'
|
|
98
|
+
(getVariableByName('institutionBadge/fontFamily', modes) as string)
|
|
95
99
|
const lineHeight = toNumber(
|
|
96
100
|
getVariableByName('institutionBadge/lineHeight', modes),
|
|
97
101
|
18
|
|
@@ -111,8 +115,7 @@ function resolveInstitutionBadgeTokens(
|
|
|
111
115
|
// 9999 is the design-token sentinel for "perfect circle".
|
|
112
116
|
const avatarRadius = avatarRadiusRaw === 9999 ? avatarSize / 2 : avatarRadiusRaw
|
|
113
117
|
const avatarBorderColor =
|
|
114
|
-
(getVariableByName('avatar/border/color', modes) as string)
|
|
115
|
-
'rgba(255,255,255,0)'
|
|
118
|
+
(getVariableByName('avatar/border/color', modes) as string)
|
|
116
119
|
const avatarBorderSize = toNumber(
|
|
117
120
|
getVariableByName('avatar/border/size', modes),
|
|
118
121
|
1
|
|
@@ -155,6 +158,7 @@ function InstitutionBadge({
|
|
|
155
158
|
style,
|
|
156
159
|
labelStyle,
|
|
157
160
|
accessibilityLabel,
|
|
161
|
+
disableTruncation,
|
|
158
162
|
...rest
|
|
159
163
|
}: InstitutionBadgeProps) {
|
|
160
164
|
const { modes: globalModes } = useTokens()
|
|
@@ -207,7 +211,7 @@ function InstitutionBadge({
|
|
|
207
211
|
/>
|
|
208
212
|
</View>
|
|
209
213
|
)}
|
|
210
|
-
<Text style={[tokens.labelStyle, labelStyle]}
|
|
214
|
+
<Text style={[tokens.labelStyle, labelStyle]} {...resolveTruncation(disableTruncation, 1)}>
|
|
211
215
|
{label}
|
|
212
216
|
</Text>
|
|
213
217
|
</View>
|
|
@@ -6,7 +6,7 @@ import { getVariableByName } from '../../design-tokens/figma-variables-resolver'
|
|
|
6
6
|
* Helper function to recursively clone children and pass modes prop to components that accept it.
|
|
7
7
|
* This ensures that all child components in slots receive the modes prop from the parent.
|
|
8
8
|
*/
|
|
9
|
-
import { EMPTY_MODES, cloneChildrenWithModes, flattenChildren } from '../../utils/react-utils'
|
|
9
|
+
import { EMPTY_MODES, cloneChildrenWithModes, flattenChildren, resolveTruncation } from '../../utils/react-utils'
|
|
10
10
|
import type { Modes } from '../../design-tokens'
|
|
11
11
|
|
|
12
12
|
type ListGroupProps = {
|
|
@@ -17,6 +17,12 @@ type ListGroupProps = {
|
|
|
17
17
|
style?: StyleProp<ViewStyle>;
|
|
18
18
|
accessibilityLabel?: string;
|
|
19
19
|
accessibilityHint?: string;
|
|
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
|
} & Omit<React.ComponentProps<typeof View>, 'children'>;
|
|
21
27
|
|
|
22
28
|
/**
|
|
@@ -52,22 +58,23 @@ function ListGroup({
|
|
|
52
58
|
style,
|
|
53
59
|
accessibilityLabel,
|
|
54
60
|
accessibilityHint,
|
|
61
|
+
disableTruncation,
|
|
55
62
|
...rest
|
|
56
63
|
}: ListGroupProps) {
|
|
57
64
|
// Resolve container tokens
|
|
58
|
-
const backgroundColor = getVariableByName('listGroup/background', modes)
|
|
65
|
+
const backgroundColor = getVariableByName('listGroup/background', modes)
|
|
59
66
|
// The current exported token aliases a missing Figma variable. Keep the
|
|
60
67
|
// transparent fallback without logging the missing alias on every render.
|
|
61
68
|
const borderColor = 'rgba(255,255,255,0)'
|
|
62
|
-
const borderWidth = getVariableByName('listGroup/borderWidth', modes)
|
|
63
|
-
const gap = getVariableByName('listGroup/gap', modes)
|
|
69
|
+
const borderWidth = getVariableByName('listGroup/borderWidth', modes)
|
|
70
|
+
const gap = getVariableByName('listGroup/gap', modes)
|
|
64
71
|
|
|
65
72
|
// Resolve label typography tokens
|
|
66
|
-
const labelColor = getVariableByName('listGroup/label/color', modes)
|
|
67
|
-
const labelFontSize = getVariableByName('listGroup/fontSize', modes)
|
|
68
|
-
const labelLineHeight = getVariableByName('listGroup/lineHeight', modes)
|
|
69
|
-
const labelFontFamily = getVariableByName('listGroup/fontFamily', modes)
|
|
70
|
-
const labelFontWeightRaw = getVariableByName('listGroup/fontWeight', modes)
|
|
73
|
+
const labelColor = getVariableByName('listGroup/label/color', modes)
|
|
74
|
+
const labelFontSize = getVariableByName('listGroup/fontSize', modes)
|
|
75
|
+
const labelLineHeight = getVariableByName('listGroup/lineHeight', modes)
|
|
76
|
+
const labelFontFamily = getVariableByName('listGroup/fontFamily', modes)
|
|
77
|
+
const labelFontWeightRaw = getVariableByName('listGroup/fontWeight', modes)
|
|
71
78
|
const labelFontWeight = typeof labelFontWeightRaw === 'number' ? labelFontWeightRaw.toString() : labelFontWeightRaw
|
|
72
79
|
|
|
73
80
|
const containerStyle: ViewStyle = {
|
|
@@ -113,7 +120,7 @@ function ListGroup({
|
|
|
113
120
|
{label ? (
|
|
114
121
|
<Text
|
|
115
122
|
style={[labelStyle, processedSlot && { marginBottom: gap }]}
|
|
116
|
-
|
|
123
|
+
{...resolveTruncation(disableTruncation, 1)}
|
|
117
124
|
accessibilityElementsHidden={true}
|
|
118
125
|
importantForAccessibility="no"
|
|
119
126
|
>
|