jfs-components 0.1.12 → 0.1.18
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 +24 -0
- package/lib/commonjs/components/ActionFooter/ActionFooter.js +7 -24
- package/lib/commonjs/components/ActionTile/ActionTile.js +10 -10
- package/lib/commonjs/components/AmountInput/AmountInput.js +3 -3
- package/lib/commonjs/components/AreaLineChart/AreaLineChart.js +2 -2
- package/lib/commonjs/components/Attached/Attached.js +1 -1
- package/lib/commonjs/components/Avatar/Avatar.js +10 -10
- package/lib/commonjs/components/AvatarGroup/AvatarGroup.js +50 -29
- package/lib/commonjs/components/Badge/Badge.js +12 -12
- package/lib/commonjs/components/BenefitCard/BenefitCard.js +95 -21
- package/lib/commonjs/components/BottomNav/BottomNav.js +2 -2
- package/lib/commonjs/components/BottomNavItem/BottomNavItem.js +3 -3
- package/lib/commonjs/components/Button/Button.js +31 -19
- package/lib/commonjs/components/Card/Card.js +20 -20
- package/lib/commonjs/components/CardAdvisory/CardAdvisory.js +6 -6
- package/lib/commonjs/components/CardCTA/CardCTA.js +21 -21
- package/lib/commonjs/components/CardFeedback/CardFeedback.js +18 -18
- package/lib/commonjs/components/CardFinancialCondition/CardFinancialCondition.js +7 -7
- package/lib/commonjs/components/CardInsight/CardInsight.js +1 -2
- package/lib/commonjs/components/Carousel/Carousel.js +18 -12
- package/lib/commonjs/components/CarouselCardAccounts/CarouselCardAccounts.js +75 -0
- package/lib/commonjs/components/Checkbox/Checkbox.js +6 -13
- package/lib/commonjs/components/ChipGroup/ChipGroup.js +1 -1
- package/lib/commonjs/components/ChipSelect/ChipSelect.js +11 -11
- package/lib/commonjs/components/CircularProgressBar/CircularProgressBar.js +5 -5
- package/lib/commonjs/components/CircularProgressBarDoted/CircularProgressBarDoted.js +8 -8
- package/lib/commonjs/components/CircularRating/CircularRating.js +3 -3
- package/lib/commonjs/components/CompareTable/CompareTable.js +16 -16
- package/lib/commonjs/components/DebitCard/DebitCard.js +18 -18
- package/lib/commonjs/components/Disclaimer/Disclaimer.js +5 -5
- package/lib/commonjs/components/DonutChart/DonutChart.js +11 -11
- package/lib/commonjs/components/Drawer/Drawer.js +60 -60
- package/lib/commonjs/components/Dropdown/Dropdown.js +22 -23
- package/lib/commonjs/components/DropdownInput/DropdownInput.js +10 -10
- package/lib/commonjs/components/EmptyState/EmptyState.js +14 -14
- package/lib/commonjs/components/FilterBar/FilterBar.js +2 -2
- package/lib/commonjs/components/Form/Form.js +3 -3
- package/lib/commonjs/components/FormField/FormField.js +6 -6
- package/lib/commonjs/components/FullscreenModal/FullscreenModal.js +24 -24
- package/lib/commonjs/components/Gauge/Gauge.js +8 -8
- package/lib/commonjs/components/HoldingsCard/HoldingsCard.js +10 -10
- package/lib/commonjs/components/Icon/Icon.js +6 -6
- package/lib/commonjs/components/IconCapsule/IconCapsule.js +7 -7
- package/lib/commonjs/components/InputSearch/InputSearch.js +9 -9
- package/lib/commonjs/components/InstitutionBadge/InstitutionBadge.js +3 -3
- package/lib/commonjs/components/ListGroup/ListGroup.js +8 -8
- package/lib/commonjs/components/ListItem/ListItem.js +10 -10
- package/lib/commonjs/components/LottieIntroBlock/LottieIntroBlock.js +13 -13
- package/lib/commonjs/components/LottiePlayer/LottiePlayer.js +2 -2
- package/lib/commonjs/components/LottiePlayer/LottiePlayer.web.js +2 -2
- package/lib/commonjs/components/MediaCard/MediaCard.js +21 -21
- package/lib/commonjs/components/MessageField/MessageField.js +8 -8
- package/lib/commonjs/components/MoneyValue/MoneyValue.js +7 -7
- package/lib/commonjs/components/NavArrow/NavArrow.js +8 -8
- package/lib/commonjs/components/NoteInput/NoteInput.js +12 -12
- package/lib/commonjs/components/Nudge/Nudge.js +20 -20
- package/lib/commonjs/components/OTP/OTP.js +15 -15
- package/lib/commonjs/components/PageHero/PageHero.js +16 -16
- package/lib/commonjs/components/PaymentFeedback/PaymentFeedback.js +23 -23
- package/lib/commonjs/components/Popup/Popup.js +1 -1
- package/lib/commonjs/components/ProductMerchandisingCard/ProductMerchandisingCard.js +64 -60
- package/lib/commonjs/components/ProgressBadge/ProgressBadge.js +5 -5
- package/lib/commonjs/components/Radio/Radio.js +8 -8
- package/lib/commonjs/components/RechargeCard/RechargeCard.js +31 -31
- package/lib/commonjs/components/SavingsGoalSummary/SavingsGoalSummary.js +59 -12
- package/lib/commonjs/components/ScrollArea/ScrollArea.js +126 -0
- package/lib/commonjs/components/Section/Section.js +24 -24
- package/lib/commonjs/components/StatusHero/StatusHero.js +14 -14
- package/lib/commonjs/components/Stepper/Step.js +16 -16
- package/lib/commonjs/components/Stepper/StepLabel.js +16 -16
- package/lib/commonjs/components/Stepper/Stepper.js +3 -3
- package/lib/commonjs/components/SuggestiveSearch/SuggestiveSearch.js +10 -10
- package/lib/commonjs/components/SupportText/SupportText.js +6 -6
- package/lib/commonjs/components/SupportText/SupportTextIcon.js +2 -2
- package/lib/commonjs/components/Text/Text.js +14 -2
- package/lib/commonjs/components/TextInput/TextInput.js +14 -14
- package/lib/commonjs/components/TextSegment/TextSegment.js +14 -2
- package/lib/commonjs/components/ThreadHero/ThreadHero.js +17 -17
- package/lib/commonjs/components/Title/Title.js +38 -16
- package/lib/commonjs/components/Toast/Toast.js +15 -15
- package/lib/commonjs/components/Toggle/Toggle.js +3 -11
- package/lib/commonjs/components/Tooltip/Tooltip.js +12 -12
- package/lib/commonjs/components/TransactionBubble/TransactionBubble.js +13 -13
- package/lib/commonjs/components/TransactionDetails/TransactionDetails.js +10 -10
- package/lib/commonjs/components/TransactionStatus/TransactionStatus.js +9 -9
- package/lib/commonjs/components/UpiHandle/UpiHandle.js +15 -15
- package/lib/commonjs/components/index.js +14 -0
- package/lib/commonjs/design-tokens/Coin Variables-variables-full.json +1 -1
- package/lib/commonjs/design-tokens/figma-modes.generated.js +50 -42
- package/lib/commonjs/icons/components/Icon4g.js +19 -0
- package/lib/commonjs/icons/components/Icon4gltedata.js +19 -0
- package/lib/commonjs/icons/components/Icon5g.js +19 -0
- package/lib/commonjs/icons/components/Icon5gdoubleplus.js +19 -0
- package/lib/commonjs/icons/components/Icon5gplus.js +19 -0
- package/lib/commonjs/icons/components/IconAdblocker.js +19 -0
- package/lib/commonjs/icons/components/IconAdblockplus.js +19 -0
- package/lib/commonjs/icons/components/IconAnalytics.js +19 -0
- package/lib/commonjs/icons/components/IconAnalyticsdata.js +19 -0
- package/lib/commonjs/icons/components/IconAnalyticspiechart.js +19 -0
- package/lib/commonjs/icons/components/IconAnalyticspiecharttree.js +19 -0
- package/lib/commonjs/icons/components/IconAnalyticspiecharttwo.js +19 -0
- package/lib/commonjs/icons/components/IconCompoundinterest.js +19 -0
- package/lib/commonjs/icons/components/IconConsumptionaccounted.js +19 -0
- package/lib/commonjs/icons/components/IconConsumptionaverage.js +19 -0
- package/lib/commonjs/icons/components/IconConsumptionhigh.js +19 -0
- package/lib/commonjs/icons/components/IconConsumptionlow.js +19 -0
- package/lib/commonjs/icons/components/IconConsumptionunaccounted.js +19 -0
- package/lib/commonjs/icons/components/IconCsvdoc.js +19 -0
- package/lib/commonjs/icons/components/IconDatabase.js +19 -0
- package/lib/commonjs/icons/components/IconDigitalecosystem.js +19 -0
- package/lib/commonjs/icons/components/IconDigitalselfservice.js +19 -0
- package/lib/commonjs/icons/components/IconDistribution.js +19 -0
- package/lib/commonjs/icons/components/IconDocument.js +19 -0
- package/lib/commonjs/icons/components/IconDocumentdoc.js +19 -0
- package/lib/commonjs/icons/components/IconDocumentjpg.js +19 -0
- package/lib/commonjs/icons/components/IconDocumentodt.js +19 -0
- package/lib/commonjs/icons/components/IconDocumentpdf.js +19 -0
- package/lib/commonjs/icons/components/IconDocumentpng.js +19 -0
- package/lib/commonjs/icons/components/IconDocumentraw.js +19 -0
- package/lib/commonjs/icons/components/IconDocumentrtf.js +19 -0
- package/lib/commonjs/icons/components/IconDocumentsettings.js +19 -0
- package/lib/commonjs/icons/components/IconDocumenttif.js +19 -0
- package/lib/commonjs/icons/components/IconDocumenttxt.js +19 -0
- package/lib/commonjs/icons/components/IconDocumentunknown.js +19 -0
- package/lib/commonjs/icons/components/IconDocumentxls.js +19 -0
- package/lib/commonjs/icons/components/IconDocumentxlsx.js +19 -0
- package/lib/commonjs/icons/components/IconFilerequest.js +19 -0
- package/lib/commonjs/icons/components/IconFilesend.js +19 -0
- package/lib/commonjs/icons/components/IconFileshare.js +19 -0
- package/lib/commonjs/icons/components/IconFindinpage.js +19 -0
- package/lib/commonjs/icons/components/IconFolder.js +19 -0
- package/lib/commonjs/icons/components/IconFolderbookmarks.js +19 -0
- package/lib/commonjs/icons/components/IconFolderfavorites.js +19 -0
- package/lib/commonjs/icons/components/IconFolderlocked.js +19 -0
- package/lib/commonjs/icons/components/IconFoldermovefiles.js +19 -0
- package/lib/commonjs/icons/components/IconFolderpublic.js +19 -0
- package/lib/commonjs/icons/components/IconFolderrated.js +19 -0
- package/lib/commonjs/icons/components/IconFolderrequest.js +19 -0
- package/lib/commonjs/icons/components/IconForm.js +19 -0
- package/lib/commonjs/icons/components/IconFormadd.js +19 -0
- package/lib/commonjs/icons/components/IconForms.js +19 -0
- package/lib/commonjs/icons/components/IconGraphincreasing.js +19 -0
- package/lib/commonjs/icons/components/IconGraphlow.js +19 -0
- package/lib/commonjs/icons/components/IconGraphtable.js +19 -0
- package/lib/commonjs/icons/components/IconHealthreport.js +19 -0
- package/lib/commonjs/icons/components/IconHubmode.js +19 -0
- package/lib/commonjs/icons/components/IconInfrastructure.js +19 -0
- package/lib/commonjs/icons/components/IconInterestlow.js +19 -0
- package/lib/commonjs/icons/components/IconLte.js +19 -0
- package/lib/commonjs/icons/components/IconNetworkfuture.js +19 -0
- package/lib/commonjs/icons/components/IconPagesettings.js +19 -0
- package/lib/commonjs/icons/components/IconPptxdoc.js +19 -0
- package/lib/commonjs/icons/components/IconPreferrednumber.js +19 -0
- package/lib/commonjs/icons/components/IconPremiumnumber.js +19 -0
- package/lib/commonjs/icons/components/IconProjection.js +19 -0
- package/lib/commonjs/icons/components/IconRequest.js +19 -0
- package/lib/commonjs/icons/components/IconRoutestraffic.js +19 -0
- package/lib/commonjs/icons/components/IconTechnology.js +19 -0
- package/lib/commonjs/icons/components/IconVolte.js +19 -0
- package/lib/commonjs/icons/components/IconVonr.js +19 -0
- package/lib/commonjs/icons/components/IconVowifi.js +19 -0
- package/lib/commonjs/icons/components/IconVpndata.js +19 -0
- package/lib/commonjs/icons/components/index.js +803 -0
- package/lib/commonjs/icons/registry.js +2 -2
- package/lib/commonjs/utils/GlassFill/GlassFill.js +69 -73
- package/lib/commonjs/utils/index.js +25 -0
- package/lib/commonjs/utils/react-utils.js +62 -0
- package/lib/commonjs/utils/shadow.js +200 -0
- package/lib/module/components/ActionFooter/ActionFooter.js +7 -24
- package/lib/module/components/ActionTile/ActionTile.js +10 -10
- package/lib/module/components/AmountInput/AmountInput.js +3 -3
- package/lib/module/components/AreaLineChart/AreaLineChart.js +2 -2
- package/lib/module/components/Attached/Attached.js +1 -1
- package/lib/module/components/Avatar/Avatar.js +10 -10
- package/lib/module/components/AvatarGroup/AvatarGroup.js +52 -30
- package/lib/module/components/Badge/Badge.js +12 -12
- package/lib/module/components/BenefitCard/BenefitCard.js +95 -21
- package/lib/module/components/BottomNav/BottomNav.js +2 -2
- package/lib/module/components/BottomNavItem/BottomNavItem.js +3 -3
- package/lib/module/components/Button/Button.js +32 -20
- package/lib/module/components/Card/Card.js +20 -20
- package/lib/module/components/CardAdvisory/CardAdvisory.js +6 -6
- package/lib/module/components/CardCTA/CardCTA.js +21 -21
- package/lib/module/components/CardFeedback/CardFeedback.js +18 -18
- package/lib/module/components/CardFinancialCondition/CardFinancialCondition.js +7 -7
- package/lib/module/components/CardInsight/CardInsight.js +1 -2
- package/lib/module/components/Carousel/Carousel.js +18 -12
- package/lib/module/components/CarouselCardAccounts/CarouselCardAccounts.js +71 -0
- package/lib/module/components/Checkbox/Checkbox.js +2 -9
- package/lib/module/components/ChipGroup/ChipGroup.js +1 -1
- package/lib/module/components/ChipSelect/ChipSelect.js +11 -11
- package/lib/module/components/CircularProgressBar/CircularProgressBar.js +5 -5
- package/lib/module/components/CircularProgressBarDoted/CircularProgressBarDoted.js +8 -8
- package/lib/module/components/CircularRating/CircularRating.js +3 -3
- package/lib/module/components/CompareTable/CompareTable.js +16 -16
- package/lib/module/components/DebitCard/DebitCard.js +18 -18
- package/lib/module/components/Disclaimer/Disclaimer.js +5 -5
- package/lib/module/components/DonutChart/DonutChart.js +11 -11
- package/lib/module/components/Drawer/Drawer.js +60 -60
- package/lib/module/components/Dropdown/Dropdown.js +22 -23
- package/lib/module/components/DropdownInput/DropdownInput.js +10 -10
- package/lib/module/components/EmptyState/EmptyState.js +14 -14
- package/lib/module/components/FilterBar/FilterBar.js +2 -2
- package/lib/module/components/Form/Form.js +3 -3
- package/lib/module/components/FormField/FormField.js +6 -6
- package/lib/module/components/FullscreenModal/FullscreenModal.js +24 -24
- package/lib/module/components/Gauge/Gauge.js +8 -8
- package/lib/module/components/HoldingsCard/HoldingsCard.js +10 -10
- package/lib/module/components/Icon/Icon.js +6 -6
- package/lib/module/components/IconCapsule/IconCapsule.js +7 -7
- package/lib/module/components/InputSearch/InputSearch.js +9 -9
- package/lib/module/components/InstitutionBadge/InstitutionBadge.js +3 -3
- package/lib/module/components/ListGroup/ListGroup.js +8 -8
- package/lib/module/components/ListItem/ListItem.js +10 -10
- package/lib/module/components/LottieIntroBlock/LottieIntroBlock.js +13 -13
- package/lib/module/components/LottiePlayer/LottiePlayer.js +2 -2
- package/lib/module/components/LottiePlayer/LottiePlayer.web.js +2 -2
- package/lib/module/components/MediaCard/MediaCard.js +21 -21
- package/lib/module/components/MessageField/MessageField.js +8 -8
- package/lib/module/components/MoneyValue/MoneyValue.js +7 -7
- package/lib/module/components/NavArrow/NavArrow.js +8 -8
- package/lib/module/components/NoteInput/NoteInput.js +12 -12
- package/lib/module/components/Nudge/Nudge.js +20 -20
- package/lib/module/components/OTP/OTP.js +15 -15
- package/lib/module/components/PageHero/PageHero.js +16 -16
- package/lib/module/components/PaymentFeedback/PaymentFeedback.js +23 -23
- package/lib/module/components/Popup/Popup.js +1 -1
- package/lib/module/components/ProductMerchandisingCard/ProductMerchandisingCard.js +66 -62
- package/lib/module/components/ProgressBadge/ProgressBadge.js +5 -5
- package/lib/module/components/Radio/Radio.js +9 -9
- package/lib/module/components/RechargeCard/RechargeCard.js +31 -31
- package/lib/module/components/SavingsGoalSummary/SavingsGoalSummary.js +60 -13
- package/lib/module/components/ScrollArea/ScrollArea.js +121 -0
- package/lib/module/components/Section/Section.js +24 -24
- package/lib/module/components/StatusHero/StatusHero.js +14 -14
- package/lib/module/components/Stepper/Step.js +16 -16
- package/lib/module/components/Stepper/StepLabel.js +16 -16
- package/lib/module/components/Stepper/Stepper.js +3 -3
- package/lib/module/components/SuggestiveSearch/SuggestiveSearch.js +10 -10
- package/lib/module/components/SupportText/SupportText.js +6 -6
- package/lib/module/components/SupportText/SupportTextIcon.js +2 -2
- package/lib/module/components/Text/Text.js +15 -3
- package/lib/module/components/TextInput/TextInput.js +14 -14
- package/lib/module/components/TextSegment/TextSegment.js +15 -3
- package/lib/module/components/ThreadHero/ThreadHero.js +17 -17
- package/lib/module/components/Title/Title.js +39 -17
- package/lib/module/components/Toast/Toast.js +15 -15
- package/lib/module/components/Toggle/Toggle.js +4 -12
- package/lib/module/components/Tooltip/Tooltip.js +12 -12
- package/lib/module/components/TransactionBubble/TransactionBubble.js +13 -13
- package/lib/module/components/TransactionDetails/TransactionDetails.js +10 -10
- package/lib/module/components/TransactionStatus/TransactionStatus.js +9 -9
- package/lib/module/components/UpiHandle/UpiHandle.js +15 -15
- package/lib/module/components/index.js +2 -0
- package/lib/module/design-tokens/Coin Variables-variables-full.json +1 -1
- package/lib/module/design-tokens/figma-modes.generated.js +50 -42
- package/lib/module/icons/components/Icon4g.js +12 -0
- package/lib/module/icons/components/Icon4gltedata.js +12 -0
- package/lib/module/icons/components/Icon5g.js +12 -0
- package/lib/module/icons/components/Icon5gdoubleplus.js +12 -0
- package/lib/module/icons/components/Icon5gplus.js +12 -0
- package/lib/module/icons/components/IconAdblocker.js +12 -0
- package/lib/module/icons/components/IconAdblockplus.js +12 -0
- package/lib/module/icons/components/IconAnalytics.js +12 -0
- package/lib/module/icons/components/IconAnalyticsdata.js +12 -0
- package/lib/module/icons/components/IconAnalyticspiechart.js +12 -0
- package/lib/module/icons/components/IconAnalyticspiecharttree.js +12 -0
- package/lib/module/icons/components/IconAnalyticspiecharttwo.js +12 -0
- package/lib/module/icons/components/IconCompoundinterest.js +12 -0
- package/lib/module/icons/components/IconConsumptionaccounted.js +12 -0
- package/lib/module/icons/components/IconConsumptionaverage.js +12 -0
- package/lib/module/icons/components/IconConsumptionhigh.js +12 -0
- package/lib/module/icons/components/IconConsumptionlow.js +12 -0
- package/lib/module/icons/components/IconConsumptionunaccounted.js +12 -0
- package/lib/module/icons/components/IconCsvdoc.js +12 -0
- package/lib/module/icons/components/IconDatabase.js +12 -0
- package/lib/module/icons/components/IconDigitalecosystem.js +12 -0
- package/lib/module/icons/components/IconDigitalselfservice.js +12 -0
- package/lib/module/icons/components/IconDistribution.js +12 -0
- package/lib/module/icons/components/IconDocument.js +12 -0
- package/lib/module/icons/components/IconDocumentdoc.js +12 -0
- package/lib/module/icons/components/IconDocumentjpg.js +12 -0
- package/lib/module/icons/components/IconDocumentodt.js +12 -0
- package/lib/module/icons/components/IconDocumentpdf.js +12 -0
- package/lib/module/icons/components/IconDocumentpng.js +12 -0
- package/lib/module/icons/components/IconDocumentraw.js +12 -0
- package/lib/module/icons/components/IconDocumentrtf.js +12 -0
- package/lib/module/icons/components/IconDocumentsettings.js +12 -0
- package/lib/module/icons/components/IconDocumenttif.js +12 -0
- package/lib/module/icons/components/IconDocumenttxt.js +12 -0
- package/lib/module/icons/components/IconDocumentunknown.js +12 -0
- package/lib/module/icons/components/IconDocumentxls.js +12 -0
- package/lib/module/icons/components/IconDocumentxlsx.js +12 -0
- package/lib/module/icons/components/IconFilerequest.js +12 -0
- package/lib/module/icons/components/IconFilesend.js +12 -0
- package/lib/module/icons/components/IconFileshare.js +12 -0
- package/lib/module/icons/components/IconFindinpage.js +12 -0
- package/lib/module/icons/components/IconFolder.js +12 -0
- package/lib/module/icons/components/IconFolderbookmarks.js +12 -0
- package/lib/module/icons/components/IconFolderfavorites.js +12 -0
- package/lib/module/icons/components/IconFolderlocked.js +12 -0
- package/lib/module/icons/components/IconFoldermovefiles.js +12 -0
- package/lib/module/icons/components/IconFolderpublic.js +12 -0
- package/lib/module/icons/components/IconFolderrated.js +12 -0
- package/lib/module/icons/components/IconFolderrequest.js +12 -0
- package/lib/module/icons/components/IconForm.js +12 -0
- package/lib/module/icons/components/IconFormadd.js +12 -0
- package/lib/module/icons/components/IconForms.js +12 -0
- package/lib/module/icons/components/IconGraphincreasing.js +12 -0
- package/lib/module/icons/components/IconGraphlow.js +12 -0
- package/lib/module/icons/components/IconGraphtable.js +12 -0
- package/lib/module/icons/components/IconHealthreport.js +12 -0
- package/lib/module/icons/components/IconHubmode.js +12 -0
- package/lib/module/icons/components/IconInfrastructure.js +12 -0
- package/lib/module/icons/components/IconInterestlow.js +12 -0
- package/lib/module/icons/components/IconLte.js +12 -0
- package/lib/module/icons/components/IconNetworkfuture.js +12 -0
- package/lib/module/icons/components/IconPagesettings.js +12 -0
- package/lib/module/icons/components/IconPptxdoc.js +12 -0
- package/lib/module/icons/components/IconPreferrednumber.js +12 -0
- package/lib/module/icons/components/IconPremiumnumber.js +12 -0
- package/lib/module/icons/components/IconProjection.js +12 -0
- package/lib/module/icons/components/IconRequest.js +12 -0
- package/lib/module/icons/components/IconRoutestraffic.js +12 -0
- package/lib/module/icons/components/IconTechnology.js +12 -0
- package/lib/module/icons/components/IconVolte.js +12 -0
- package/lib/module/icons/components/IconVonr.js +12 -0
- package/lib/module/icons/components/IconVowifi.js +12 -0
- package/lib/module/icons/components/IconVpndata.js +12 -0
- package/lib/module/icons/components/index.js +73 -0
- package/lib/module/icons/registry.js +2 -2
- package/lib/module/utils/GlassFill/GlassFill.js +69 -72
- package/lib/module/utils/index.js +2 -1
- package/lib/module/utils/react-utils.js +61 -0
- package/lib/module/utils/shadow.js +194 -0
- package/lib/typescript/src/components/BenefitCard/BenefitCard.d.ts +33 -4
- package/lib/typescript/src/components/Carousel/Carousel.d.ts +11 -1
- package/lib/typescript/src/components/CarouselCardAccounts/CarouselCardAccounts.d.ts +57 -0
- package/lib/typescript/src/components/SavingsGoalSummary/SavingsGoalSummary.d.ts +11 -1
- package/lib/typescript/src/components/ScrollArea/ScrollArea.d.ts +77 -0
- package/lib/typescript/src/components/Text/Text.d.ts +12 -3
- package/lib/typescript/src/components/TextSegment/TextSegment.d.ts +12 -3
- package/lib/typescript/src/components/Title/Title.d.ts +12 -2
- package/lib/typescript/src/components/index.d.ts +2 -0
- package/lib/typescript/src/design-tokens/figma-modes.generated.d.ts +23 -15
- package/lib/typescript/src/icons/components/Icon4g.d.ts +3 -0
- package/lib/typescript/src/icons/components/Icon4gltedata.d.ts +3 -0
- package/lib/typescript/src/icons/components/Icon5g.d.ts +3 -0
- package/lib/typescript/src/icons/components/Icon5gdoubleplus.d.ts +3 -0
- package/lib/typescript/src/icons/components/Icon5gplus.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconAdblocker.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconAdblockplus.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconAnalytics.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconAnalyticsdata.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconAnalyticspiechart.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconAnalyticspiecharttree.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconAnalyticspiecharttwo.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconCompoundinterest.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconConsumptionaccounted.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconConsumptionaverage.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconConsumptionhigh.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconConsumptionlow.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconConsumptionunaccounted.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconCsvdoc.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDatabase.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDigitalecosystem.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDigitalselfservice.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDistribution.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDocument.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDocumentdoc.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDocumentjpg.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDocumentodt.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDocumentpdf.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDocumentpng.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDocumentraw.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDocumentrtf.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDocumentsettings.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDocumenttif.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDocumenttxt.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDocumentunknown.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDocumentxls.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDocumentxlsx.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconFilerequest.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconFilesend.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconFileshare.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconFindinpage.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconFolder.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconFolderbookmarks.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconFolderfavorites.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconFolderlocked.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconFoldermovefiles.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconFolderpublic.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconFolderrated.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconFolderrequest.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconForm.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconFormadd.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconForms.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconGraphincreasing.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconGraphlow.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconGraphtable.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconHealthreport.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconHubmode.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconInfrastructure.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconInterestlow.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconLte.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconNetworkfuture.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconPagesettings.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconPptxdoc.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconPreferrednumber.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconPremiumnumber.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconProjection.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconRequest.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconRoutestraffic.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconTechnology.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconVolte.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconVonr.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconVowifi.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconVpndata.d.ts +3 -0
- package/lib/typescript/src/icons/components/index.d.ts +73 -0
- package/lib/typescript/src/icons/registry.d.ts +1 -1
- package/lib/typescript/src/utils/GlassFill/GlassFill.d.ts +11 -4
- package/lib/typescript/src/utils/index.d.ts +2 -0
- package/lib/typescript/src/utils/react-utils.d.ts +40 -1
- package/lib/typescript/src/utils/shadow.d.ts +72 -0
- package/package.json +2 -2
- package/src/components/ActionFooter/ActionFooter.tsx +8 -26
- package/src/components/ActionTile/ActionTile.tsx +10 -10
- package/src/components/AmountInput/AmountInput.tsx +3 -3
- package/src/components/AreaLineChart/AreaLineChart.tsx +2 -2
- package/src/components/Attached/Attached.tsx +1 -1
- package/src/components/Avatar/Avatar.tsx +10 -10
- package/src/components/AvatarGroup/AvatarGroup.tsx +53 -27
- package/src/components/Badge/Badge.tsx +12 -13
- package/src/components/BenefitCard/BenefitCard.tsx +120 -27
- package/src/components/BottomNav/BottomNav.tsx +2 -2
- package/src/components/BottomNavItem/BottomNavItem.tsx +3 -3
- package/src/components/Button/Button.tsx +30 -20
- package/src/components/Card/Card.tsx +20 -20
- package/src/components/CardAdvisory/CardAdvisory.tsx +6 -6
- package/src/components/CardCTA/CardCTA.tsx +21 -21
- package/src/components/CardFeedback/CardFeedback.tsx +18 -18
- package/src/components/CardFinancialCondition/CardFinancialCondition.tsx +7 -10
- package/src/components/CardInsight/CardInsight.tsx +1 -3
- package/src/components/Carousel/Carousel.tsx +29 -12
- package/src/components/CarouselCardAccounts/CarouselCardAccounts.tsx +113 -0
- package/src/components/Checkbox/Checkbox.tsx +2 -8
- package/src/components/ChipGroup/ChipGroup.tsx +1 -1
- package/src/components/ChipSelect/ChipSelect.tsx +11 -11
- package/src/components/CircularProgressBar/CircularProgressBar.tsx +5 -5
- package/src/components/CircularProgressBarDoted/CircularProgressBarDoted.tsx +8 -8
- package/src/components/CircularRating/CircularRating.tsx +3 -3
- package/src/components/CompareTable/CompareTable.tsx +16 -16
- package/src/components/DebitCard/DebitCard.tsx +22 -22
- package/src/components/Disclaimer/Disclaimer.tsx +5 -5
- package/src/components/DonutChart/DonutChart.tsx +11 -45
- package/src/components/Drawer/Drawer.tsx +80 -71
- package/src/components/Dropdown/Dropdown.tsx +23 -28
- package/src/components/DropdownInput/DropdownInput.tsx +10 -17
- package/src/components/EmptyState/EmptyState.tsx +14 -14
- package/src/components/FilterBar/FilterBar.tsx +2 -2
- package/src/components/Form/Form.tsx +3 -3
- package/src/components/FormField/FormField.tsx +6 -11
- package/src/components/FullscreenModal/FullscreenModal.tsx +24 -24
- package/src/components/Gauge/Gauge.tsx +8 -8
- package/src/components/HoldingsCard/HoldingsCard.tsx +10 -10
- package/src/components/Icon/Icon.tsx +6 -6
- package/src/components/IconCapsule/IconCapsule.tsx +7 -7
- package/src/components/InputSearch/InputSearch.tsx +9 -9
- package/src/components/InstitutionBadge/InstitutionBadge.tsx +3 -6
- package/src/components/ListGroup/ListGroup.tsx +8 -8
- package/src/components/ListItem/ListItem.tsx +10 -10
- package/src/components/LottieIntroBlock/LottieIntroBlock.tsx +13 -16
- package/src/components/LottiePlayer/LottiePlayer.tsx +2 -2
- package/src/components/LottiePlayer/LottiePlayer.web.tsx +2 -2
- package/src/components/MediaCard/MediaCard.tsx +21 -21
- package/src/components/MessageField/MessageField.tsx +8 -16
- package/src/components/MoneyValue/MoneyValue.tsx +7 -7
- package/src/components/NavArrow/NavArrow.tsx +8 -8
- package/src/components/NoteInput/NoteInput.tsx +12 -12
- package/src/components/Nudge/Nudge.tsx +20 -20
- package/src/components/OTP/OTP.tsx +16 -16
- package/src/components/PageHero/PageHero.tsx +16 -16
- package/src/components/PaymentFeedback/PaymentFeedback.tsx +27 -27
- package/src/components/Popup/Popup.tsx +1 -1
- package/src/components/ProductMerchandisingCard/ProductMerchandisingCard.tsx +76 -47
- package/src/components/ProgressBadge/ProgressBadge.tsx +5 -5
- package/src/components/Radio/Radio.tsx +8 -9
- package/src/components/RechargeCard/RechargeCard.tsx +31 -31
- package/src/components/SavingsGoalSummary/SavingsGoalSummary.tsx +105 -13
- package/src/components/ScrollArea/ScrollArea.tsx +200 -0
- package/src/components/Section/Section.tsx +26 -26
- package/src/components/StatusHero/StatusHero.tsx +14 -14
- package/src/components/Stepper/Step.tsx +16 -18
- package/src/components/Stepper/StepLabel.tsx +16 -27
- package/src/components/Stepper/Stepper.tsx +3 -4
- package/src/components/SuggestiveSearch/SuggestiveSearch.tsx +10 -20
- package/src/components/SupportText/SupportText.tsx +6 -6
- package/src/components/SupportText/SupportTextIcon.tsx +2 -2
- package/src/components/Text/Text.tsx +23 -5
- package/src/components/TextInput/TextInput.tsx +14 -14
- package/src/components/TextSegment/TextSegment.tsx +22 -4
- package/src/components/ThreadHero/ThreadHero.tsx +17 -17
- package/src/components/Title/Title.tsx +44 -18
- package/src/components/Toast/Toast.tsx +15 -15
- package/src/components/Toggle/Toggle.tsx +5 -10
- package/src/components/Tooltip/Tooltip.tsx +12 -12
- package/src/components/TransactionBubble/TransactionBubble.tsx +15 -15
- package/src/components/TransactionDetails/TransactionDetails.tsx +10 -10
- package/src/components/TransactionStatus/TransactionStatus.tsx +9 -9
- package/src/components/UpiHandle/UpiHandle.tsx +15 -15
- package/src/components/index.ts +2 -0
- package/src/design-tokens/Coin Variables-variables-full.json +1 -1
- package/src/design-tokens/figma-modes.generated.ts +50 -42
- package/src/icons/components/Icon4g.tsx +11 -0
- package/src/icons/components/Icon4gltedata.tsx +11 -0
- package/src/icons/components/Icon5g.tsx +11 -0
- package/src/icons/components/Icon5gdoubleplus.tsx +11 -0
- package/src/icons/components/Icon5gplus.tsx +11 -0
- package/src/icons/components/IconAdblocker.tsx +11 -0
- package/src/icons/components/IconAdblockplus.tsx +11 -0
- package/src/icons/components/IconAnalytics.tsx +11 -0
- package/src/icons/components/IconAnalyticsdata.tsx +11 -0
- package/src/icons/components/IconAnalyticspiechart.tsx +11 -0
- package/src/icons/components/IconAnalyticspiecharttree.tsx +11 -0
- package/src/icons/components/IconAnalyticspiecharttwo.tsx +11 -0
- package/src/icons/components/IconCompoundinterest.tsx +11 -0
- package/src/icons/components/IconConsumptionaccounted.tsx +11 -0
- package/src/icons/components/IconConsumptionaverage.tsx +11 -0
- package/src/icons/components/IconConsumptionhigh.tsx +11 -0
- package/src/icons/components/IconConsumptionlow.tsx +11 -0
- package/src/icons/components/IconConsumptionunaccounted.tsx +11 -0
- package/src/icons/components/IconCsvdoc.tsx +11 -0
- package/src/icons/components/IconDatabase.tsx +11 -0
- package/src/icons/components/IconDigitalecosystem.tsx +11 -0
- package/src/icons/components/IconDigitalselfservice.tsx +11 -0
- package/src/icons/components/IconDistribution.tsx +11 -0
- package/src/icons/components/IconDocument.tsx +11 -0
- package/src/icons/components/IconDocumentdoc.tsx +11 -0
- package/src/icons/components/IconDocumentjpg.tsx +11 -0
- package/src/icons/components/IconDocumentodt.tsx +11 -0
- package/src/icons/components/IconDocumentpdf.tsx +11 -0
- package/src/icons/components/IconDocumentpng.tsx +11 -0
- package/src/icons/components/IconDocumentraw.tsx +11 -0
- package/src/icons/components/IconDocumentrtf.tsx +11 -0
- package/src/icons/components/IconDocumentsettings.tsx +11 -0
- package/src/icons/components/IconDocumenttif.tsx +11 -0
- package/src/icons/components/IconDocumenttxt.tsx +11 -0
- package/src/icons/components/IconDocumentunknown.tsx +11 -0
- package/src/icons/components/IconDocumentxls.tsx +11 -0
- package/src/icons/components/IconDocumentxlsx.tsx +11 -0
- package/src/icons/components/IconFilerequest.tsx +11 -0
- package/src/icons/components/IconFilesend.tsx +11 -0
- package/src/icons/components/IconFileshare.tsx +11 -0
- package/src/icons/components/IconFindinpage.tsx +11 -0
- package/src/icons/components/IconFolder.tsx +11 -0
- package/src/icons/components/IconFolderbookmarks.tsx +11 -0
- package/src/icons/components/IconFolderfavorites.tsx +11 -0
- package/src/icons/components/IconFolderlocked.tsx +11 -0
- package/src/icons/components/IconFoldermovefiles.tsx +11 -0
- package/src/icons/components/IconFolderpublic.tsx +11 -0
- package/src/icons/components/IconFolderrated.tsx +11 -0
- package/src/icons/components/IconFolderrequest.tsx +11 -0
- package/src/icons/components/IconForm.tsx +11 -0
- package/src/icons/components/IconFormadd.tsx +11 -0
- package/src/icons/components/IconForms.tsx +11 -0
- package/src/icons/components/IconGraphincreasing.tsx +11 -0
- package/src/icons/components/IconGraphlow.tsx +11 -0
- package/src/icons/components/IconGraphtable.tsx +11 -0
- package/src/icons/components/IconHealthreport.tsx +11 -0
- package/src/icons/components/IconHubmode.tsx +11 -0
- package/src/icons/components/IconInfrastructure.tsx +11 -0
- package/src/icons/components/IconInterestlow.tsx +11 -0
- package/src/icons/components/IconLte.tsx +11 -0
- package/src/icons/components/IconNetworkfuture.tsx +11 -0
- package/src/icons/components/IconPagesettings.tsx +11 -0
- package/src/icons/components/IconPptxdoc.tsx +11 -0
- package/src/icons/components/IconPreferrednumber.tsx +11 -0
- package/src/icons/components/IconPremiumnumber.tsx +11 -0
- package/src/icons/components/IconProjection.tsx +11 -0
- package/src/icons/components/IconRequest.tsx +11 -0
- package/src/icons/components/IconRoutestraffic.tsx +11 -0
- package/src/icons/components/IconTechnology.tsx +11 -0
- package/src/icons/components/IconVolte.tsx +11 -0
- package/src/icons/components/IconVonr.tsx +11 -0
- package/src/icons/components/IconVowifi.tsx +11 -0
- package/src/icons/components/IconVpndata.tsx +11 -0
- package/src/icons/components/index.ts +73 -0
- package/src/icons/registry.ts +293 -1
- package/src/utils/GlassFill/GlassFill.tsx +59 -56
- package/src/utils/index.ts +2 -0
- package/src/utils/react-utils.ts +72 -1
- package/src/utils/shadow.ts +219 -0
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import React, { forwardRef } from 'react'
|
|
2
|
+
import {
|
|
3
|
+
ScrollView,
|
|
4
|
+
type ScrollViewProps,
|
|
5
|
+
type StyleProp,
|
|
6
|
+
type ViewStyle,
|
|
7
|
+
} from 'react-native'
|
|
8
|
+
import { EMPTY_MODES, cloneChildrenWithModes } from '../../utils/react-utils'
|
|
9
|
+
import type { Modes } from '../../design-tokens'
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Axis (or axes) along which the content can be scrolled.
|
|
13
|
+
*
|
|
14
|
+
* - `vertical` (default) — content taller than the viewport scrolls up/down.
|
|
15
|
+
* - `horizontal` — content wider than the viewport scrolls left/right.
|
|
16
|
+
* - `both` — content larger on either axis scrolls in both directions
|
|
17
|
+
* (implemented as a horizontal `ScrollView` nested in a vertical one).
|
|
18
|
+
*/
|
|
19
|
+
export type ScrollDirection = 'vertical' | 'horizontal' | 'both'
|
|
20
|
+
|
|
21
|
+
export interface ScrollAreaProps
|
|
22
|
+
extends Omit<
|
|
23
|
+
ScrollViewProps,
|
|
24
|
+
'horizontal' | 'contentContainerStyle' | 'children'
|
|
25
|
+
> {
|
|
26
|
+
/** Content that may be larger than the viewport. */
|
|
27
|
+
children?: React.ReactNode
|
|
28
|
+
/**
|
|
29
|
+
* Scroll axis. Defaults to `vertical`.
|
|
30
|
+
* @default 'vertical'
|
|
31
|
+
*/
|
|
32
|
+
direction?: ScrollDirection
|
|
33
|
+
/**
|
|
34
|
+
* Whether to show the native scroll indicator (scrollbar). Mirrors the Figma
|
|
35
|
+
* design, which has no visible scrollbar, so this defaults to `false`.
|
|
36
|
+
* @default false
|
|
37
|
+
*/
|
|
38
|
+
showScrollIndicator?: boolean
|
|
39
|
+
/**
|
|
40
|
+
* Padding applied to all sides of the scrollable content. Individual sides
|
|
41
|
+
* (`paddingHorizontal`, `paddingTop`, …) take precedence when provided.
|
|
42
|
+
* @default 0
|
|
43
|
+
*/
|
|
44
|
+
padding?: number
|
|
45
|
+
/** Left + right padding of the scrollable content. */
|
|
46
|
+
paddingHorizontal?: number
|
|
47
|
+
/** Top + bottom padding of the scrollable content. */
|
|
48
|
+
paddingVertical?: number
|
|
49
|
+
/** Top padding of the scrollable content. */
|
|
50
|
+
paddingTop?: number
|
|
51
|
+
/** Right padding of the scrollable content. */
|
|
52
|
+
paddingRight?: number
|
|
53
|
+
/** Bottom padding of the scrollable content. */
|
|
54
|
+
paddingBottom?: number
|
|
55
|
+
/** Left padding of the scrollable content. */
|
|
56
|
+
paddingLeft?: number
|
|
57
|
+
/**
|
|
58
|
+
* Style for the viewport (the visible, clipping window). Constrain the
|
|
59
|
+
* scroll area's size here, e.g. `{ height: 240 }` or `{ flex: 1 }`. The
|
|
60
|
+
* component intentionally has no background of its own.
|
|
61
|
+
*/
|
|
62
|
+
style?: StyleProp<ViewStyle>
|
|
63
|
+
/** Style for the scrollable content wrapper (sits inside the viewport). */
|
|
64
|
+
contentContainerStyle?: StyleProp<ViewStyle>
|
|
65
|
+
/** Modes object for design-token resolution, cascaded to all children. */
|
|
66
|
+
modes?: Modes
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Build a padding style fragment, letting the more specific props win over the
|
|
71
|
+
* broader ones (`paddingTop` > `paddingVertical` > `padding`). Only defined
|
|
72
|
+
* values are emitted so consumer `contentContainerStyle` overrides survive.
|
|
73
|
+
*/
|
|
74
|
+
function resolvePadding({
|
|
75
|
+
padding,
|
|
76
|
+
paddingHorizontal,
|
|
77
|
+
paddingVertical,
|
|
78
|
+
paddingTop,
|
|
79
|
+
paddingRight,
|
|
80
|
+
paddingBottom,
|
|
81
|
+
paddingLeft,
|
|
82
|
+
}: Pick<
|
|
83
|
+
ScrollAreaProps,
|
|
84
|
+
| 'padding'
|
|
85
|
+
| 'paddingHorizontal'
|
|
86
|
+
| 'paddingVertical'
|
|
87
|
+
| 'paddingTop'
|
|
88
|
+
| 'paddingRight'
|
|
89
|
+
| 'paddingBottom'
|
|
90
|
+
| 'paddingLeft'
|
|
91
|
+
>): ViewStyle {
|
|
92
|
+
const top = paddingTop ?? paddingVertical ?? padding
|
|
93
|
+
const right = paddingRight ?? paddingHorizontal ?? padding
|
|
94
|
+
const bottom = paddingBottom ?? paddingVertical ?? padding
|
|
95
|
+
const left = paddingLeft ?? paddingHorizontal ?? padding
|
|
96
|
+
|
|
97
|
+
const style: ViewStyle = {}
|
|
98
|
+
if (top != null) style.paddingTop = top
|
|
99
|
+
if (right != null) style.paddingRight = right
|
|
100
|
+
if (bottom != null) style.paddingBottom = bottom
|
|
101
|
+
if (left != null) style.paddingLeft = left
|
|
102
|
+
return style
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* ScrollArea — a transparent, size-constrained viewport that makes content
|
|
107
|
+
* larger than itself smoothly scrollable (Figma node 6319:46886).
|
|
108
|
+
*
|
|
109
|
+
* It has no background of its own; constrain its size through `style`
|
|
110
|
+
* (`height`, `maxHeight`, or `flex`) and drop any over-sized content inside.
|
|
111
|
+
*
|
|
112
|
+
* @example
|
|
113
|
+
* // Vertical (default): a tall column inside a fixed-height window.
|
|
114
|
+
* <ScrollArea style={{ height: 240 }}>
|
|
115
|
+
* <LongContent />
|
|
116
|
+
* </ScrollArea>
|
|
117
|
+
*
|
|
118
|
+
* @example
|
|
119
|
+
* // Horizontal: a wide row of cards inside a full-width window.
|
|
120
|
+
* <ScrollArea direction="horizontal">
|
|
121
|
+
* <Card /> <Card /> <Card />
|
|
122
|
+
* </ScrollArea>
|
|
123
|
+
*/
|
|
124
|
+
export const ScrollArea = forwardRef<ScrollView, ScrollAreaProps>(
|
|
125
|
+
function ScrollArea(
|
|
126
|
+
{
|
|
127
|
+
children,
|
|
128
|
+
direction = 'vertical',
|
|
129
|
+
showScrollIndicator = false,
|
|
130
|
+
padding,
|
|
131
|
+
paddingHorizontal,
|
|
132
|
+
paddingVertical,
|
|
133
|
+
paddingTop,
|
|
134
|
+
paddingRight,
|
|
135
|
+
paddingBottom,
|
|
136
|
+
paddingLeft,
|
|
137
|
+
style,
|
|
138
|
+
contentContainerStyle,
|
|
139
|
+
modes = EMPTY_MODES,
|
|
140
|
+
scrollEventThrottle = 16,
|
|
141
|
+
...rest
|
|
142
|
+
},
|
|
143
|
+
ref,
|
|
144
|
+
) {
|
|
145
|
+
const paddingStyle = resolvePadding({
|
|
146
|
+
padding,
|
|
147
|
+
paddingHorizontal,
|
|
148
|
+
paddingVertical,
|
|
149
|
+
paddingTop,
|
|
150
|
+
paddingRight,
|
|
151
|
+
paddingBottom,
|
|
152
|
+
paddingLeft,
|
|
153
|
+
})
|
|
154
|
+
|
|
155
|
+
// Cascade modes into every child so slotted tokens resolve correctly.
|
|
156
|
+
const content = cloneChildrenWithModes(children, modes)
|
|
157
|
+
|
|
158
|
+
if (direction === 'both') {
|
|
159
|
+
// Outer vertical scroll, inner horizontal scroll. Padding lives on the
|
|
160
|
+
// inner content container so it scrolls with the content on both axes.
|
|
161
|
+
return (
|
|
162
|
+
<ScrollView
|
|
163
|
+
ref={ref}
|
|
164
|
+
style={style}
|
|
165
|
+
showsVerticalScrollIndicator={showScrollIndicator}
|
|
166
|
+
scrollEventThrottle={scrollEventThrottle}
|
|
167
|
+
{...rest}
|
|
168
|
+
>
|
|
169
|
+
<ScrollView
|
|
170
|
+
horizontal
|
|
171
|
+
showsHorizontalScrollIndicator={showScrollIndicator}
|
|
172
|
+
scrollEventThrottle={scrollEventThrottle}
|
|
173
|
+
contentContainerStyle={[paddingStyle, contentContainerStyle]}
|
|
174
|
+
>
|
|
175
|
+
{content}
|
|
176
|
+
</ScrollView>
|
|
177
|
+
</ScrollView>
|
|
178
|
+
)
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
const isHorizontal = direction === 'horizontal'
|
|
182
|
+
|
|
183
|
+
return (
|
|
184
|
+
<ScrollView
|
|
185
|
+
ref={ref}
|
|
186
|
+
horizontal={isHorizontal}
|
|
187
|
+
style={style}
|
|
188
|
+
showsVerticalScrollIndicator={isHorizontal ? undefined : showScrollIndicator}
|
|
189
|
+
showsHorizontalScrollIndicator={isHorizontal ? showScrollIndicator : undefined}
|
|
190
|
+
scrollEventThrottle={scrollEventThrottle}
|
|
191
|
+
contentContainerStyle={[paddingStyle, contentContainerStyle]}
|
|
192
|
+
{...rest}
|
|
193
|
+
>
|
|
194
|
+
{content}
|
|
195
|
+
</ScrollView>
|
|
196
|
+
)
|
|
197
|
+
},
|
|
198
|
+
)
|
|
199
|
+
|
|
200
|
+
export default ScrollArea
|
|
@@ -408,32 +408,32 @@ interface SectionTokens {
|
|
|
408
408
|
}
|
|
409
409
|
|
|
410
410
|
function resolveSectionTokens(modes: Modes): SectionTokens {
|
|
411
|
-
const backgroundColor = getVariableByName('section/background/color', modes)
|
|
412
|
-
const sectionGap = (getVariableByName('section/gap', modes)
|
|
413
|
-
const slotGap = (getVariableByName('slot/gap', modes)
|
|
414
|
-
const paddingHorizontal = getVariableByName('section/padding/horizontal', modes)
|
|
415
|
-
const paddingVertical = getVariableByName('section/padding/vertical', modes)
|
|
416
|
-
const radius = getVariableByName('section/radius', modes)
|
|
417
|
-
|
|
418
|
-
const headerGap = getVariableByName('section/header/gap', modes)
|
|
419
|
-
const headerPaddingHorizontal = getVariableByName('section/header/padding/horizontal', modes)
|
|
420
|
-
const headerPaddingVertical = getVariableByName('section/header/padding/vertical', modes)
|
|
421
|
-
|
|
422
|
-
const titleColor = getVariableByName('section/title/color', modes)
|
|
423
|
-
const titleFontSize = getVariableByName('section/title/fontSize', modes)
|
|
424
|
-
const titleLineHeight = getVariableByName('section/title/lineHeight', modes)
|
|
425
|
-
const titleFontFamily = getVariableByName('section/title/fontFamily', modes)
|
|
426
|
-
const titleFontWeightRaw = getVariableByName('section/title/fontWeight', modes)
|
|
411
|
+
const backgroundColor = getVariableByName('section/background/color', modes)
|
|
412
|
+
const sectionGap = (getVariableByName('section/gap', modes)) as number
|
|
413
|
+
const slotGap = (getVariableByName('slot/gap', modes)) as number
|
|
414
|
+
const paddingHorizontal = getVariableByName('section/padding/horizontal', modes)
|
|
415
|
+
const paddingVertical = getVariableByName('section/padding/vertical', modes)
|
|
416
|
+
const radius = getVariableByName('section/radius', modes)
|
|
417
|
+
|
|
418
|
+
const headerGap = getVariableByName('section/header/gap', modes)
|
|
419
|
+
const headerPaddingHorizontal = getVariableByName('section/header/padding/horizontal', modes)
|
|
420
|
+
const headerPaddingVertical = getVariableByName('section/header/padding/vertical', modes)
|
|
421
|
+
|
|
422
|
+
const titleColor = getVariableByName('section/title/color', modes)
|
|
423
|
+
const titleFontSize = getVariableByName('section/title/fontSize', modes)
|
|
424
|
+
const titleLineHeight = getVariableByName('section/title/lineHeight', modes)
|
|
425
|
+
const titleFontFamily = getVariableByName('section/title/fontFamily', modes)
|
|
426
|
+
const titleFontWeightRaw = getVariableByName('section/title/fontWeight', modes)
|
|
427
427
|
const titleFontWeight =
|
|
428
428
|
typeof titleFontWeightRaw === 'number'
|
|
429
429
|
? titleFontWeightRaw.toString()
|
|
430
430
|
: titleFontWeightRaw
|
|
431
431
|
|
|
432
|
-
const supportTextColor = getVariableByName('section/supportText/color', modes)
|
|
433
|
-
const supportTextFontSize = getVariableByName('section/supportText/fontSize', modes)
|
|
434
|
-
const supportTextLineHeight = getVariableByName('section/supportText/lineHeight', modes)
|
|
435
|
-
const supportTextFontFamily = getVariableByName('section/supportText/fontFamily', modes)
|
|
436
|
-
const supportTextFontWeightRaw = getVariableByName('section/supportText/fontWeight', modes)
|
|
432
|
+
const supportTextColor = getVariableByName('section/supportText/color', modes)
|
|
433
|
+
const supportTextFontSize = getVariableByName('section/supportText/fontSize', modes)
|
|
434
|
+
const supportTextLineHeight = getVariableByName('section/supportText/lineHeight', modes)
|
|
435
|
+
const supportTextFontFamily = getVariableByName('section/supportText/fontFamily', modes)
|
|
436
|
+
const supportTextFontWeightRaw = getVariableByName('section/supportText/fontWeight', modes)
|
|
437
437
|
const supportTextFontWeight =
|
|
438
438
|
typeof supportTextFontWeightRaw === 'number'
|
|
439
439
|
? supportTextFontWeightRaw.toString()
|
|
@@ -765,11 +765,11 @@ function SectionBento({
|
|
|
765
765
|
renderToggle,
|
|
766
766
|
...rest
|
|
767
767
|
}: SectionBentoProps) {
|
|
768
|
-
const backgroundColor = getVariableByName('section/background/color', modes)
|
|
769
|
-
const gap = getVariableByName('section/gap', modes)
|
|
770
|
-
const paddingHorizontal = getVariableByName('section/padding/horizontal', modes)
|
|
771
|
-
const paddingVertical = getVariableByName('section/padding/vertical', modes)
|
|
772
|
-
const radius = getVariableByName('section/radius', modes)
|
|
768
|
+
const backgroundColor = getVariableByName('section/background/color', modes)
|
|
769
|
+
const gap = getVariableByName('section/gap', modes)
|
|
770
|
+
const paddingHorizontal = getVariableByName('section/padding/horizontal', modes)
|
|
771
|
+
const paddingVertical = getVariableByName('section/padding/vertical', modes)
|
|
772
|
+
const radius = getVariableByName('section/radius', modes)
|
|
773
773
|
|
|
774
774
|
const containerStyle = useMemo<ViewStyle>(
|
|
775
775
|
() => ({
|
|
@@ -66,28 +66,28 @@ export default function StatusHero({
|
|
|
66
66
|
const modes = { ...globalModes, ...propModes }
|
|
67
67
|
|
|
68
68
|
// Container
|
|
69
|
-
const gap = Number(getVariableByName('statusHero/gap', modes))
|
|
70
|
-
const padding = Number(getVariableByName('statusHero/padding', modes))
|
|
69
|
+
const gap = Number(getVariableByName('statusHero/gap', modes))
|
|
70
|
+
const padding = Number(getVariableByName('statusHero/padding', modes))
|
|
71
71
|
|
|
72
72
|
// Media slot wrap (gap between icon and money value in default slot)
|
|
73
|
-
const slotWrapGap = Number(getVariableByName('statusHero/slotWrap/gap', modes))
|
|
73
|
+
const slotWrapGap = Number(getVariableByName('statusHero/slotWrap/gap', modes))
|
|
74
74
|
|
|
75
75
|
// Content wrap
|
|
76
|
-
const contentWrapGap = Number(getVariableByName('statusHero/contentWrap/gap', modes))
|
|
76
|
+
const contentWrapGap = Number(getVariableByName('statusHero/contentWrap/gap', modes))
|
|
77
77
|
|
|
78
78
|
// Title
|
|
79
|
-
const titleColor = getVariableByName('statusHero/title/foreground', modes)
|
|
80
|
-
const titleFontSize = Number(getVariableByName('statusHero/title/fontSize', modes))
|
|
81
|
-
const titleFontFamily = getVariableByName('statusHero/title/fontFamily', modes)
|
|
82
|
-
const titleLineHeight = Number(getVariableByName('statusHero/title/lineHeight', modes))
|
|
83
|
-
const titleFontWeight = getVariableByName('statusHero/title/fontWeight', modes)
|
|
79
|
+
const titleColor = getVariableByName('statusHero/title/foreground', modes)
|
|
80
|
+
const titleFontSize = Number(getVariableByName('statusHero/title/fontSize', modes))
|
|
81
|
+
const titleFontFamily = getVariableByName('statusHero/title/fontFamily', modes)
|
|
82
|
+
const titleLineHeight = Number(getVariableByName('statusHero/title/lineHeight', modes))
|
|
83
|
+
const titleFontWeight = getVariableByName('statusHero/title/fontWeight', modes)
|
|
84
84
|
|
|
85
85
|
// Body
|
|
86
|
-
const bodyColor = getVariableByName('statusHero/body/foreground', modes)
|
|
87
|
-
const bodyFontSize = Number(getVariableByName('statusHero/body/fontSize', modes))
|
|
88
|
-
const bodyFontFamily = getVariableByName('statusHero/body/fontFamily', modes)
|
|
89
|
-
const bodyLineHeight = Number(getVariableByName('statusHero/body/lineHeight', modes))
|
|
90
|
-
const bodyFontWeight = getVariableByName('statusHero/body/fontWeight', modes)
|
|
86
|
+
const bodyColor = getVariableByName('statusHero/body/foreground', modes)
|
|
87
|
+
const bodyFontSize = Number(getVariableByName('statusHero/body/fontSize', modes))
|
|
88
|
+
const bodyFontFamily = getVariableByName('statusHero/body/fontFamily', modes)
|
|
89
|
+
const bodyLineHeight = Number(getVariableByName('statusHero/body/lineHeight', modes))
|
|
90
|
+
const bodyFontWeight = getVariableByName('statusHero/body/fontWeight', modes)
|
|
91
91
|
|
|
92
92
|
const containerStyle: ViewStyle = {
|
|
93
93
|
flexDirection: 'column',
|
|
@@ -47,42 +47,40 @@ export function Step({
|
|
|
47
47
|
status = 'number',
|
|
48
48
|
}: StepProps) {
|
|
49
49
|
const minHeight =
|
|
50
|
-
Number(getVariableByName('steperItem/minHeight', modes) as unknown)
|
|
50
|
+
Number(getVariableByName('steperItem/minHeight', modes) as unknown)
|
|
51
51
|
const gap =
|
|
52
|
-
Number(getVariableByName('steperItem/gap', modes) as unknown)
|
|
52
|
+
Number(getVariableByName('steperItem/gap', modes) as unknown)
|
|
53
53
|
|
|
54
54
|
const indicatorSize =
|
|
55
|
-
Number(getVariableByName('stepIndicator/size', modes) as unknown)
|
|
55
|
+
Number(getVariableByName('stepIndicator/size', modes) as unknown)
|
|
56
56
|
const indicatorRadius =
|
|
57
|
-
Number(getVariableByName('stepIndicator/radius', modes) as unknown)
|
|
57
|
+
Number(getVariableByName('stepIndicator/radius', modes) as unknown)
|
|
58
58
|
const indicatorBg =
|
|
59
|
-
(getVariableByName('stepIndicator/background', modes) as string)
|
|
60
|
-
'#5d00b5'
|
|
59
|
+
(getVariableByName('stepIndicator/background', modes) as string)
|
|
61
60
|
const indicatorBorderColor =
|
|
62
|
-
(getVariableByName('stepIndicator/border/color', modes) as string)
|
|
63
|
-
'#5d00b5'
|
|
61
|
+
(getVariableByName('stepIndicator/border/color', modes) as string)
|
|
64
62
|
const indicatorBorderSize =
|
|
65
|
-
Number(getVariableByName('stepIndicator/border/size', modes) as unknown)
|
|
63
|
+
Number(getVariableByName('stepIndicator/border/size', modes) as unknown)
|
|
66
64
|
const iconColor =
|
|
67
|
-
(getVariableByName('stepIndicator/icon/color', modes) as string)
|
|
65
|
+
(getVariableByName('stepIndicator/icon/color', modes) as string)
|
|
68
66
|
const stepStatusSize =
|
|
69
|
-
Number(getVariableByName('stepStatus/size', modes) as unknown)
|
|
67
|
+
Number(getVariableByName('stepStatus/size', modes) as unknown)
|
|
70
68
|
|
|
71
69
|
const labelFontSize =
|
|
72
|
-
Number(getVariableByName('stepIndicator/label/fontSize', modes) as unknown)
|
|
70
|
+
Number(getVariableByName('stepIndicator/label/fontSize', modes) as unknown)
|
|
73
71
|
const labelFontFamily =
|
|
74
|
-
(getVariableByName('stepIndicator/label/fontFamily', modes) as string)
|
|
72
|
+
(getVariableByName('stepIndicator/label/fontFamily', modes) as string)
|
|
75
73
|
const labelLineHeight =
|
|
76
|
-
Number(getVariableByName('stepIndicator/label/lineHeight', modes) as unknown)
|
|
74
|
+
Number(getVariableByName('stepIndicator/label/lineHeight', modes) as unknown)
|
|
77
75
|
const labelFontWeight =
|
|
78
|
-
(getVariableByName('stepIndicator/label/fontWeight', modes) as string)
|
|
76
|
+
(getVariableByName('stepIndicator/label/fontWeight', modes) as string)
|
|
79
77
|
|
|
80
78
|
const lineSize =
|
|
81
|
-
Number(getVariableByName('steperItem/lineSize', modes) as unknown)
|
|
79
|
+
Number(getVariableByName('steperItem/lineSize', modes) as unknown)
|
|
82
80
|
const lineColor =
|
|
83
|
-
(getVariableByName('steperItem/line', modes) as string)
|
|
81
|
+
(getVariableByName('steperItem/line', modes) as string)
|
|
84
82
|
const badgeWrapGap =
|
|
85
|
-
Number(getVariableByName('steperItem/badgeWrap/gap', modes) as unknown)
|
|
83
|
+
Number(getVariableByName('steperItem/badgeWrap/gap', modes) as unknown)
|
|
86
84
|
|
|
87
85
|
const containerStyle: ViewStyle = {
|
|
88
86
|
flexDirection: 'row',
|
|
@@ -24,17 +24,15 @@ export function StepLabel({
|
|
|
24
24
|
style,
|
|
25
25
|
}: StepLabelProps) {
|
|
26
26
|
const titleColor =
|
|
27
|
-
(getVariableByName('steperItem/title/color', modes) as string)
|
|
27
|
+
(getVariableByName('steperItem/title/color', modes) as string)
|
|
28
28
|
const titleFontSize =
|
|
29
|
-
Number(getVariableByName('steperItem/title/fontSize', modes) as unknown)
|
|
29
|
+
Number(getVariableByName('steperItem/title/fontSize', modes) as unknown)
|
|
30
30
|
const titleFontFamily =
|
|
31
|
-
(getVariableByName('steperItem/title/fontFamily', modes) as string)
|
|
32
|
-
undefined
|
|
31
|
+
(getVariableByName('steperItem/title/fontFamily', modes) as string)
|
|
33
32
|
const titleLineHeight =
|
|
34
|
-
Number(getVariableByName('steperItem/title/lineHeight', modes) as unknown)
|
|
35
|
-
18
|
|
33
|
+
Number(getVariableByName('steperItem/title/lineHeight', modes) as unknown)
|
|
36
34
|
const titleFontWeight =
|
|
37
|
-
(getVariableByName('steperItem/title/fontWeight', modes) as string)
|
|
35
|
+
(getVariableByName('steperItem/title/fontWeight', modes) as string)
|
|
38
36
|
|
|
39
37
|
// The Subtitle (supportingText) and Meta both default to the "Neutral"
|
|
40
38
|
// AppearanceBrand. A caller-supplied `AppearanceBrand` still wins (it is
|
|
@@ -44,40 +42,31 @@ export function StepLabel({
|
|
|
44
42
|
const metaModes = { AppearanceBrand: 'Neutral', ...modes }
|
|
45
43
|
|
|
46
44
|
const subtitleColor =
|
|
47
|
-
(getVariableByName('steperItem/subtitle/color', subtitleModes) as string)
|
|
48
|
-
'#3d4047'
|
|
45
|
+
(getVariableByName('steperItem/subtitle/color', subtitleModes) as string)
|
|
49
46
|
const subtitleFontSize =
|
|
50
|
-
Number(
|
|
51
|
-
getVariableByName('steperItem/subtitle/fontSize', subtitleModes) as unknown
|
|
52
|
-
) || 12
|
|
47
|
+
Number(getVariableByName('steperItem/subtitle/fontSize', subtitleModes) as unknown)
|
|
53
48
|
const subtitleFontFamily =
|
|
54
|
-
(getVariableByName('steperItem/subtitle/fontFamily', subtitleModes) as string)
|
|
55
|
-
undefined
|
|
49
|
+
(getVariableByName('steperItem/subtitle/fontFamily', subtitleModes) as string)
|
|
56
50
|
const subtitleLineHeight =
|
|
57
|
-
Number(
|
|
58
|
-
getVariableByName('steperItem/subtitle/lineHeight', subtitleModes) as unknown
|
|
59
|
-
) || 16
|
|
51
|
+
Number(getVariableByName('steperItem/subtitle/lineHeight', subtitleModes) as unknown)
|
|
60
52
|
const subtitleFontWeight =
|
|
61
|
-
(getVariableByName('steperItem/subtitle/fontWeight', subtitleModes) as string)
|
|
62
|
-
'400'
|
|
53
|
+
(getVariableByName('steperItem/subtitle/fontWeight', subtitleModes) as string)
|
|
63
54
|
|
|
64
55
|
const metaColor =
|
|
65
|
-
(getVariableByName('steperItem/meta/color', metaModes) as string)
|
|
56
|
+
(getVariableByName('steperItem/meta/color', metaModes) as string)
|
|
66
57
|
const metaFontSize =
|
|
67
|
-
Number(getVariableByName('steperItem/meta/fontSize', metaModes) as unknown)
|
|
58
|
+
Number(getVariableByName('steperItem/meta/fontSize', metaModes) as unknown)
|
|
68
59
|
// The Figma variable is authored as "fontFamily Copy" (with a space + suffix).
|
|
69
60
|
// Match the literal Figma name to avoid a missing-variable warning.
|
|
70
61
|
const metaFontFamily =
|
|
71
|
-
(getVariableByName('steperItem/meta/fontFamily Copy', metaModes) as string)
|
|
72
|
-
undefined
|
|
62
|
+
(getVariableByName('steperItem/meta/fontFamily Copy', metaModes) as string)
|
|
73
63
|
const metaLineHeight =
|
|
74
|
-
Number(getVariableByName('steperItem/meta/lineHeight', metaModes) as unknown)
|
|
75
|
-
12
|
|
64
|
+
Number(getVariableByName('steperItem/meta/lineHeight', metaModes) as unknown)
|
|
76
65
|
const metaFontWeight =
|
|
77
|
-
(getVariableByName('steperItem/meta/fontWeight', metaModes) as string)
|
|
66
|
+
(getVariableByName('steperItem/meta/fontWeight', metaModes) as string)
|
|
78
67
|
|
|
79
68
|
const textGap =
|
|
80
|
-
Number(getVariableByName('steperItem/textWrap/gap', modes) as unknown)
|
|
69
|
+
Number(getVariableByName('steperItem/textWrap/gap', modes) as unknown)
|
|
81
70
|
|
|
82
71
|
const titleStyle: TextStyle = {
|
|
83
72
|
color: titleColor,
|
|
@@ -22,11 +22,10 @@ export default function Stepper({
|
|
|
22
22
|
style,
|
|
23
23
|
}: StepperProps) {
|
|
24
24
|
const paddingHorizontal =
|
|
25
|
-
Number(getVariableByName('stepper/padding/horizontal', modes) as unknown)
|
|
26
|
-
8
|
|
25
|
+
Number(getVariableByName('stepper/padding/horizontal', modes) as unknown)
|
|
27
26
|
const paddingVertical =
|
|
28
|
-
Number(getVariableByName('stepper/padding/vertical', modes) as unknown)
|
|
29
|
-
const gap = Number(getVariableByName('stepper/gap', modes) as unknown)
|
|
27
|
+
Number(getVariableByName('stepper/padding/vertical', modes) as unknown)
|
|
28
|
+
const gap = Number(getVariableByName('stepper/gap', modes) as unknown)
|
|
30
29
|
|
|
31
30
|
const containerStyle: ViewStyle = {
|
|
32
31
|
paddingHorizontal,
|
|
@@ -184,11 +184,9 @@ const defaultFilter = (query: string, option: SuggestiveSearchOption) =>
|
|
|
184
184
|
function useFormFieldTokens(modes: Modes) {
|
|
185
185
|
return useMemo(() => {
|
|
186
186
|
const labelColor =
|
|
187
|
-
(getVariableByName('formField/label/color', modes) as string)
|
|
188
|
-
'#000000'
|
|
187
|
+
(getVariableByName('formField/label/color', modes) as string)
|
|
189
188
|
const labelFontFamily =
|
|
190
|
-
(getVariableByName('formField/label/fontFamily', modes) as string)
|
|
191
|
-
'JioType Var'
|
|
189
|
+
(getVariableByName('formField/label/fontFamily', modes) as string)
|
|
192
190
|
const labelFontSize = toNumber(
|
|
193
191
|
getVariableByName('formField/label/fontSize', modes),
|
|
194
192
|
14
|
|
@@ -198,8 +196,7 @@ function useFormFieldTokens(modes: Modes) {
|
|
|
198
196
|
17
|
|
199
197
|
)
|
|
200
198
|
const labelFontWeight =
|
|
201
|
-
(getVariableByName('formField/label/fontWeight', modes) as string)
|
|
202
|
-
'500'
|
|
199
|
+
(getVariableByName('formField/label/fontWeight', modes) as string)
|
|
203
200
|
|
|
204
201
|
const gap = toNumber(getVariableByName('formField/gap', modes), 8)
|
|
205
202
|
|
|
@@ -217,11 +214,9 @@ function useFormFieldTokens(modes: Modes) {
|
|
|
217
214
|
1.5
|
|
218
215
|
)
|
|
219
216
|
const inputBackground =
|
|
220
|
-
(getVariableByName('formField/input/background', modes) as string)
|
|
221
|
-
'#ffffff'
|
|
217
|
+
(getVariableByName('formField/input/background', modes) as string)
|
|
222
218
|
const inputBorderColor =
|
|
223
|
-
(getVariableByName('formField/input/border/color', modes) as string)
|
|
224
|
-
'#b5b6b7'
|
|
219
|
+
(getVariableByName('formField/input/border/color', modes) as string)
|
|
225
220
|
const inputFontSize = toNumber(
|
|
226
221
|
getVariableByName('formField/input/label/fontSize', modes),
|
|
227
222
|
16
|
|
@@ -231,14 +226,11 @@ function useFormFieldTokens(modes: Modes) {
|
|
|
231
226
|
45
|
|
232
227
|
)
|
|
233
228
|
const inputFontFamily =
|
|
234
|
-
(getVariableByName('formField/input/label/fontFamily', modes) as string)
|
|
235
|
-
'JioType Var'
|
|
229
|
+
(getVariableByName('formField/input/label/fontFamily', modes) as string)
|
|
236
230
|
const inputFontWeight =
|
|
237
|
-
(getVariableByName('formField/input/label/fontWeight', modes) as string)
|
|
238
|
-
'400'
|
|
231
|
+
(getVariableByName('formField/input/label/fontWeight', modes) as string)
|
|
239
232
|
const inputTextColor =
|
|
240
|
-
(getVariableByName('formField/input/label/color', modes) as string)
|
|
241
|
-
'#24262b'
|
|
233
|
+
(getVariableByName('formField/input/label/color', modes) as string)
|
|
242
234
|
|
|
243
235
|
return {
|
|
244
236
|
labelColor,
|
|
@@ -265,11 +257,9 @@ function useFormFieldTokens(modes: Modes) {
|
|
|
265
257
|
function useDropdownItemTextTokens(modes: Modes) {
|
|
266
258
|
return useMemo(() => {
|
|
267
259
|
const foreground =
|
|
268
|
-
(getVariableByName('dropdownItem/foreground', modes) as string)
|
|
269
|
-
'#000000'
|
|
260
|
+
(getVariableByName('dropdownItem/foreground', modes) as string)
|
|
270
261
|
const fontFamily =
|
|
271
|
-
(getVariableByName('dropdownItem/fontFamily', modes) as string)
|
|
272
|
-
'JioType Var'
|
|
262
|
+
(getVariableByName('dropdownItem/fontFamily', modes) as string)
|
|
273
263
|
const fontSize = toNumber(
|
|
274
264
|
getVariableByName('dropdownItem/fontSize', modes),
|
|
275
265
|
16
|
|
@@ -53,13 +53,13 @@ function SupportText({
|
|
|
53
53
|
const modes = { ...globalModes, ...propModes };
|
|
54
54
|
|
|
55
55
|
// --- Token Resolution ---
|
|
56
|
-
const gap = parseInt(getVariableByName('supportText/gap', modes), 10)
|
|
56
|
+
const gap = parseInt(getVariableByName('supportText/gap', modes), 10);
|
|
57
57
|
|
|
58
|
-
const textColor = getVariableByName('supportText/foreground', modes)
|
|
59
|
-
const fontFamily = getVariableByName('supportText/fontFamily', modes)
|
|
60
|
-
const fontSize = parseInt(getVariableByName('supportText/fontSize', modes), 10)
|
|
61
|
-
const lineHeight = parseInt(getVariableByName('supportText/lineHeight', modes), 10)
|
|
62
|
-
const fontWeight = getVariableByName('supportText/fontWeight', modes)
|
|
58
|
+
const textColor = getVariableByName('supportText/foreground', modes);
|
|
59
|
+
const fontFamily = getVariableByName('supportText/fontFamily', modes);
|
|
60
|
+
const fontSize = parseInt(getVariableByName('supportText/fontSize', modes), 10);
|
|
61
|
+
const lineHeight = parseInt(getVariableByName('supportText/lineHeight', modes), 10);
|
|
62
|
+
const fontWeight = getVariableByName('supportText/fontWeight', modes);
|
|
63
63
|
|
|
64
64
|
// --- Styles ---
|
|
65
65
|
const containerStyle: ViewStyle = {
|
|
@@ -29,14 +29,14 @@ function SupportTextIcon({
|
|
|
29
29
|
const iconName = STATUS_ICON_MAP[status] || 'ic_info';
|
|
30
30
|
|
|
31
31
|
// Resolve icon size
|
|
32
|
-
const size = parseInt(getVariableByName('supportText/icon/size', modes), 10)
|
|
32
|
+
const size = parseInt(getVariableByName('supportText/icon/size', modes), 10);
|
|
33
33
|
|
|
34
34
|
// Resolve icon color
|
|
35
35
|
// Assuming supportText/foreground applies to icon as well, or there might be specific icon color tokens.
|
|
36
36
|
// Using supportText/foreground as default based on common patterns if no specific icon token.
|
|
37
37
|
// If specific tokens exist like 'supportText/icon/color', they should be used.
|
|
38
38
|
// Detailed variables only showed supportText/foreground.
|
|
39
|
-
const color = getVariableByName('supportText/foreground', modes)
|
|
39
|
+
const color = getVariableByName('supportText/foreground', modes);
|
|
40
40
|
|
|
41
41
|
return (
|
|
42
42
|
<View style={style}>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react'
|
|
2
2
|
import { Text as RNText, type TextStyle, type StyleProp } from 'react-native'
|
|
3
3
|
import { getVariableByName } from '../../design-tokens/figma-variables-resolver'
|
|
4
|
-
import { EMPTY_MODES,
|
|
4
|
+
import { EMPTY_MODES, resolveTextLayout } from '../../utils/react-utils'
|
|
5
5
|
import Skeleton from '../../skeleton/Skeleton'
|
|
6
6
|
import { useSkeleton } from '../../skeleton/SkeletonGroup'
|
|
7
7
|
import type { Modes } from '../../design-tokens'
|
|
@@ -28,10 +28,19 @@ export type TextProps = {
|
|
|
28
28
|
numberOfLines?: number
|
|
29
29
|
/**
|
|
30
30
|
* When `true`, disables text truncation entirely: the trailing ellipsis (`…`)
|
|
31
|
-
* is never shown and any `numberOfLines` clamp is ignored
|
|
32
|
-
*
|
|
31
|
+
* is never shown and any `numberOfLines` clamp is ignored. The text is also
|
|
32
|
+
* never shrunk by a tight parent — it keeps its full intrinsic size and
|
|
33
|
+
* overflows (even breaking the parent layout) rather than clipping into an
|
|
34
|
+
* ellipsis. It still wraps onto multiple lines.
|
|
33
35
|
*/
|
|
34
36
|
disableTruncation?: boolean
|
|
37
|
+
/**
|
|
38
|
+
* When `true`, forces the text onto a single line with no wrapping (implies
|
|
39
|
+
* {@link disableTruncation}). On web the line overflows horizontally —
|
|
40
|
+
* brutally breaking the parent layout if it has to — instead of wrapping or
|
|
41
|
+
* truncating.
|
|
42
|
+
*/
|
|
43
|
+
singleLine?: boolean
|
|
35
44
|
/**
|
|
36
45
|
* Explicit per-instance loading override. When `true`, this `Text` renders
|
|
37
46
|
* a skeleton placeholder regardless of any surrounding `<SkeletonGroup>`.
|
|
@@ -66,6 +75,7 @@ function Text({
|
|
|
66
75
|
style,
|
|
67
76
|
numberOfLines,
|
|
68
77
|
disableTruncation,
|
|
78
|
+
singleLine,
|
|
69
79
|
loading,
|
|
70
80
|
skeletonWidth,
|
|
71
81
|
skeletonLines,
|
|
@@ -128,10 +138,18 @@ function Text({
|
|
|
128
138
|
? text
|
|
129
139
|
: 'Korem ipsum '
|
|
130
140
|
|
|
141
|
+
// Layout `style` is merged after the consumer `style` so the brutal overflow
|
|
142
|
+
// / no-wrap behaviour always wins.
|
|
143
|
+
const { style: layoutStyle, ...truncation } = resolveTextLayout({
|
|
144
|
+
disableTruncation,
|
|
145
|
+
singleLine,
|
|
146
|
+
numberOfLines,
|
|
147
|
+
})
|
|
148
|
+
|
|
131
149
|
return (
|
|
132
150
|
<RNText
|
|
133
|
-
style={[textStyle, style]}
|
|
134
|
-
{...
|
|
151
|
+
style={[textStyle, style, layoutStyle]}
|
|
152
|
+
{...truncation}
|
|
135
153
|
>
|
|
136
154
|
{content}
|
|
137
155
|
</RNText>
|