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
|
@@ -164,17 +164,17 @@ function DonutChart({
|
|
|
164
164
|
const hasChildrenSlot = customCenterChildren.length > 0;
|
|
165
165
|
const showValueLabel = !hasChildrenSlot && shouldRenderText(value);
|
|
166
166
|
const showLabel = !hasChildrenSlot && shouldRenderText(label);
|
|
167
|
-
const valueColor = getVariableByName('
|
|
168
|
-
const valueFontFamily = getVariableByName('
|
|
169
|
-
const valueFontSize = toNumber(getVariableByName('
|
|
170
|
-
const valueLineHeight = toNumber(getVariableByName('
|
|
171
|
-
const valueFontWeight = toFontWeight(getVariableByName('
|
|
172
|
-
const labelColor = getVariableByName('
|
|
173
|
-
const labelFontFamily = getVariableByName('
|
|
174
|
-
const labelFontSize = toNumber(getVariableByName('
|
|
175
|
-
const labelLineHeight = toNumber(getVariableByName('
|
|
176
|
-
const labelFontWeight = toFontWeight(getVariableByName('
|
|
177
|
-
const textWrapGap = toNumber(getVariableByName('
|
|
167
|
+
const valueColor = getVariableByName('value/fg', modes);
|
|
168
|
+
const valueFontFamily = getVariableByName('value/fontFamily', modes);
|
|
169
|
+
const valueFontSize = toNumber(getVariableByName('value/fontSize', modes), 29);
|
|
170
|
+
const valueLineHeight = toNumber(getVariableByName('value/lineHeight', modes), 29);
|
|
171
|
+
const valueFontWeight = toFontWeight(getVariableByName('value/fontWeight', modes), '900');
|
|
172
|
+
const labelColor = getVariableByName('label/fg', modes);
|
|
173
|
+
const labelFontFamily = getVariableByName('label/fontFamily', modes);
|
|
174
|
+
const labelFontSize = toNumber(getVariableByName('label/fontSize', modes), 12);
|
|
175
|
+
const labelLineHeight = toNumber(getVariableByName('label/lineHeight', modes), 15.6);
|
|
176
|
+
const labelFontWeight = toFontWeight(getVariableByName('label/fontWeight', modes), '400');
|
|
177
|
+
const textWrapGap = toNumber(getVariableByName('textWrap/gap', modes), 7);
|
|
178
178
|
const containerStyle = {
|
|
179
179
|
alignItems: 'center',
|
|
180
180
|
height: size,
|
|
@@ -6,6 +6,7 @@ import { Gesture, GestureDetector, ScrollView } from 'react-native-gesture-handl
|
|
|
6
6
|
import Animated, { runOnJS, useAnimatedProps, useAnimatedScrollHandler, useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';
|
|
7
7
|
import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
|
|
8
8
|
import { EMPTY_MODES } from '../../utils/react-utils';
|
|
9
|
+
import { boxShadow } from '../../utils/shadow';
|
|
9
10
|
import Overlay from '../Overlay/Overlay';
|
|
10
11
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
12
|
const AnimatedScrollView = Animated.createAnimatedComponent(ScrollView);
|
|
@@ -303,28 +304,29 @@ function DrawerInner({
|
|
|
303
304
|
});
|
|
304
305
|
|
|
305
306
|
// Design Tokens
|
|
306
|
-
const backgroundColor = getVariableByName('drawer/background', modes)
|
|
307
|
-
const radius = getVariableByName('drawer/radius/top', modes)
|
|
307
|
+
const backgroundColor = getVariableByName('drawer/background', modes);
|
|
308
|
+
const radius = getVariableByName('drawer/radius/top', modes);
|
|
308
309
|
|
|
309
310
|
// Handle
|
|
310
|
-
const handleColor = getVariableByName('drawer/handlebar/background', modes)
|
|
311
|
-
const handleWidth = getVariableByName('drawer/handlebar/width', modes)
|
|
312
|
-
const handleHeight = getVariableByName('drawer/handlebar/height', modes)
|
|
313
|
-
const handleRadius = getVariableByName('drawer/handlebar/radius', modes)
|
|
311
|
+
const handleColor = getVariableByName('drawer/handlebar/background', modes);
|
|
312
|
+
const handleWidth = getVariableByName('drawer/handlebar/width', modes);
|
|
313
|
+
const handleHeight = getVariableByName('drawer/handlebar/height', modes);
|
|
314
|
+
const handleRadius = getVariableByName('drawer/handlebar/radius', modes);
|
|
314
315
|
|
|
315
316
|
// Padding
|
|
316
|
-
const paddingLeft = getVariableByName('drawer/padding/left', modes)
|
|
317
|
-
const paddingRight = getVariableByName('drawer/padding/right', modes)
|
|
318
|
-
const paddingBottom = getVariableByName('drawer/padding/bottom', modes)
|
|
319
|
-
const drawerGap = getVariableByName('drawer/gap', modes)
|
|
320
|
-
// Note: drawer/padding/top is 0 in tokens, but we keep the 8px visual spacing for the handle as requested.
|
|
317
|
+
const paddingLeft = getVariableByName('drawer/padding/left', modes);
|
|
318
|
+
const paddingRight = getVariableByName('drawer/padding/right', modes);
|
|
319
|
+
const paddingBottom = getVariableByName('drawer/padding/bottom', modes);
|
|
320
|
+
const drawerGap = getVariableByName('drawer/gap', modes);
|
|
321
321
|
|
|
322
322
|
// Title
|
|
323
|
-
const titleColor = getVariableByName('drawer/title/color', modes)
|
|
324
|
-
const titleSize = getVariableByName('drawer/title/fontSize', modes)
|
|
325
|
-
const titleWeight = getVariableByName('drawer/title/fontWeight', modes)
|
|
326
|
-
const titleLineHeight = getVariableByName('drawer/title/lineHeight', modes)
|
|
327
|
-
const
|
|
323
|
+
const titleColor = getVariableByName('drawer/title/color', modes);
|
|
324
|
+
const titleSize = getVariableByName('drawer/title/fontSize', modes);
|
|
325
|
+
const titleWeight = getVariableByName('drawer/title/fontWeight', modes);
|
|
326
|
+
const titleLineHeight = getVariableByName('drawer/title/lineHeight', modes);
|
|
327
|
+
const titleWrapPaddingTop = getVariableByName('drawer/titleWrap/padding/top', modes);
|
|
328
|
+
const titleWrapPaddingBottom = getVariableByName('drawer/titleWrap/padding/bottom', modes);
|
|
329
|
+
const titleWrapPaddingHorizontal = getVariableByName('drawer/titleWrap/padding/horizontal', modes);
|
|
328
330
|
|
|
329
331
|
// Drop shadow — Figma layers two shadows (primary + secondary) sharing
|
|
330
332
|
// the same offsetY/blur but with their own offsetX and color.
|
|
@@ -335,26 +337,12 @@ function DrawerInner({
|
|
|
335
337
|
const shadowSecondaryOffsetX = getVariableByName('drawer/shadow/secondary/offsetX', modes) ?? 0;
|
|
336
338
|
const shadowSecondaryColor = getVariableByName('drawer/shadow/secondary/color', modes) ?? 'rgba(12, 13, 16, 0.12)';
|
|
337
339
|
|
|
338
|
-
// Cross-platform shadow
|
|
339
|
-
//
|
|
340
|
-
//
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
},
|
|
345
|
-
ios: {
|
|
346
|
-
shadowColor: shadowPrimaryColor,
|
|
347
|
-
shadowOffset: {
|
|
348
|
-
width: shadowPrimaryOffsetX,
|
|
349
|
-
height: shadowPrimaryOffsetY
|
|
350
|
-
},
|
|
351
|
-
shadowOpacity: 1,
|
|
352
|
-
shadowRadius: shadowPrimaryBlur / 2
|
|
353
|
-
},
|
|
354
|
-
android: {
|
|
355
|
-
elevation: 16
|
|
356
|
-
},
|
|
357
|
-
default: {}
|
|
340
|
+
// Cross-platform shadow via the unified helper. Figma layers two shadows
|
|
341
|
+
// (secondary + primary) which stack natively as a single multi-layer
|
|
342
|
+
// boxShadow on web + RN 0.76+. On older RN the helper falls back to the most
|
|
343
|
+
// prominent layer (iOS shadow*) / a fixed elevation (Android).
|
|
344
|
+
const shadowStyle = boxShadow(`${shadowSecondaryOffsetX}px ${shadowPrimaryOffsetY}px ${shadowPrimaryBlur}px 0px ${shadowSecondaryColor}, ` + `${shadowPrimaryOffsetX}px ${shadowPrimaryOffsetY}px ${shadowPrimaryBlur}px 0px ${shadowPrimaryColor}`, {
|
|
345
|
+
elevation: 16
|
|
358
346
|
});
|
|
359
347
|
const defaultAccessibilityLabel = accessibilityLabel || title || 'Drawer';
|
|
360
348
|
return (
|
|
@@ -399,30 +387,42 @@ function DrawerInner({
|
|
|
399
387
|
borderTopRightRadius: radius,
|
|
400
388
|
paddingLeft,
|
|
401
389
|
paddingRight,
|
|
402
|
-
paddingBottom
|
|
403
|
-
rowGap: drawerGap
|
|
390
|
+
paddingBottom
|
|
404
391
|
}],
|
|
405
|
-
children: [/*#__PURE__*/
|
|
406
|
-
style:
|
|
407
|
-
|
|
408
|
-
}
|
|
409
|
-
children: /*#__PURE__*/_jsx(View, {
|
|
410
|
-
style: [{
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
392
|
+
children: [/*#__PURE__*/_jsxs(View, {
|
|
393
|
+
style: {
|
|
394
|
+
marginBottom: drawerGap
|
|
395
|
+
},
|
|
396
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
397
|
+
style: [styles.handleArea, !title && !header && {
|
|
398
|
+
marginBottom: drawerGap
|
|
399
|
+
}],
|
|
400
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
401
|
+
style: [{
|
|
402
|
+
backgroundColor: handleColor,
|
|
403
|
+
width: handleWidth,
|
|
404
|
+
height: handleHeight,
|
|
405
|
+
borderRadius: handleRadius
|
|
406
|
+
}]
|
|
407
|
+
})
|
|
408
|
+
}), header, title && /*#__PURE__*/_jsx(View, {
|
|
409
|
+
style: {
|
|
410
|
+
paddingTop: titleWrapPaddingTop,
|
|
411
|
+
paddingBottom: titleWrapPaddingBottom,
|
|
412
|
+
paddingHorizontal: titleWrapPaddingHorizontal,
|
|
413
|
+
alignItems: 'center'
|
|
414
|
+
},
|
|
415
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
416
|
+
style: [{
|
|
417
|
+
color: titleColor,
|
|
418
|
+
fontSize: titleSize,
|
|
419
|
+
fontWeight: titleWeight,
|
|
420
|
+
lineHeight: titleLineHeight,
|
|
421
|
+
textAlign: 'center'
|
|
422
|
+
}],
|
|
423
|
+
children: title
|
|
424
|
+
})
|
|
425
|
+
})]
|
|
426
426
|
}), /*#__PURE__*/_jsx(AnimatedScrollView, {
|
|
427
427
|
ref: scrollRef,
|
|
428
428
|
style: [styles.content, contentStyle],
|
|
@@ -474,7 +474,7 @@ const styles = StyleSheet.create({
|
|
|
474
474
|
},
|
|
475
475
|
handleArea: {
|
|
476
476
|
alignItems: 'center',
|
|
477
|
-
|
|
477
|
+
marginTop: 8,
|
|
478
478
|
width: '100%'
|
|
479
479
|
},
|
|
480
480
|
content: {
|
|
@@ -5,6 +5,7 @@ import { Platform, Pressable, ScrollView, Text, View } from 'react-native';
|
|
|
5
5
|
import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
|
|
6
6
|
import { useTokens } from '../../design-tokens/JFSThemeProvider';
|
|
7
7
|
import { EMPTY_MODES, cloneChildrenWithModes, resolveTruncation } from '../../utils/react-utils';
|
|
8
|
+
import { boxShadow } from '../../utils/shadow';
|
|
8
9
|
import Icon from '../../icons/Icon';
|
|
9
10
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
11
|
const IS_WEB = Platform.OS === 'web';
|
|
@@ -21,17 +22,17 @@ function useDropdownItemTokens(modes) {
|
|
|
21
22
|
const idleBackground = getVariableByName('dropdownItem/background', {
|
|
22
23
|
...modes,
|
|
23
24
|
'Dropdown Item State': 'Idle'
|
|
24
|
-
})
|
|
25
|
+
});
|
|
25
26
|
const selectedBackground = getVariableByName('dropdownItem/background', {
|
|
26
27
|
...modes,
|
|
27
28
|
'Dropdown Item State': 'Selected'
|
|
28
|
-
})
|
|
29
|
-
const foreground = getVariableByName('dropdownItem/foreground', modes)
|
|
30
|
-
const fontFamily = getVariableByName('dropdownItem/fontFamily', modes)
|
|
31
|
-
const fontSize = parseInt(getVariableByName('dropdownItem/fontSize', modes), 10)
|
|
32
|
-
const fontWeight = getVariableByName('dropdownItem/fontWeight', modes)
|
|
33
|
-
const lineHeight = parseInt(getVariableByName('dropdownItem/lineHeight', modes), 10)
|
|
34
|
-
const gap = parseInt(getVariableByName('dropdownItem/gap', modes), 10)
|
|
29
|
+
});
|
|
30
|
+
const foreground = getVariableByName('dropdownItem/foreground', modes);
|
|
31
|
+
const fontFamily = getVariableByName('dropdownItem/fontFamily', modes);
|
|
32
|
+
const fontSize = parseInt(getVariableByName('dropdownItem/fontSize', modes), 10);
|
|
33
|
+
const fontWeight = getVariableByName('dropdownItem/fontWeight', modes);
|
|
34
|
+
const lineHeight = parseInt(getVariableByName('dropdownItem/lineHeight', modes), 10);
|
|
35
|
+
const gap = parseInt(getVariableByName('dropdownItem/gap', modes), 10);
|
|
35
36
|
const paddingHorizontal = parseInt(getVariableByName('dropdownItem/padding/horizontal', modes), 10) || 12;
|
|
36
37
|
const paddingVertical = parseInt(getVariableByName('dropdownItem/padding/vertical', modes), 10) || 12;
|
|
37
38
|
return {
|
|
@@ -165,12 +166,12 @@ export function Dropdown({
|
|
|
165
166
|
...globalModes,
|
|
166
167
|
...propModes
|
|
167
168
|
}), [globalModes, propModes]);
|
|
168
|
-
const radius = parseInt(getVariableByName('dropdown/radius', modes), 10)
|
|
169
|
-
const background = getVariableByName('dropdown/background', modes)
|
|
170
|
-
const shadowColor = getVariableByName('dropdown/shadow/color', modes)
|
|
171
|
-
const shadowOffsetX = parseInt(getVariableByName('dropdown/shadow/offsetX', modes), 10)
|
|
172
|
-
const shadowOffsetY = parseInt(getVariableByName('dropdown/shadow/offsetY', modes), 10)
|
|
173
|
-
const shadowBlur = parseInt(getVariableByName('dropdown/shadow/blur', modes), 10)
|
|
169
|
+
const radius = parseInt(getVariableByName('dropdown/radius', modes), 10);
|
|
170
|
+
const background = getVariableByName('dropdown/background', modes);
|
|
171
|
+
const shadowColor = getVariableByName('dropdown/shadow/color', modes);
|
|
172
|
+
const shadowOffsetX = parseInt(getVariableByName('dropdown/shadow/offsetX', modes), 10);
|
|
173
|
+
const shadowOffsetY = parseInt(getVariableByName('dropdown/shadow/offsetY', modes), 10);
|
|
174
|
+
const shadowBlur = parseInt(getVariableByName('dropdown/shadow/blur', modes), 10);
|
|
174
175
|
|
|
175
176
|
// Shadow lives on the OUTER view, which must NOT set `overflow: 'hidden'`.
|
|
176
177
|
// On native, clipping a view also clips its shadow (iOS clips the layer
|
|
@@ -179,18 +180,16 @@ export function Dropdown({
|
|
|
179
180
|
// get cut off. The rounded-corner clipping is moved to a separate inner
|
|
180
181
|
// view below.
|
|
181
182
|
//
|
|
182
|
-
// The `boxShadow`
|
|
183
|
-
//
|
|
184
|
-
//
|
|
185
|
-
// `shadow*` / `elevation`
|
|
186
|
-
//
|
|
187
|
-
//
|
|
188
|
-
// `elevation` is also undesirable here because it ignores the shadow color
|
|
189
|
-
// and only paints a generic gray shadow.
|
|
183
|
+
// The unified `boxShadow` helper is the single source of truth so the
|
|
184
|
+
// designed color/offset/blur are honored on iOS, Android AND web. On RN
|
|
185
|
+
// 0.76+ / web it emits the spec `boxShadow` prop; on older RN it translates
|
|
186
|
+
// to the legacy `shadow*` (iOS) / `elevation` (Android) API. We intentionally
|
|
187
|
+
// do NOT also set the legacy props manually on the supported path: those
|
|
188
|
+
// would stack a second shadow.
|
|
190
189
|
const shadowStyle = {
|
|
191
190
|
backgroundColor: background,
|
|
192
191
|
borderRadius: radius,
|
|
193
|
-
boxShadow
|
|
192
|
+
...boxShadow(`${shadowOffsetX}px ${shadowOffsetY}px ${shadowBlur}px 0px ${shadowColor}`)
|
|
194
193
|
};
|
|
195
194
|
|
|
196
195
|
// Inner view carries the rounded corners + clipping so list/scroll content
|
|
@@ -28,8 +28,8 @@ const IS_WEB = Platform.OS === 'web';
|
|
|
28
28
|
|
|
29
29
|
function useChevronTokens(modes) {
|
|
30
30
|
return useMemo(() => {
|
|
31
|
-
const iconSize = parseInt(getVariableByName('input/iconSize', modes), 10)
|
|
32
|
-
const iconColor = getVariableByName('iconButton/icon/color', modes)
|
|
31
|
+
const iconSize = parseInt(getVariableByName('input/iconSize', modes), 10);
|
|
32
|
+
const iconColor = getVariableByName('iconButton/icon/color', modes);
|
|
33
33
|
return {
|
|
34
34
|
iconSize,
|
|
35
35
|
iconColor
|
|
@@ -46,22 +46,22 @@ function toNumber(value, fallback) {
|
|
|
46
46
|
}
|
|
47
47
|
function useFormFieldTokens(modes) {
|
|
48
48
|
return useMemo(() => {
|
|
49
|
-
const labelColor = getVariableByName('formField/label/color', modes)
|
|
50
|
-
const labelFontFamily = getVariableByName('formField/label/fontFamily', modes)
|
|
49
|
+
const labelColor = getVariableByName('formField/label/color', modes);
|
|
50
|
+
const labelFontFamily = getVariableByName('formField/label/fontFamily', modes);
|
|
51
51
|
const labelFontSize = toNumber(getVariableByName('formField/label/fontSize', modes), 14);
|
|
52
52
|
const labelLineHeight = toNumber(getVariableByName('formField/label/lineHeight', modes), 17);
|
|
53
|
-
const labelFontWeight = getVariableByName('formField/label/fontWeight', modes)
|
|
53
|
+
const labelFontWeight = getVariableByName('formField/label/fontWeight', modes);
|
|
54
54
|
const gap = toNumber(getVariableByName('formField/gap', modes), 8);
|
|
55
55
|
const inputPaddingH = toNumber(getVariableByName('formField/input/padding/horizontal', modes), 12);
|
|
56
56
|
const inputGap = toNumber(getVariableByName('formField/input/gap', modes), 8);
|
|
57
57
|
const inputRadius = toNumber(getVariableByName('formField/input/radius', modes), 8);
|
|
58
|
-
const inputBackground = getVariableByName('formField/input/background', modes)
|
|
58
|
+
const inputBackground = getVariableByName('formField/input/background', modes);
|
|
59
59
|
const inputFontSize = toNumber(getVariableByName('formField/input/label/fontSize', modes), 16);
|
|
60
60
|
const inputLineHeight = toNumber(getVariableByName('formField/input/label/lineHeight', modes), 45);
|
|
61
|
-
const inputFontFamily = getVariableByName('formField/input/label/fontFamily', modes)
|
|
62
|
-
const inputFontWeight = getVariableByName('formField/input/label/fontWeight', modes)
|
|
63
|
-
const inputTextColor = getVariableByName('states/formField/input/label/color', modes) || getVariableByName('formField/input/label/color', modes)
|
|
64
|
-
const inputBorderColor = getVariableByName('states/formField/input/border/color', modes) || getVariableByName('formField/input/border/color', modes)
|
|
61
|
+
const inputFontFamily = getVariableByName('formField/input/label/fontFamily', modes);
|
|
62
|
+
const inputFontWeight = getVariableByName('formField/input/label/fontWeight', modes);
|
|
63
|
+
const inputTextColor = getVariableByName('states/formField/input/label/color', modes) || getVariableByName('formField/input/label/color', modes);
|
|
64
|
+
const inputBorderColor = getVariableByName('states/formField/input/border/color', modes) || getVariableByName('formField/input/border/color', modes);
|
|
65
65
|
// Figma spec: 1.5px. Using parseFloat (via toNumber) preserves the
|
|
66
66
|
// fractional value — parseInt was truncating it to 1, leaving the
|
|
67
67
|
// resolved row height ~1px shorter than the Figma reference.
|
|
@@ -32,26 +32,26 @@ function EmptyState({
|
|
|
32
32
|
};
|
|
33
33
|
|
|
34
34
|
// Container Tokens
|
|
35
|
-
const gap = getVariableByName('emptyState/gap', modes)
|
|
36
|
-
const padding = getVariableByName('emptyState/padding', modes)
|
|
37
|
-
const radius = getVariableByName('emptyState/radius', modes)
|
|
35
|
+
const gap = getVariableByName('emptyState/gap', modes);
|
|
36
|
+
const padding = getVariableByName('emptyState/padding', modes);
|
|
37
|
+
const radius = getVariableByName('emptyState/radius', modes);
|
|
38
38
|
|
|
39
39
|
// Content Wrap Tokens
|
|
40
|
-
const contentGap = getVariableByName('emptyState/content/gap', modes)
|
|
40
|
+
const contentGap = getVariableByName('emptyState/content/gap', modes);
|
|
41
41
|
|
|
42
42
|
// Title Tokens
|
|
43
|
-
const titleColor = getVariableByName('emptyState/title/color', modes)
|
|
44
|
-
const titleFontSize = getVariableByName('emptyState/title/fontSize', modes)
|
|
45
|
-
const titleFontFamily = getVariableByName('emptyState/title/fontFamily', modes)
|
|
46
|
-
const titleLineHeight = getVariableByName('emptyState/title/lineHeight', modes)
|
|
47
|
-
const titleFontWeight = getVariableByName('emptyState/title/fontWeight', modes)
|
|
43
|
+
const titleColor = getVariableByName('emptyState/title/color', modes);
|
|
44
|
+
const titleFontSize = getVariableByName('emptyState/title/fontSize', modes);
|
|
45
|
+
const titleFontFamily = getVariableByName('emptyState/title/fontFamily', modes);
|
|
46
|
+
const titleLineHeight = getVariableByName('emptyState/title/lineHeight', modes);
|
|
47
|
+
const titleFontWeight = getVariableByName('emptyState/title/fontWeight', modes);
|
|
48
48
|
|
|
49
49
|
// Body Tokens
|
|
50
|
-
const bodyColor = getVariableByName('emptyState/body/color', modes)
|
|
51
|
-
const bodyFontSize = getVariableByName('emptyState/body/fontSize', modes)
|
|
52
|
-
const bodyFontFamily = getVariableByName('emptyState/body/fontFamily', modes)
|
|
53
|
-
const bodyLineHeight = getVariableByName('emptyState/body/lineHeight', modes)
|
|
54
|
-
const bodyFontWeight = getVariableByName('emptyState/body/fontWeight', modes)
|
|
50
|
+
const bodyColor = getVariableByName('emptyState/body/color', modes);
|
|
51
|
+
const bodyFontSize = getVariableByName('emptyState/body/fontSize', modes);
|
|
52
|
+
const bodyFontFamily = getVariableByName('emptyState/body/fontFamily', modes);
|
|
53
|
+
const bodyLineHeight = getVariableByName('emptyState/body/lineHeight', modes);
|
|
54
|
+
const bodyFontWeight = getVariableByName('emptyState/body/fontWeight', modes);
|
|
55
55
|
const containerStyle = {
|
|
56
56
|
flexDirection: 'column',
|
|
57
57
|
alignItems: 'center',
|
|
@@ -43,8 +43,8 @@ function FilterBar({
|
|
|
43
43
|
borderColor: isFocused ? '#222' : 'transparent'
|
|
44
44
|
};
|
|
45
45
|
// Resolve container tokens
|
|
46
|
-
const paddingHorizontal = getVariableByName('filterBar/padding/horizontal', modes)
|
|
47
|
-
const paddingVertical = getVariableByName('filterBar/padding/vertical', modes)
|
|
46
|
+
const paddingHorizontal = getVariableByName('filterBar/padding/horizontal', modes);
|
|
47
|
+
const paddingVertical = getVariableByName('filterBar/padding/vertical', modes);
|
|
48
48
|
const resolvedAccessibilityLabel = accessibilityLabel || 'Search filter';
|
|
49
49
|
const containerStyle = {
|
|
50
50
|
flexDirection: 'column',
|
|
@@ -56,9 +56,9 @@ function Form({
|
|
|
56
56
|
validationErrors,
|
|
57
57
|
onFieldChange
|
|
58
58
|
}), [validationErrors, onFieldChange]);
|
|
59
|
-
const gap = parseInt(getVariableByName('form/gap', modes), 10)
|
|
60
|
-
const paddingHorizontal = parseInt(getVariableByName('form/padding/horizontal', modes), 10)
|
|
61
|
-
const paddingVertical = parseInt(getVariableByName('form/padding/vertical', modes), 10)
|
|
59
|
+
const gap = parseInt(getVariableByName('form/gap', modes), 10);
|
|
60
|
+
const paddingHorizontal = parseInt(getVariableByName('form/padding/horizontal', modes), 10);
|
|
61
|
+
const paddingVertical = parseInt(getVariableByName('form/padding/vertical', modes), 10);
|
|
62
62
|
const containerStyle = useMemo(() => ({
|
|
63
63
|
gap,
|
|
64
64
|
paddingHorizontal,
|
|
@@ -33,8 +33,8 @@ function useFormFieldTokens(modes) {
|
|
|
33
33
|
const gap = toNumber(getVariableByName('formField/gap', modes), 8);
|
|
34
34
|
|
|
35
35
|
// Label (Figma: 14/17 medium, color #0c0d10)
|
|
36
|
-
const labelColor = getVariableByName('formField/label/color', modes)
|
|
37
|
-
const labelFontFamily = getVariableByName('formField/label/fontFamily', modes)
|
|
36
|
+
const labelColor = getVariableByName('formField/label/color', modes);
|
|
37
|
+
const labelFontFamily = getVariableByName('formField/label/fontFamily', modes);
|
|
38
38
|
const labelFontSize = toNumber(getVariableByName('formField/label/fontSize', modes), 14);
|
|
39
39
|
const labelLineHeight = toNumber(getVariableByName('formField/label/lineHeight', modes), 17);
|
|
40
40
|
const labelFontWeight = toFontWeight(getVariableByName('formField/label/fontWeight', modes), '500');
|
|
@@ -48,10 +48,10 @@ function useFormFieldTokens(modes) {
|
|
|
48
48
|
// Input text (Figma: 16/45 regular)
|
|
49
49
|
const inputFontSize = toNumber(getVariableByName('formField/input/label/fontSize', modes), 16);
|
|
50
50
|
const inputLineHeight = toNumber(getVariableByName('formField/input/label/lineHeight', modes), 45);
|
|
51
|
-
const inputFontFamily = getVariableByName('formField/input/label/fontFamily', modes)
|
|
51
|
+
const inputFontFamily = getVariableByName('formField/input/label/fontFamily', modes);
|
|
52
52
|
const inputFontWeight = toFontWeight(getVariableByName('formField/input/label/fontWeight', modes), '400');
|
|
53
|
-
const inputBackground = getVariableByName('formField/input/background', modes)
|
|
54
|
-
const inputBorderColor = getVariableByName('formField/input/border/color', modes)
|
|
53
|
+
const inputBackground = getVariableByName('formField/input/background', modes);
|
|
54
|
+
const inputBorderColor = getVariableByName('formField/input/border/color', modes);
|
|
55
55
|
if (__DEV__) {
|
|
56
56
|
console.warn('[FormField] border color (modes changed)', {
|
|
57
57
|
'FormField States': modes['FormField States'],
|
|
@@ -59,7 +59,7 @@ function useFormFieldTokens(modes) {
|
|
|
59
59
|
'formField/input/border/color': getVariableByName('formField/input/border/color', modes)
|
|
60
60
|
});
|
|
61
61
|
}
|
|
62
|
-
const inputTextColor = getVariableByName('formField/input/label/color', modes)
|
|
62
|
+
const inputTextColor = getVariableByName('formField/input/label/color', modes);
|
|
63
63
|
return {
|
|
64
64
|
gap,
|
|
65
65
|
labelColor,
|
|
@@ -56,39 +56,39 @@ function HeroText({
|
|
|
56
56
|
modes
|
|
57
57
|
}) {
|
|
58
58
|
const styles = useMemo(() => {
|
|
59
|
-
const gap = Number(getVariableByName('PageHero/gap', modes))
|
|
60
|
-
const textWrapGap = Number(getVariableByName('PageHero/textWrap/gap', modes))
|
|
59
|
+
const gap = Number(getVariableByName('PageHero/gap', modes));
|
|
60
|
+
const textWrapGap = Number(getVariableByName('PageHero/textWrap/gap', modes));
|
|
61
61
|
const eyebrowStyle = {
|
|
62
|
-
color: getVariableByName('PageHero/eyebrow/color', modes)
|
|
63
|
-
fontFamily: getVariableByName('PageHero/eyebrow/fontFamily', modes)
|
|
64
|
-
fontSize: Number(getVariableByName('PageHero/eyebrow/fontSize', modes))
|
|
65
|
-
fontWeight: String(getVariableByName('PageHero/eyebrow/fontWeight', modes)
|
|
66
|
-
lineHeight: Number(getVariableByName('PageHero/eyebrow/lineHeight', modes))
|
|
62
|
+
color: getVariableByName('PageHero/eyebrow/color', modes),
|
|
63
|
+
fontFamily: getVariableByName('PageHero/eyebrow/fontFamily', modes),
|
|
64
|
+
fontSize: Number(getVariableByName('PageHero/eyebrow/fontSize', modes)),
|
|
65
|
+
fontWeight: String(getVariableByName('PageHero/eyebrow/fontWeight', modes)),
|
|
66
|
+
lineHeight: Number(getVariableByName('PageHero/eyebrow/lineHeight', modes)),
|
|
67
67
|
textAlign: 'center'
|
|
68
68
|
};
|
|
69
69
|
const headlineStyle = {
|
|
70
|
-
color: getVariableByName('PageHero/headline/color', modes)
|
|
71
|
-
fontFamily: getVariableByName('PageHero/headline/fontFamily', modes)
|
|
72
|
-
fontSize: Number(getVariableByName('PageHero/headline/fontSize', modes))
|
|
73
|
-
fontWeight: String(getVariableByName('PageHero/headline/fontWeight', modes)
|
|
74
|
-
lineHeight: Number(getVariableByName('PageHero/headline/lineHeight', modes))
|
|
70
|
+
color: getVariableByName('PageHero/headline/color', modes),
|
|
71
|
+
fontFamily: getVariableByName('PageHero/headline/fontFamily', modes),
|
|
72
|
+
fontSize: Number(getVariableByName('PageHero/headline/fontSize', modes)),
|
|
73
|
+
fontWeight: String(getVariableByName('PageHero/headline/fontWeight', modes)),
|
|
74
|
+
lineHeight: Number(getVariableByName('PageHero/headline/lineHeight', modes)),
|
|
75
75
|
textAlign: 'center',
|
|
76
76
|
width: '100%'
|
|
77
77
|
};
|
|
78
78
|
const supportingTextStyle = {
|
|
79
|
-
color: getVariableByName('PageHero/supportingText/color', modes)
|
|
80
|
-
fontFamily: getVariableByName('PageHero/supportingText/fontFamily', modes)
|
|
81
|
-
fontSize: Number(getVariableByName('PageHero/supportingText/fontSize', modes))
|
|
82
|
-
fontWeight: String(getVariableByName('PageHero/supportingText/fontWeight', modes)
|
|
83
|
-
lineHeight: Number(getVariableByName('PageHero/supportingText/lineHeight', modes))
|
|
79
|
+
color: getVariableByName('PageHero/supportingText/color', modes),
|
|
80
|
+
fontFamily: getVariableByName('PageHero/supportingText/fontFamily', modes),
|
|
81
|
+
fontSize: Number(getVariableByName('PageHero/supportingText/fontSize', modes)),
|
|
82
|
+
fontWeight: String(getVariableByName('PageHero/supportingText/fontWeight', modes)),
|
|
83
|
+
lineHeight: Number(getVariableByName('PageHero/supportingText/lineHeight', modes)),
|
|
84
84
|
textAlign: 'center'
|
|
85
85
|
};
|
|
86
86
|
const priceTextStyle = {
|
|
87
|
-
color: getVariableByName('PageHero/body/color', modes)
|
|
88
|
-
fontFamily: getVariableByName('PageHero/body/fontFamily', modes)
|
|
89
|
-
fontSize: Number(getVariableByName('PageHero/body/fontSize', modes))
|
|
90
|
-
fontWeight: String(getVariableByName('PageHero/body/fontWeight', modes)
|
|
91
|
-
lineHeight: Number(getVariableByName('PageHero/body/lineHeight', modes))
|
|
87
|
+
color: getVariableByName('PageHero/body/color', modes),
|
|
88
|
+
fontFamily: getVariableByName('PageHero/body/fontFamily', modes),
|
|
89
|
+
fontSize: Number(getVariableByName('PageHero/body/fontSize', modes)),
|
|
90
|
+
fontWeight: String(getVariableByName('PageHero/body/fontWeight', modes)),
|
|
91
|
+
lineHeight: Number(getVariableByName('PageHero/body/lineHeight', modes)),
|
|
92
92
|
textAlign: 'center'
|
|
93
93
|
};
|
|
94
94
|
return {
|
|
@@ -211,7 +211,7 @@ function FullscreenModal({
|
|
|
211
211
|
...propModes,
|
|
212
212
|
...FULLSCREEN_MODAL_FORCED_MODES
|
|
213
213
|
}), [globalModes, propModes]);
|
|
214
|
-
const rootGap = Number(getVariableByName('fullScreenModal/gap', modes))
|
|
214
|
+
const rootGap = Number(getVariableByName('fullScreenModal/gap', modes));
|
|
215
215
|
|
|
216
216
|
// Safe-area insets so the floating chrome clears the system bars: the close
|
|
217
217
|
// button drops below the status bar / notch, and the sticky footer keeps its
|
|
@@ -225,7 +225,7 @@ function FullscreenModal({
|
|
|
225
225
|
// Extend (not replace) the footer's token bottom padding by the bottom inset
|
|
226
226
|
// so the action button never sits under the system navigation area.
|
|
227
227
|
const footerInsetStyle = useMemo(() => {
|
|
228
|
-
const base = Number(getVariableByName('actionFooter/padding/bottom', modes))
|
|
228
|
+
const base = Number(getVariableByName('actionFooter/padding/bottom', modes));
|
|
229
229
|
return {
|
|
230
230
|
paddingBottom: base + insets.bottom
|
|
231
231
|
};
|
|
@@ -91,26 +91,26 @@ function Gauge({
|
|
|
91
91
|
const arcPath = `M ${startX} ${centerY} A ${radius} ${radius} 0 0 1 ${endX} ${centerY}`;
|
|
92
92
|
const arcLength = Math.PI * radius;
|
|
93
93
|
const progress = clamp(value, min, max);
|
|
94
|
-
const titleColor = getVariableByName('gauge/title/color', modes)
|
|
94
|
+
const titleColor = getVariableByName('gauge/title/color', modes);
|
|
95
95
|
const titleFontSize = toNumber(getVariableByName('gauge/title/fontSize', modes), 23);
|
|
96
96
|
const titleLineHeight = toNumber(getVariableByName('gauge/title/lineHeight', modes), 23);
|
|
97
|
-
const titleFontFamily = getVariableByName('gauge/title/fontFamily', modes)
|
|
97
|
+
const titleFontFamily = getVariableByName('gauge/title/fontFamily', modes);
|
|
98
98
|
const titleFontWeight = toFontWeight(getVariableByName('gauge/title/fontWeight', modes), '900');
|
|
99
99
|
const titleHeight = toNumber(getVariableByName('gauge/title/height', modes), 46);
|
|
100
100
|
const readoutGap = toNumber(getVariableByName('gauge/readout/gap', modes), 8);
|
|
101
101
|
const readoutPadding = toNumber(getVariableByName('gauge/readout/padding', modes), 8);
|
|
102
|
-
const valueColor = getVariableByName('gauge/readout/value/color', modes)
|
|
102
|
+
const valueColor = getVariableByName('gauge/readout/value/color', modes);
|
|
103
103
|
const valueFontSize = toNumber(getVariableByName('gauge/readout/value/fontSize', modes), 36);
|
|
104
104
|
const valueLineHeight = toNumber(getVariableByName('gauge/readout/value/lineHeight', modes), 36);
|
|
105
|
-
const valueFontFamily = getVariableByName('gauge/readout/value/fontFamily', modes)
|
|
105
|
+
const valueFontFamily = getVariableByName('gauge/readout/value/fontFamily', modes);
|
|
106
106
|
const valueFontWeight = toFontWeight(getVariableByName('gauge/readout/value/fontWeight', modes), '800');
|
|
107
|
-
const captionColor = getVariableByName('gauge/caption/color', modes)
|
|
107
|
+
const captionColor = getVariableByName('gauge/caption/color', modes);
|
|
108
108
|
const captionFontSize = toNumber(getVariableByName('gauge/caption/fontSize', modes), 14);
|
|
109
109
|
const captionLineHeight = toNumber(getVariableByName('gauge/caption/lineHeight', modes), 18);
|
|
110
|
-
const captionFontFamily = getVariableByName('gauge/caption/fontFamily', modes)
|
|
110
|
+
const captionFontFamily = getVariableByName('gauge/caption/fontFamily', modes);
|
|
111
111
|
const captionFontWeight = toFontWeight(getVariableByName('gauge/caption/fontWeight', modes), '500');
|
|
112
|
-
const trackColor = getStrokeColor(trackStyle, getVariableByName('gauge/track/color', modes)
|
|
113
|
-
const progressColor = getStrokeColor(progressStyle, getVariableByName('gauge/progress/color', modes)
|
|
112
|
+
const trackColor = getStrokeColor(trackStyle, getVariableByName('gauge/track/color', modes));
|
|
113
|
+
const progressColor = getStrokeColor(progressStyle, getVariableByName('gauge/progress/color', modes));
|
|
114
114
|
const containerStyle = {
|
|
115
115
|
alignItems: 'center',
|
|
116
116
|
gap,
|
|
@@ -38,8 +38,8 @@ export default function HoldingsCard({
|
|
|
38
38
|
disableTruncation
|
|
39
39
|
}) {
|
|
40
40
|
// ---- Container tokens ----
|
|
41
|
-
const containerFill = getVariableByName('holdingsCard/container/fill', modes)
|
|
42
|
-
const containerStroke = getVariableByName('holdingsCard/container/stroke', modes)
|
|
41
|
+
const containerFill = getVariableByName('holdingsCard/container/fill', modes);
|
|
42
|
+
const containerStroke = getVariableByName('holdingsCard/container/stroke', modes);
|
|
43
43
|
const containerStrokeWeight = parseFloat((getVariableByName('holdingsCard/container/strokeWeight', modes) ?? 1).toString());
|
|
44
44
|
const containerCornerRadius = parseFloat((getVariableByName('holdingsCard/container/cornerRadius', modes) ?? 16).toString());
|
|
45
45
|
const containerGap = parseFloat((getVariableByName('holdingsCard/container/gap', modes) ?? 10).toString());
|
|
@@ -52,26 +52,26 @@ export default function HoldingsCard({
|
|
|
52
52
|
|
|
53
53
|
// ---- Hero tokens ----
|
|
54
54
|
const heroGap = parseFloat((getVariableByName('holdingsCard/hero/gap', modes) ?? 4).toString());
|
|
55
|
-
const heroLabelColor = getVariableByName('holdingsCard/hero/label/color', modes)
|
|
55
|
+
const heroLabelColor = getVariableByName('holdingsCard/hero/label/color', modes);
|
|
56
56
|
const heroLabelFontSize = parseFloat((getVariableByName('holdingsCard/hero/label/fontSize', modes) ?? 12).toString());
|
|
57
|
-
const heroLabelFontFamily = getVariableByName('holdingsCard/hero/label/fontFamily', modes)
|
|
57
|
+
const heroLabelFontFamily = getVariableByName('holdingsCard/hero/label/fontFamily', modes);
|
|
58
58
|
const heroLabelLineHeight = parseFloat((getVariableByName('holdingsCard/hero/label/lineHeight', modes) ?? 16).toString());
|
|
59
59
|
const heroLabelFontWeight = (getVariableByName('holdingsCard/hero/label/fontWeight', modes) ?? '400').toString();
|
|
60
|
-
const heroValueColor = getVariableByName('holdingsCard/hero/value/color', modes)
|
|
60
|
+
const heroValueColor = getVariableByName('holdingsCard/hero/value/color', modes);
|
|
61
61
|
const heroValueFontSize = parseFloat((getVariableByName('holdingsCard/hero/value/fontSize', modes) ?? 20).toString());
|
|
62
|
-
const heroValueFontFamily = getVariableByName('holdingsCard/hero/value/fontFamily', modes)
|
|
62
|
+
const heroValueFontFamily = getVariableByName('holdingsCard/hero/value/fontFamily', modes);
|
|
63
63
|
const heroValueLineHeight = parseFloat((getVariableByName('holdingsCard/hero/value/lineHeight', modes) ?? 22).toString());
|
|
64
64
|
const heroValueFontWeight = (getVariableByName('holdingsCard/hero/value/fontWeight', modes) ?? '700').toString();
|
|
65
65
|
|
|
66
66
|
// ---- Details grid tokens ----
|
|
67
|
-
const detailLabelColor = getVariableByName('holdingsCard/detailsGrid/label/color', modes)
|
|
67
|
+
const detailLabelColor = getVariableByName('holdingsCard/detailsGrid/label/color', modes);
|
|
68
68
|
const detailLabelFontSize = parseFloat((getVariableByName('holdingsCard/detailsGrid/label/fontSize', modes) ?? 10).toString());
|
|
69
|
-
const detailLabelFontFamily = getVariableByName('holdingsCard/detailsGrid/label/fontFamily', modes)
|
|
69
|
+
const detailLabelFontFamily = getVariableByName('holdingsCard/detailsGrid/label/fontFamily', modes);
|
|
70
70
|
const detailLabelLineHeight = parseFloat((getVariableByName('holdingsCard/detailsGrid/label/lineHeight', modes) ?? 12).toString());
|
|
71
71
|
const detailLabelFontWeight = (getVariableByName('holdingsCard/detailsGrid/label/fontWeight', modes) ?? '500').toString();
|
|
72
|
-
const detailValueColor = getVariableByName('holdingsCard/detailsGrid/value/color', modes)
|
|
72
|
+
const detailValueColor = getVariableByName('holdingsCard/detailsGrid/value/color', modes);
|
|
73
73
|
const detailValueFontSize = parseFloat((getVariableByName('holdingsCard/detailsGrid/value/fontSize', modes) ?? 12).toString());
|
|
74
|
-
const detailValueFontFamily = getVariableByName('holdingsCard/detailsGrid/value/fontFamily', modes)
|
|
74
|
+
const detailValueFontFamily = getVariableByName('holdingsCard/detailsGrid/value/fontFamily', modes);
|
|
75
75
|
const detailValueLineHeight = parseFloat((getVariableByName('holdingsCard/detailsGrid/value/lineHeight', modes) ?? 14).toString());
|
|
76
76
|
const detailValueFontWeight = (getVariableByName('holdingsCard/detailsGrid/value/fontWeight', modes) ?? '500').toString();
|
|
77
77
|
const dataItemGap = parseFloat((getVariableByName('holdingsCard/dataItem/gap', modes) ?? 4).toString());
|
|
@@ -8,12 +8,12 @@ import { EMPTY_MODES, cloneChildrenWithModes } from '../../utils/react-utils';
|
|
|
8
8
|
import BaseIcon from '../../icons/Icon';
|
|
9
9
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
10
|
function resolveIconTokens(modes) {
|
|
11
|
-
const iconColor = getVariableByName('icon/color', modes)
|
|
12
|
-
const iconSize = getVariableByName('icon/size', modes)
|
|
13
|
-
const paddingLeft = getVariableByName('icon/padding/left', modes)
|
|
14
|
-
const paddingTop = getVariableByName('icon/padding/top', modes)
|
|
15
|
-
const paddingRight = getVariableByName('icon/padding/right', modes)
|
|
16
|
-
const paddingBottom = getVariableByName('icon/padding/bottom', modes)
|
|
11
|
+
const iconColor = getVariableByName('icon/color', modes);
|
|
12
|
+
const iconSize = getVariableByName('icon/size', modes);
|
|
13
|
+
const paddingLeft = getVariableByName('icon/padding/left', modes);
|
|
14
|
+
const paddingTop = getVariableByName('icon/padding/top', modes);
|
|
15
|
+
const paddingRight = getVariableByName('icon/padding/right', modes);
|
|
16
|
+
const paddingBottom = getVariableByName('icon/padding/bottom', modes);
|
|
17
17
|
return {
|
|
18
18
|
containerStyle: {
|
|
19
19
|
flexDirection: 'column',
|