jfs-components 0.1.0 → 0.1.8
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 +37 -0
- package/lib/commonjs/components/AmountInput/AmountInput.js +8 -5
- package/lib/commonjs/components/AreaLineChart/AreaLineChart.js +1 -1
- package/lib/commonjs/components/Balance/Balance.js +17 -12
- package/lib/commonjs/components/BenefitCard/BenefitCard.js +231 -0
- package/lib/commonjs/components/Card/Card.js +2 -1
- package/lib/commonjs/components/CardFeedback/CardFeedback.js +2 -1
- package/lib/commonjs/components/CcCard/CcCard.js +470 -0
- package/lib/commonjs/components/Checkbox/Checkbox.js +6 -4
- package/lib/commonjs/components/CheckboxItem/CheckboxItem.js +4 -3
- package/lib/commonjs/components/CompareTable/CompareTable.js +372 -0
- package/lib/commonjs/components/ComparisonBar/ComparisonBar.js +266 -0
- package/lib/commonjs/components/Drawer/Drawer.js +13 -4
- package/lib/commonjs/components/DropdownInput/DropdownInput.js +36 -4
- package/lib/commonjs/components/FormField/FormField.js +4 -3
- package/lib/commonjs/components/FullscreenModal/FullscreenModal.js +62 -2
- package/lib/commonjs/components/Image/Image.js +11 -5
- package/lib/commonjs/components/InputSearch/InputSearch.js +6 -4
- package/lib/commonjs/components/LottiePlayer/loadNativeLottieView.js +8 -13
- package/lib/commonjs/components/NoteInput/NoteInput.js +6 -5
- package/lib/commonjs/components/Overlay/Overlay.js +92 -0
- package/lib/commonjs/components/PdpCcCard/PdpCcCard.js +273 -0
- package/lib/commonjs/components/PlanComparisonCard/PlanComparisonCard.js +2 -1
- package/lib/commonjs/components/ProductMerchandisingCard/GlassFill.js +263 -0
- package/lib/commonjs/components/ProductMerchandisingCard/GlassFill.web.js +116 -0
- package/lib/commonjs/components/ProductMerchandisingCard/ProductMerchandisingCard.js +353 -0
- package/lib/commonjs/components/ProjectionMarker/ProjectionMarker.js +161 -0
- package/lib/commonjs/components/Radio/Radio.js +5 -5
- package/lib/commonjs/components/Slider/Slider.js +473 -0
- package/lib/commonjs/components/TextInput/TextInput.js +15 -9
- package/lib/commonjs/components/TextSegment/TextSegment.js +118 -0
- package/lib/commonjs/components/docs/modeControls.js +116 -0
- package/lib/commonjs/components/index.js +70 -0
- package/lib/commonjs/design-tokens/Coin Variables-variables-full.json +1 -1
- package/lib/commonjs/design-tokens/JFSThemeProvider.js +1 -1
- package/lib/commonjs/design-tokens/figma-modes.generated.js +420 -0
- package/lib/commonjs/design-tokens/index.js +11 -0
- package/lib/commonjs/icons/registry.js +1 -1
- package/lib/commonjs/utils/react-utils.js +22 -0
- package/lib/module/components/Accordion/Accordion.js +1 -2
- package/lib/module/components/AmountInput/AmountInput.js +6 -4
- package/lib/module/components/AreaLineChart/AreaLineChart.js +1 -1
- package/lib/module/components/Balance/Balance.js +18 -13
- package/lib/module/components/BenefitCard/BenefitCard.js +225 -0
- package/lib/module/components/Card/Card.js +1 -2
- package/lib/module/components/CardFeedback/CardFeedback.js +1 -2
- package/lib/module/components/CcCard/CcCard.js +464 -0
- package/lib/module/components/Checkbox/Checkbox.js +6 -6
- package/lib/module/components/CheckboxItem/CheckboxItem.js +5 -4
- package/lib/module/components/CompareTable/CompareTable.js +367 -0
- package/lib/module/components/ComparisonBar/ComparisonBar.js +260 -0
- package/lib/module/components/Drawer/Drawer.js +12 -4
- package/lib/module/components/DropdownInput/DropdownInput.js +37 -5
- package/lib/module/components/FormField/FormField.js +5 -4
- package/lib/module/components/FullscreenModal/FullscreenModal.js +64 -5
- package/lib/module/components/Image/Image.js +11 -5
- package/lib/module/components/InputSearch/InputSearch.js +6 -4
- package/lib/module/components/InstitutionBadge/InstitutionBadge.js +1 -2
- package/lib/module/components/LottiePlayer/loadNativeLottieView.js +8 -13
- package/lib/module/components/MoneyValue/MoneyValue.js +1 -2
- package/lib/module/components/NoteInput/NoteInput.js +7 -6
- package/lib/module/components/OTP/OTP.js +1 -2
- package/lib/module/components/Overlay/Overlay.js +87 -0
- package/lib/module/components/PdpCcCard/PdpCcCard.js +267 -0
- package/lib/module/components/PlanComparisonCard/PlanComparisonCard.js +1 -2
- package/lib/module/components/PoweredByLabel/PoweredByLabel.js +1 -2
- package/lib/module/components/ProductMerchandisingCard/GlassFill.js +257 -0
- package/lib/module/components/ProductMerchandisingCard/GlassFill.web.js +111 -0
- package/lib/module/components/ProductMerchandisingCard/ProductMerchandisingCard.js +347 -0
- package/lib/module/components/ProjectionMarker/ProjectionMarker.js +156 -0
- package/lib/module/components/Radio/Radio.js +5 -4
- package/lib/module/components/RechargeCard/RechargeCard.js +1 -2
- package/lib/module/components/Section/Section.js +1 -2
- package/lib/module/components/Slider/Slider.js +468 -0
- package/lib/module/components/TextInput/TextInput.js +16 -12
- package/lib/module/components/TextSegment/TextSegment.js +113 -0
- package/lib/module/components/UpiHandle/UpiHandle.js +1 -2
- package/lib/module/components/docs/modeControls.js +111 -0
- package/lib/module/components/index.js +10 -0
- package/lib/module/design-tokens/Coin Variables-variables-full.json +1 -1
- package/lib/module/design-tokens/JFSThemeProvider.js +1 -1
- package/lib/module/design-tokens/figma-modes.generated.js +416 -0
- package/lib/module/design-tokens/index.js +2 -1
- package/lib/module/icons/registry.js +1 -1
- package/lib/module/utils/react-utils.js +21 -1
- package/lib/typescript/src/components/Accordion/Accordion.d.ts +2 -1
- package/lib/typescript/src/components/AccordionCheckbox/AccordionCheckbox.d.ts +2 -1
- package/lib/typescript/src/components/AccountCard/AccountCard.d.ts +2 -1
- package/lib/typescript/src/components/ActionFooter/ActionFooter.d.ts +2 -1
- package/lib/typescript/src/components/ActionTile/ActionTile.d.ts +2 -1
- package/lib/typescript/src/components/AllocationComparisonChart/AllocationComparisonChart.d.ts +2 -1
- package/lib/typescript/src/components/AmountInput/AmountInput.d.ts +5 -3
- package/lib/typescript/src/components/AppBar/AppBar.d.ts +2 -1
- package/lib/typescript/src/components/AreaLineChart/AreaLineChart.d.ts +3 -2
- package/lib/typescript/src/components/Attached/Attached.d.ts +2 -1
- package/lib/typescript/src/components/Avatar/Avatar.d.ts +2 -1
- package/lib/typescript/src/components/AvatarGroup/AvatarGroup.d.ts +2 -1
- package/lib/typescript/src/components/Badge/Badge.d.ts +2 -1
- package/lib/typescript/src/components/Balance/Balance.d.ts +2 -1
- package/lib/typescript/src/components/BenefitCard/BenefitCard.d.ts +93 -0
- package/lib/typescript/src/components/BottomNav/BottomNav.d.ts +2 -1
- package/lib/typescript/src/components/BottomNavItem/BottomNavItem.d.ts +2 -1
- package/lib/typescript/src/components/BrandChip/BrandChip.d.ts +2 -1
- package/lib/typescript/src/components/BubbleChart/BubbleChart.d.ts +2 -1
- package/lib/typescript/src/components/Button/Button.d.ts +2 -1
- package/lib/typescript/src/components/ButtonGroup/ButtonGroup.d.ts +2 -1
- package/lib/typescript/src/components/Card/Card.d.ts +3 -2
- package/lib/typescript/src/components/CardAdvisory/CardAdvisory.d.ts +2 -1
- package/lib/typescript/src/components/CardBankAccount/CardBankAccount.d.ts +2 -1
- package/lib/typescript/src/components/CardCTA/CardCTA.d.ts +2 -1
- package/lib/typescript/src/components/CardFeedback/CardFeedback.d.ts +7 -6
- package/lib/typescript/src/components/CardFinancialCondition/CardFinancialCondition.d.ts +2 -1
- package/lib/typescript/src/components/CardInsight/CardInsight.d.ts +2 -1
- package/lib/typescript/src/components/CardProviderInfo/CardProviderInfo.d.ts +2 -1
- package/lib/typescript/src/components/Carousel/Carousel.d.ts +4 -3
- package/lib/typescript/src/components/CcCard/CcCard.d.ts +137 -0
- package/lib/typescript/src/components/Checkbox/Checkbox.d.ts +5 -3
- package/lib/typescript/src/components/CheckboxGroup/CheckboxGroup.d.ts +2 -1
- package/lib/typescript/src/components/CheckboxItem/CheckboxItem.d.ts +4 -3
- package/lib/typescript/src/components/ChipGroup/ChipGroup.d.ts +2 -1
- package/lib/typescript/src/components/ChipSelect/ChipSelect.d.ts +2 -1
- package/lib/typescript/src/components/CircularProgressBar/CircularProgressBar.d.ts +2 -1
- package/lib/typescript/src/components/CircularProgressBarDoted/CircularProgressBarDoted.d.ts +2 -1
- package/lib/typescript/src/components/CircularRating/CircularRating.d.ts +2 -1
- package/lib/typescript/src/components/ClusterBubble/ClusterBubble.d.ts +2 -1
- package/lib/typescript/src/components/CompareTable/CompareTable.d.ts +88 -0
- package/lib/typescript/src/components/ComparisonBar/ComparisonBar.d.ts +118 -0
- package/lib/typescript/src/components/CoverageBarComparison/CoverageBarComparison.d.ts +3 -2
- package/lib/typescript/src/components/CoverageRing/CoverageRing.d.ts +2 -1
- package/lib/typescript/src/components/DebitCard/DebitCard.d.ts +2 -1
- package/lib/typescript/src/components/Disclaimer/Disclaimer.d.ts +2 -1
- package/lib/typescript/src/components/Divider/Divider.d.ts +2 -1
- package/lib/typescript/src/components/DonutChart/DonutChart.d.ts +4 -3
- package/lib/typescript/src/components/DonutChartSummary/DonutChartSummary.d.ts +3 -2
- package/lib/typescript/src/components/Drawer/Drawer.d.ts +15 -1
- package/lib/typescript/src/components/Dropdown/Dropdown.d.ts +3 -2
- package/lib/typescript/src/components/DropdownInput/DropdownInput.d.ts +22 -2
- package/lib/typescript/src/components/EmptyState/EmptyState.d.ts +2 -1
- package/lib/typescript/src/components/ExpandableCheckbox/ExpandableCheckbox.d.ts +2 -1
- package/lib/typescript/src/components/FilterBar/FilterBar.d.ts +3 -2
- package/lib/typescript/src/components/Form/Form.d.ts +2 -1
- package/lib/typescript/src/components/FormField/FormField.d.ts +4 -3
- package/lib/typescript/src/components/FullscreenModal/FullscreenModal.d.ts +2 -1
- package/lib/typescript/src/components/Gauge/Gauge.d.ts +2 -1
- package/lib/typescript/src/components/HStack/HStack.d.ts +2 -1
- package/lib/typescript/src/components/HoldingsCard/HoldingsCard.d.ts +2 -1
- package/lib/typescript/src/components/Icon/Icon.d.ts +2 -1
- package/lib/typescript/src/components/IconButton/IconButton.d.ts +2 -1
- package/lib/typescript/src/components/IconCapsule/IconCapsule.d.ts +2 -1
- package/lib/typescript/src/components/Image/Image.d.ts +17 -1
- package/lib/typescript/src/components/InputSearch/InputSearch.d.ts +25 -3
- package/lib/typescript/src/components/InstitutionBadge/InstitutionBadge.d.ts +2 -1
- package/lib/typescript/src/components/LazyList/LazyList.d.ts +2 -1
- package/lib/typescript/src/components/LinearMeter/LinearMeter.d.ts +3 -2
- package/lib/typescript/src/components/LinearProgress/LinearProgress.d.ts +2 -1
- package/lib/typescript/src/components/ListGroup/ListGroup.d.ts +2 -1
- package/lib/typescript/src/components/ListItem/ListItem.d.ts +2 -1
- package/lib/typescript/src/components/LottieIntroBlock/LottieIntroBlock.d.ts +2 -1
- package/lib/typescript/src/components/LottiePlayer/LottiePlayer.d.ts +2 -1
- package/lib/typescript/src/components/LottiePlayer/LottiePlayer.web.d.ts +2 -1
- package/lib/typescript/src/components/MediaCard/MediaCard.d.ts +6 -5
- package/lib/typescript/src/components/MerchantProfile/MerchantProfile.d.ts +2 -1
- package/lib/typescript/src/components/MessageField/MessageField.d.ts +2 -1
- package/lib/typescript/src/components/MetricLegendItem/MetricLegendItem.d.ts +2 -1
- package/lib/typescript/src/components/MoneyValue/MoneyValue.d.ts +2 -1
- package/lib/typescript/src/components/MonthlyStatusGrid/MonthlyStatusGrid.d.ts +4 -3
- package/lib/typescript/src/components/NavArrow/NavArrow.d.ts +2 -1
- package/lib/typescript/src/components/NoteInput/NoteInput.d.ts +21 -3
- package/lib/typescript/src/components/Nudge/Nudge.d.ts +2 -1
- package/lib/typescript/src/components/Numpad/Numpad.d.ts +2 -1
- package/lib/typescript/src/components/OTP/OTP.d.ts +3 -2
- package/lib/typescript/src/components/Overlay/Overlay.d.ts +52 -0
- package/lib/typescript/src/components/PageHero/PageHero.d.ts +2 -1
- package/lib/typescript/src/components/PaymentFeedback/PaymentFeedback.d.ts +2 -1
- package/lib/typescript/src/components/PdpCcCard/PdpCcCard.d.ts +84 -0
- package/lib/typescript/src/components/PlanComparisonCard/PlanComparisonCard.d.ts +2 -1
- package/lib/typescript/src/components/Popup/Popup.d.ts +2 -1
- package/lib/typescript/src/components/PortfolioHero/PortfolioHero.d.ts +2 -1
- package/lib/typescript/src/components/PoweredByLabel/PoweredByLabel.d.ts +2 -1
- package/lib/typescript/src/components/ProductLabel/ProductLabel.d.ts +2 -1
- package/lib/typescript/src/components/ProductMerchandisingCard/GlassFill.d.ts +56 -0
- package/lib/typescript/src/components/ProductMerchandisingCard/GlassFill.web.d.ts +27 -0
- package/lib/typescript/src/components/ProductMerchandisingCard/ProductMerchandisingCard.d.ts +81 -0
- package/lib/typescript/src/components/ProductOverview/ProductOverview.d.ts +2 -1
- package/lib/typescript/src/components/ProgressBadge/ProgressBadge.d.ts +2 -1
- package/lib/typescript/src/components/ProjectionMarker/ProjectionMarker.d.ts +82 -0
- package/lib/typescript/src/components/Radio/Radio.d.ts +5 -3
- package/lib/typescript/src/components/RadioButton/RadioButton.d.ts +2 -2
- package/lib/typescript/src/components/RangeTrack/RangeTrack.d.ts +3 -2
- package/lib/typescript/src/components/RechargeCard/RechargeCard.d.ts +2 -1
- package/lib/typescript/src/components/SavingsGoalSummary/SavingsGoalSummary.d.ts +2 -1
- package/lib/typescript/src/components/Screen/Screen.d.ts +2 -1
- package/lib/typescript/src/components/Section/Section.d.ts +3 -2
- package/lib/typescript/src/components/SegmentedControl/SegmentedControl.d.ts +2 -1
- package/lib/typescript/src/components/SegmentedTrack/SegmentedTrack.d.ts +4 -3
- package/lib/typescript/src/components/Slider/Slider.d.ts +99 -0
- package/lib/typescript/src/components/Slot/Slot.d.ts +2 -1
- package/lib/typescript/src/components/Spinner/Spinner.d.ts +2 -1
- package/lib/typescript/src/components/StatGroup/StatGroup.d.ts +2 -1
- package/lib/typescript/src/components/StatItem/StatItem.d.ts +2 -1
- package/lib/typescript/src/components/StatusHero/StatusHero.d.ts +2 -1
- package/lib/typescript/src/components/Stepper/Step.d.ts +2 -1
- package/lib/typescript/src/components/Stepper/StepLabel.d.ts +2 -1
- package/lib/typescript/src/components/Stepper/Stepper.d.ts +2 -1
- package/lib/typescript/src/components/StrengthIndicator/StrengthIndicator.d.ts +2 -1
- package/lib/typescript/src/components/SuggestiveSearch/SuggestiveSearch.d.ts +2 -1
- package/lib/typescript/src/components/SummaryTile/SummaryTile.d.ts +2 -1
- package/lib/typescript/src/components/SupportText/SupportText.d.ts +2 -1
- package/lib/typescript/src/components/SupportText/SupportTextIcon.d.ts +2 -1
- package/lib/typescript/src/components/SwappableAmount/SwappableAmount.d.ts +2 -1
- package/lib/typescript/src/components/Tabs/TabItem.d.ts +2 -1
- package/lib/typescript/src/components/Tabs/Tabs.d.ts +2 -1
- package/lib/typescript/src/components/TestimonialsCard/TestimonialsCard.d.ts +2 -1
- package/lib/typescript/src/components/Text/Text.d.ts +2 -1
- package/lib/typescript/src/components/TextInput/TextInput.d.ts +12 -31
- package/lib/typescript/src/components/TextSegment/TextSegment.d.ts +100 -0
- package/lib/typescript/src/components/ThreadHero/ThreadHero.d.ts +2 -1
- package/lib/typescript/src/components/Title/Title.d.ts +2 -1
- package/lib/typescript/src/components/Toast/Toast.d.ts +2 -1
- package/lib/typescript/src/components/Toast/ToastProvider.d.ts +2 -1
- package/lib/typescript/src/components/Toast/useToast.d.ts +3 -2
- package/lib/typescript/src/components/Toggle/Toggle.d.ts +2 -1
- package/lib/typescript/src/components/Tooltip/Tooltip.d.ts +2 -1
- package/lib/typescript/src/components/TransactionBubble/TransactionBubble.d.ts +2 -1
- package/lib/typescript/src/components/TransactionDetails/TransactionDetails.d.ts +3 -2
- package/lib/typescript/src/components/TransactionStatus/TransactionStatus.d.ts +2 -1
- package/lib/typescript/src/components/UpiHandle/UpiHandle.d.ts +2 -1
- package/lib/typescript/src/components/VStack/VStack.d.ts +2 -1
- package/lib/typescript/src/components/docs/modeControls.d.ts +28 -0
- package/lib/typescript/src/components/index.d.ts +11 -1
- package/lib/typescript/src/design-tokens/JFSThemeProvider.d.ts +4 -3
- package/lib/typescript/src/design-tokens/figma-modes.generated.d.ts +284 -0
- package/lib/typescript/src/design-tokens/index.d.ts +1 -0
- package/lib/typescript/src/icons/registry.d.ts +1 -1
- package/lib/typescript/src/skeleton/Skeleton.d.ts +2 -1
- package/lib/typescript/src/utils/react-utils.d.ts +12 -1
- package/package.json +4 -2
- package/src/components/Accordion/Accordion.tsx +2 -1
- package/src/components/AccordionCheckbox/AccordionCheckbox.tsx +2 -1
- package/src/components/AccountCard/AccountCard.tsx +2 -1
- package/src/components/ActionFooter/ActionFooter.tsx +2 -1
- package/src/components/ActionTile/ActionTile.tsx +2 -1
- package/src/components/AllocationComparisonChart/AllocationComparisonChart.tsx +2 -1
- package/src/components/AmountInput/AmountInput.tsx +9 -6
- package/src/components/AppBar/AppBar.tsx +2 -1
- package/src/components/AreaLineChart/AreaLineChart.tsx +8 -7
- package/src/components/Attached/Attached.tsx +2 -1
- package/src/components/Avatar/Avatar.tsx +3 -2
- package/src/components/AvatarGroup/AvatarGroup.tsx +2 -1
- package/src/components/Badge/Badge.tsx +2 -1
- package/src/components/Balance/Balance.tsx +18 -12
- package/src/components/BenefitCard/BenefitCard.tsx +309 -0
- package/src/components/BottomNav/BottomNav.tsx +2 -1
- package/src/components/BottomNavItem/BottomNavItem.tsx +3 -2
- package/src/components/BrandChip/BrandChip.tsx +3 -2
- package/src/components/BubbleChart/BubbleChart.tsx +2 -1
- package/src/components/Button/Button.tsx +3 -2
- package/src/components/ButtonGroup/ButtonGroup.tsx +2 -1
- package/src/components/Card/Card.tsx +4 -3
- package/src/components/CardAdvisory/CardAdvisory.tsx +3 -2
- package/src/components/CardBankAccount/CardBankAccount.tsx +2 -1
- package/src/components/CardCTA/CardCTA.tsx +3 -2
- package/src/components/CardFeedback/CardFeedback.tsx +11 -10
- package/src/components/CardFinancialCondition/CardFinancialCondition.tsx +3 -2
- package/src/components/CardInsight/CardInsight.tsx +2 -1
- package/src/components/CardProviderInfo/CardProviderInfo.tsx +2 -1
- package/src/components/Carousel/Carousel.tsx +5 -4
- package/src/components/CcCard/CcCard.tsx +598 -0
- package/src/components/Checkbox/Checkbox.tsx +7 -5
- package/src/components/CheckboxGroup/CheckboxGroup.tsx +2 -1
- package/src/components/CheckboxItem/CheckboxItem.tsx +7 -5
- package/src/components/ChipGroup/ChipGroup.tsx +2 -1
- package/src/components/ChipSelect/ChipSelect.tsx +2 -1
- package/src/components/CircularProgressBar/CircularProgressBar.tsx +2 -1
- package/src/components/CircularProgressBarDoted/CircularProgressBarDoted.tsx +2 -1
- package/src/components/CircularRating/CircularRating.tsx +3 -2
- package/src/components/ClusterBubble/ClusterBubble.tsx +2 -1
- package/src/components/CompareTable/CompareTable.tsx +477 -0
- package/src/components/ComparisonBar/ComparisonBar.tsx +356 -0
- package/src/components/CoverageBarComparison/CoverageBarComparison.tsx +3 -2
- package/src/components/CoverageRing/CoverageRing.tsx +2 -1
- package/src/components/DebitCard/DebitCard.tsx +2 -1
- package/src/components/Disclaimer/Disclaimer.tsx +2 -1
- package/src/components/Divider/Divider.tsx +2 -1
- package/src/components/DonutChart/DonutChart.tsx +6 -5
- package/src/components/DonutChartSummary/DonutChartSummary.tsx +3 -2
- package/src/components/Drawer/Drawer.tsx +21 -1
- package/src/components/Dropdown/Dropdown.tsx +4 -3
- package/src/components/DropdownInput/DropdownInput.tsx +60 -7
- package/src/components/EmptyState/EmptyState.tsx +2 -1
- package/src/components/ExpandableCheckbox/ExpandableCheckbox.tsx +2 -1
- package/src/components/FilterBar/FilterBar.tsx +3 -2
- package/src/components/Form/Form.tsx +2 -1
- package/src/components/FormField/FormField.tsx +8 -6
- package/src/components/FullscreenModal/FullscreenModal.tsx +68 -10
- package/src/components/Gauge/Gauge.tsx +2 -1
- package/src/components/HStack/HStack.tsx +2 -1
- package/src/components/HoldingsCard/HoldingsCard.tsx +2 -1
- package/src/components/Icon/Icon.tsx +3 -2
- package/src/components/IconButton/IconButton.tsx +3 -2
- package/src/components/IconCapsule/IconCapsule.tsx +3 -2
- package/src/components/Image/Image.tsx +29 -5
- package/src/components/InputSearch/InputSearch.tsx +11 -7
- package/src/components/InstitutionBadge/InstitutionBadge.tsx +3 -2
- package/src/components/LazyList/LazyList.tsx +2 -1
- package/src/components/LinearMeter/LinearMeter.tsx +3 -2
- package/src/components/LinearProgress/LinearProgress.tsx +2 -1
- package/src/components/ListGroup/ListGroup.tsx +2 -1
- package/src/components/ListItem/ListItem.tsx +3 -2
- package/src/components/LottieIntroBlock/LottieIntroBlock.tsx +2 -1
- package/src/components/LottiePlayer/LottiePlayer.tsx +3 -2
- package/src/components/LottiePlayer/LottiePlayer.web.tsx +3 -2
- package/src/components/LottiePlayer/loadNativeLottieView.tsx +9 -13
- package/src/components/MediaCard/MediaCard.tsx +7 -6
- package/src/components/MerchantProfile/MerchantProfile.tsx +2 -1
- package/src/components/MessageField/MessageField.tsx +3 -2
- package/src/components/MetricLegendItem/MetricLegendItem.tsx +2 -1
- package/src/components/MoneyValue/MoneyValue.tsx +2 -1
- package/src/components/MonthlyStatusGrid/MonthlyStatusGrid.tsx +5 -4
- package/src/components/NavArrow/NavArrow.tsx +3 -2
- package/src/components/NoteInput/NoteInput.tsx +10 -7
- package/src/components/Nudge/Nudge.tsx +3 -2
- package/src/components/Numpad/Numpad.tsx +2 -1
- package/src/components/OTP/OTP.tsx +3 -2
- package/src/components/Overlay/Overlay.tsx +114 -0
- package/src/components/PageHero/PageHero.tsx +2 -1
- package/src/components/PaymentFeedback/PaymentFeedback.tsx +2 -1
- package/src/components/PdpCcCard/PdpCcCard.tsx +356 -0
- package/src/components/PlanComparisonCard/PlanComparisonCard.tsx +2 -1
- package/src/components/Popup/Popup.tsx +2 -1
- package/src/components/PortfolioHero/PortfolioHero.tsx +2 -1
- package/src/components/PoweredByLabel/PoweredByLabel.tsx +2 -1
- package/src/components/ProductLabel/ProductLabel.tsx +2 -1
- package/src/components/ProductMerchandisingCard/GlassFill.tsx +276 -0
- package/src/components/ProductMerchandisingCard/GlassFill.web.tsx +127 -0
- package/src/components/ProductMerchandisingCard/ProductMerchandisingCard.tsx +423 -0
- package/src/components/ProductOverview/ProductOverview.tsx +2 -1
- package/src/components/ProgressBadge/ProgressBadge.tsx +2 -1
- package/src/components/ProjectionMarker/ProjectionMarker.tsx +277 -0
- package/src/components/Radio/Radio.tsx +7 -5
- package/src/components/RangeTrack/RangeTrack.tsx +3 -2
- package/src/components/RechargeCard/RechargeCard.tsx +2 -1
- package/src/components/SavingsGoalSummary/SavingsGoalSummary.tsx +2 -1
- package/src/components/Screen/Screen.tsx +2 -1
- package/src/components/Section/Section.tsx +6 -5
- package/src/components/SegmentedControl/SegmentedControl.tsx +3 -2
- package/src/components/SegmentedTrack/SegmentedTrack.tsx +5 -4
- package/src/components/Slider/Slider.tsx +628 -0
- package/src/components/Slot/Slot.tsx +2 -1
- package/src/components/Spinner/Spinner.tsx +2 -1
- package/src/components/StatGroup/StatGroup.tsx +3 -2
- package/src/components/StatItem/StatItem.tsx +2 -1
- package/src/components/StatusHero/StatusHero.tsx +2 -1
- package/src/components/Stepper/Step.tsx +2 -1
- package/src/components/Stepper/StepLabel.tsx +2 -1
- package/src/components/Stepper/Stepper.tsx +2 -1
- package/src/components/StrengthIndicator/StrengthIndicator.tsx +2 -1
- package/src/components/SuggestiveSearch/SuggestiveSearch.tsx +4 -3
- package/src/components/SummaryTile/SummaryTile.tsx +2 -1
- package/src/components/SupportText/SupportText.tsx +2 -1
- package/src/components/SupportText/SupportTextIcon.tsx +2 -1
- package/src/components/SwappableAmount/SwappableAmount.tsx +2 -1
- package/src/components/Tabs/TabItem.tsx +2 -1
- package/src/components/Tabs/Tabs.tsx +2 -1
- package/src/components/TestimonialsCard/TestimonialsCard.tsx +2 -1
- package/src/components/Text/Text.tsx +2 -1
- package/src/components/TextInput/TextInput.tsx +18 -13
- package/src/components/TextSegment/TextSegment.tsx +166 -0
- package/src/components/ThreadHero/ThreadHero.tsx +2 -1
- package/src/components/Title/Title.tsx +2 -1
- package/src/components/Toast/Toast.tsx +2 -1
- package/src/components/Toast/ToastProvider.tsx +2 -1
- package/src/components/Toast/useToast.ts +3 -2
- package/src/components/Toggle/Toggle.tsx +2 -1
- package/src/components/Tooltip/Tooltip.tsx +3 -2
- package/src/components/TransactionBubble/TransactionBubble.tsx +2 -1
- package/src/components/TransactionDetails/TransactionDetails.tsx +3 -2
- package/src/components/TransactionStatus/TransactionStatus.tsx +3 -2
- package/src/components/UpiHandle/UpiHandle.tsx +3 -2
- package/src/components/VStack/VStack.tsx +2 -1
- package/src/components/docs/modeControls.tsx +122 -0
- package/src/components/index.ts +11 -1
- package/src/design-tokens/Coin Variables-variables-full.json +1 -1
- package/src/design-tokens/JFSThemeProvider.tsx +4 -3
- package/src/design-tokens/figma-modes.generated.ts +425 -0
- package/src/design-tokens/index.ts +1 -0
- package/src/icons/registry.ts +1 -1
- package/src/skeleton/Skeleton.tsx +2 -1
- package/src/utils/react-utils.ts +26 -2
- package/lib/typescript/scripts/extract-component-tokens.d.ts +0 -9
- package/lib/typescript/scripts/generate-component-docs.d.ts +0 -9
- package/lib/typescript/scripts/generate-icon-registry.d.ts +0 -3
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { type ViewStyle, type TextStyle, type StyleProp, type ImageSourcePropType } from 'react-native';
|
|
3
|
+
import type { Modes } from '../../design-tokens';
|
|
3
4
|
export interface MediaCardProps {
|
|
4
5
|
/**
|
|
5
6
|
* Image source for the background media. Same shape as the rest of the
|
|
@@ -27,7 +28,7 @@ export interface MediaCardProps {
|
|
|
27
28
|
/**
|
|
28
29
|
* Modes object for token resolution.
|
|
29
30
|
*/
|
|
30
|
-
modes?:
|
|
31
|
+
modes?: Modes;
|
|
31
32
|
/**
|
|
32
33
|
* Style overrides for the card container.
|
|
33
34
|
*/
|
|
@@ -77,7 +78,7 @@ export declare function Header({ children, style }: {
|
|
|
77
78
|
export declare function Title({ children, style, modes: propModes }: {
|
|
78
79
|
children?: React.ReactNode;
|
|
79
80
|
style?: StyleProp<TextStyle>;
|
|
80
|
-
modes?:
|
|
81
|
+
modes?: Modes;
|
|
81
82
|
}): import("react/jsx-runtime").JSX.Element;
|
|
82
83
|
/**
|
|
83
84
|
* Glass Footer — pinned to the bottom of the card, **always** on top of the
|
|
@@ -105,7 +106,7 @@ export declare function Title({ children, style, modes: propModes }: {
|
|
|
105
106
|
export declare function Footer({ children, style, modes: propModes }: {
|
|
106
107
|
children?: React.ReactNode;
|
|
107
108
|
style?: StyleProp<ViewStyle>;
|
|
108
|
-
modes?:
|
|
109
|
+
modes?: Modes;
|
|
109
110
|
}): import("react/jsx-runtime").JSX.Element;
|
|
110
111
|
/**
|
|
111
112
|
* Footer Title
|
|
@@ -114,7 +115,7 @@ export declare function Footer({ children, style, modes: propModes }: {
|
|
|
114
115
|
export declare function FooterTitle({ children, style, modes: propModes }: {
|
|
115
116
|
children?: React.ReactNode;
|
|
116
117
|
style?: StyleProp<TextStyle>;
|
|
117
|
-
modes?:
|
|
118
|
+
modes?: Modes;
|
|
118
119
|
}): import("react/jsx-runtime").JSX.Element;
|
|
119
120
|
/**
|
|
120
121
|
* Footer Subtitle
|
|
@@ -123,7 +124,7 @@ export declare function FooterTitle({ children, style, modes: propModes }: {
|
|
|
123
124
|
export declare function FooterSubtitle({ children, style, modes: propModes }: {
|
|
124
125
|
children?: React.ReactNode;
|
|
125
126
|
style?: StyleProp<TextStyle>;
|
|
126
|
-
modes?:
|
|
127
|
+
modes?: Modes;
|
|
127
128
|
}): import("react/jsx-runtime").JSX.Element;
|
|
128
129
|
export default MediaCard;
|
|
129
130
|
//# sourceMappingURL=MediaCard.d.ts.map
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type ViewStyle, type StyleProp } from 'react-native';
|
|
2
2
|
import { type AvatarProps } from '../Avatar/Avatar';
|
|
3
|
+
import type { Modes } from '../../design-tokens';
|
|
3
4
|
export type MerchantProfileProps = {
|
|
4
5
|
/**
|
|
5
6
|
* The merchant's display name or title
|
|
@@ -13,7 +14,7 @@ export type MerchantProfileProps = {
|
|
|
13
14
|
* Mode configuration passed to the token resolver.
|
|
14
15
|
* Also passed to the Avatar child component for consistent theming.
|
|
15
16
|
*/
|
|
16
|
-
modes?:
|
|
17
|
+
modes?: Modes;
|
|
17
18
|
/**
|
|
18
19
|
* Optional style overrides for the container
|
|
19
20
|
*/
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type StyleProp, type TextInputProps as RNTextInputProps, type TextStyle, type ViewStyle } from 'react-native';
|
|
2
|
+
import type { Modes } from '../../design-tokens';
|
|
2
3
|
/**
|
|
3
4
|
* Visual state of the textarea. Mirrors the `FormField States` collection so
|
|
4
5
|
* MessageField slots into the same theming pipeline as FormField. The state
|
|
@@ -58,7 +59,7 @@ export type MessageFieldProps = {
|
|
|
58
59
|
/** Auto-focus the textarea on mount. */
|
|
59
60
|
autoFocus?: boolean;
|
|
60
61
|
/** Modes for design token resolution (e.g. `{ 'Color Mode': 'Light' }`). */
|
|
61
|
-
modes?:
|
|
62
|
+
modes?: Modes;
|
|
62
63
|
/** Style overrides for the outermost wrapper. */
|
|
63
64
|
style?: StyleProp<ViewStyle>;
|
|
64
65
|
/** Style overrides for the textarea container (border/padding/etc). */
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { type StyleProp, type ViewStyle, type TextStyle } from 'react-native';
|
|
3
|
+
import type { Modes } from '../../design-tokens';
|
|
3
4
|
export type MetricLegendItemProps = {
|
|
4
5
|
/** The label text on the left (after the indicator). */
|
|
5
6
|
label?: React.ReactNode;
|
|
@@ -20,7 +21,7 @@ export type MetricLegendItemProps = {
|
|
|
20
21
|
*/
|
|
21
22
|
indicatorShape?: 'dot' | 'line';
|
|
22
23
|
/** Design token modes for theming (e.g. `{ 'Color Mode': 'Light' }`). */
|
|
23
|
-
modes?:
|
|
24
|
+
modes?: Modes;
|
|
24
25
|
/** Override container styles. */
|
|
25
26
|
style?: StyleProp<ViewStyle>;
|
|
26
27
|
/** Override the indicator (dot) styles. */
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Pressable, type StyleProp, type ViewStyle, type TextStyle } from 'react-native';
|
|
3
|
+
import type { Modes } from '../../design-tokens';
|
|
3
4
|
export type MoneyValueProps = {
|
|
4
5
|
/** Monetary value to display. */
|
|
5
6
|
value?: string | number;
|
|
@@ -12,7 +13,7 @@ export type MoneyValueProps = {
|
|
|
12
13
|
/** When true, a blinking vertical cursor is shown at the end of the value text. */
|
|
13
14
|
focused?: boolean;
|
|
14
15
|
/** Modes configuration mapped to Figma tokens. */
|
|
15
|
-
modes?:
|
|
16
|
+
modes?: Modes;
|
|
16
17
|
style?: StyleProp<ViewStyle>;
|
|
17
18
|
valueStyle?: StyleProp<TextStyle>;
|
|
18
19
|
currencyStyle?: StyleProp<TextStyle>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { type StyleProp, type TextStyle, type ViewStyle } from 'react-native';
|
|
3
|
+
import type { Modes } from '../../design-tokens';
|
|
3
4
|
/**
|
|
4
5
|
* The three semantic states a calendar glyph can be in. Maps 1:1 to the
|
|
5
6
|
* Figma `Calendar Glyph State` collection modes (`Idle`, `notSaved`,
|
|
@@ -25,7 +26,7 @@ export type MonthlyStatusGridMonth = {
|
|
|
25
26
|
* Per-month design token mode overrides. Merged on top of the parent
|
|
26
27
|
* `modes` and the per-month `Calendar Glyph State` derived from `status`.
|
|
27
28
|
*/
|
|
28
|
-
modes?:
|
|
29
|
+
modes?: Modes;
|
|
29
30
|
/** Per-month accessibility label. */
|
|
30
31
|
accessibilityLabel?: string;
|
|
31
32
|
};
|
|
@@ -54,7 +55,7 @@ export type MonthlyStatusGridProps = {
|
|
|
54
55
|
*/
|
|
55
56
|
legendStatuses?: MonthlyStatus[];
|
|
56
57
|
/** Design token modes (e.g. `{ 'Color Mode': 'Light' }`). */
|
|
57
|
-
modes?:
|
|
58
|
+
modes?: Modes;
|
|
58
59
|
/** Container style override. */
|
|
59
60
|
style?: StyleProp<ViewStyle>;
|
|
60
61
|
/** Style applied to the months section (the rows wrapper). */
|
|
@@ -79,7 +80,7 @@ export type CalendarGlyphProps = {
|
|
|
79
80
|
*/
|
|
80
81
|
status?: MonthlyStatus;
|
|
81
82
|
/** Design token mode overrides. */
|
|
82
|
-
modes?:
|
|
83
|
+
modes?: Modes;
|
|
83
84
|
/** Container style override. */
|
|
84
85
|
style?: StyleProp<ViewStyle>;
|
|
85
86
|
/** Label text style override. */
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { type StyleProp, type ViewStyle } from 'react-native';
|
|
3
3
|
import { type SafePressableProps } from '../../utils/web-platform-utils';
|
|
4
|
+
import type { Modes } from '../../design-tokens';
|
|
4
5
|
type NavArrowDirection = 'Back' | 'Forward' | 'Down';
|
|
5
6
|
type NavArrowProps = SafePressableProps & {
|
|
6
7
|
/** Direction of the arrow: 'Back' (left chevron), 'Forward' (right chevron), or 'Down' */
|
|
7
8
|
direction?: NavArrowDirection;
|
|
8
9
|
/** Modes used to resolve design tokens */
|
|
9
|
-
modes?:
|
|
10
|
+
modes?: Modes;
|
|
10
11
|
/** Optional additional container style */
|
|
11
12
|
style?: StyleProp<ViewStyle>;
|
|
12
13
|
/** Accessibility label for the arrow */
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { TextInput as RNTextInput, type StyleProp, type ViewStyle, type TextStyle, type TextInputProps } from 'react-native';
|
|
3
|
+
import type { Modes } from '../../design-tokens';
|
|
2
4
|
export type NoteInputProps = {
|
|
3
5
|
/** The value of the text input */
|
|
4
6
|
value?: string;
|
|
@@ -7,7 +9,7 @@ export type NoteInputProps = {
|
|
|
7
9
|
/** Callback when text changes */
|
|
8
10
|
onChangeText?: (text: string) => void;
|
|
9
11
|
/** Design token modes (e.g., {'InputState': 'Idle', 'Color Mode': 'Light'}) */
|
|
10
|
-
modes?:
|
|
12
|
+
modes?: Modes;
|
|
11
13
|
/** Custom container style */
|
|
12
14
|
style?: StyleProp<ViewStyle>;
|
|
13
15
|
/** Custom text input style */
|
|
@@ -19,5 +21,21 @@ export type NoteInputProps = {
|
|
|
19
21
|
* NoteInput component representing an interactive "Add note" badge style field.
|
|
20
22
|
* Allows the user to click, clears the placeholder text, and shows a blinking cursor when focused.
|
|
21
23
|
*/
|
|
22
|
-
|
|
24
|
+
declare const NoteInput: React.ForwardRefExoticComponent<{
|
|
25
|
+
/** The value of the text input */
|
|
26
|
+
value?: string;
|
|
27
|
+
/** The placeholder when empty ("Add note" by default) */
|
|
28
|
+
placeholder?: string;
|
|
29
|
+
/** Callback when text changes */
|
|
30
|
+
onChangeText?: (text: string) => void;
|
|
31
|
+
/** Design token modes (e.g., {'InputState': 'Idle', 'Color Mode': 'Light'}) */
|
|
32
|
+
modes?: Modes;
|
|
33
|
+
/** Custom container style */
|
|
34
|
+
style?: StyleProp<ViewStyle>;
|
|
35
|
+
/** Custom text input style */
|
|
36
|
+
textStyle?: StyleProp<TextStyle>;
|
|
37
|
+
/** State of the component */
|
|
38
|
+
state?: "Editing" | "Idle";
|
|
39
|
+
} & Omit<TextInputProps, "style" | "value" | "placeholder" | "onChangeText"> & React.RefAttributes<RNTextInput>>;
|
|
40
|
+
export default NoteInput;
|
|
23
41
|
//# sourceMappingURL=NoteInput.d.ts.map
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { type ViewStyle, type StyleProp } from 'react-native';
|
|
3
|
+
import type { Modes } from '../../design-tokens';
|
|
3
4
|
export type NudgeType = 'stacked-prominent' | 'stacked-detailed' | 'inline-compact';
|
|
4
5
|
export type NudgeProps = {
|
|
5
6
|
/**
|
|
@@ -24,7 +25,7 @@ export type NudgeProps = {
|
|
|
24
25
|
/** Content slot — overrides default content, or provides detailed list content */
|
|
25
26
|
children?: React.ReactNode;
|
|
26
27
|
/** Mode configuration for design token resolution */
|
|
27
|
-
modes?:
|
|
28
|
+
modes?: Modes;
|
|
28
29
|
/** Optional container style overrides */
|
|
29
30
|
style?: StyleProp<ViewStyle>;
|
|
30
31
|
};
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { type StyleProp, type ViewStyle, type TextStyle } from 'react-native';
|
|
2
|
+
import type { Modes } from '../../design-tokens';
|
|
2
3
|
export type NumpadKeyValue = '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '.' | 'backspace';
|
|
3
4
|
export interface NumpadProps {
|
|
4
5
|
/** Design token modes for theming (e.g., {"Color Mode": "Light"}) */
|
|
5
|
-
modes?:
|
|
6
|
+
modes?: Modes;
|
|
6
7
|
/** Callback fired when any key is pressed */
|
|
7
8
|
onKeyPress?: (key: NumpadKeyValue) => void;
|
|
8
9
|
/** Whether to show the decimal point key (default: true) */
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { type ViewStyle, type StyleProp } from 'react-native';
|
|
3
3
|
import { type SupportTextProps } from '../SupportText/SupportText';
|
|
4
|
+
import type { Modes } from '../../design-tokens';
|
|
4
5
|
export type OtpResendState = 'counting' | 'ready' | 'sending';
|
|
5
6
|
export type UseOtpResendOptions = {
|
|
6
7
|
/** Countdown length in seconds. Defaults to 30. */
|
|
@@ -62,7 +63,7 @@ export type OTPResendConfig = {
|
|
|
62
63
|
resendButtonModes?: Record<string, any>;
|
|
63
64
|
};
|
|
64
65
|
export type OTPResendProps = OTPResendConfig & {
|
|
65
|
-
modes?:
|
|
66
|
+
modes?: Modes;
|
|
66
67
|
style?: StyleProp<ViewStyle>;
|
|
67
68
|
};
|
|
68
69
|
export declare function OTPResend({ durationSeconds, onResend, autoStart, formatCountdown, sendingLabel, resendLabel, countdownStatus, resendButtonModes, modes: propModes, style, }: OTPResendProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -88,7 +89,7 @@ export type OTPProps = {
|
|
|
88
89
|
/** Auto-focus the input on mount. */
|
|
89
90
|
autoFocus?: boolean;
|
|
90
91
|
/** Design token modes for Figma token resolution. */
|
|
91
|
-
modes?:
|
|
92
|
+
modes?: Modes;
|
|
92
93
|
/** Container style override. */
|
|
93
94
|
style?: StyleProp<ViewStyle>;
|
|
94
95
|
/** Optional SupportText rendered below the slots. Pass a string for the label or a ReactNode for full control. */
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type StyleProp, type ViewProps, type ViewStyle } from 'react-native';
|
|
3
|
+
import type { Modes } from '../../design-tokens';
|
|
4
|
+
export type OverlayProps = Omit<ViewProps, 'children' | 'style'> & {
|
|
5
|
+
/**
|
|
6
|
+
* Content rendered on top of the scrim. `modes` are cascaded to every child
|
|
7
|
+
* via {@link cloneChildrenWithModes}. When omitted the overlay renders as a
|
|
8
|
+
* bare backdrop.
|
|
9
|
+
*/
|
|
10
|
+
children?: React.ReactNode;
|
|
11
|
+
/**
|
|
12
|
+
* How `children` are positioned within the overlay.
|
|
13
|
+
* - `center` (default): centers content both axes
|
|
14
|
+
* - `top` / `bottom`: pins content to the top/bottom edge
|
|
15
|
+
* - `stretch`: stretches content to fill the overlay
|
|
16
|
+
*/
|
|
17
|
+
contentPlacement?: 'center' | 'top' | 'bottom' | 'stretch';
|
|
18
|
+
/**
|
|
19
|
+
* Called when the scrim (the area outside `children`) is pressed. Typically
|
|
20
|
+
* used to dismiss the overlaid surface. When omitted the backdrop is inert.
|
|
21
|
+
*/
|
|
22
|
+
onPress?: () => void;
|
|
23
|
+
/**
|
|
24
|
+
* When `true` (default) the overlay covers its parent via `StyleSheet.absoluteFill`.
|
|
25
|
+
* Set to `false` to lay it out in normal flow (driven by `style`).
|
|
26
|
+
*/
|
|
27
|
+
fill?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Mode configuration passed to the token resolver and cascaded to children.
|
|
30
|
+
*/
|
|
31
|
+
modes?: Modes;
|
|
32
|
+
style?: StyleProp<ViewStyle>;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Overlay — a token-driven scrim that dims content behind an overlaid surface.
|
|
36
|
+
*
|
|
37
|
+
* Renders a semi-transparent backdrop using the `overlay/background` design
|
|
38
|
+
* token and optionally hosts content (e.g. a modal, sheet or dialog) on top.
|
|
39
|
+
* Pair it with a `Modal` for true full-screen overlays, or drop it inside any
|
|
40
|
+
* relatively-positioned container to dim just that region.
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* ```tsx
|
|
44
|
+
* <Overlay modes={modes} onPress={close}>
|
|
45
|
+
* <Card>Dialog content</Card>
|
|
46
|
+
* </Overlay>
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
declare function Overlay({ children, contentPlacement, onPress, fill, modes: propModes, style, ...rest }: OverlayProps): import("react/jsx-runtime").JSX.Element;
|
|
50
|
+
declare const _default: React.MemoExoticComponent<typeof Overlay>;
|
|
51
|
+
export default _default;
|
|
52
|
+
//# sourceMappingURL=Overlay.d.ts.map
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { type StyleProp, type ViewStyle } from 'react-native';
|
|
3
|
+
import type { Modes } from '../../design-tokens';
|
|
3
4
|
export type PageHeroProps = {
|
|
4
5
|
/** Small eyebrow text shown above the headline. */
|
|
5
6
|
eyebrow?: string;
|
|
@@ -39,7 +40,7 @@ export type PageHeroProps = {
|
|
|
39
40
|
*/
|
|
40
41
|
media?: React.ReactNode;
|
|
41
42
|
/** Mode configuration for design-token theming. */
|
|
42
|
-
modes?:
|
|
43
|
+
modes?: Modes;
|
|
43
44
|
/** Style overrides applied to the outer container. */
|
|
44
45
|
style?: StyleProp<ViewStyle>;
|
|
45
46
|
testID?: string;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type ReactNode } from 'react';
|
|
2
2
|
import { type ViewStyle } from 'react-native';
|
|
3
|
+
import type { Modes } from '../../design-tokens';
|
|
3
4
|
export type PaymentFeedbackProps = {
|
|
4
5
|
/** Large heading text, typically a monetary value (e.g. "₹50,000") */
|
|
5
6
|
title?: string;
|
|
@@ -20,7 +21,7 @@ export type PaymentFeedbackProps = {
|
|
|
20
21
|
* IconCapsule's color — pass `AppearanceSystem: 'positive' | 'warning' |
|
|
21
22
|
* 'negative'` to render a green/orange/red capsule (defaults to `positive`).
|
|
22
23
|
*/
|
|
23
|
-
modes?:
|
|
24
|
+
modes?: Modes;
|
|
24
25
|
style?: ViewStyle;
|
|
25
26
|
};
|
|
26
27
|
export default function PaymentFeedback({ title, subtitle, body, details, showDetails, iconName, renderMedia, modes: propModes, style, }: PaymentFeedbackProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type ViewStyle, type StyleProp, type ImageSourcePropType } from 'react-native';
|
|
3
|
+
import type { Modes } from '../../design-tokens';
|
|
4
|
+
/**
|
|
5
|
+
* A single metric column inside the card's stats row: a small title, a bold
|
|
6
|
+
* value and an optional muted caption.
|
|
7
|
+
*/
|
|
8
|
+
export interface PdpCcCardMetric {
|
|
9
|
+
/** Small label rendered above the value (e.g. `"Weight"`). */
|
|
10
|
+
title?: string;
|
|
11
|
+
/** The prominent value (e.g. `"24K"`). */
|
|
12
|
+
value?: string;
|
|
13
|
+
/** Optional muted caption rendered below the value. */
|
|
14
|
+
caption?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface PdpCcCardProps {
|
|
17
|
+
/**
|
|
18
|
+
* Image source for the default media slot. Accepts a URL string or any RN
|
|
19
|
+
* `ImageSourcePropType`. Ignored when `media` is provided.
|
|
20
|
+
*/
|
|
21
|
+
imageSource?: ImageSourcePropType | string;
|
|
22
|
+
/** Default media image width. Defaults to the Figma spec (`100`). */
|
|
23
|
+
imageWidth?: number;
|
|
24
|
+
/** Default media image height. Defaults to the Figma spec (`60`). */
|
|
25
|
+
imageHeight?: number;
|
|
26
|
+
/**
|
|
27
|
+
* Full override for the media slot (top of the card). Takes precedence over
|
|
28
|
+
* `imageSource`. `modes` cascade into it automatically.
|
|
29
|
+
*/
|
|
30
|
+
media?: React.ReactNode;
|
|
31
|
+
/** Headline title (26px black). */
|
|
32
|
+
title?: string;
|
|
33
|
+
/** Subtitle rendered below the title (14px medium). */
|
|
34
|
+
subtitle?: string;
|
|
35
|
+
/**
|
|
36
|
+
* The metric columns rendered in the stats row. Vertical dividers are
|
|
37
|
+
* inserted automatically between adjacent metrics. Defaults to two sample
|
|
38
|
+
* metrics.
|
|
39
|
+
*/
|
|
40
|
+
metrics?: PdpCcCardMetric[];
|
|
41
|
+
/** CTA button label. Defaults to `"button"`. */
|
|
42
|
+
buttonLabel?: string;
|
|
43
|
+
/**
|
|
44
|
+
* Registry icon name for the button's leading glyph. Defaults to
|
|
45
|
+
* `'ic_add_circle'`. Pass `null` to hide the leading icon.
|
|
46
|
+
*/
|
|
47
|
+
buttonIcon?: string | null;
|
|
48
|
+
/** CTA press handler. */
|
|
49
|
+
onButtonPress?: () => void;
|
|
50
|
+
/** Full override for the CTA. Takes precedence over `buttonLabel`. */
|
|
51
|
+
button?: React.ReactNode;
|
|
52
|
+
/** Toggles the CTA button. Defaults to `true`. */
|
|
53
|
+
showButton?: boolean;
|
|
54
|
+
/** Press handler for the whole card. When set, the card becomes pressable. */
|
|
55
|
+
onPress?: () => void;
|
|
56
|
+
/** Card width. Defaults to the Figma spec (`344`). Pass `'100%'` to fill the parent. */
|
|
57
|
+
width?: number | `${number}%`;
|
|
58
|
+
/** Modes object for design-token resolution. Cascaded to all children. */
|
|
59
|
+
modes?: Modes;
|
|
60
|
+
/** Style overrides for the card container. */
|
|
61
|
+
style?: StyleProp<ViewStyle>;
|
|
62
|
+
/** Accessibility label for the card. */
|
|
63
|
+
accessibilityLabel?: string;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* PdpCcCard — Figma node 5352:935 ("PDP cc card").
|
|
67
|
+
*
|
|
68
|
+
* A centered white product/PDP card composed from the shared design-system
|
|
69
|
+
* primitives so it stays in sync with the rest of the library:
|
|
70
|
+
*
|
|
71
|
+
* - **Media** — a top image slot (`Image`, rounded via `image/radius`). Pass
|
|
72
|
+
* `imageSource` for the default image or `media` for a full slot override.
|
|
73
|
+
* - **Title** — a centered headline + subtitle rendered through the shared
|
|
74
|
+
* {@link Title} component (`title/*`, `pageSubtitle/*` tokens).
|
|
75
|
+
* - **Metrics** — a row of {@link PdpCcCardMetric} columns (title / value /
|
|
76
|
+
* caption) separated by vertical `Divider`s (`metricdata/*` tokens).
|
|
77
|
+
* - **CTA** — a small tonal {@link Button} (`Button / Size: S`,
|
|
78
|
+
* `AppearanceBrand: Secondary`, `Emphasis: Medium`) with a leading icon.
|
|
79
|
+
*
|
|
80
|
+
* All defaults can be overridden via `modes`.
|
|
81
|
+
*/
|
|
82
|
+
declare function PdpCcCard({ imageSource, imageWidth, imageHeight, media, title, subtitle, metrics, buttonLabel, buttonIcon, onButtonPress, button, showButton, onPress, width, modes, style, accessibilityLabel, }: PdpCcCardProps): import("react/jsx-runtime").JSX.Element;
|
|
83
|
+
export default PdpCcCard;
|
|
84
|
+
//# sourceMappingURL=PdpCcCard.d.ts.map
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { type StyleProp, type ViewStyle } from 'react-native';
|
|
3
|
+
import type { Modes } from '../../design-tokens';
|
|
3
4
|
/**
|
|
4
5
|
* A single plan column header (the label column has no header of its own).
|
|
5
6
|
*/
|
|
@@ -48,7 +49,7 @@ export type PlanComparisonCardProps = {
|
|
|
48
49
|
/** Feature rows compared across the plan columns. */
|
|
49
50
|
rows?: PlanComparisonRow[];
|
|
50
51
|
/** Design token modes for theming (e.g. `{ "Color Mode": "Light" }`). */
|
|
51
|
-
modes?:
|
|
52
|
+
modes?: Modes;
|
|
52
53
|
/** Override the outer container style. */
|
|
53
54
|
style?: StyleProp<ViewStyle>;
|
|
54
55
|
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { type StyleProp, type ViewStyle } from 'react-native';
|
|
3
|
+
import type { Modes } from '../../design-tokens';
|
|
3
4
|
export type PopupRef = {
|
|
4
5
|
open: () => void;
|
|
5
6
|
close: () => void;
|
|
@@ -16,7 +17,7 @@ export type PopupProps = {
|
|
|
16
17
|
/** Slot content displayed inside the popup. */
|
|
17
18
|
children?: React.ReactNode;
|
|
18
19
|
/** Mode configuration for design token resolution. */
|
|
19
|
-
modes?:
|
|
20
|
+
modes?: Modes;
|
|
20
21
|
/** Whether pressing the backdrop closes the popup. */
|
|
21
22
|
closeOnBackdropPress?: boolean;
|
|
22
23
|
/** Backdrop overlay color. */
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { type ViewStyle, type ImageSourcePropType } from 'react-native';
|
|
3
|
+
import type { Modes } from '../../design-tokens';
|
|
3
4
|
export type PortfolioHeroProps = {
|
|
4
5
|
/** Product label text displayed next to the avatar. */
|
|
5
6
|
label?: string;
|
|
@@ -10,7 +11,7 @@ export type PortfolioHeroProps = {
|
|
|
10
11
|
/** Currency symbol or ISO code. */
|
|
11
12
|
currency?: string;
|
|
12
13
|
/** Modes configuration mapped to Figma tokens. */
|
|
13
|
-
modes?:
|
|
14
|
+
modes?: Modes;
|
|
14
15
|
/** Slot content rendered below the money value (e.g. Badge, subtitle). */
|
|
15
16
|
children?: React.ReactNode;
|
|
16
17
|
/** Container style override. */
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { type ImageStyle, type StyleProp, type TextStyle, type ViewStyle } from 'react-native';
|
|
3
3
|
import { type UnifiedSource } from '../../utils/MediaSource';
|
|
4
|
+
import type { Modes } from '../../design-tokens';
|
|
4
5
|
export type PoweredByLabelProps = {
|
|
5
6
|
/**
|
|
6
7
|
* Label copy. Defaults to "Powered by RBI-regulated account aggregator"
|
|
@@ -33,7 +34,7 @@ export type PoweredByLabelProps = {
|
|
|
33
34
|
/**
|
|
34
35
|
* Design token modes for theming (e.g. `{ 'Color Mode': 'Dark' }`).
|
|
35
36
|
*/
|
|
36
|
-
modes?:
|
|
37
|
+
modes?: Modes;
|
|
37
38
|
/** Container style override. */
|
|
38
39
|
style?: StyleProp<ViewStyle>;
|
|
39
40
|
/** Label text style override. */
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { type ViewStyle, type ImageSourcePropType } from 'react-native';
|
|
2
|
+
import type { Modes } from '../../design-tokens';
|
|
2
3
|
export type ProductLabelProps = {
|
|
3
4
|
/** The product name label text. */
|
|
4
5
|
label?: string;
|
|
5
6
|
/** Image source for the product avatar. */
|
|
6
7
|
imageSource?: ImageSourcePropType | string;
|
|
7
8
|
/** Modes configuration for design token resolution. */
|
|
8
|
-
modes?:
|
|
9
|
+
modes?: Modes;
|
|
9
10
|
/** Container style override. */
|
|
10
11
|
style?: ViewStyle;
|
|
11
12
|
};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { type ViewStyle, type StyleProp } from 'react-native';
|
|
2
|
+
export type GlassTint = 'dark' | 'light';
|
|
3
|
+
export interface GlassFillProps {
|
|
4
|
+
/**
|
|
5
|
+
* Visual tint of the glass surface. Maps to `BlurView`'s `blurType`
|
|
6
|
+
* (`'dark'` | `'light'`) and drives the iOS
|
|
7
|
+
* `reducedTransparencyFallbackColor` so the surface degrades gracefully
|
|
8
|
+
* when "Reduce Transparency" is enabled in system accessibility settings.
|
|
9
|
+
*/
|
|
10
|
+
tint?: GlassTint;
|
|
11
|
+
/**
|
|
12
|
+
* Blur strength as a 0–100 "intensity" value. Internally mapped to
|
|
13
|
+
* `@react-native-community/blur`'s `blurAmount`. When `progressive` is set,
|
|
14
|
+
* this is the strength at the BOTTOM of the ramp (the strongest point); the
|
|
15
|
+
* ramp is kept intentionally gentle so the surface reads as subtle glass
|
|
16
|
+
* rather than a heavy frosted block.
|
|
17
|
+
*/
|
|
18
|
+
intensity?: number;
|
|
19
|
+
/**
|
|
20
|
+
* Token-derived color tint laid OVER the live blur. Painted as a
|
|
21
|
+
* translucent overlay so the glass keeps its color signature even when the
|
|
22
|
+
* platform blur quality varies (or realtime blur is unavailable).
|
|
23
|
+
*/
|
|
24
|
+
overlayColor?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Render a *progressive* (variable) blur instead of a uniform one: fully
|
|
27
|
+
* clear at the top, easing into a soft blur toward the bottom. Implemented
|
|
28
|
+
* by stacking two `MaskedView` + `BlurView` layers (a faint base + a
|
|
29
|
+
* slightly stronger accent near the bottom), each revealed via an eased
|
|
30
|
+
* multi-stop SVG gradient mask so the blur swells smoothly rather than
|
|
31
|
+
* along a hard seam. Works on iOS and Android with no extra native module.
|
|
32
|
+
*/
|
|
33
|
+
progressive?: boolean;
|
|
34
|
+
/** Container style overrides. Defaults to `StyleSheet.absoluteFill`. */
|
|
35
|
+
style?: StyleProp<ViewStyle>;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Glass / frosted surface for native (iOS + Android).
|
|
39
|
+
*
|
|
40
|
+
* Why this lives in its own platform-split file (mirrors `MediaCard/GlassFill`):
|
|
41
|
+
* - `@react-native-community/blur` is a native-only module; importing it on
|
|
42
|
+
* web throws because it references native components not registered there.
|
|
43
|
+
* Metro's platform-extension resolution picks `GlassFill.tsx` for native
|
|
44
|
+
* and `GlassFill.web.tsx` for web, keeping the web bundle native-free.
|
|
45
|
+
* - Centralizes the `intensity` (0–100) -> `blurAmount` (0–32) mapping so the
|
|
46
|
+
* Figma `blur/minimal` token semantics survive across platforms.
|
|
47
|
+
*
|
|
48
|
+
* On iOS (with the pod installed) this is a real `UIVisualEffectView` (true
|
|
49
|
+
* OS-level live blur). On Android it uses the community blur view. When the
|
|
50
|
+
* native module isn't linked in the running binary, the component degrades to
|
|
51
|
+
* a translucent tinted scrim (`reducedTransparencyFallbackColor` / fallback
|
|
52
|
+
* color) instead of rendering the "Unimplemented component" placeholder.
|
|
53
|
+
*/
|
|
54
|
+
declare function GlassFill({ tint, intensity, overlayColor, progressive, style, }: GlassFillProps): import("react/jsx-runtime").JSX.Element;
|
|
55
|
+
export default GlassFill;
|
|
56
|
+
//# sourceMappingURL=GlassFill.d.ts.map
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type ViewStyle, type StyleProp } from 'react-native';
|
|
2
|
+
export type GlassTint = 'dark' | 'light';
|
|
3
|
+
export interface GlassFillProps {
|
|
4
|
+
tint?: GlassTint;
|
|
5
|
+
intensity?: number;
|
|
6
|
+
overlayColor?: string;
|
|
7
|
+
/**
|
|
8
|
+
* Render a *progressive* (variable) blur: fully clear at the top, easing
|
|
9
|
+
* into a soft blur toward the bottom. On web this mirrors the native
|
|
10
|
+
* technique — two `backdrop-filter` layers, each clipped with an eased
|
|
11
|
+
* multi-stop `mask-image` linear-gradient so the effective blur swells
|
|
12
|
+
* smoothly toward the bottom.
|
|
13
|
+
*/
|
|
14
|
+
progressive?: boolean;
|
|
15
|
+
style?: StyleProp<ViewStyle>;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Web counterpart of `GlassFill`.
|
|
19
|
+
*
|
|
20
|
+
* `@react-native-community/blur` ships no web implementation, so on web we
|
|
21
|
+
* render a translucent `View` with `backdrop-filter: blur()`. Native bundles
|
|
22
|
+
* pick up `GlassFill.tsx` instead via Metro's platform resolver; the web
|
|
23
|
+
* bundle picks up this file, so the native-only module is never imported here.
|
|
24
|
+
*/
|
|
25
|
+
declare function GlassFill({ tint, intensity, overlayColor, progressive, style, }: GlassFillProps): import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
export default GlassFill;
|
|
27
|
+
//# sourceMappingURL=GlassFill.web.d.ts.map
|