jfs-components 0.1.8 → 0.1.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +31 -0
- package/lib/commonjs/components/Accordion/Accordion.js +2 -1
- package/lib/commonjs/components/AccordionCheckbox/AccordionCheckbox.js +4 -3
- package/lib/commonjs/components/AccountCard/AccountCard.js +4 -3
- package/lib/commonjs/components/ActionFooter/ActionFooter.js +7 -24
- package/lib/commonjs/components/ActionTile/ActionTile.js +10 -10
- package/lib/commonjs/components/AllocationComparisonChart/AllocationComparisonChart.js +9 -6
- package/lib/commonjs/components/AmountInput/AmountInput.js +3 -3
- package/lib/commonjs/components/AreaLineChart/AreaLineChart.js +13 -9
- package/lib/commonjs/components/Attached/Attached.js +1 -1
- package/lib/commonjs/components/Avatar/Avatar.js +10 -10
- package/lib/commonjs/components/AvatarGroup/AvatarGroup.js +9 -9
- package/lib/commonjs/components/Badge/Badge.js +55 -16
- package/lib/commonjs/components/BenefitCard/BenefitCard.js +95 -21
- package/lib/commonjs/components/BottomNav/BottomNav.js +2 -2
- package/lib/commonjs/components/BottomNavItem/BottomNavItem.js +3 -3
- package/lib/commonjs/components/BrandChip/BrandChip.js +3 -3
- package/lib/commonjs/components/Button/Button.js +32 -19
- package/lib/commonjs/components/Card/Card.js +20 -20
- package/lib/commonjs/components/CardAdvisory/CardAdvisory.js +8 -7
- package/lib/commonjs/components/CardBankAccount/CardBankAccount.js +3 -2
- package/lib/commonjs/components/CardCTA/CardCTA.js +215 -45
- package/lib/commonjs/components/CardFeedback/CardFeedback.js +18 -18
- package/lib/commonjs/components/CardFinancialCondition/CardFinancialCondition.js +7 -7
- package/lib/commonjs/components/CardInsight/CardInsight.js +6 -3
- package/lib/commonjs/components/Carousel/Carousel.js +18 -12
- package/lib/commonjs/components/CarouselCardAccounts/CarouselCardAccounts.js +75 -0
- package/lib/commonjs/components/Checkbox/Checkbox.js +6 -13
- package/lib/commonjs/components/ChipGroup/ChipGroup.js +1 -1
- package/lib/commonjs/components/ChipSelect/ChipSelect.js +11 -11
- package/lib/commonjs/components/CircularProgressBar/CircularProgressBar.js +12 -8
- package/lib/commonjs/components/CircularProgressBarDoted/CircularProgressBarDoted.js +11 -10
- package/lib/commonjs/components/CircularRating/CircularRating.js +5 -4
- package/lib/commonjs/components/ClusterBubble/ClusterBubble.js +3 -2
- package/lib/commonjs/components/CompareTable/CompareTable.js +88 -59
- package/lib/commonjs/components/CoverageBarComparison/CoverageBarComparison.js +3 -2
- package/lib/commonjs/components/DebitCard/DebitCard.js +18 -18
- package/lib/commonjs/components/Disclaimer/Disclaimer.js +5 -5
- package/lib/commonjs/components/DonutChart/DonutChart.js +15 -14
- package/lib/commonjs/components/Drawer/Drawer.js +60 -60
- package/lib/commonjs/components/Dropdown/Dropdown.js +25 -25
- package/lib/commonjs/components/DropdownInput/DropdownInput.js +13 -12
- package/lib/commonjs/components/EmptyState/EmptyState.js +14 -14
- package/lib/commonjs/components/ExpandableCheckbox/ExpandableCheckbox.js +2 -1
- package/lib/commonjs/components/FilterBar/FilterBar.js +2 -2
- package/lib/commonjs/components/Form/Form.js +3 -3
- package/lib/commonjs/components/FormField/FormField.js +48 -8
- package/lib/commonjs/components/FullscreenModal/FullscreenModal.js +24 -24
- package/lib/commonjs/components/Gauge/Gauge.js +9 -9
- package/lib/commonjs/components/HoldingsCard/HoldingsCard.js +13 -12
- package/lib/commonjs/components/Icon/Icon.js +6 -6
- package/lib/commonjs/components/IconCapsule/IconCapsule.js +7 -7
- package/lib/commonjs/components/InputSearch/InputSearch.js +9 -9
- package/lib/commonjs/components/InstitutionBadge/InstitutionBadge.js +5 -4
- package/lib/commonjs/components/ListGroup/ListGroup.js +10 -9
- package/lib/commonjs/components/ListItem/ListItem.js +13 -12
- package/lib/commonjs/components/LottieIntroBlock/LottieIntroBlock.js +13 -13
- package/lib/commonjs/components/LottiePlayer/LottiePlayer.js +2 -2
- package/lib/commonjs/components/LottiePlayer/LottiePlayer.web.js +2 -2
- package/lib/commonjs/components/MediaCard/MediaCard.js +25 -23
- package/lib/commonjs/components/MessageField/MessageField.js +8 -8
- package/lib/commonjs/components/MetricLegendItem/MetricLegendItem.js +3 -2
- package/lib/commonjs/components/MoneyValue/MoneyValue.js +7 -7
- package/lib/commonjs/components/MonthlyStatusGrid/MonthlyStatusGrid.js +6 -3
- package/lib/commonjs/components/NavArrow/NavArrow.js +8 -8
- package/lib/commonjs/components/NoteInput/NoteInput.js +12 -12
- package/lib/commonjs/components/Nudge/Nudge.js +20 -20
- package/lib/commonjs/components/OTP/OTP.js +15 -15
- package/lib/commonjs/components/PageHero/PageHero.js +16 -16
- package/lib/commonjs/components/PaymentFeedback/PaymentFeedback.js +23 -23
- package/lib/commonjs/components/Popup/Popup.js +1 -1
- package/lib/commonjs/components/PoweredByLabel/PoweredByLabel.js +3 -2
- package/lib/commonjs/components/ProductMerchandisingCard/ProductMerchandisingCard.js +107 -33
- package/lib/commonjs/components/ProductOverview/ProductOverview.js +4 -3
- package/lib/commonjs/components/ProgressBadge/ProgressBadge.js +7 -7
- package/lib/commonjs/components/ProjectionMarker/ProjectionMarker.js +3 -2
- package/lib/commonjs/components/Radio/Radio.js +8 -8
- package/lib/commonjs/components/RechargeCard/RechargeCard.js +31 -31
- package/lib/commonjs/components/SavingsGoalSummary/SavingsGoalSummary.js +59 -12
- package/lib/commonjs/components/ScrollArea/ScrollArea.js +126 -0
- package/lib/commonjs/components/Section/Section.js +27 -26
- package/lib/commonjs/components/Slider/Slider.js +3 -2
- package/lib/commonjs/components/Stack/Stack.js +86 -0
- package/lib/commonjs/components/StatusHero/StatusHero.js +14 -14
- package/lib/commonjs/components/Stepper/Step.js +16 -16
- package/lib/commonjs/components/Stepper/StepLabel.js +16 -16
- package/lib/commonjs/components/Stepper/Stepper.js +3 -3
- package/lib/commonjs/components/SuggestiveSearch/SuggestiveSearch.js +20 -11
- package/lib/commonjs/components/SummaryTile/SummaryTile.js +3 -2
- package/lib/commonjs/components/SupportText/SupportText.js +6 -6
- package/lib/commonjs/components/SupportText/SupportTextIcon.js +2 -2
- package/lib/commonjs/components/Table/Table.js +324 -0
- package/lib/commonjs/components/Text/Text.js +15 -2
- package/lib/commonjs/components/TextInput/TextInput.js +23 -15
- package/lib/commonjs/components/TextSegment/TextSegment.js +15 -2
- package/lib/commonjs/components/ThreadHero/ThreadHero.js +21 -22
- package/lib/commonjs/components/Title/Title.js +39 -16
- package/lib/commonjs/components/Toast/Toast.js +18 -17
- package/lib/commonjs/components/Toggle/Toggle.js +3 -11
- package/lib/commonjs/components/Tooltip/Tooltip.js +12 -12
- package/lib/commonjs/components/TransactionBubble/TransactionBubble.js +15 -14
- package/lib/commonjs/components/TransactionDetails/TransactionDetails.js +10 -10
- package/lib/commonjs/components/TransactionStatus/TransactionStatus.js +12 -11
- package/lib/commonjs/components/UpiHandle/UpiHandle.js +17 -17
- package/lib/commonjs/components/index.js +58 -0
- package/lib/commonjs/design-tokens/Coin Variables-variables-full.json +1 -1
- package/lib/commonjs/design-tokens/figma-modes.generated.js +51 -42
- package/lib/commonjs/icons/components/Icon4g.js +19 -0
- package/lib/commonjs/icons/components/Icon4gltedata.js +19 -0
- package/lib/commonjs/icons/components/Icon5g.js +19 -0
- package/lib/commonjs/icons/components/Icon5gdoubleplus.js +19 -0
- package/lib/commonjs/icons/components/Icon5gplus.js +19 -0
- package/lib/commonjs/icons/components/IconAdblocker.js +19 -0
- package/lib/commonjs/icons/components/IconAdblockplus.js +19 -0
- package/lib/commonjs/icons/components/IconAnalytics.js +19 -0
- package/lib/commonjs/icons/components/IconAnalyticsdata.js +19 -0
- package/lib/commonjs/icons/components/IconAnalyticspiechart.js +19 -0
- package/lib/commonjs/icons/components/IconAnalyticspiecharttree.js +19 -0
- package/lib/commonjs/icons/components/IconAnalyticspiecharttwo.js +19 -0
- package/lib/commonjs/icons/components/IconCompoundinterest.js +19 -0
- package/lib/commonjs/icons/components/IconConsumptionaccounted.js +19 -0
- package/lib/commonjs/icons/components/IconConsumptionaverage.js +19 -0
- package/lib/commonjs/icons/components/IconConsumptionhigh.js +19 -0
- package/lib/commonjs/icons/components/IconConsumptionlow.js +19 -0
- package/lib/commonjs/icons/components/IconConsumptionunaccounted.js +19 -0
- package/lib/commonjs/icons/components/IconCsvdoc.js +19 -0
- package/lib/commonjs/icons/components/IconDatabase.js +19 -0
- package/lib/commonjs/icons/components/IconDigitalecosystem.js +19 -0
- package/lib/commonjs/icons/components/IconDigitalselfservice.js +19 -0
- package/lib/commonjs/icons/components/IconDistribution.js +19 -0
- package/lib/commonjs/icons/components/IconDocument.js +19 -0
- package/lib/commonjs/icons/components/IconDocumentdoc.js +19 -0
- package/lib/commonjs/icons/components/IconDocumentjpg.js +19 -0
- package/lib/commonjs/icons/components/IconDocumentodt.js +19 -0
- package/lib/commonjs/icons/components/IconDocumentpdf.js +19 -0
- package/lib/commonjs/icons/components/IconDocumentpng.js +19 -0
- package/lib/commonjs/icons/components/IconDocumentraw.js +19 -0
- package/lib/commonjs/icons/components/IconDocumentrtf.js +19 -0
- package/lib/commonjs/icons/components/IconDocumentsettings.js +19 -0
- package/lib/commonjs/icons/components/IconDocumenttif.js +19 -0
- package/lib/commonjs/icons/components/IconDocumenttxt.js +19 -0
- package/lib/commonjs/icons/components/IconDocumentunknown.js +19 -0
- package/lib/commonjs/icons/components/IconDocumentxls.js +19 -0
- package/lib/commonjs/icons/components/IconDocumentxlsx.js +19 -0
- package/lib/commonjs/icons/components/IconFilerequest.js +19 -0
- package/lib/commonjs/icons/components/IconFilesend.js +19 -0
- package/lib/commonjs/icons/components/IconFileshare.js +19 -0
- package/lib/commonjs/icons/components/IconFindinpage.js +19 -0
- package/lib/commonjs/icons/components/IconFolder.js +19 -0
- package/lib/commonjs/icons/components/IconFolderbookmarks.js +19 -0
- package/lib/commonjs/icons/components/IconFolderfavorites.js +19 -0
- package/lib/commonjs/icons/components/IconFolderlocked.js +19 -0
- package/lib/commonjs/icons/components/IconFoldermovefiles.js +19 -0
- package/lib/commonjs/icons/components/IconFolderpublic.js +19 -0
- package/lib/commonjs/icons/components/IconFolderrated.js +19 -0
- package/lib/commonjs/icons/components/IconFolderrequest.js +19 -0
- package/lib/commonjs/icons/components/IconForm.js +19 -0
- package/lib/commonjs/icons/components/IconFormadd.js +19 -0
- package/lib/commonjs/icons/components/IconForms.js +19 -0
- package/lib/commonjs/icons/components/IconGraphincreasing.js +19 -0
- package/lib/commonjs/icons/components/IconGraphlow.js +19 -0
- package/lib/commonjs/icons/components/IconGraphtable.js +19 -0
- package/lib/commonjs/icons/components/IconHealthreport.js +19 -0
- package/lib/commonjs/icons/components/IconHubmode.js +19 -0
- package/lib/commonjs/icons/components/IconInfrastructure.js +19 -0
- package/lib/commonjs/icons/components/IconInterestlow.js +19 -0
- package/lib/commonjs/icons/components/IconLte.js +19 -0
- package/lib/commonjs/icons/components/IconNetworkfuture.js +19 -0
- package/lib/commonjs/icons/components/IconPagesettings.js +19 -0
- package/lib/commonjs/icons/components/IconPptxdoc.js +19 -0
- package/lib/commonjs/icons/components/IconPreferrednumber.js +19 -0
- package/lib/commonjs/icons/components/IconPremiumnumber.js +19 -0
- package/lib/commonjs/icons/components/IconProjection.js +19 -0
- package/lib/commonjs/icons/components/IconRequest.js +19 -0
- package/lib/commonjs/icons/components/IconRoutestraffic.js +19 -0
- package/lib/commonjs/icons/components/IconTechnology.js +19 -0
- package/lib/commonjs/icons/components/IconVolte.js +19 -0
- package/lib/commonjs/icons/components/IconVonr.js +19 -0
- package/lib/commonjs/icons/components/IconVowifi.js +19 -0
- package/lib/commonjs/icons/components/IconVpndata.js +19 -0
- package/lib/commonjs/icons/components/index.js +803 -0
- package/lib/commonjs/icons/registry.js +2 -2
- package/lib/commonjs/{components/ProductMerchandisingCard → utils/GlassFill}/GlassFill.js +11 -3
- package/lib/commonjs/{components/ProductMerchandisingCard → utils/GlassFill}/GlassFill.web.js +8 -4
- package/lib/commonjs/utils/index.js +25 -0
- package/lib/commonjs/utils/react-utils.js +118 -0
- package/lib/commonjs/utils/shadow.js +200 -0
- package/lib/commonjs/utils/web-platform-utils.js +59 -0
- package/lib/module/components/Accordion/Accordion.js +3 -2
- package/lib/module/components/AccordionCheckbox/AccordionCheckbox.js +5 -4
- package/lib/module/components/AccountCard/AccountCard.js +5 -4
- package/lib/module/components/ActionFooter/ActionFooter.js +7 -24
- package/lib/module/components/ActionTile/ActionTile.js +10 -10
- package/lib/module/components/AllocationComparisonChart/AllocationComparisonChart.js +10 -7
- package/lib/module/components/AmountInput/AmountInput.js +3 -3
- package/lib/module/components/AreaLineChart/AreaLineChart.js +14 -10
- package/lib/module/components/Attached/Attached.js +1 -1
- package/lib/module/components/Avatar/Avatar.js +10 -10
- package/lib/module/components/AvatarGroup/AvatarGroup.js +9 -9
- package/lib/module/components/Badge/Badge.js +57 -18
- package/lib/module/components/BenefitCard/BenefitCard.js +95 -21
- package/lib/module/components/BottomNav/BottomNav.js +2 -2
- package/lib/module/components/BottomNavItem/BottomNavItem.js +3 -3
- package/lib/module/components/BrandChip/BrandChip.js +4 -4
- package/lib/module/components/Button/Button.js +32 -19
- package/lib/module/components/Card/Card.js +20 -20
- package/lib/module/components/CardAdvisory/CardAdvisory.js +9 -8
- package/lib/module/components/CardBankAccount/CardBankAccount.js +4 -3
- package/lib/module/components/CardCTA/CardCTA.js +216 -46
- package/lib/module/components/CardFeedback/CardFeedback.js +18 -18
- package/lib/module/components/CardFinancialCondition/CardFinancialCondition.js +7 -7
- package/lib/module/components/CardInsight/CardInsight.js +6 -3
- package/lib/module/components/Carousel/Carousel.js +18 -12
- package/lib/module/components/CarouselCardAccounts/CarouselCardAccounts.js +71 -0
- package/lib/module/components/Checkbox/Checkbox.js +2 -9
- package/lib/module/components/ChipGroup/ChipGroup.js +1 -1
- package/lib/module/components/ChipSelect/ChipSelect.js +11 -11
- package/lib/module/components/CircularProgressBar/CircularProgressBar.js +13 -9
- package/lib/module/components/CircularProgressBarDoted/CircularProgressBarDoted.js +12 -11
- package/lib/module/components/CircularRating/CircularRating.js +6 -5
- package/lib/module/components/ClusterBubble/ClusterBubble.js +4 -3
- package/lib/module/components/CompareTable/CompareTable.js +89 -60
- package/lib/module/components/CoverageBarComparison/CoverageBarComparison.js +4 -3
- package/lib/module/components/DebitCard/DebitCard.js +18 -18
- package/lib/module/components/Disclaimer/Disclaimer.js +5 -5
- package/lib/module/components/DonutChart/DonutChart.js +16 -15
- package/lib/module/components/Drawer/Drawer.js +60 -60
- package/lib/module/components/Dropdown/Dropdown.js +26 -26
- package/lib/module/components/DropdownInput/DropdownInput.js +14 -13
- package/lib/module/components/EmptyState/EmptyState.js +14 -14
- package/lib/module/components/ExpandableCheckbox/ExpandableCheckbox.js +2 -1
- package/lib/module/components/FilterBar/FilterBar.js +2 -2
- package/lib/module/components/Form/Form.js +3 -3
- package/lib/module/components/FormField/FormField.js +51 -11
- package/lib/module/components/FullscreenModal/FullscreenModal.js +24 -24
- package/lib/module/components/Gauge/Gauge.js +9 -9
- package/lib/module/components/HoldingsCard/HoldingsCard.js +14 -13
- package/lib/module/components/Icon/Icon.js +6 -6
- package/lib/module/components/IconCapsule/IconCapsule.js +7 -7
- package/lib/module/components/InputSearch/InputSearch.js +9 -9
- package/lib/module/components/InstitutionBadge/InstitutionBadge.js +6 -5
- package/lib/module/components/ListGroup/ListGroup.js +11 -10
- package/lib/module/components/ListItem/ListItem.js +14 -13
- package/lib/module/components/LottieIntroBlock/LottieIntroBlock.js +13 -13
- package/lib/module/components/LottiePlayer/LottiePlayer.js +2 -2
- package/lib/module/components/LottiePlayer/LottiePlayer.web.js +2 -2
- package/lib/module/components/MediaCard/MediaCard.js +25 -23
- package/lib/module/components/MessageField/MessageField.js +8 -8
- package/lib/module/components/MetricLegendItem/MetricLegendItem.js +4 -3
- package/lib/module/components/MoneyValue/MoneyValue.js +7 -7
- package/lib/module/components/MonthlyStatusGrid/MonthlyStatusGrid.js +7 -4
- package/lib/module/components/NavArrow/NavArrow.js +8 -8
- package/lib/module/components/NoteInput/NoteInput.js +12 -12
- package/lib/module/components/Nudge/Nudge.js +20 -20
- package/lib/module/components/OTP/OTP.js +15 -15
- package/lib/module/components/PageHero/PageHero.js +16 -16
- package/lib/module/components/PaymentFeedback/PaymentFeedback.js +23 -23
- package/lib/module/components/Popup/Popup.js +1 -1
- package/lib/module/components/PoweredByLabel/PoweredByLabel.js +4 -3
- package/lib/module/components/ProductMerchandisingCard/ProductMerchandisingCard.js +109 -35
- package/lib/module/components/ProductOverview/ProductOverview.js +5 -4
- package/lib/module/components/ProgressBadge/ProgressBadge.js +8 -8
- package/lib/module/components/ProjectionMarker/ProjectionMarker.js +4 -3
- package/lib/module/components/Radio/Radio.js +9 -9
- package/lib/module/components/RechargeCard/RechargeCard.js +31 -31
- package/lib/module/components/SavingsGoalSummary/SavingsGoalSummary.js +60 -13
- package/lib/module/components/ScrollArea/ScrollArea.js +121 -0
- package/lib/module/components/Section/Section.js +28 -27
- package/lib/module/components/Slider/Slider.js +4 -3
- package/lib/module/components/Stack/Stack.js +81 -0
- package/lib/module/components/StatusHero/StatusHero.js +14 -14
- package/lib/module/components/Stepper/Step.js +16 -16
- package/lib/module/components/Stepper/StepLabel.js +16 -16
- package/lib/module/components/Stepper/Stepper.js +3 -3
- package/lib/module/components/SuggestiveSearch/SuggestiveSearch.js +20 -11
- package/lib/module/components/SummaryTile/SummaryTile.js +4 -3
- package/lib/module/components/SupportText/SupportText.js +6 -6
- package/lib/module/components/SupportText/SupportTextIcon.js +2 -2
- package/lib/module/components/Table/Table.js +315 -0
- package/lib/module/components/Text/Text.js +16 -3
- package/lib/module/components/TextInput/TextInput.js +23 -15
- package/lib/module/components/TextSegment/TextSegment.js +16 -3
- package/lib/module/components/ThreadHero/ThreadHero.js +22 -23
- package/lib/module/components/Title/Title.js +40 -17
- package/lib/module/components/Toast/Toast.js +19 -18
- package/lib/module/components/Toggle/Toggle.js +4 -12
- package/lib/module/components/Tooltip/Tooltip.js +12 -12
- package/lib/module/components/TransactionBubble/TransactionBubble.js +16 -15
- package/lib/module/components/TransactionDetails/TransactionDetails.js +10 -10
- package/lib/module/components/TransactionStatus/TransactionStatus.js +13 -12
- package/lib/module/components/UpiHandle/UpiHandle.js +18 -18
- package/lib/module/components/index.js +4 -0
- package/lib/module/design-tokens/Coin Variables-variables-full.json +1 -1
- package/lib/module/design-tokens/figma-modes.generated.js +51 -42
- package/lib/module/icons/components/Icon4g.js +12 -0
- package/lib/module/icons/components/Icon4gltedata.js +12 -0
- package/lib/module/icons/components/Icon5g.js +12 -0
- package/lib/module/icons/components/Icon5gdoubleplus.js +12 -0
- package/lib/module/icons/components/Icon5gplus.js +12 -0
- package/lib/module/icons/components/IconAdblocker.js +12 -0
- package/lib/module/icons/components/IconAdblockplus.js +12 -0
- package/lib/module/icons/components/IconAnalytics.js +12 -0
- package/lib/module/icons/components/IconAnalyticsdata.js +12 -0
- package/lib/module/icons/components/IconAnalyticspiechart.js +12 -0
- package/lib/module/icons/components/IconAnalyticspiecharttree.js +12 -0
- package/lib/module/icons/components/IconAnalyticspiecharttwo.js +12 -0
- package/lib/module/icons/components/IconCompoundinterest.js +12 -0
- package/lib/module/icons/components/IconConsumptionaccounted.js +12 -0
- package/lib/module/icons/components/IconConsumptionaverage.js +12 -0
- package/lib/module/icons/components/IconConsumptionhigh.js +12 -0
- package/lib/module/icons/components/IconConsumptionlow.js +12 -0
- package/lib/module/icons/components/IconConsumptionunaccounted.js +12 -0
- package/lib/module/icons/components/IconCsvdoc.js +12 -0
- package/lib/module/icons/components/IconDatabase.js +12 -0
- package/lib/module/icons/components/IconDigitalecosystem.js +12 -0
- package/lib/module/icons/components/IconDigitalselfservice.js +12 -0
- package/lib/module/icons/components/IconDistribution.js +12 -0
- package/lib/module/icons/components/IconDocument.js +12 -0
- package/lib/module/icons/components/IconDocumentdoc.js +12 -0
- package/lib/module/icons/components/IconDocumentjpg.js +12 -0
- package/lib/module/icons/components/IconDocumentodt.js +12 -0
- package/lib/module/icons/components/IconDocumentpdf.js +12 -0
- package/lib/module/icons/components/IconDocumentpng.js +12 -0
- package/lib/module/icons/components/IconDocumentraw.js +12 -0
- package/lib/module/icons/components/IconDocumentrtf.js +12 -0
- package/lib/module/icons/components/IconDocumentsettings.js +12 -0
- package/lib/module/icons/components/IconDocumenttif.js +12 -0
- package/lib/module/icons/components/IconDocumenttxt.js +12 -0
- package/lib/module/icons/components/IconDocumentunknown.js +12 -0
- package/lib/module/icons/components/IconDocumentxls.js +12 -0
- package/lib/module/icons/components/IconDocumentxlsx.js +12 -0
- package/lib/module/icons/components/IconFilerequest.js +12 -0
- package/lib/module/icons/components/IconFilesend.js +12 -0
- package/lib/module/icons/components/IconFileshare.js +12 -0
- package/lib/module/icons/components/IconFindinpage.js +12 -0
- package/lib/module/icons/components/IconFolder.js +12 -0
- package/lib/module/icons/components/IconFolderbookmarks.js +12 -0
- package/lib/module/icons/components/IconFolderfavorites.js +12 -0
- package/lib/module/icons/components/IconFolderlocked.js +12 -0
- package/lib/module/icons/components/IconFoldermovefiles.js +12 -0
- package/lib/module/icons/components/IconFolderpublic.js +12 -0
- package/lib/module/icons/components/IconFolderrated.js +12 -0
- package/lib/module/icons/components/IconFolderrequest.js +12 -0
- package/lib/module/icons/components/IconForm.js +12 -0
- package/lib/module/icons/components/IconFormadd.js +12 -0
- package/lib/module/icons/components/IconForms.js +12 -0
- package/lib/module/icons/components/IconGraphincreasing.js +12 -0
- package/lib/module/icons/components/IconGraphlow.js +12 -0
- package/lib/module/icons/components/IconGraphtable.js +12 -0
- package/lib/module/icons/components/IconHealthreport.js +12 -0
- package/lib/module/icons/components/IconHubmode.js +12 -0
- package/lib/module/icons/components/IconInfrastructure.js +12 -0
- package/lib/module/icons/components/IconInterestlow.js +12 -0
- package/lib/module/icons/components/IconLte.js +12 -0
- package/lib/module/icons/components/IconNetworkfuture.js +12 -0
- package/lib/module/icons/components/IconPagesettings.js +12 -0
- package/lib/module/icons/components/IconPptxdoc.js +12 -0
- package/lib/module/icons/components/IconPreferrednumber.js +12 -0
- package/lib/module/icons/components/IconPremiumnumber.js +12 -0
- package/lib/module/icons/components/IconProjection.js +12 -0
- package/lib/module/icons/components/IconRequest.js +12 -0
- package/lib/module/icons/components/IconRoutestraffic.js +12 -0
- package/lib/module/icons/components/IconTechnology.js +12 -0
- package/lib/module/icons/components/IconVolte.js +12 -0
- package/lib/module/icons/components/IconVonr.js +12 -0
- package/lib/module/icons/components/IconVowifi.js +12 -0
- package/lib/module/icons/components/IconVpndata.js +12 -0
- package/lib/module/icons/components/index.js +73 -0
- package/lib/module/icons/registry.js +2 -2
- package/lib/module/{components/ProductMerchandisingCard → utils/GlassFill}/GlassFill.js +11 -3
- package/lib/module/{components/ProductMerchandisingCard → utils/GlassFill}/GlassFill.web.js +8 -4
- package/lib/module/utils/index.js +2 -1
- package/lib/module/utils/react-utils.js +115 -0
- package/lib/module/utils/shadow.js +194 -0
- package/lib/module/utils/web-platform-utils.js +58 -0
- package/lib/typescript/src/components/Accordion/Accordion.d.ts +7 -1
- package/lib/typescript/src/components/AccordionCheckbox/AccordionCheckbox.d.ts +7 -1
- package/lib/typescript/src/components/AccountCard/AccountCard.d.ts +7 -1
- package/lib/typescript/src/components/AllocationComparisonChart/AllocationComparisonChart.d.ts +7 -1
- package/lib/typescript/src/components/AreaLineChart/AreaLineChart.d.ts +8 -1
- package/lib/typescript/src/components/Badge/Badge.d.ts +32 -2
- package/lib/typescript/src/components/BenefitCard/BenefitCard.d.ts +33 -4
- package/lib/typescript/src/components/BrandChip/BrandChip.d.ts +7 -1
- package/lib/typescript/src/components/Button/Button.d.ts +7 -1
- package/lib/typescript/src/components/CardAdvisory/CardAdvisory.d.ts +7 -1
- package/lib/typescript/src/components/CardBankAccount/CardBankAccount.d.ts +7 -1
- package/lib/typescript/src/components/CardCTA/CardCTA.d.ts +27 -5
- package/lib/typescript/src/components/Carousel/Carousel.d.ts +11 -1
- package/lib/typescript/src/components/CarouselCardAccounts/CarouselCardAccounts.d.ts +57 -0
- package/lib/typescript/src/components/CircularProgressBar/CircularProgressBar.d.ts +7 -1
- package/lib/typescript/src/components/CircularProgressBarDoted/CircularProgressBarDoted.d.ts +7 -1
- package/lib/typescript/src/components/CircularRating/CircularRating.d.ts +7 -1
- package/lib/typescript/src/components/ClusterBubble/ClusterBubble.d.ts +7 -1
- package/lib/typescript/src/components/CompareTable/CompareTable.d.ts +7 -1
- package/lib/typescript/src/components/CoverageBarComparison/CoverageBarComparison.d.ts +7 -1
- package/lib/typescript/src/components/DonutChart/DonutChart.d.ts +7 -1
- package/lib/typescript/src/components/Dropdown/Dropdown.d.ts +7 -1
- package/lib/typescript/src/components/DropdownInput/DropdownInput.d.ts +6 -0
- package/lib/typescript/src/components/ExpandableCheckbox/ExpandableCheckbox.d.ts +7 -1
- package/lib/typescript/src/components/HoldingsCard/HoldingsCard.d.ts +7 -1
- package/lib/typescript/src/components/InstitutionBadge/InstitutionBadge.d.ts +7 -1
- package/lib/typescript/src/components/ListGroup/ListGroup.d.ts +7 -1
- package/lib/typescript/src/components/ListItem/ListItem.d.ts +7 -1
- package/lib/typescript/src/components/MetricLegendItem/MetricLegendItem.d.ts +7 -1
- package/lib/typescript/src/components/MonthlyStatusGrid/MonthlyStatusGrid.d.ts +14 -2
- package/lib/typescript/src/components/PoweredByLabel/PoweredByLabel.d.ts +7 -1
- package/lib/typescript/src/components/ProductMerchandisingCard/ProductMerchandisingCard.d.ts +7 -1
- package/lib/typescript/src/components/ProductOverview/ProductOverview.d.ts +7 -1
- package/lib/typescript/src/components/ProgressBadge/ProgressBadge.d.ts +7 -1
- package/lib/typescript/src/components/ProjectionMarker/ProjectionMarker.d.ts +7 -1
- package/lib/typescript/src/components/SavingsGoalSummary/SavingsGoalSummary.d.ts +11 -1
- package/lib/typescript/src/components/ScrollArea/ScrollArea.d.ts +77 -0
- package/lib/typescript/src/components/Section/Section.d.ts +7 -1
- package/lib/typescript/src/components/Slider/Slider.d.ts +6 -0
- package/lib/typescript/src/components/Stack/Stack.d.ts +81 -0
- package/lib/typescript/src/components/SummaryTile/SummaryTile.d.ts +7 -1
- package/lib/typescript/src/components/Table/Table.d.ts +139 -0
- package/lib/typescript/src/components/Text/Text.d.ts +16 -1
- package/lib/typescript/src/components/TextSegment/TextSegment.d.ts +16 -1
- package/lib/typescript/src/components/ThreadHero/ThreadHero.d.ts +7 -1
- package/lib/typescript/src/components/Title/Title.d.ts +17 -1
- package/lib/typescript/src/components/Toast/Toast.d.ts +7 -1
- package/lib/typescript/src/components/TransactionBubble/TransactionBubble.d.ts +7 -1
- package/lib/typescript/src/components/TransactionStatus/TransactionStatus.d.ts +7 -1
- package/lib/typescript/src/components/UpiHandle/UpiHandle.d.ts +7 -1
- package/lib/typescript/src/components/index.d.ts +6 -2
- package/lib/typescript/src/design-tokens/figma-modes.generated.d.ts +23 -15
- package/lib/typescript/src/icons/components/Icon4g.d.ts +3 -0
- package/lib/typescript/src/icons/components/Icon4gltedata.d.ts +3 -0
- package/lib/typescript/src/icons/components/Icon5g.d.ts +3 -0
- package/lib/typescript/src/icons/components/Icon5gdoubleplus.d.ts +3 -0
- package/lib/typescript/src/icons/components/Icon5gplus.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconAdblocker.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconAdblockplus.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconAnalytics.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconAnalyticsdata.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconAnalyticspiechart.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconAnalyticspiecharttree.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconAnalyticspiecharttwo.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconCompoundinterest.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconConsumptionaccounted.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconConsumptionaverage.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconConsumptionhigh.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconConsumptionlow.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconConsumptionunaccounted.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconCsvdoc.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDatabase.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDigitalecosystem.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDigitalselfservice.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDistribution.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDocument.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDocumentdoc.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDocumentjpg.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDocumentodt.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDocumentpdf.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDocumentpng.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDocumentraw.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDocumentrtf.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDocumentsettings.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDocumenttif.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDocumenttxt.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDocumentunknown.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDocumentxls.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconDocumentxlsx.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconFilerequest.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconFilesend.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconFileshare.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconFindinpage.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconFolder.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconFolderbookmarks.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconFolderfavorites.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconFolderlocked.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconFoldermovefiles.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconFolderpublic.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconFolderrated.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconFolderrequest.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconForm.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconFormadd.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconForms.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconGraphincreasing.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconGraphlow.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconGraphtable.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconHealthreport.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconHubmode.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconInfrastructure.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconInterestlow.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconLte.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconNetworkfuture.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconPagesettings.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconPptxdoc.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconPreferrednumber.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconPremiumnumber.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconProjection.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconRequest.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconRoutestraffic.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconTechnology.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconVolte.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconVonr.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconVowifi.d.ts +3 -0
- package/lib/typescript/src/icons/components/IconVpndata.d.ts +3 -0
- package/lib/typescript/src/icons/components/index.d.ts +73 -0
- package/lib/typescript/src/icons/registry.d.ts +1 -1
- package/lib/typescript/src/{components/ProductMerchandisingCard → utils/GlassFill}/GlassFill.d.ts +31 -3
- package/lib/typescript/src/{components/ProductMerchandisingCard → utils/GlassFill}/GlassFill.web.d.ts +18 -2
- package/lib/typescript/src/utils/index.d.ts +2 -0
- package/lib/typescript/src/utils/react-utils.d.ts +76 -0
- package/lib/typescript/src/utils/shadow.d.ts +72 -0
- package/lib/typescript/src/utils/web-platform-utils.d.ts +36 -0
- package/package.json +2 -1
- package/src/components/Accordion/Accordion.tsx +9 -2
- package/src/components/AccordionCheckbox/AccordionCheckbox.tsx +10 -3
- package/src/components/AccountCard/AccountCard.tsx +10 -3
- package/src/components/ActionFooter/ActionFooter.tsx +8 -26
- package/src/components/ActionTile/ActionTile.tsx +10 -10
- package/src/components/AllocationComparisonChart/AllocationComparisonChart.tsx +14 -4
- package/src/components/AmountInput/AmountInput.tsx +3 -3
- package/src/components/AreaLineChart/AreaLineChart.tsx +17 -7
- package/src/components/Attached/Attached.tsx +1 -1
- package/src/components/Avatar/Avatar.tsx +10 -10
- package/src/components/AvatarGroup/AvatarGroup.tsx +9 -9
- package/src/components/Badge/Badge.tsx +86 -17
- package/src/components/BenefitCard/BenefitCard.tsx +120 -27
- package/src/components/BottomNav/BottomNav.tsx +2 -2
- package/src/components/BottomNavItem/BottomNavItem.tsx +3 -3
- package/src/components/BrandChip/BrandChip.tsx +9 -3
- package/src/components/Button/Button.tsx +36 -19
- package/src/components/Card/Card.tsx +20 -20
- package/src/components/CardAdvisory/CardAdvisory.tsx +15 -8
- package/src/components/CardBankAccount/CardBankAccount.tsx +9 -2
- package/src/components/CardCTA/CardCTA.tsx +237 -64
- package/src/components/CardFeedback/CardFeedback.tsx +18 -18
- package/src/components/CardFinancialCondition/CardFinancialCondition.tsx +7 -10
- package/src/components/CardInsight/CardInsight.tsx +8 -4
- package/src/components/Carousel/Carousel.tsx +29 -12
- package/src/components/CarouselCardAccounts/CarouselCardAccounts.tsx +113 -0
- package/src/components/Checkbox/Checkbox.tsx +2 -8
- package/src/components/ChipGroup/ChipGroup.tsx +1 -1
- package/src/components/ChipSelect/ChipSelect.tsx +11 -11
- package/src/components/CircularProgressBar/CircularProgressBar.tsx +19 -9
- package/src/components/CircularProgressBarDoted/CircularProgressBarDoted.tsx +18 -11
- package/src/components/CircularRating/CircularRating.tsx +12 -5
- package/src/components/ClusterBubble/ClusterBubble.tsx +9 -2
- package/src/components/CompareTable/CompareTable.tsx +114 -66
- package/src/components/CoverageBarComparison/CoverageBarComparison.tsx +9 -2
- package/src/components/DebitCard/DebitCard.tsx +22 -22
- package/src/components/Disclaimer/Disclaimer.tsx +5 -5
- package/src/components/DonutChart/DonutChart.tsx +21 -48
- package/src/components/Drawer/Drawer.tsx +80 -71
- package/src/components/Dropdown/Dropdown.tsx +32 -30
- package/src/components/DropdownInput/DropdownInput.tsx +19 -19
- package/src/components/EmptyState/EmptyState.tsx +14 -14
- package/src/components/ExpandableCheckbox/ExpandableCheckbox.tsx +8 -1
- package/src/components/FilterBar/FilterBar.tsx +2 -2
- package/src/components/Form/Form.tsx +3 -3
- package/src/components/FormField/FormField.tsx +55 -15
- package/src/components/FullscreenModal/FullscreenModal.tsx +24 -24
- package/src/components/Gauge/Gauge.tsx +9 -9
- package/src/components/HoldingsCard/HoldingsCard.tsx +19 -12
- package/src/components/Icon/Icon.tsx +6 -6
- package/src/components/IconCapsule/IconCapsule.tsx +7 -7
- package/src/components/InputSearch/InputSearch.tsx +9 -9
- package/src/components/InstitutionBadge/InstitutionBadge.tsx +12 -8
- package/src/components/ListGroup/ListGroup.tsx +17 -10
- package/src/components/ListItem/ListItem.tsx +20 -13
- package/src/components/LottieIntroBlock/LottieIntroBlock.tsx +13 -16
- package/src/components/LottiePlayer/LottiePlayer.tsx +2 -2
- package/src/components/LottiePlayer/LottiePlayer.web.tsx +2 -2
- package/src/components/MediaCard/MediaCard.tsx +23 -23
- package/src/components/MessageField/MessageField.tsx +8 -16
- package/src/components/MetricLegendItem/MetricLegendItem.tsx +9 -2
- package/src/components/MoneyValue/MoneyValue.tsx +7 -7
- package/src/components/MonthlyStatusGrid/MonthlyStatusGrid.tsx +17 -2
- package/src/components/NavArrow/NavArrow.tsx +8 -8
- package/src/components/NoteInput/NoteInput.tsx +12 -12
- package/src/components/Nudge/Nudge.tsx +20 -20
- package/src/components/OTP/OTP.tsx +16 -16
- package/src/components/PageHero/PageHero.tsx +16 -16
- package/src/components/PaymentFeedback/PaymentFeedback.tsx +27 -27
- package/src/components/Popup/Popup.tsx +1 -1
- package/src/components/PoweredByLabel/PoweredByLabel.tsx +9 -2
- package/src/components/ProductMerchandisingCard/ProductMerchandisingCard.tsx +104 -37
- package/src/components/ProductOverview/ProductOverview.tsx +10 -3
- package/src/components/ProgressBadge/ProgressBadge.tsx +14 -8
- package/src/components/ProjectionMarker/ProjectionMarker.tsx +9 -2
- package/src/components/Radio/Radio.tsx +8 -9
- package/src/components/RechargeCard/RechargeCard.tsx +31 -31
- package/src/components/SavingsGoalSummary/SavingsGoalSummary.tsx +105 -13
- package/src/components/ScrollArea/ScrollArea.tsx +200 -0
- package/src/components/Section/Section.tsx +36 -29
- package/src/components/Slider/Slider.tsx +9 -2
- package/src/components/Stack/Stack.tsx +131 -0
- package/src/components/StatusHero/StatusHero.tsx +14 -14
- package/src/components/Stepper/Step.tsx +16 -18
- package/src/components/Stepper/StepLabel.tsx +16 -27
- package/src/components/Stepper/Stepper.tsx +3 -4
- package/src/components/SuggestiveSearch/SuggestiveSearch.tsx +20 -21
- package/src/components/SummaryTile/SummaryTile.tsx +9 -2
- package/src/components/SupportText/SupportText.tsx +6 -6
- package/src/components/SupportText/SupportTextIcon.tsx +2 -2
- package/src/components/Table/Table.tsx +449 -0
- package/src/components/Text/Text.tsx +28 -3
- package/src/components/TextInput/TextInput.tsx +21 -15
- package/src/components/TextSegment/TextSegment.tsx +27 -2
- package/src/components/ThreadHero/ThreadHero.tsx +27 -20
- package/src/components/Title/Title.tsx +50 -17
- package/src/components/Toast/Toast.tsx +24 -17
- package/src/components/Toggle/Toggle.tsx +5 -10
- package/src/components/Tooltip/Tooltip.tsx +12 -12
- package/src/components/TransactionBubble/TransactionBubble.tsx +22 -15
- package/src/components/TransactionDetails/TransactionDetails.tsx +10 -10
- package/src/components/TransactionStatus/TransactionStatus.tsx +18 -11
- package/src/components/UpiHandle/UpiHandle.tsx +24 -18
- package/src/components/index.ts +25 -2
- package/src/design-tokens/Coin Variables-variables-full.json +1 -1
- package/src/design-tokens/figma-modes.generated.ts +51 -42
- package/src/icons/components/Icon4g.tsx +11 -0
- package/src/icons/components/Icon4gltedata.tsx +11 -0
- package/src/icons/components/Icon5g.tsx +11 -0
- package/src/icons/components/Icon5gdoubleplus.tsx +11 -0
- package/src/icons/components/Icon5gplus.tsx +11 -0
- package/src/icons/components/IconAdblocker.tsx +11 -0
- package/src/icons/components/IconAdblockplus.tsx +11 -0
- package/src/icons/components/IconAnalytics.tsx +11 -0
- package/src/icons/components/IconAnalyticsdata.tsx +11 -0
- package/src/icons/components/IconAnalyticspiechart.tsx +11 -0
- package/src/icons/components/IconAnalyticspiecharttree.tsx +11 -0
- package/src/icons/components/IconAnalyticspiecharttwo.tsx +11 -0
- package/src/icons/components/IconCompoundinterest.tsx +11 -0
- package/src/icons/components/IconConsumptionaccounted.tsx +11 -0
- package/src/icons/components/IconConsumptionaverage.tsx +11 -0
- package/src/icons/components/IconConsumptionhigh.tsx +11 -0
- package/src/icons/components/IconConsumptionlow.tsx +11 -0
- package/src/icons/components/IconConsumptionunaccounted.tsx +11 -0
- package/src/icons/components/IconCsvdoc.tsx +11 -0
- package/src/icons/components/IconDatabase.tsx +11 -0
- package/src/icons/components/IconDigitalecosystem.tsx +11 -0
- package/src/icons/components/IconDigitalselfservice.tsx +11 -0
- package/src/icons/components/IconDistribution.tsx +11 -0
- package/src/icons/components/IconDocument.tsx +11 -0
- package/src/icons/components/IconDocumentdoc.tsx +11 -0
- package/src/icons/components/IconDocumentjpg.tsx +11 -0
- package/src/icons/components/IconDocumentodt.tsx +11 -0
- package/src/icons/components/IconDocumentpdf.tsx +11 -0
- package/src/icons/components/IconDocumentpng.tsx +11 -0
- package/src/icons/components/IconDocumentraw.tsx +11 -0
- package/src/icons/components/IconDocumentrtf.tsx +11 -0
- package/src/icons/components/IconDocumentsettings.tsx +11 -0
- package/src/icons/components/IconDocumenttif.tsx +11 -0
- package/src/icons/components/IconDocumenttxt.tsx +11 -0
- package/src/icons/components/IconDocumentunknown.tsx +11 -0
- package/src/icons/components/IconDocumentxls.tsx +11 -0
- package/src/icons/components/IconDocumentxlsx.tsx +11 -0
- package/src/icons/components/IconFilerequest.tsx +11 -0
- package/src/icons/components/IconFilesend.tsx +11 -0
- package/src/icons/components/IconFileshare.tsx +11 -0
- package/src/icons/components/IconFindinpage.tsx +11 -0
- package/src/icons/components/IconFolder.tsx +11 -0
- package/src/icons/components/IconFolderbookmarks.tsx +11 -0
- package/src/icons/components/IconFolderfavorites.tsx +11 -0
- package/src/icons/components/IconFolderlocked.tsx +11 -0
- package/src/icons/components/IconFoldermovefiles.tsx +11 -0
- package/src/icons/components/IconFolderpublic.tsx +11 -0
- package/src/icons/components/IconFolderrated.tsx +11 -0
- package/src/icons/components/IconFolderrequest.tsx +11 -0
- package/src/icons/components/IconForm.tsx +11 -0
- package/src/icons/components/IconFormadd.tsx +11 -0
- package/src/icons/components/IconForms.tsx +11 -0
- package/src/icons/components/IconGraphincreasing.tsx +11 -0
- package/src/icons/components/IconGraphlow.tsx +11 -0
- package/src/icons/components/IconGraphtable.tsx +11 -0
- package/src/icons/components/IconHealthreport.tsx +11 -0
- package/src/icons/components/IconHubmode.tsx +11 -0
- package/src/icons/components/IconInfrastructure.tsx +11 -0
- package/src/icons/components/IconInterestlow.tsx +11 -0
- package/src/icons/components/IconLte.tsx +11 -0
- package/src/icons/components/IconNetworkfuture.tsx +11 -0
- package/src/icons/components/IconPagesettings.tsx +11 -0
- package/src/icons/components/IconPptxdoc.tsx +11 -0
- package/src/icons/components/IconPreferrednumber.tsx +11 -0
- package/src/icons/components/IconPremiumnumber.tsx +11 -0
- package/src/icons/components/IconProjection.tsx +11 -0
- package/src/icons/components/IconRequest.tsx +11 -0
- package/src/icons/components/IconRoutestraffic.tsx +11 -0
- package/src/icons/components/IconTechnology.tsx +11 -0
- package/src/icons/components/IconVolte.tsx +11 -0
- package/src/icons/components/IconVonr.tsx +11 -0
- package/src/icons/components/IconVowifi.tsx +11 -0
- package/src/icons/components/IconVpndata.tsx +11 -0
- package/src/icons/components/index.ts +73 -0
- package/src/icons/registry.ts +293 -1
- package/src/{components/ProductMerchandisingCard → utils/GlassFill}/GlassFill.tsx +32 -3
- package/src/{components/ProductMerchandisingCard → utils/GlassFill}/GlassFill.web.tsx +25 -4
- package/src/utils/index.ts +2 -0
- package/src/utils/react-utils.ts +132 -0
- package/src/utils/shadow.ts +219 -0
- package/src/utils/web-platform-utils.ts +68 -0
- package/lib/commonjs/components/MediaCard/GlassFill.js +0 -62
- package/lib/commonjs/components/MediaCard/GlassFill.web.js +0 -48
- package/lib/module/components/MediaCard/GlassFill.js +0 -57
- package/lib/module/components/MediaCard/GlassFill.web.js +0 -43
- package/lib/typescript/src/components/MediaCard/GlassFill.d.ts +0 -47
- package/lib/typescript/src/components/MediaCard/GlassFill.web.d.ts +0 -20
- package/src/components/MediaCard/GlassFill.tsx +0 -89
- package/src/components/MediaCard/GlassFill.web.tsx +0 -53
|
@@ -133,7 +133,8 @@ function DonutChart({
|
|
|
133
133
|
style,
|
|
134
134
|
valueStyle,
|
|
135
135
|
labelStyle,
|
|
136
|
-
accessibilityLabel
|
|
136
|
+
accessibilityLabel,
|
|
137
|
+
disableTruncation
|
|
137
138
|
}) {
|
|
138
139
|
const {
|
|
139
140
|
modes: globalModes
|
|
@@ -170,17 +171,17 @@ function DonutChart({
|
|
|
170
171
|
const hasChildrenSlot = customCenterChildren.length > 0;
|
|
171
172
|
const showValueLabel = !hasChildrenSlot && shouldRenderText(value);
|
|
172
173
|
const showLabel = !hasChildrenSlot && shouldRenderText(label);
|
|
173
|
-
const valueColor = (0, _figmaVariablesResolver.getVariableByName)('
|
|
174
|
-
const valueFontFamily = (0, _figmaVariablesResolver.getVariableByName)('
|
|
175
|
-
const valueFontSize = toNumber((0, _figmaVariablesResolver.getVariableByName)('
|
|
176
|
-
const valueLineHeight = toNumber((0, _figmaVariablesResolver.getVariableByName)('
|
|
177
|
-
const valueFontWeight = toFontWeight((0, _figmaVariablesResolver.getVariableByName)('
|
|
178
|
-
const labelColor = (0, _figmaVariablesResolver.getVariableByName)('
|
|
179
|
-
const labelFontFamily = (0, _figmaVariablesResolver.getVariableByName)('
|
|
180
|
-
const labelFontSize = toNumber((0, _figmaVariablesResolver.getVariableByName)('
|
|
181
|
-
const labelLineHeight = toNumber((0, _figmaVariablesResolver.getVariableByName)('
|
|
182
|
-
const labelFontWeight = toFontWeight((0, _figmaVariablesResolver.getVariableByName)('
|
|
183
|
-
const textWrapGap = toNumber((0, _figmaVariablesResolver.getVariableByName)('
|
|
174
|
+
const valueColor = (0, _figmaVariablesResolver.getVariableByName)('value/fg', modes);
|
|
175
|
+
const valueFontFamily = (0, _figmaVariablesResolver.getVariableByName)('value/fontFamily', modes);
|
|
176
|
+
const valueFontSize = toNumber((0, _figmaVariablesResolver.getVariableByName)('value/fontSize', modes), 29);
|
|
177
|
+
const valueLineHeight = toNumber((0, _figmaVariablesResolver.getVariableByName)('value/lineHeight', modes), 29);
|
|
178
|
+
const valueFontWeight = toFontWeight((0, _figmaVariablesResolver.getVariableByName)('value/fontWeight', modes), '900');
|
|
179
|
+
const labelColor = (0, _figmaVariablesResolver.getVariableByName)('label/fg', modes);
|
|
180
|
+
const labelFontFamily = (0, _figmaVariablesResolver.getVariableByName)('label/fontFamily', modes);
|
|
181
|
+
const labelFontSize = toNumber((0, _figmaVariablesResolver.getVariableByName)('label/fontSize', modes), 12);
|
|
182
|
+
const labelLineHeight = toNumber((0, _figmaVariablesResolver.getVariableByName)('label/lineHeight', modes), 15.6);
|
|
183
|
+
const labelFontWeight = toFontWeight((0, _figmaVariablesResolver.getVariableByName)('label/fontWeight', modes), '400');
|
|
184
|
+
const textWrapGap = toNumber((0, _figmaVariablesResolver.getVariableByName)('textWrap/gap', modes), 7);
|
|
184
185
|
const containerStyle = {
|
|
185
186
|
alignItems: 'center',
|
|
186
187
|
height: size,
|
|
@@ -231,7 +232,7 @@ function DonutChart({
|
|
|
231
232
|
fontWeight: valueFontWeight,
|
|
232
233
|
textAlign: 'center'
|
|
233
234
|
}, valueStyle],
|
|
234
|
-
|
|
235
|
+
...(0, _reactUtils.resolveTruncation)(disableTruncation, 1),
|
|
235
236
|
children: value
|
|
236
237
|
}) : null, showLabel ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
237
238
|
style: [{
|
|
@@ -242,7 +243,7 @@ function DonutChart({
|
|
|
242
243
|
fontWeight: labelFontWeight,
|
|
243
244
|
textAlign: 'center'
|
|
244
245
|
}, labelStyle],
|
|
245
|
-
|
|
246
|
+
...(0, _reactUtils.resolveTruncation)(disableTruncation, 1),
|
|
246
247
|
children: label
|
|
247
248
|
}) : null]
|
|
248
249
|
}) : null]
|
|
@@ -10,6 +10,7 @@ var _reactNativeGestureHandler = require("react-native-gesture-handler");
|
|
|
10
10
|
var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
|
|
11
11
|
var _figmaVariablesResolver = require("../../design-tokens/figma-variables-resolver");
|
|
12
12
|
var _reactUtils = require("../../utils/react-utils");
|
|
13
|
+
var _shadow = require("../../utils/shadow");
|
|
13
14
|
var _Overlay = _interopRequireDefault(require("../Overlay/Overlay"));
|
|
14
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
16
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -309,28 +310,29 @@ function DrawerInner({
|
|
|
309
310
|
});
|
|
310
311
|
|
|
311
312
|
// Design Tokens
|
|
312
|
-
const backgroundColor = (0, _figmaVariablesResolver.getVariableByName)('drawer/background', modes)
|
|
313
|
-
const radius = (0, _figmaVariablesResolver.getVariableByName)('drawer/radius/top', modes)
|
|
313
|
+
const backgroundColor = (0, _figmaVariablesResolver.getVariableByName)('drawer/background', modes);
|
|
314
|
+
const radius = (0, _figmaVariablesResolver.getVariableByName)('drawer/radius/top', modes);
|
|
314
315
|
|
|
315
316
|
// Handle
|
|
316
|
-
const handleColor = (0, _figmaVariablesResolver.getVariableByName)('drawer/handlebar/background', modes)
|
|
317
|
-
const handleWidth = (0, _figmaVariablesResolver.getVariableByName)('drawer/handlebar/width', modes)
|
|
318
|
-
const handleHeight = (0, _figmaVariablesResolver.getVariableByName)('drawer/handlebar/height', modes)
|
|
319
|
-
const handleRadius = (0, _figmaVariablesResolver.getVariableByName)('drawer/handlebar/radius', modes)
|
|
317
|
+
const handleColor = (0, _figmaVariablesResolver.getVariableByName)('drawer/handlebar/background', modes);
|
|
318
|
+
const handleWidth = (0, _figmaVariablesResolver.getVariableByName)('drawer/handlebar/width', modes);
|
|
319
|
+
const handleHeight = (0, _figmaVariablesResolver.getVariableByName)('drawer/handlebar/height', modes);
|
|
320
|
+
const handleRadius = (0, _figmaVariablesResolver.getVariableByName)('drawer/handlebar/radius', modes);
|
|
320
321
|
|
|
321
322
|
// Padding
|
|
322
|
-
const paddingLeft = (0, _figmaVariablesResolver.getVariableByName)('drawer/padding/left', modes)
|
|
323
|
-
const paddingRight = (0, _figmaVariablesResolver.getVariableByName)('drawer/padding/right', modes)
|
|
324
|
-
const paddingBottom = (0, _figmaVariablesResolver.getVariableByName)('drawer/padding/bottom', modes)
|
|
325
|
-
const drawerGap = (0, _figmaVariablesResolver.getVariableByName)('drawer/gap', modes)
|
|
326
|
-
// Note: drawer/padding/top is 0 in tokens, but we keep the 8px visual spacing for the handle as requested.
|
|
323
|
+
const paddingLeft = (0, _figmaVariablesResolver.getVariableByName)('drawer/padding/left', modes);
|
|
324
|
+
const paddingRight = (0, _figmaVariablesResolver.getVariableByName)('drawer/padding/right', modes);
|
|
325
|
+
const paddingBottom = (0, _figmaVariablesResolver.getVariableByName)('drawer/padding/bottom', modes);
|
|
326
|
+
const drawerGap = (0, _figmaVariablesResolver.getVariableByName)('drawer/gap', modes);
|
|
327
327
|
|
|
328
328
|
// Title
|
|
329
|
-
const titleColor = (0, _figmaVariablesResolver.getVariableByName)('drawer/title/color', modes)
|
|
330
|
-
const titleSize = (0, _figmaVariablesResolver.getVariableByName)('drawer/title/fontSize', modes)
|
|
331
|
-
const titleWeight = (0, _figmaVariablesResolver.getVariableByName)('drawer/title/fontWeight', modes)
|
|
332
|
-
const titleLineHeight = (0, _figmaVariablesResolver.getVariableByName)('drawer/title/lineHeight', modes)
|
|
333
|
-
const
|
|
329
|
+
const titleColor = (0, _figmaVariablesResolver.getVariableByName)('drawer/title/color', modes);
|
|
330
|
+
const titleSize = (0, _figmaVariablesResolver.getVariableByName)('drawer/title/fontSize', modes);
|
|
331
|
+
const titleWeight = (0, _figmaVariablesResolver.getVariableByName)('drawer/title/fontWeight', modes);
|
|
332
|
+
const titleLineHeight = (0, _figmaVariablesResolver.getVariableByName)('drawer/title/lineHeight', modes);
|
|
333
|
+
const titleWrapPaddingTop = (0, _figmaVariablesResolver.getVariableByName)('drawer/titleWrap/padding/top', modes);
|
|
334
|
+
const titleWrapPaddingBottom = (0, _figmaVariablesResolver.getVariableByName)('drawer/titleWrap/padding/bottom', modes);
|
|
335
|
+
const titleWrapPaddingHorizontal = (0, _figmaVariablesResolver.getVariableByName)('drawer/titleWrap/padding/horizontal', modes);
|
|
334
336
|
|
|
335
337
|
// Drop shadow — Figma layers two shadows (primary + secondary) sharing
|
|
336
338
|
// the same offsetY/blur but with their own offsetX and color.
|
|
@@ -341,26 +343,12 @@ function DrawerInner({
|
|
|
341
343
|
const shadowSecondaryOffsetX = (0, _figmaVariablesResolver.getVariableByName)('drawer/shadow/secondary/offsetX', modes) ?? 0;
|
|
342
344
|
const shadowSecondaryColor = (0, _figmaVariablesResolver.getVariableByName)('drawer/shadow/secondary/color', modes) ?? 'rgba(12, 13, 16, 0.12)';
|
|
343
345
|
|
|
344
|
-
// Cross-platform shadow
|
|
345
|
-
//
|
|
346
|
-
//
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
},
|
|
351
|
-
ios: {
|
|
352
|
-
shadowColor: shadowPrimaryColor,
|
|
353
|
-
shadowOffset: {
|
|
354
|
-
width: shadowPrimaryOffsetX,
|
|
355
|
-
height: shadowPrimaryOffsetY
|
|
356
|
-
},
|
|
357
|
-
shadowOpacity: 1,
|
|
358
|
-
shadowRadius: shadowPrimaryBlur / 2
|
|
359
|
-
},
|
|
360
|
-
android: {
|
|
361
|
-
elevation: 16
|
|
362
|
-
},
|
|
363
|
-
default: {}
|
|
346
|
+
// Cross-platform shadow via the unified helper. Figma layers two shadows
|
|
347
|
+
// (secondary + primary) which stack natively as a single multi-layer
|
|
348
|
+
// boxShadow on web + RN 0.76+. On older RN the helper falls back to the most
|
|
349
|
+
// prominent layer (iOS shadow*) / a fixed elevation (Android).
|
|
350
|
+
const shadowStyle = (0, _shadow.boxShadow)(`${shadowSecondaryOffsetX}px ${shadowPrimaryOffsetY}px ${shadowPrimaryBlur}px 0px ${shadowSecondaryColor}, ` + `${shadowPrimaryOffsetX}px ${shadowPrimaryOffsetY}px ${shadowPrimaryBlur}px 0px ${shadowPrimaryColor}`, {
|
|
351
|
+
elevation: 16
|
|
364
352
|
});
|
|
365
353
|
const defaultAccessibilityLabel = accessibilityLabel || title || 'Drawer';
|
|
366
354
|
return (
|
|
@@ -405,30 +393,42 @@ function DrawerInner({
|
|
|
405
393
|
borderTopRightRadius: radius,
|
|
406
394
|
paddingLeft,
|
|
407
395
|
paddingRight,
|
|
408
|
-
paddingBottom
|
|
409
|
-
rowGap: drawerGap
|
|
396
|
+
paddingBottom
|
|
410
397
|
}],
|
|
411
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.
|
|
412
|
-
style:
|
|
413
|
-
|
|
414
|
-
}
|
|
415
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
416
|
-
style: [{
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
398
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
399
|
+
style: {
|
|
400
|
+
marginBottom: drawerGap
|
|
401
|
+
},
|
|
402
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
403
|
+
style: [styles.handleArea, !title && !header && {
|
|
404
|
+
marginBottom: drawerGap
|
|
405
|
+
}],
|
|
406
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
407
|
+
style: [{
|
|
408
|
+
backgroundColor: handleColor,
|
|
409
|
+
width: handleWidth,
|
|
410
|
+
height: handleHeight,
|
|
411
|
+
borderRadius: handleRadius
|
|
412
|
+
}]
|
|
413
|
+
})
|
|
414
|
+
}), header, title && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
415
|
+
style: {
|
|
416
|
+
paddingTop: titleWrapPaddingTop,
|
|
417
|
+
paddingBottom: titleWrapPaddingBottom,
|
|
418
|
+
paddingHorizontal: titleWrapPaddingHorizontal,
|
|
419
|
+
alignItems: 'center'
|
|
420
|
+
},
|
|
421
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
422
|
+
style: [{
|
|
423
|
+
color: titleColor,
|
|
424
|
+
fontSize: titleSize,
|
|
425
|
+
fontWeight: titleWeight,
|
|
426
|
+
lineHeight: titleLineHeight,
|
|
427
|
+
textAlign: 'center'
|
|
428
|
+
}],
|
|
429
|
+
children: title
|
|
430
|
+
})
|
|
431
|
+
})]
|
|
432
432
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(AnimatedScrollView, {
|
|
433
433
|
ref: scrollRef,
|
|
434
434
|
style: [styles.content, contentStyle],
|
|
@@ -480,7 +480,7 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
480
480
|
},
|
|
481
481
|
handleArea: {
|
|
482
482
|
alignItems: 'center',
|
|
483
|
-
|
|
483
|
+
marginTop: 8,
|
|
484
484
|
width: '100%'
|
|
485
485
|
},
|
|
486
486
|
content: {
|
|
@@ -11,6 +11,7 @@ var _reactNative = require("react-native");
|
|
|
11
11
|
var _figmaVariablesResolver = require("../../design-tokens/figma-variables-resolver");
|
|
12
12
|
var _JFSThemeProvider = require("../../design-tokens/JFSThemeProvider");
|
|
13
13
|
var _reactUtils = require("../../utils/react-utils");
|
|
14
|
+
var _shadow = require("../../utils/shadow");
|
|
14
15
|
var _Icon = _interopRequireDefault(require("../../icons/Icon"));
|
|
15
16
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
17
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -29,17 +30,17 @@ function useDropdownItemTokens(modes) {
|
|
|
29
30
|
const idleBackground = (0, _figmaVariablesResolver.getVariableByName)('dropdownItem/background', {
|
|
30
31
|
...modes,
|
|
31
32
|
'Dropdown Item State': 'Idle'
|
|
32
|
-
})
|
|
33
|
+
});
|
|
33
34
|
const selectedBackground = (0, _figmaVariablesResolver.getVariableByName)('dropdownItem/background', {
|
|
34
35
|
...modes,
|
|
35
36
|
'Dropdown Item State': 'Selected'
|
|
36
|
-
})
|
|
37
|
-
const foreground = (0, _figmaVariablesResolver.getVariableByName)('dropdownItem/foreground', modes)
|
|
38
|
-
const fontFamily = (0, _figmaVariablesResolver.getVariableByName)('dropdownItem/fontFamily', modes)
|
|
39
|
-
const fontSize = parseInt((0, _figmaVariablesResolver.getVariableByName)('dropdownItem/fontSize', modes), 10)
|
|
40
|
-
const fontWeight = (0, _figmaVariablesResolver.getVariableByName)('dropdownItem/fontWeight', modes)
|
|
41
|
-
const lineHeight = parseInt((0, _figmaVariablesResolver.getVariableByName)('dropdownItem/lineHeight', modes), 10)
|
|
42
|
-
const gap = parseInt((0, _figmaVariablesResolver.getVariableByName)('dropdownItem/gap', modes), 10)
|
|
37
|
+
});
|
|
38
|
+
const foreground = (0, _figmaVariablesResolver.getVariableByName)('dropdownItem/foreground', modes);
|
|
39
|
+
const fontFamily = (0, _figmaVariablesResolver.getVariableByName)('dropdownItem/fontFamily', modes);
|
|
40
|
+
const fontSize = parseInt((0, _figmaVariablesResolver.getVariableByName)('dropdownItem/fontSize', modes), 10);
|
|
41
|
+
const fontWeight = (0, _figmaVariablesResolver.getVariableByName)('dropdownItem/fontWeight', modes);
|
|
42
|
+
const lineHeight = parseInt((0, _figmaVariablesResolver.getVariableByName)('dropdownItem/lineHeight', modes), 10);
|
|
43
|
+
const gap = parseInt((0, _figmaVariablesResolver.getVariableByName)('dropdownItem/gap', modes), 10);
|
|
43
44
|
const paddingHorizontal = parseInt((0, _figmaVariablesResolver.getVariableByName)('dropdownItem/padding/horizontal', modes), 10) || 12;
|
|
44
45
|
const paddingVertical = parseInt((0, _figmaVariablesResolver.getVariableByName)('dropdownItem/padding/vertical', modes), 10) || 12;
|
|
45
46
|
return {
|
|
@@ -69,7 +70,8 @@ function DropdownItem({
|
|
|
69
70
|
style,
|
|
70
71
|
labelStyle,
|
|
71
72
|
accessibilityLabel,
|
|
72
|
-
accessibilityHint
|
|
73
|
+
accessibilityHint,
|
|
74
|
+
disableTruncation
|
|
73
75
|
}) {
|
|
74
76
|
const {
|
|
75
77
|
modes: globalModes
|
|
@@ -138,7 +140,7 @@ function DropdownItem({
|
|
|
138
140
|
...a11yProps,
|
|
139
141
|
children: [processedLeading, children != null ? children : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
140
142
|
style: [textStyle, labelStyle],
|
|
141
|
-
|
|
143
|
+
...(0, _reactUtils.resolveTruncation)(disableTruncation, 1),
|
|
142
144
|
children: label
|
|
143
145
|
}), customTrailing, showDefaultCheck && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.default, {
|
|
144
146
|
name: "ic_confirm",
|
|
@@ -172,12 +174,12 @@ function Dropdown({
|
|
|
172
174
|
...globalModes,
|
|
173
175
|
...propModes
|
|
174
176
|
}), [globalModes, propModes]);
|
|
175
|
-
const radius = parseInt((0, _figmaVariablesResolver.getVariableByName)('dropdown/radius', modes), 10)
|
|
176
|
-
const background = (0, _figmaVariablesResolver.getVariableByName)('dropdown/background', modes)
|
|
177
|
-
const shadowColor = (0, _figmaVariablesResolver.getVariableByName)('dropdown/shadow/color', modes)
|
|
178
|
-
const shadowOffsetX = parseInt((0, _figmaVariablesResolver.getVariableByName)('dropdown/shadow/offsetX', modes), 10)
|
|
179
|
-
const shadowOffsetY = parseInt((0, _figmaVariablesResolver.getVariableByName)('dropdown/shadow/offsetY', modes), 10)
|
|
180
|
-
const shadowBlur = parseInt((0, _figmaVariablesResolver.getVariableByName)('dropdown/shadow/blur', modes), 10)
|
|
177
|
+
const radius = parseInt((0, _figmaVariablesResolver.getVariableByName)('dropdown/radius', modes), 10);
|
|
178
|
+
const background = (0, _figmaVariablesResolver.getVariableByName)('dropdown/background', modes);
|
|
179
|
+
const shadowColor = (0, _figmaVariablesResolver.getVariableByName)('dropdown/shadow/color', modes);
|
|
180
|
+
const shadowOffsetX = parseInt((0, _figmaVariablesResolver.getVariableByName)('dropdown/shadow/offsetX', modes), 10);
|
|
181
|
+
const shadowOffsetY = parseInt((0, _figmaVariablesResolver.getVariableByName)('dropdown/shadow/offsetY', modes), 10);
|
|
182
|
+
const shadowBlur = parseInt((0, _figmaVariablesResolver.getVariableByName)('dropdown/shadow/blur', modes), 10);
|
|
181
183
|
|
|
182
184
|
// Shadow lives on the OUTER view, which must NOT set `overflow: 'hidden'`.
|
|
183
185
|
// On native, clipping a view also clips its shadow (iOS clips the layer
|
|
@@ -186,18 +188,16 @@ function Dropdown({
|
|
|
186
188
|
// get cut off. The rounded-corner clipping is moved to a separate inner
|
|
187
189
|
// view below.
|
|
188
190
|
//
|
|
189
|
-
// The `boxShadow`
|
|
190
|
-
//
|
|
191
|
-
//
|
|
192
|
-
// `shadow*` / `elevation`
|
|
193
|
-
//
|
|
194
|
-
//
|
|
195
|
-
// `elevation` is also undesirable here because it ignores the shadow color
|
|
196
|
-
// and only paints a generic gray shadow.
|
|
191
|
+
// The unified `boxShadow` helper is the single source of truth so the
|
|
192
|
+
// designed color/offset/blur are honored on iOS, Android AND web. On RN
|
|
193
|
+
// 0.76+ / web it emits the spec `boxShadow` prop; on older RN it translates
|
|
194
|
+
// to the legacy `shadow*` (iOS) / `elevation` (Android) API. We intentionally
|
|
195
|
+
// do NOT also set the legacy props manually on the supported path: those
|
|
196
|
+
// would stack a second shadow.
|
|
197
197
|
const shadowStyle = {
|
|
198
198
|
backgroundColor: background,
|
|
199
199
|
borderRadius: radius,
|
|
200
|
-
boxShadow
|
|
200
|
+
...(0, _shadow.boxShadow)(`${shadowOffsetX}px ${shadowOffsetY}px ${shadowBlur}px 0px ${shadowColor}`)
|
|
201
201
|
};
|
|
202
202
|
|
|
203
203
|
// Inner view carries the rounded corners + clipping so list/scroll content
|
|
@@ -34,8 +34,8 @@ const IS_WEB = _reactNative.Platform.OS === 'web';
|
|
|
34
34
|
|
|
35
35
|
function useChevronTokens(modes) {
|
|
36
36
|
return (0, _react.useMemo)(() => {
|
|
37
|
-
const iconSize = parseInt((0, _figmaVariablesResolver.getVariableByName)('input/iconSize', modes), 10)
|
|
38
|
-
const iconColor = (0, _figmaVariablesResolver.getVariableByName)('iconButton/icon/color', modes)
|
|
37
|
+
const iconSize = parseInt((0, _figmaVariablesResolver.getVariableByName)('input/iconSize', modes), 10);
|
|
38
|
+
const iconColor = (0, _figmaVariablesResolver.getVariableByName)('iconButton/icon/color', modes);
|
|
39
39
|
return {
|
|
40
40
|
iconSize,
|
|
41
41
|
iconColor
|
|
@@ -52,22 +52,22 @@ function toNumber(value, fallback) {
|
|
|
52
52
|
}
|
|
53
53
|
function useFormFieldTokens(modes) {
|
|
54
54
|
return (0, _react.useMemo)(() => {
|
|
55
|
-
const labelColor = (0, _figmaVariablesResolver.getVariableByName)('formField/label/color', modes)
|
|
56
|
-
const labelFontFamily = (0, _figmaVariablesResolver.getVariableByName)('formField/label/fontFamily', modes)
|
|
55
|
+
const labelColor = (0, _figmaVariablesResolver.getVariableByName)('formField/label/color', modes);
|
|
56
|
+
const labelFontFamily = (0, _figmaVariablesResolver.getVariableByName)('formField/label/fontFamily', modes);
|
|
57
57
|
const labelFontSize = toNumber((0, _figmaVariablesResolver.getVariableByName)('formField/label/fontSize', modes), 14);
|
|
58
58
|
const labelLineHeight = toNumber((0, _figmaVariablesResolver.getVariableByName)('formField/label/lineHeight', modes), 17);
|
|
59
|
-
const labelFontWeight = (0, _figmaVariablesResolver.getVariableByName)('formField/label/fontWeight', modes)
|
|
59
|
+
const labelFontWeight = (0, _figmaVariablesResolver.getVariableByName)('formField/label/fontWeight', modes);
|
|
60
60
|
const gap = toNumber((0, _figmaVariablesResolver.getVariableByName)('formField/gap', modes), 8);
|
|
61
61
|
const inputPaddingH = toNumber((0, _figmaVariablesResolver.getVariableByName)('formField/input/padding/horizontal', modes), 12);
|
|
62
62
|
const inputGap = toNumber((0, _figmaVariablesResolver.getVariableByName)('formField/input/gap', modes), 8);
|
|
63
63
|
const inputRadius = toNumber((0, _figmaVariablesResolver.getVariableByName)('formField/input/radius', modes), 8);
|
|
64
|
-
const inputBackground = (0, _figmaVariablesResolver.getVariableByName)('formField/input/background', modes)
|
|
64
|
+
const inputBackground = (0, _figmaVariablesResolver.getVariableByName)('formField/input/background', modes);
|
|
65
65
|
const inputFontSize = toNumber((0, _figmaVariablesResolver.getVariableByName)('formField/input/label/fontSize', modes), 16);
|
|
66
66
|
const inputLineHeight = toNumber((0, _figmaVariablesResolver.getVariableByName)('formField/input/label/lineHeight', modes), 45);
|
|
67
|
-
const inputFontFamily = (0, _figmaVariablesResolver.getVariableByName)('formField/input/label/fontFamily', modes)
|
|
68
|
-
const inputFontWeight = (0, _figmaVariablesResolver.getVariableByName)('formField/input/label/fontWeight', modes)
|
|
69
|
-
const inputTextColor = (0, _figmaVariablesResolver.getVariableByName)('states/formField/input/label/color', modes) || (0, _figmaVariablesResolver.getVariableByName)('formField/input/label/color', modes)
|
|
70
|
-
const inputBorderColor = (0, _figmaVariablesResolver.getVariableByName)('states/formField/input/border/color', modes) || (0, _figmaVariablesResolver.getVariableByName)('formField/input/border/color', modes)
|
|
67
|
+
const inputFontFamily = (0, _figmaVariablesResolver.getVariableByName)('formField/input/label/fontFamily', modes);
|
|
68
|
+
const inputFontWeight = (0, _figmaVariablesResolver.getVariableByName)('formField/input/label/fontWeight', modes);
|
|
69
|
+
const inputTextColor = (0, _figmaVariablesResolver.getVariableByName)('states/formField/input/label/color', modes) || (0, _figmaVariablesResolver.getVariableByName)('formField/input/label/color', modes);
|
|
70
|
+
const inputBorderColor = (0, _figmaVariablesResolver.getVariableByName)('states/formField/input/border/color', modes) || (0, _figmaVariablesResolver.getVariableByName)('formField/input/border/color', modes);
|
|
71
71
|
// Figma spec: 1.5px. Using parseFloat (via toNumber) preserves the
|
|
72
72
|
// fractional value — parseInt was truncating it to 1, leaving the
|
|
73
73
|
// resolved row height ~1px shorter than the Figma reference.
|
|
@@ -161,7 +161,8 @@ const DropdownInput = /*#__PURE__*/(0, _react.forwardRef)(function DropdownInput
|
|
|
161
161
|
accessibilityLabel,
|
|
162
162
|
accessibilityHint,
|
|
163
163
|
onFocus,
|
|
164
|
-
onBlur
|
|
164
|
+
onBlur,
|
|
165
|
+
disableTruncation
|
|
165
166
|
}, ref) {
|
|
166
167
|
// ---------------- Modes ----------------
|
|
167
168
|
const {
|
|
@@ -548,7 +549,7 @@ const DropdownInput = /*#__PURE__*/(0, _react.forwardRef)(function DropdownInput
|
|
|
548
549
|
style: [valueTextStyle, !hasValue && {
|
|
549
550
|
color: placeholderColor
|
|
550
551
|
}],
|
|
551
|
-
|
|
552
|
+
...(0, _reactUtils.resolveTruncation)(disableTruncation, 1),
|
|
552
553
|
children: displayLabel
|
|
553
554
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
554
555
|
accessibilityElementsHidden: true,
|
|
@@ -38,26 +38,26 @@ function EmptyState({
|
|
|
38
38
|
};
|
|
39
39
|
|
|
40
40
|
// Container Tokens
|
|
41
|
-
const gap = (0, _figmaVariablesResolver.getVariableByName)('emptyState/gap', modes)
|
|
42
|
-
const padding = (0, _figmaVariablesResolver.getVariableByName)('emptyState/padding', modes)
|
|
43
|
-
const radius = (0, _figmaVariablesResolver.getVariableByName)('emptyState/radius', modes)
|
|
41
|
+
const gap = (0, _figmaVariablesResolver.getVariableByName)('emptyState/gap', modes);
|
|
42
|
+
const padding = (0, _figmaVariablesResolver.getVariableByName)('emptyState/padding', modes);
|
|
43
|
+
const radius = (0, _figmaVariablesResolver.getVariableByName)('emptyState/radius', modes);
|
|
44
44
|
|
|
45
45
|
// Content Wrap Tokens
|
|
46
|
-
const contentGap = (0, _figmaVariablesResolver.getVariableByName)('emptyState/content/gap', modes)
|
|
46
|
+
const contentGap = (0, _figmaVariablesResolver.getVariableByName)('emptyState/content/gap', modes);
|
|
47
47
|
|
|
48
48
|
// Title Tokens
|
|
49
|
-
const titleColor = (0, _figmaVariablesResolver.getVariableByName)('emptyState/title/color', modes)
|
|
50
|
-
const titleFontSize = (0, _figmaVariablesResolver.getVariableByName)('emptyState/title/fontSize', modes)
|
|
51
|
-
const titleFontFamily = (0, _figmaVariablesResolver.getVariableByName)('emptyState/title/fontFamily', modes)
|
|
52
|
-
const titleLineHeight = (0, _figmaVariablesResolver.getVariableByName)('emptyState/title/lineHeight', modes)
|
|
53
|
-
const titleFontWeight = (0, _figmaVariablesResolver.getVariableByName)('emptyState/title/fontWeight', modes)
|
|
49
|
+
const titleColor = (0, _figmaVariablesResolver.getVariableByName)('emptyState/title/color', modes);
|
|
50
|
+
const titleFontSize = (0, _figmaVariablesResolver.getVariableByName)('emptyState/title/fontSize', modes);
|
|
51
|
+
const titleFontFamily = (0, _figmaVariablesResolver.getVariableByName)('emptyState/title/fontFamily', modes);
|
|
52
|
+
const titleLineHeight = (0, _figmaVariablesResolver.getVariableByName)('emptyState/title/lineHeight', modes);
|
|
53
|
+
const titleFontWeight = (0, _figmaVariablesResolver.getVariableByName)('emptyState/title/fontWeight', modes);
|
|
54
54
|
|
|
55
55
|
// Body Tokens
|
|
56
|
-
const bodyColor = (0, _figmaVariablesResolver.getVariableByName)('emptyState/body/color', modes)
|
|
57
|
-
const bodyFontSize = (0, _figmaVariablesResolver.getVariableByName)('emptyState/body/fontSize', modes)
|
|
58
|
-
const bodyFontFamily = (0, _figmaVariablesResolver.getVariableByName)('emptyState/body/fontFamily', modes)
|
|
59
|
-
const bodyLineHeight = (0, _figmaVariablesResolver.getVariableByName)('emptyState/body/lineHeight', modes)
|
|
60
|
-
const bodyFontWeight = (0, _figmaVariablesResolver.getVariableByName)('emptyState/body/fontWeight', modes)
|
|
56
|
+
const bodyColor = (0, _figmaVariablesResolver.getVariableByName)('emptyState/body/color', modes);
|
|
57
|
+
const bodyFontSize = (0, _figmaVariablesResolver.getVariableByName)('emptyState/body/fontSize', modes);
|
|
58
|
+
const bodyFontFamily = (0, _figmaVariablesResolver.getVariableByName)('emptyState/body/fontFamily', modes);
|
|
59
|
+
const bodyLineHeight = (0, _figmaVariablesResolver.getVariableByName)('emptyState/body/lineHeight', modes);
|
|
60
|
+
const bodyFontWeight = (0, _figmaVariablesResolver.getVariableByName)('emptyState/body/fontWeight', modes);
|
|
61
61
|
const containerStyle = {
|
|
62
62
|
flexDirection: 'column',
|
|
63
63
|
alignItems: 'center',
|
|
@@ -64,6 +64,7 @@ function ExpandableCheckbox({
|
|
|
64
64
|
readMoreLabel = 'Read more',
|
|
65
65
|
readLessLabel = 'Read less',
|
|
66
66
|
collapsedLines = 1,
|
|
67
|
+
disableTruncation = false,
|
|
67
68
|
modes = _reactUtils.EMPTY_MODES,
|
|
68
69
|
style,
|
|
69
70
|
labelStyle,
|
|
@@ -136,7 +137,7 @@ function ExpandableCheckbox({
|
|
|
136
137
|
}), [modes]);
|
|
137
138
|
const a11yLabel = accessibilityLabel ?? (typeof label === 'string' ? label : undefined);
|
|
138
139
|
const buttonLabel = isExpanded ? readLessLabel : readMoreLabel;
|
|
139
|
-
const labelNumberOfLinesProps = !isExpanded && collapsedLines > 0 ? {
|
|
140
|
+
const labelNumberOfLinesProps = !disableTruncation && !isExpanded && collapsedLines > 0 ? {
|
|
140
141
|
numberOfLines: collapsedLines,
|
|
141
142
|
ellipsizeMode: 'tail'
|
|
142
143
|
} : null;
|
|
@@ -49,8 +49,8 @@ function FilterBar({
|
|
|
49
49
|
borderColor: isFocused ? '#222' : 'transparent'
|
|
50
50
|
};
|
|
51
51
|
// Resolve container tokens
|
|
52
|
-
const paddingHorizontal = (0, _figmaVariablesResolver.getVariableByName)('filterBar/padding/horizontal', modes)
|
|
53
|
-
const paddingVertical = (0, _figmaVariablesResolver.getVariableByName)('filterBar/padding/vertical', modes)
|
|
52
|
+
const paddingHorizontal = (0, _figmaVariablesResolver.getVariableByName)('filterBar/padding/horizontal', modes);
|
|
53
|
+
const paddingVertical = (0, _figmaVariablesResolver.getVariableByName)('filterBar/padding/vertical', modes);
|
|
54
54
|
const resolvedAccessibilityLabel = accessibilityLabel || 'Search filter';
|
|
55
55
|
const containerStyle = {
|
|
56
56
|
flexDirection: 'column',
|
|
@@ -62,9 +62,9 @@ function Form({
|
|
|
62
62
|
validationErrors,
|
|
63
63
|
onFieldChange
|
|
64
64
|
}), [validationErrors, onFieldChange]);
|
|
65
|
-
const gap = parseInt((0, _figmaVariablesResolver.getVariableByName)('form/gap', modes), 10)
|
|
66
|
-
const paddingHorizontal = parseInt((0, _figmaVariablesResolver.getVariableByName)('form/padding/horizontal', modes), 10)
|
|
67
|
-
const paddingVertical = parseInt((0, _figmaVariablesResolver.getVariableByName)('form/padding/vertical', modes), 10)
|
|
65
|
+
const gap = parseInt((0, _figmaVariablesResolver.getVariableByName)('form/gap', modes), 10);
|
|
66
|
+
const paddingHorizontal = parseInt((0, _figmaVariablesResolver.getVariableByName)('form/padding/horizontal', modes), 10);
|
|
67
|
+
const paddingVertical = parseInt((0, _figmaVariablesResolver.getVariableByName)('form/padding/vertical', modes), 10);
|
|
68
68
|
const containerStyle = (0, _react.useMemo)(() => ({
|
|
69
69
|
gap,
|
|
70
70
|
paddingHorizontal,
|
|
@@ -9,6 +9,7 @@ var _reactNative = require("react-native");
|
|
|
9
9
|
var _figmaVariablesResolver = require("../../design-tokens/figma-variables-resolver");
|
|
10
10
|
var _JFSThemeProvider = require("../../design-tokens/JFSThemeProvider");
|
|
11
11
|
var _reactUtils = require("../../utils/react-utils");
|
|
12
|
+
var _webPlatformUtils = require("../../utils/web-platform-utils");
|
|
12
13
|
var _SupportText = _interopRequireDefault(require("../SupportText/SupportText"));
|
|
13
14
|
var _Icon = _interopRequireDefault(require("../../icons/Icon"));
|
|
14
15
|
var _Form = require("../Form/Form");
|
|
@@ -38,8 +39,8 @@ function useFormFieldTokens(modes) {
|
|
|
38
39
|
const gap = toNumber((0, _figmaVariablesResolver.getVariableByName)('formField/gap', modes), 8);
|
|
39
40
|
|
|
40
41
|
// Label (Figma: 14/17 medium, color #0c0d10)
|
|
41
|
-
const labelColor = (0, _figmaVariablesResolver.getVariableByName)('formField/label/color', modes)
|
|
42
|
-
const labelFontFamily = (0, _figmaVariablesResolver.getVariableByName)('formField/label/fontFamily', modes)
|
|
42
|
+
const labelColor = (0, _figmaVariablesResolver.getVariableByName)('formField/label/color', modes);
|
|
43
|
+
const labelFontFamily = (0, _figmaVariablesResolver.getVariableByName)('formField/label/fontFamily', modes);
|
|
43
44
|
const labelFontSize = toNumber((0, _figmaVariablesResolver.getVariableByName)('formField/label/fontSize', modes), 14);
|
|
44
45
|
const labelLineHeight = toNumber((0, _figmaVariablesResolver.getVariableByName)('formField/label/lineHeight', modes), 17);
|
|
45
46
|
const labelFontWeight = toFontWeight((0, _figmaVariablesResolver.getVariableByName)('formField/label/fontWeight', modes), '500');
|
|
@@ -53,10 +54,10 @@ function useFormFieldTokens(modes) {
|
|
|
53
54
|
// Input text (Figma: 16/45 regular)
|
|
54
55
|
const inputFontSize = toNumber((0, _figmaVariablesResolver.getVariableByName)('formField/input/label/fontSize', modes), 16);
|
|
55
56
|
const inputLineHeight = toNumber((0, _figmaVariablesResolver.getVariableByName)('formField/input/label/lineHeight', modes), 45);
|
|
56
|
-
const inputFontFamily = (0, _figmaVariablesResolver.getVariableByName)('formField/input/label/fontFamily', modes)
|
|
57
|
+
const inputFontFamily = (0, _figmaVariablesResolver.getVariableByName)('formField/input/label/fontFamily', modes);
|
|
57
58
|
const inputFontWeight = toFontWeight((0, _figmaVariablesResolver.getVariableByName)('formField/input/label/fontWeight', modes), '400');
|
|
58
|
-
const inputBackground = (0, _figmaVariablesResolver.getVariableByName)('formField/input/background', modes)
|
|
59
|
-
const inputBorderColor = (0, _figmaVariablesResolver.getVariableByName)('formField/input/border/color', modes)
|
|
59
|
+
const inputBackground = (0, _figmaVariablesResolver.getVariableByName)('formField/input/background', modes);
|
|
60
|
+
const inputBorderColor = (0, _figmaVariablesResolver.getVariableByName)('formField/input/border/color', modes);
|
|
60
61
|
if (__DEV__) {
|
|
61
62
|
console.warn('[FormField] border color (modes changed)', {
|
|
62
63
|
'FormField States': modes['FormField States'],
|
|
@@ -64,7 +65,7 @@ function useFormFieldTokens(modes) {
|
|
|
64
65
|
'formField/input/border/color': (0, _figmaVariablesResolver.getVariableByName)('formField/input/border/color', modes)
|
|
65
66
|
});
|
|
66
67
|
}
|
|
67
|
-
const inputTextColor = (0, _figmaVariablesResolver.getVariableByName)('formField/input/label/color', modes)
|
|
68
|
+
const inputTextColor = (0, _figmaVariablesResolver.getVariableByName)('formField/input/label/color', modes);
|
|
68
69
|
return {
|
|
69
70
|
gap,
|
|
70
71
|
labelColor,
|
|
@@ -208,6 +209,21 @@ const FormField = /*#__PURE__*/(0, _react.forwardRef)(function FormField({
|
|
|
208
209
|
const [isFocused, setIsFocused] = (0, _react.useState)(false);
|
|
209
210
|
const interactive = !isDisabled && !isReadOnly;
|
|
210
211
|
|
|
212
|
+
// Internal handles so we can (a) imperatively blur the input and (b) detect
|
|
213
|
+
// outside presses. The forwarded `ref` is merged in below, so the public
|
|
214
|
+
// ref API (focus/blur/clear/isFocused) is unchanged for consumers.
|
|
215
|
+
const inputRef = (0, _react.useRef)(null);
|
|
216
|
+
const rootRef = (0, _react.useRef)(null);
|
|
217
|
+
// Stable merged ref so React doesn't detach/reattach (and momentarily null
|
|
218
|
+
// `inputRef.current`) on every render.
|
|
219
|
+
const mergedInputRef = (0, _react.useMemo)(() => (0, _reactUtils.mergeRefs)(inputRef, ref), [ref]);
|
|
220
|
+
|
|
221
|
+
// Web: pressing an INTERACTIVE element outside the field (Button, link,
|
|
222
|
+
// another pressable) often does not move DOM focus, so the native `blur`
|
|
223
|
+
// never fires and the field stays visually "Active". Force a blur on any
|
|
224
|
+
// outside pointer press while focused. No-op on native.
|
|
225
|
+
(0, _webPlatformUtils.useWebOutsidePress)(rootRef, (0, _react.useCallback)(() => inputRef.current?.blur(), []), isFocused);
|
|
226
|
+
|
|
211
227
|
// FormField States cascade — error > read only/disabled > active (focused) > idle.
|
|
212
228
|
// Disabled maps to "Read Only" since there is no dedicated disabled mode and
|
|
213
229
|
// the visual treatment is closest. This is only the DEFAULT — an explicit
|
|
@@ -290,7 +306,30 @@ const FormField = /*#__PURE__*/(0, _react.forwardRef)(function FormField({
|
|
|
290
306
|
color: tokens.inputTextColor,
|
|
291
307
|
fontFamily: tokens.inputFontFamily,
|
|
292
308
|
fontSize: tokens.inputFontSize,
|
|
293
|
-
lineHeight: tokens.inputLineHeight
|
|
309
|
+
// ⚠️ DO NOT change to an unconditional `lineHeight: tokens.inputLineHeight`.
|
|
310
|
+
// This has regressed twice — read this before "simplifying" it.
|
|
311
|
+
//
|
|
312
|
+
// `inputLineHeight` comes from the Figma token `formField/input/label`
|
|
313
|
+
// ("16/45"), which is a 16px font inside a 45px ROW, i.e. it is the row
|
|
314
|
+
// HEIGHT, not the text leading. The row height is already applied via
|
|
315
|
+
// `inputRowStyle.minHeight` + `alignItems: 'center'`, so the text never
|
|
316
|
+
// needs this value as its own `lineHeight`.
|
|
317
|
+
//
|
|
318
|
+
// Passing a `lineHeight` (45) that is much larger than `fontSize` (16)
|
|
319
|
+
// onto a single-line RNTextInput breaks ONLY iOS: iOS puts ALL the extra
|
|
320
|
+
// vertical space ABOVE the glyphs, so the text/placeholder sinks to the
|
|
321
|
+
// bottom of the box instead of centering. Android and Web distribute the
|
|
322
|
+
// space evenly and look correct. This is a long-standing iOS native
|
|
323
|
+
// font-metrics bug in UITextField — see facebook/react-native#39145 and
|
|
324
|
+
// #28012; the documented workaround is exactly "drop lineHeight on the
|
|
325
|
+
// single-line input and let a wrapper center it". A single-line UITextField
|
|
326
|
+
// with no lineHeight centers its text natively (see react-native#56774).
|
|
327
|
+
//
|
|
328
|
+
// So: omit lineHeight on iOS (native centering via the row), and keep the
|
|
329
|
+
// token value on Android/Web where it already renders correctly.
|
|
330
|
+
...(_reactNative.Platform.OS === 'ios' ? null : {
|
|
331
|
+
lineHeight: tokens.inputLineHeight
|
|
332
|
+
}),
|
|
294
333
|
fontWeight: tokens.inputFontWeight,
|
|
295
334
|
padding: 0,
|
|
296
335
|
margin: 0,
|
|
@@ -327,6 +366,7 @@ const FormField = /*#__PURE__*/(0, _react.forwardRef)(function FormField({
|
|
|
327
366
|
// -- Accessibility ------------------------------------------------------
|
|
328
367
|
const resolvedA11yLabel = accessibilityLabel || label || placeholder || 'Form field';
|
|
329
368
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
369
|
+
ref: rootRef,
|
|
330
370
|
style: [wrapperStyle, style],
|
|
331
371
|
pointerEvents: isDisabled ? 'none' : 'auto',
|
|
332
372
|
testID: testID,
|
|
@@ -347,7 +387,7 @@ const FormField = /*#__PURE__*/(0, _react.forwardRef)(function FormField({
|
|
|
347
387
|
importantForAccessibility: "no",
|
|
348
388
|
children: processedLeading
|
|
349
389
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TextInput, {
|
|
350
|
-
ref:
|
|
390
|
+
ref: mergedInputRef,
|
|
351
391
|
style: [inputTextStyles, inputTextStyle],
|
|
352
392
|
value: value ?? '',
|
|
353
393
|
onChangeText: handleChangeText,
|