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
|
@@ -7,10 +7,8 @@ exports.default = void 0;
|
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
9
|
var _blur = require("@react-native-community/blur");
|
|
10
|
-
var _maskedView = _interopRequireDefault(require("@react-native-masked-view/masked-view"));
|
|
11
10
|
var _reactNativeSvg = _interopRequireWildcard(require("react-native-svg"));
|
|
12
11
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
12
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
15
13
|
const DEFAULT_FALLBACK_DARK = '#1414174a';
|
|
16
14
|
const DEFAULT_FALLBACK_LIGHT = '#ffffff66';
|
|
@@ -20,32 +18,30 @@ const DEFAULT_FALLBACK_LIGHT = '#ffffff66';
|
|
|
20
18
|
const NATIVE_BLUR_NAME = _reactNative.Platform.OS === 'android' ? 'AndroidBlurView' : 'BlurView';
|
|
21
19
|
|
|
22
20
|
/**
|
|
23
|
-
* Alpha stop on
|
|
24
|
-
* position (0 = top of the surface, 1 = bottom); `opacity` is the
|
|
25
|
-
* there (0 =
|
|
21
|
+
* Alpha stop on the no-native-blur fallback gradient. `offset` is the vertical
|
|
22
|
+
* position (0 = top of the surface, 1 = bottom); `opacity` is the tint alpha
|
|
23
|
+
* there (0 = fully clear, 1 = full fallback color).
|
|
26
24
|
*
|
|
27
|
-
* Using several stops (rather than a single linear 0 → 1 ramp)
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
* "glass" feel rather than a flat translucent panel.
|
|
25
|
+
* Using several stops (rather than a single linear 0 → 1 ramp) eases the tint
|
|
26
|
+
* in, so it swells smoothly toward the bottom instead of along a hard seam —
|
|
27
|
+
* the soft S-curve that gives the surface its "glass" feel.
|
|
31
28
|
*/
|
|
32
29
|
|
|
33
30
|
/**
|
|
34
|
-
* A single
|
|
35
|
-
* - `
|
|
36
|
-
*
|
|
31
|
+
* A single bottom-anchored band of the progressive blur stack.
|
|
32
|
+
* - `start` is where the band begins, as a fraction from the top (0 = covers
|
|
33
|
+
* the whole surface, 0.8 = only the bottom 20%). Each band runs from `start`
|
|
34
|
+
* to the bottom.
|
|
35
|
+
* - `amount` is the band's own blur strength as a share (0–1) of the peak.
|
|
37
36
|
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
* heavy block), while still giving a genuine variable-radius result — the blur
|
|
43
|
-
* radius grows toward the bottom where the two layers overlap.
|
|
37
|
+
* Because each `BlurView` re-blurs everything rendered behind it, the bands
|
|
38
|
+
* COMPOUND where they overlap (toward the bottom), so the effective radius grows
|
|
39
|
+
* downward without any masking. The top region is covered only by the first,
|
|
40
|
+
* faint band; the bottom is covered by all of them.
|
|
44
41
|
*/
|
|
45
42
|
|
|
46
|
-
//
|
|
47
|
-
//
|
|
48
|
-
// snapping clear. Also reused for the no-native-blur fallback scrim.
|
|
43
|
+
// Eased tint ramp for the no-native-blur fallback scrim. A faint trace begins
|
|
44
|
+
// near the very top and grows steadily downward.
|
|
49
45
|
const BASE_MASK_STOPS = [{
|
|
50
46
|
offset: 0.0,
|
|
51
47
|
opacity: 0
|
|
@@ -62,26 +58,26 @@ const BASE_MASK_STOPS = [{
|
|
|
62
58
|
offset: 1.0,
|
|
63
59
|
opacity: 1
|
|
64
60
|
}];
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
//
|
|
70
|
-
{
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
61
|
+
|
|
62
|
+
// Bottom-anchored blur bands (top → bottom). The first band is faint and covers
|
|
63
|
+
// the whole surface so the top reads as barely-there glass; each subsequent band
|
|
64
|
+
// starts lower and adds strength, compounding toward the bottom for a smooth
|
|
65
|
+
// variable-radius result. Quadrature of these shares lands the bottom at ~peak.
|
|
66
|
+
const PROGRESSIVE_BANDS = [{
|
|
67
|
+
start: 0.0,
|
|
68
|
+
amount: 0.18
|
|
69
|
+
}, {
|
|
70
|
+
start: 0.3,
|
|
71
|
+
amount: 0.28
|
|
72
|
+
}, {
|
|
73
|
+
start: 0.52,
|
|
74
|
+
amount: 0.38
|
|
75
|
+
}, {
|
|
76
|
+
start: 0.7,
|
|
77
|
+
amount: 0.5
|
|
78
|
+
}, {
|
|
79
|
+
start: 0.84,
|
|
80
|
+
amount: 0.6
|
|
85
81
|
}];
|
|
86
82
|
|
|
87
83
|
/**
|
|
@@ -114,13 +110,14 @@ const NATIVE_BLUR_SUPPORTED = (() => {
|
|
|
114
110
|
})();
|
|
115
111
|
|
|
116
112
|
/**
|
|
117
|
-
* Vertical
|
|
118
|
-
*
|
|
119
|
-
*
|
|
120
|
-
*
|
|
113
|
+
* Vertical color-gradient scrim drawn with `react-native-svg` — used as the
|
|
114
|
+
* no-native-blur fallback. Paints `color` at the eased per-stop alpha so the
|
|
115
|
+
* tint swells smoothly from clear (top) to full (bottom), exactly mirroring the
|
|
116
|
+
* old `MaskedView`-over-solid-color fallback but with no native-view masking.
|
|
121
117
|
*/
|
|
122
|
-
function
|
|
118
|
+
function GradientScrim({
|
|
123
119
|
id,
|
|
120
|
+
color,
|
|
124
121
|
stops
|
|
125
122
|
}) {
|
|
126
123
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNativeSvg.default, {
|
|
@@ -135,7 +132,7 @@ function GradientMask({
|
|
|
135
132
|
y2: "1",
|
|
136
133
|
children: stops.map((s, i) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSvg.Stop, {
|
|
137
134
|
offset: s.offset,
|
|
138
|
-
stopColor:
|
|
135
|
+
stopColor: color,
|
|
139
136
|
stopOpacity: s.opacity
|
|
140
137
|
}, i))
|
|
141
138
|
})
|
|
@@ -200,38 +197,37 @@ function GlassFill({
|
|
|
200
197
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
201
198
|
style: [_reactNative.StyleSheet.absoluteFill, style],
|
|
202
199
|
pointerEvents: "none",
|
|
203
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
stops: BASE_MASK_STOPS
|
|
208
|
-
}),
|
|
209
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
210
|
-
style: [_reactNative.StyleSheet.absoluteFill, {
|
|
211
|
-
backgroundColor: fallbackColor
|
|
212
|
-
}]
|
|
213
|
-
})
|
|
200
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(GradientScrim, {
|
|
201
|
+
id: `${maskId}-fb`,
|
|
202
|
+
color: fallbackColor,
|
|
203
|
+
stops: BASE_MASK_STOPS
|
|
214
204
|
})
|
|
215
205
|
});
|
|
216
206
|
}
|
|
217
207
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
218
208
|
style: [_reactNative.StyleSheet.absoluteFill, style],
|
|
219
209
|
pointerEvents: "none",
|
|
220
|
-
children:
|
|
221
|
-
const amount = Math.max(1, Math.round(peakBlur *
|
|
222
|
-
return
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
210
|
+
children: PROGRESSIVE_BANDS.map((band, i) => {
|
|
211
|
+
const amount = Math.max(1, Math.round(peakBlur * band.amount));
|
|
212
|
+
return (
|
|
213
|
+
/*#__PURE__*/
|
|
214
|
+
// Each band is clipped to start at `band.start` and run to
|
|
215
|
+
// the bottom; its `BlurView` blurs the content (and any
|
|
216
|
+
// lower bands) behind it, so the radius compounds downward.
|
|
217
|
+
(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
218
|
+
style: [_reactNative.StyleSheet.absoluteFill, {
|
|
219
|
+
top: `${band.start * 100}%`,
|
|
220
|
+
overflow: 'hidden'
|
|
221
|
+
}],
|
|
222
|
+
pointerEvents: "none",
|
|
223
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_blur.BlurView, {
|
|
224
|
+
style: _reactNative.StyleSheet.absoluteFill,
|
|
225
|
+
blurType: blurType,
|
|
226
|
+
blurAmount: amount,
|
|
227
|
+
reducedTransparencyFallbackColor: fallbackColor
|
|
228
|
+
})
|
|
229
|
+
}, i)
|
|
230
|
+
);
|
|
235
231
|
})
|
|
236
232
|
});
|
|
237
233
|
}
|
|
@@ -9,6 +9,12 @@ Object.defineProperty(exports, "MediaSource", {
|
|
|
9
9
|
return _MediaSource.default;
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
|
+
Object.defineProperty(exports, "boxShadow", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _shadow.boxShadow;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
12
18
|
Object.defineProperty(exports, "cloneChildrenWithModes", {
|
|
13
19
|
enumerable: true,
|
|
14
20
|
get: function () {
|
|
@@ -27,7 +33,26 @@ Object.defineProperty(exports, "formatIndianNumber", {
|
|
|
27
33
|
return _numberUtils.formatIndianNumber;
|
|
28
34
|
}
|
|
29
35
|
});
|
|
36
|
+
Object.defineProperty(exports, "parseBoxShadow", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function () {
|
|
39
|
+
return _shadow.parseBoxShadow;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
Object.defineProperty(exports, "parseSingleShadow", {
|
|
43
|
+
enumerable: true,
|
|
44
|
+
get: function () {
|
|
45
|
+
return _shadow.parseSingleShadow;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
Object.defineProperty(exports, "supportsNativeBoxShadow", {
|
|
49
|
+
enumerable: true,
|
|
50
|
+
get: function () {
|
|
51
|
+
return _shadow.supportsNativeBoxShadow;
|
|
52
|
+
}
|
|
53
|
+
});
|
|
30
54
|
var _reactUtils = require("./react-utils");
|
|
31
55
|
var _MediaSource = _interopRequireDefault(require("./MediaSource"));
|
|
32
56
|
var _numberUtils = require("./number-utils");
|
|
57
|
+
var _shadow = require("./shadow");
|
|
33
58
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -8,8 +8,10 @@ exports.cloneChildrenWithModes = cloneChildrenWithModes;
|
|
|
8
8
|
exports.flattenChildren = flattenChildren;
|
|
9
9
|
exports.injectChildStyle = injectChildStyle;
|
|
10
10
|
exports.mergeRefs = mergeRefs;
|
|
11
|
+
exports.resolveTextLayout = resolveTextLayout;
|
|
11
12
|
exports.resolveTruncation = resolveTruncation;
|
|
12
13
|
var _react = _interopRequireDefault(require("react"));
|
|
14
|
+
var _reactNative = require("react-native");
|
|
13
15
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
16
|
/**
|
|
15
17
|
* A shared, frozen empty modes object.
|
|
@@ -156,6 +158,66 @@ function resolveTruncation(disableTruncation, numberOfLines, ellipsizeMode) {
|
|
|
156
158
|
ellipsizeMode
|
|
157
159
|
};
|
|
158
160
|
}
|
|
161
|
+
/**
|
|
162
|
+
* Resolves the `<Text>` props + style for the two truncation escape hatches.
|
|
163
|
+
* This supersedes {@link resolveTruncation} for components that want the
|
|
164
|
+
* "brutal" overflow behaviour rather than just dropping the line clamp.
|
|
165
|
+
*
|
|
166
|
+
* - `disableTruncation`: never truncate. Drops `numberOfLines`/`ellipsizeMode`
|
|
167
|
+
* AND sets `flexShrink: 0`, so a tight flex parent can no longer squeeze the
|
|
168
|
+
* text into an ellipsis — instead the text keeps its intrinsic size and
|
|
169
|
+
* overflows, even if that means blowing past (and visually breaking) the
|
|
170
|
+
* parent layout. The text still wraps onto multiple lines.
|
|
171
|
+
* - `singleLine`: force everything onto one line with no wrapping. Implies
|
|
172
|
+
* `disableTruncation` (the ellipsis is never shown). On web this adds
|
|
173
|
+
* `whiteSpace: 'nowrap'` so the single line overflows horizontally instead of
|
|
174
|
+
* wrapping. The text is never shrunk.
|
|
175
|
+
*
|
|
176
|
+
* Note (native): React Native's `<Text>` has no `white-space: nowrap`
|
|
177
|
+
* equivalent, so on iOS/Android `singleLine` cannot force a hard non-wrapping
|
|
178
|
+
* overflow — it behaves like `disableTruncation` (no ellipsis, no shrink). The
|
|
179
|
+
* hard single-line overflow is honoured on web (Storybook / react-native-web).
|
|
180
|
+
*
|
|
181
|
+
* When neither flag is set, the supplied `numberOfLines`/`ellipsizeMode` pass
|
|
182
|
+
* through unchanged and no extra style is returned.
|
|
183
|
+
*/
|
|
184
|
+
function resolveTextLayout({
|
|
185
|
+
disableTruncation,
|
|
186
|
+
singleLine,
|
|
187
|
+
numberOfLines,
|
|
188
|
+
ellipsizeMode
|
|
189
|
+
}) {
|
|
190
|
+
if (singleLine) {
|
|
191
|
+
return {
|
|
192
|
+
numberOfLines: undefined,
|
|
193
|
+
ellipsizeMode: undefined,
|
|
194
|
+
style: {
|
|
195
|
+
flexShrink: 0,
|
|
196
|
+
flexGrow: 0,
|
|
197
|
+
...(_reactNative.Platform.OS === 'web' ? {
|
|
198
|
+
whiteSpace: 'nowrap',
|
|
199
|
+
overflow: 'visible'
|
|
200
|
+
} : {})
|
|
201
|
+
}
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
if (disableTruncation) {
|
|
205
|
+
return {
|
|
206
|
+
numberOfLines: undefined,
|
|
207
|
+
ellipsizeMode: undefined,
|
|
208
|
+
style: {
|
|
209
|
+
flexShrink: 0,
|
|
210
|
+
...(_reactNative.Platform.OS === 'web' ? {
|
|
211
|
+
overflow: 'visible'
|
|
212
|
+
} : {})
|
|
213
|
+
}
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
return {
|
|
217
|
+
numberOfLines,
|
|
218
|
+
ellipsizeMode
|
|
219
|
+
};
|
|
220
|
+
}
|
|
159
221
|
|
|
160
222
|
/**
|
|
161
223
|
* Flattens React children, extracting them from Fragments.
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.boxShadow = boxShadow;
|
|
7
|
+
exports.parseBoxShadow = parseBoxShadow;
|
|
8
|
+
exports.parseSingleShadow = parseSingleShadow;
|
|
9
|
+
exports.supportsNativeBoxShadow = supportsNativeBoxShadow;
|
|
10
|
+
var _reactNative = require("react-native");
|
|
11
|
+
/**
|
|
12
|
+
* Cross-platform drop-shadow helper with a backward-compatibility layer.
|
|
13
|
+
*
|
|
14
|
+
* Why this exists
|
|
15
|
+
* ----------------
|
|
16
|
+
* The spec-compliant `boxShadow` style prop only landed in React Native 0.76
|
|
17
|
+
* (and only on the New Architecture / Fabric). Older apps that consume this
|
|
18
|
+
* library are still on pre-0.76 React Native where `boxShadow` is silently
|
|
19
|
+
* ignored on native, so their shadows simply disappear.
|
|
20
|
+
*
|
|
21
|
+
* Rather than hand-rolling a `Platform.select` block in every component, route
|
|
22
|
+
* ALL drop shadows through this single helper. When `boxShadow` is natively
|
|
23
|
+
* supported it is used verbatim (web + RN 0.76+ Fabric). When it is NOT
|
|
24
|
+
* supported, the CSS-style shadow string is parsed and translated into the
|
|
25
|
+
* legacy native shadow API:
|
|
26
|
+
* - iOS: `shadowColor`, `shadowOffset`, `shadowOpacity`, `shadowRadius`
|
|
27
|
+
* - Android: `elevation`
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```tsx
|
|
31
|
+
* const style = boxShadow('0px 2px 4px 0px rgba(0,0,0,0.18)')
|
|
32
|
+
* <View style={[base, style]} />
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
|
|
36
|
+
// `boxShadow` is intentionally absent from the @types/react-native surface in
|
|
37
|
+
// this repo (pinned to 0.73), so we widen ViewStyle locally for the cases
|
|
38
|
+
// where we DO emit the native/web boxShadow string.
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Whether the spec-compliant `boxShadow` style prop is honored at runtime.
|
|
42
|
+
* - Web (react-native-web) always supports it.
|
|
43
|
+
* - Native supports it from RN 0.76+ AND only on the New Architecture (Fabric).
|
|
44
|
+
*/
|
|
45
|
+
function supportsNativeBoxShadow() {
|
|
46
|
+
if (_reactNative.Platform.OS === 'web') {
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
const version = _reactNative.Platform.constants?.reactNativeVersion;
|
|
50
|
+
const isVersionSupported = version ? version.major > 0 || version.major === 0 && version.minor >= 76 : false;
|
|
51
|
+
|
|
52
|
+
// Even on 0.76+, boxShadow is a New Architecture feature. Fabric exposes a
|
|
53
|
+
// global UI manager; its presence is the most reliable runtime signal.
|
|
54
|
+
const isFabric = typeof globalThis !== 'undefined' && globalThis.nativeFabricUIManager != null;
|
|
55
|
+
return isVersionSupported && isFabric;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Splits a (potentially multi-) box-shadow string on top-level commas, i.e.
|
|
60
|
+
* commas that are NOT inside a color function such as `rgba(12, 13, 16, 0.12)`.
|
|
61
|
+
*/
|
|
62
|
+
function splitShadows(value) {
|
|
63
|
+
const out = [];
|
|
64
|
+
let depth = 0;
|
|
65
|
+
let current = '';
|
|
66
|
+
for (const ch of value) {
|
|
67
|
+
if (ch === '(') depth++;else if (ch === ')') depth--;
|
|
68
|
+
if (ch === ',' && depth === 0) {
|
|
69
|
+
if (current.trim()) out.push(current.trim());
|
|
70
|
+
current = '';
|
|
71
|
+
} else {
|
|
72
|
+
current += ch;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
if (current.trim()) out.push(current.trim());
|
|
76
|
+
return out;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Parses a single CSS box-shadow layer into its primitive parts.
|
|
81
|
+
* Supports: `[inset] offsetX offsetY [blur] [spread] color` in any sensible
|
|
82
|
+
* ordering of the keyword/color, with `rgb()/rgba()/hsl()/hsla()`, hex, or
|
|
83
|
+
* named colors.
|
|
84
|
+
*/
|
|
85
|
+
function parseSingleShadow(input) {
|
|
86
|
+
let s = input.trim();
|
|
87
|
+
let inset = false;
|
|
88
|
+
if (/(^|\s)inset(\s|$)/i.test(s)) {
|
|
89
|
+
inset = true;
|
|
90
|
+
s = s.replace(/(^|\s)inset(\s|$)/i, ' ').trim();
|
|
91
|
+
}
|
|
92
|
+
let color = 'rgba(0,0,0,1)';
|
|
93
|
+
const fnColor = s.match(/(?:rgba?|hsla?)\([^)]*\)/i);
|
|
94
|
+
if (fnColor) {
|
|
95
|
+
color = fnColor[0];
|
|
96
|
+
s = s.replace(fnColor[0], ' ').trim();
|
|
97
|
+
} else {
|
|
98
|
+
const hex = s.match(/#[0-9a-fA-F]{3,8}\b/);
|
|
99
|
+
if (hex) {
|
|
100
|
+
color = hex[0];
|
|
101
|
+
s = s.replace(hex[0], ' ').trim();
|
|
102
|
+
} else {
|
|
103
|
+
// Fall back to a trailing named color token (e.g. "red", "black").
|
|
104
|
+
const tokens = s.split(/\s+/).filter(Boolean);
|
|
105
|
+
const last = tokens[tokens.length - 1];
|
|
106
|
+
if (last && Number.isNaN(parseFloat(last))) {
|
|
107
|
+
color = last;
|
|
108
|
+
tokens.pop();
|
|
109
|
+
s = tokens.join(' ');
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
const nums = s.split(/\s+/).filter(Boolean).map(t => parseFloat(t) || 0);
|
|
114
|
+
const [offsetX = 0, offsetY = 0, blur = 0, spread = 0] = nums;
|
|
115
|
+
return {
|
|
116
|
+
offsetX,
|
|
117
|
+
offsetY,
|
|
118
|
+
blur,
|
|
119
|
+
spread,
|
|
120
|
+
color,
|
|
121
|
+
inset
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Parses a full box-shadow string (one or more comma-separated layers).
|
|
127
|
+
*/
|
|
128
|
+
function parseBoxShadow(value) {
|
|
129
|
+
return splitShadows(value).map(parseSingleShadow);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* Picks the visually dominant shadow layer (largest blur, then largest spread).
|
|
134
|
+
* iOS' legacy shadow API can only render a single shadow per view.
|
|
135
|
+
*/
|
|
136
|
+
function pickPrimary(shadows) {
|
|
137
|
+
if (shadows.length === 0) return undefined;
|
|
138
|
+
return shadows.reduce((best, s) => {
|
|
139
|
+
if (s.blur > best.blur) return s;
|
|
140
|
+
if (s.blur === best.blur && s.spread > best.spread) return s;
|
|
141
|
+
return best;
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Translates the parsed shadow into the legacy native shadow style used by
|
|
147
|
+
* pre-0.76 React Native.
|
|
148
|
+
*/
|
|
149
|
+
function legacyShadowStyle(value, options) {
|
|
150
|
+
const shadows = parseBoxShadow(value);
|
|
151
|
+
const primary = pickPrimary(shadows);
|
|
152
|
+
if (!primary) {
|
|
153
|
+
return {};
|
|
154
|
+
}
|
|
155
|
+
if (_reactNative.Platform.OS === 'android') {
|
|
156
|
+
const elevation = options?.elevation ?? Math.max(0, Math.round(primary.blur / 2));
|
|
157
|
+
if (elevation <= 0) {
|
|
158
|
+
return {};
|
|
159
|
+
}
|
|
160
|
+
return {
|
|
161
|
+
elevation
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
// iOS: shadowOpacity defaults to 0 (invisible), so it MUST be set. We keep
|
|
166
|
+
// the full color (its own alpha is respected) and use opacity 1 as the
|
|
167
|
+
// multiplier so rgba() alpha is honored end-to-end.
|
|
168
|
+
return {
|
|
169
|
+
shadowColor: primary.color,
|
|
170
|
+
shadowOffset: {
|
|
171
|
+
width: primary.offsetX,
|
|
172
|
+
height: primary.offsetY
|
|
173
|
+
},
|
|
174
|
+
shadowOpacity: 1,
|
|
175
|
+
shadowRadius: primary.blur
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* Returns a style object that renders the given CSS-style box-shadow on every
|
|
181
|
+
* platform. Uses the native `boxShadow` prop when supported, otherwise falls
|
|
182
|
+
* back to the legacy `shadow*` (iOS) / `elevation` (Android) API.
|
|
183
|
+
*
|
|
184
|
+
* @param value A CSS box-shadow string, e.g. `'0px 2px 4px 0px rgba(0,0,0,0.2)'`.
|
|
185
|
+
* Multiple comma-separated layers are supported; on the legacy
|
|
186
|
+
* fallback iOS uses the most prominent layer and Android uses a
|
|
187
|
+
* single elevation.
|
|
188
|
+
* @param options Optional overrides (e.g. explicit Android `elevation`).
|
|
189
|
+
*/
|
|
190
|
+
function boxShadow(value, options) {
|
|
191
|
+
if (!value) {
|
|
192
|
+
return {};
|
|
193
|
+
}
|
|
194
|
+
if (supportsNativeBoxShadow()) {
|
|
195
|
+
return {
|
|
196
|
+
boxShadow: value
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
return legacyShadowStyle(value, options);
|
|
200
|
+
}
|
|
@@ -4,10 +4,9 @@ import React, { useEffect, useMemo, useRef } from 'react';
|
|
|
4
4
|
import { Animated, Keyboard, View, Platform } from 'react-native';
|
|
5
5
|
import { getVariableByName } from '../../design-tokens/figma-variables-resolver';
|
|
6
6
|
import { EMPTY_MODES, cloneChildrenWithModes, flattenChildren } from '../../utils/react-utils';
|
|
7
|
+
import { boxShadow } from '../../utils/shadow';
|
|
7
8
|
import IconButton from '../IconButton/IconButton';
|
|
8
9
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
|
-
const IS_WEB = Platform.OS === 'web';
|
|
10
|
-
|
|
11
10
|
// ---------------------------------------------------------------------------
|
|
12
11
|
// Yoga-safe stretch
|
|
13
12
|
// ---------------------------------------------------------------------------
|
|
@@ -36,27 +35,11 @@ const STRETCH_STYLE = {
|
|
|
36
35
|
minWidth: 0
|
|
37
36
|
};
|
|
38
37
|
|
|
39
|
-
//
|
|
40
|
-
//
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
ios: {
|
|
44
|
-
shadowColor: '#0c0d10',
|
|
45
|
-
shadowOffset: {
|
|
46
|
-
width: 0,
|
|
47
|
-
height: -12
|
|
48
|
-
},
|
|
49
|
-
shadowOpacity: 0.16,
|
|
50
|
-
shadowRadius: 24
|
|
51
|
-
},
|
|
52
|
-
android: {
|
|
53
|
-
elevation: 16
|
|
54
|
-
},
|
|
55
|
-
default: {}
|
|
38
|
+
// Upward drop shadow routed through the unified helper: native `boxShadow` on
|
|
39
|
+
// web + RN 0.76+, legacy `shadow*` (iOS) / `elevation` (Android) on older RN.
|
|
40
|
+
const SHADOW = boxShadow('0px -12px 24px 0px rgba(12, 13, 16, 0.12), 0px -16px 48px 0px rgba(12, 13, 16, 0.16)', {
|
|
41
|
+
elevation: 16
|
|
56
42
|
});
|
|
57
|
-
const WEB_SHADOW = IS_WEB ? {
|
|
58
|
-
boxShadow: '0px -12px 24px 0px rgba(12, 13, 16, 0.12), 0px -16px 48px 0px rgba(12, 13, 16, 0.16)'
|
|
59
|
-
} : null;
|
|
60
43
|
|
|
61
44
|
// The runtime token a slot child must equal (by reference) to be treated as
|
|
62
45
|
// an IconButton. `IconButton` is exported wrapped in `React.memo`, so the
|
|
@@ -165,7 +148,7 @@ function ActionFooter({
|
|
|
165
148
|
paddingRight: paddingHorizontal,
|
|
166
149
|
paddingTop,
|
|
167
150
|
paddingBottom,
|
|
168
|
-
...
|
|
151
|
+
...SHADOW
|
|
169
152
|
};
|
|
170
153
|
const slot = {
|
|
171
154
|
flexDirection: 'row',
|
|
@@ -202,7 +185,7 @@ function ActionFooter({
|
|
|
202
185
|
});
|
|
203
186
|
}, [children, modes]);
|
|
204
187
|
return /*#__PURE__*/_jsx(Animated.View, {
|
|
205
|
-
style: [containerStyle,
|
|
188
|
+
style: [containerStyle, style,
|
|
206
189
|
// Counter-translate by the keyboard height on Android so `adjustResize`
|
|
207
190
|
// can't lift the footer above the keyboard (no-op on iOS/web where the
|
|
208
191
|
// value stays at 0).
|
|
@@ -29,18 +29,18 @@ export default function ActionTile({
|
|
|
29
29
|
};
|
|
30
30
|
|
|
31
31
|
// Resolve tokens
|
|
32
|
-
const backgroundColor = getVariableByName('actionTile/background', modes)
|
|
33
|
-
const gap = Number(getVariableByName('actionTile/gap', modes))
|
|
34
|
-
const paddingHorizontal = Number(getVariableByName('actionTile/padding/horizontal', modes))
|
|
35
|
-
const paddingVertical = Number(getVariableByName('actionTile/padding/vertical', modes))
|
|
36
|
-
const radius = Number(getVariableByName('actionTile/radius', modes))
|
|
32
|
+
const backgroundColor = getVariableByName('actionTile/background', modes);
|
|
33
|
+
const gap = Number(getVariableByName('actionTile/gap', modes));
|
|
34
|
+
const paddingHorizontal = Number(getVariableByName('actionTile/padding/horizontal', modes));
|
|
35
|
+
const paddingVertical = Number(getVariableByName('actionTile/padding/vertical', modes));
|
|
36
|
+
const radius = Number(getVariableByName('actionTile/radius', modes));
|
|
37
37
|
|
|
38
38
|
// Text tokens
|
|
39
|
-
const textColor = getVariableByName('actionTile/foreground', modes)
|
|
40
|
-
const fontSize = Number(getVariableByName('actionTile/fontSize', modes))
|
|
41
|
-
const fontFamily = getVariableByName('actionTile/fontFamily', modes)
|
|
42
|
-
const fontWeightStr = getVariableByName('actionTile/fontWeight', modes)
|
|
43
|
-
const lineHeight = Number(getVariableByName('actionTile/lineHeight', modes))
|
|
39
|
+
const textColor = getVariableByName('actionTile/foreground', modes);
|
|
40
|
+
const fontSize = Number(getVariableByName('actionTile/fontSize', modes));
|
|
41
|
+
const fontFamily = getVariableByName('actionTile/fontFamily', modes);
|
|
42
|
+
const fontWeightStr = getVariableByName('actionTile/fontWeight', modes);
|
|
43
|
+
const lineHeight = Number(getVariableByName('actionTile/lineHeight', modes));
|
|
44
44
|
const containerStyle = {
|
|
45
45
|
backgroundColor,
|
|
46
46
|
borderRadius: radius,
|
|
@@ -28,9 +28,9 @@ const AmountInput = /*#__PURE__*/forwardRef(function AmountInput({
|
|
|
28
28
|
};
|
|
29
29
|
|
|
30
30
|
// Resolve tokens
|
|
31
|
-
const gap = Number(getVariableByName('amountInput/gap', modes))
|
|
32
|
-
const paddingHorizontal = Number(getVariableByName('amountInput/padding/horizontal', modes))
|
|
33
|
-
const paddingVertical = Number(getVariableByName('amountInput/padding/vertical', modes))
|
|
31
|
+
const gap = Number(getVariableByName('amountInput/gap', modes));
|
|
32
|
+
const paddingHorizontal = Number(getVariableByName('amountInput/padding/horizontal', modes));
|
|
33
|
+
const paddingVertical = Number(getVariableByName('amountInput/padding/vertical', modes));
|
|
34
34
|
const containerStyle = {
|
|
35
35
|
flexDirection: 'column',
|
|
36
36
|
alignItems: 'center',
|
|
@@ -720,7 +720,7 @@ function ChartTooltip({
|
|
|
720
720
|
const bg = getVariableByName('tooltip/background', modes) ?? '#0f0d0a';
|
|
721
721
|
const paddingH = toNumber(getVariableByName('tooltip/padding/horizontal', modes), 12);
|
|
722
722
|
const paddingV = toNumber(getVariableByName('tooltip/padding/vertical', modes), 8);
|
|
723
|
-
const radius =
|
|
723
|
+
const radius = 8;
|
|
724
724
|
const labelColor = getVariableByName('tooltip/label/color', modes) ?? '#ffffff';
|
|
725
725
|
if (items.length === 0) return null;
|
|
726
726
|
|
|
@@ -798,7 +798,7 @@ function ChartLegend() {
|
|
|
798
798
|
/** Resolve `axisItem/*` typography tokens into a memoized text style. */
|
|
799
799
|
function useAxisTypography(modes) {
|
|
800
800
|
return useMemo(() => {
|
|
801
|
-
const color = getVariableByName('axisItem/
|
|
801
|
+
const color = getVariableByName('axisItem/fg', modes) ?? '#000000';
|
|
802
802
|
const fontFamily = getVariableByName('axisItem/fontFamily', modes) ?? 'JioType Var';
|
|
803
803
|
const fontSize = toNumber(getVariableByName('axisItem/fontSize', modes), 12);
|
|
804
804
|
const lineHeight = toNumber(getVariableByName('axisItem/lineHeight', modes), 16);
|
|
@@ -124,7 +124,7 @@ function Attached({
|
|
|
124
124
|
// anchor centering intact).
|
|
125
125
|
const slotBorderStyle = useMemo(() => {
|
|
126
126
|
const borderColor = getVariableByName('attached/slot/border', modes);
|
|
127
|
-
const borderWidth = parseFloat(getVariableByName('attached/slot/borderWidth', modes)
|
|
127
|
+
const borderWidth = parseFloat(getVariableByName('attached/slot/borderWidth', modes));
|
|
128
128
|
if (!borderColor || !(borderWidth > 0)) return null;
|
|
129
129
|
|
|
130
130
|
// Match the inner clip radius so the ring stays concentric. The outer edge
|