jfs-components 0.1.2 → 0.1.12
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 +45 -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/AllocationComparisonChart/AllocationComparisonChart.js +9 -6
- package/lib/commonjs/components/AmountInput/AmountInput.js +8 -5
- package/lib/commonjs/components/AreaLineChart/AreaLineChart.js +11 -7
- package/lib/commonjs/components/Badge/Badge.js +47 -8
- package/lib/commonjs/components/BenefitCard/BenefitCard.js +231 -0
- package/lib/commonjs/components/BrandChip/BrandChip.js +3 -3
- package/lib/commonjs/components/Button/Button.js +2 -1
- package/lib/commonjs/components/CardAdvisory/CardAdvisory.js +2 -1
- package/lib/commonjs/components/CardBankAccount/CardBankAccount.js +3 -2
- package/lib/commonjs/components/CardCTA/CardCTA.js +197 -27
- package/lib/commonjs/components/CardInsight/CardInsight.js +5 -1
- package/lib/commonjs/components/CcCard/CcCard.js +470 -0
- package/lib/commonjs/components/Checkbox/Checkbox.js +4 -3
- package/lib/commonjs/components/CheckboxItem/CheckboxItem.js +4 -3
- package/lib/commonjs/components/CircularProgressBar/CircularProgressBar.js +7 -3
- package/lib/commonjs/components/CircularProgressBarDoted/CircularProgressBarDoted.js +3 -2
- package/lib/commonjs/components/CircularRating/CircularRating.js +2 -1
- package/lib/commonjs/components/ClusterBubble/ClusterBubble.js +3 -2
- package/lib/commonjs/components/CompareTable/CompareTable.js +401 -0
- package/lib/commonjs/components/ComparisonBar/ComparisonBar.js +266 -0
- package/lib/commonjs/components/CoverageBarComparison/CoverageBarComparison.js +3 -2
- package/lib/commonjs/components/DonutChart/DonutChart.js +4 -3
- package/lib/commonjs/components/Dropdown/Dropdown.js +3 -2
- package/lib/commonjs/components/DropdownInput/DropdownInput.js +38 -5
- package/lib/commonjs/components/ExpandableCheckbox/ExpandableCheckbox.js +2 -1
- package/lib/commonjs/components/FormField/FormField.js +45 -4
- package/lib/commonjs/components/Gauge/Gauge.js +1 -1
- package/lib/commonjs/components/HoldingsCard/HoldingsCard.js +3 -2
- package/lib/commonjs/components/InputSearch/InputSearch.js +6 -4
- package/lib/commonjs/components/InstitutionBadge/InstitutionBadge.js +2 -1
- package/lib/commonjs/components/ListGroup/ListGroup.js +2 -1
- package/lib/commonjs/components/ListItem/ListItem.js +3 -2
- package/lib/commonjs/components/MediaCard/MediaCard.js +4 -2
- package/lib/commonjs/components/MetricLegendItem/MetricLegendItem.js +3 -2
- package/lib/commonjs/components/MonthlyStatusGrid/MonthlyStatusGrid.js +6 -3
- package/lib/commonjs/components/NoteInput/NoteInput.js +6 -5
- package/lib/commonjs/components/PdpCcCard/PdpCcCard.js +273 -0
- package/lib/commonjs/components/PoweredByLabel/PoweredByLabel.js +3 -2
- package/lib/commonjs/components/ProductMerchandisingCard/ProductMerchandisingCard.js +427 -0
- package/lib/commonjs/components/ProductOverview/ProductOverview.js +4 -3
- package/lib/commonjs/components/ProgressBadge/ProgressBadge.js +2 -2
- package/lib/commonjs/components/ProjectionMarker/ProjectionMarker.js +162 -0
- package/lib/commonjs/components/Radio/Radio.js +5 -5
- package/lib/commonjs/components/Section/Section.js +3 -2
- package/lib/commonjs/components/Slider/Slider.js +474 -0
- package/lib/commonjs/components/Stack/Stack.js +86 -0
- package/lib/commonjs/components/SuggestiveSearch/SuggestiveSearch.js +10 -1
- package/lib/commonjs/components/SummaryTile/SummaryTile.js +3 -2
- package/lib/commonjs/components/Table/Table.js +324 -0
- package/lib/commonjs/components/Text/Text.js +2 -1
- package/lib/commonjs/components/TextInput/TextInput.js +22 -9
- package/lib/commonjs/components/TextSegment/TextSegment.js +119 -0
- package/lib/commonjs/components/ThreadHero/ThreadHero.js +4 -5
- package/lib/commonjs/components/Title/Title.js +2 -1
- package/lib/commonjs/components/Toast/Toast.js +3 -2
- package/lib/commonjs/components/TransactionBubble/TransactionBubble.js +2 -1
- package/lib/commonjs/components/TransactionStatus/TransactionStatus.js +3 -2
- package/lib/commonjs/components/UpiHandle/UpiHandle.js +2 -2
- package/lib/commonjs/components/index.js +107 -0
- package/lib/commonjs/design-tokens/Coin Variables-variables-full.json +1 -1
- package/lib/commonjs/design-tokens/figma-modes.generated.js +39 -9
- package/lib/commonjs/icons/registry.js +1 -1
- package/lib/commonjs/utils/GlassFill/GlassFill.js +271 -0
- package/lib/commonjs/utils/GlassFill/GlassFill.web.js +120 -0
- package/lib/commonjs/utils/react-utils.js +78 -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/AllocationComparisonChart/AllocationComparisonChart.js +10 -7
- package/lib/module/components/AmountInput/AmountInput.js +6 -4
- package/lib/module/components/AreaLineChart/AreaLineChart.js +12 -8
- package/lib/module/components/Badge/Badge.js +49 -10
- package/lib/module/components/BenefitCard/BenefitCard.js +225 -0
- package/lib/module/components/BrandChip/BrandChip.js +4 -4
- package/lib/module/components/Button/Button.js +3 -2
- package/lib/module/components/CardAdvisory/CardAdvisory.js +3 -2
- package/lib/module/components/CardBankAccount/CardBankAccount.js +4 -3
- package/lib/module/components/CardCTA/CardCTA.js +198 -28
- package/lib/module/components/CardInsight/CardInsight.js +5 -1
- package/lib/module/components/CcCard/CcCard.js +464 -0
- package/lib/module/components/Checkbox/Checkbox.js +5 -4
- package/lib/module/components/CheckboxItem/CheckboxItem.js +5 -4
- package/lib/module/components/CircularProgressBar/CircularProgressBar.js +8 -4
- package/lib/module/components/CircularProgressBarDoted/CircularProgressBarDoted.js +4 -3
- package/lib/module/components/CircularRating/CircularRating.js +3 -2
- package/lib/module/components/ClusterBubble/ClusterBubble.js +4 -3
- package/lib/module/components/CompareTable/CompareTable.js +396 -0
- package/lib/module/components/ComparisonBar/ComparisonBar.js +260 -0
- package/lib/module/components/CoverageBarComparison/CoverageBarComparison.js +4 -3
- package/lib/module/components/DonutChart/DonutChart.js +5 -4
- package/lib/module/components/Dropdown/Dropdown.js +4 -3
- package/lib/module/components/DropdownInput/DropdownInput.js +40 -7
- package/lib/module/components/ExpandableCheckbox/ExpandableCheckbox.js +2 -1
- package/lib/module/components/FormField/FormField.js +48 -7
- package/lib/module/components/Gauge/Gauge.js +1 -1
- package/lib/module/components/HoldingsCard/HoldingsCard.js +4 -3
- package/lib/module/components/InputSearch/InputSearch.js +6 -4
- package/lib/module/components/InstitutionBadge/InstitutionBadge.js +3 -2
- package/lib/module/components/ListGroup/ListGroup.js +3 -2
- package/lib/module/components/ListItem/ListItem.js +4 -3
- package/lib/module/components/MediaCard/MediaCard.js +4 -2
- package/lib/module/components/MetricLegendItem/MetricLegendItem.js +4 -3
- package/lib/module/components/MonthlyStatusGrid/MonthlyStatusGrid.js +7 -4
- package/lib/module/components/NoteInput/NoteInput.js +7 -6
- package/lib/module/components/PdpCcCard/PdpCcCard.js +267 -0
- package/lib/module/components/PoweredByLabel/PoweredByLabel.js +4 -3
- package/lib/module/components/ProductMerchandisingCard/ProductMerchandisingCard.js +421 -0
- package/lib/module/components/ProductOverview/ProductOverview.js +5 -4
- package/lib/module/components/ProgressBadge/ProgressBadge.js +3 -3
- package/lib/module/components/ProjectionMarker/ProjectionMarker.js +157 -0
- package/lib/module/components/Radio/Radio.js +5 -4
- package/lib/module/components/Section/Section.js +4 -3
- package/lib/module/components/Slider/Slider.js +469 -0
- package/lib/module/components/Stack/Stack.js +81 -0
- package/lib/module/components/SuggestiveSearch/SuggestiveSearch.js +10 -1
- package/lib/module/components/SummaryTile/SummaryTile.js +4 -3
- package/lib/module/components/Table/Table.js +315 -0
- package/lib/module/components/Text/Text.js +3 -2
- package/lib/module/components/TextInput/TextInput.js +24 -11
- package/lib/module/components/TextSegment/TextSegment.js +114 -0
- package/lib/module/components/ThreadHero/ThreadHero.js +5 -6
- package/lib/module/components/Title/Title.js +3 -2
- package/lib/module/components/Toast/Toast.js +4 -3
- package/lib/module/components/TransactionBubble/TransactionBubble.js +3 -2
- package/lib/module/components/TransactionStatus/TransactionStatus.js +4 -3
- package/lib/module/components/UpiHandle/UpiHandle.js +3 -3
- package/lib/module/components/index.js +11 -0
- package/lib/module/design-tokens/Coin Variables-variables-full.json +1 -1
- package/lib/module/design-tokens/figma-modes.generated.js +39 -9
- package/lib/module/icons/registry.js +1 -1
- package/lib/module/utils/GlassFill/GlassFill.js +265 -0
- package/lib/module/utils/GlassFill/GlassFill.web.js +115 -0
- package/lib/module/utils/react-utils.js +75 -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/AmountInput/AmountInput.d.ts +3 -2
- 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 +93 -0
- 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/CcCard/CcCard.d.ts +137 -0
- package/lib/typescript/src/components/Checkbox/Checkbox.d.ts +3 -2
- package/lib/typescript/src/components/CheckboxItem/CheckboxItem.d.ts +2 -2
- 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 +94 -0
- package/lib/typescript/src/components/ComparisonBar/ComparisonBar.d.ts +118 -0
- 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 +26 -1
- package/lib/typescript/src/components/ExpandableCheckbox/ExpandableCheckbox.d.ts +7 -1
- package/lib/typescript/src/components/FormField/FormField.d.ts +2 -2
- package/lib/typescript/src/components/HoldingsCard/HoldingsCard.d.ts +7 -1
- package/lib/typescript/src/components/InputSearch/InputSearch.d.ts +23 -2
- 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/NoteInput/NoteInput.d.ts +19 -2
- package/lib/typescript/src/components/PdpCcCard/PdpCcCard.d.ts +84 -0
- package/lib/typescript/src/components/PoweredByLabel/PoweredByLabel.d.ts +7 -1
- package/lib/typescript/src/components/ProductMerchandisingCard/ProductMerchandisingCard.d.ts +87 -0
- 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 +88 -0
- package/lib/typescript/src/components/Radio/Radio.d.ts +3 -2
- package/lib/typescript/src/components/RadioButton/RadioButton.d.ts +2 -2
- package/lib/typescript/src/components/Section/Section.d.ts +7 -1
- package/lib/typescript/src/components/Slider/Slider.d.ts +105 -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 +7 -1
- package/lib/typescript/src/components/TextInput/TextInput.d.ts +9 -29
- package/lib/typescript/src/components/TextSegment/TextSegment.d.ts +106 -0
- package/lib/typescript/src/components/ThreadHero/ThreadHero.d.ts +7 -1
- package/lib/typescript/src/components/Title/Title.d.ts +7 -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 +14 -3
- package/lib/typescript/src/design-tokens/figma-modes.generated.d.ts +22 -2
- package/lib/typescript/src/icons/registry.d.ts +1 -1
- package/lib/typescript/src/utils/GlassFill/GlassFill.d.ts +84 -0
- package/lib/typescript/src/utils/GlassFill/GlassFill.web.d.ts +43 -0
- package/lib/typescript/src/utils/react-utils.d.ts +47 -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/AllocationComparisonChart/AllocationComparisonChart.tsx +14 -4
- package/src/components/AmountInput/AmountInput.tsx +7 -5
- package/src/components/AreaLineChart/AreaLineChart.tsx +15 -5
- package/src/components/Badge/Badge.tsx +78 -8
- package/src/components/BenefitCard/BenefitCard.tsx +309 -0
- package/src/components/BrandChip/BrandChip.tsx +9 -3
- package/src/components/Button/Button.tsx +9 -2
- package/src/components/CardAdvisory/CardAdvisory.tsx +9 -2
- package/src/components/CardBankAccount/CardBankAccount.tsx +9 -2
- package/src/components/CardCTA/CardCTA.tsx +214 -41
- package/src/components/CardInsight/CardInsight.tsx +7 -1
- package/src/components/CcCard/CcCard.tsx +598 -0
- package/src/components/Checkbox/Checkbox.tsx +5 -4
- package/src/components/CheckboxItem/CheckboxItem.tsx +5 -4
- package/src/components/CircularProgressBar/CircularProgressBar.tsx +14 -4
- package/src/components/CircularProgressBarDoted/CircularProgressBarDoted.tsx +10 -3
- package/src/components/CircularRating/CircularRating.tsx +9 -2
- package/src/components/ClusterBubble/ClusterBubble.tsx +9 -2
- package/src/components/CompareTable/CompareTable.tsx +525 -0
- package/src/components/ComparisonBar/ComparisonBar.tsx +356 -0
- package/src/components/CoverageBarComparison/CoverageBarComparison.tsx +9 -2
- package/src/components/DonutChart/DonutChart.tsx +10 -3
- package/src/components/Dropdown/Dropdown.tsx +9 -2
- package/src/components/DropdownInput/DropdownInput.tsx +64 -5
- package/src/components/ExpandableCheckbox/ExpandableCheckbox.tsx +8 -1
- package/src/components/FormField/FormField.tsx +52 -6
- package/src/components/Gauge/Gauge.tsx +1 -1
- package/src/components/HoldingsCard/HoldingsCard.tsx +9 -2
- package/src/components/InputSearch/InputSearch.tsx +8 -5
- package/src/components/InstitutionBadge/InstitutionBadge.tsx +9 -2
- package/src/components/ListGroup/ListGroup.tsx +9 -2
- package/src/components/ListItem/ListItem.tsx +10 -3
- package/src/components/MediaCard/MediaCard.tsx +2 -2
- package/src/components/MetricLegendItem/MetricLegendItem.tsx +9 -2
- package/src/components/MonthlyStatusGrid/MonthlyStatusGrid.tsx +17 -2
- package/src/components/NoteInput/NoteInput.tsx +8 -6
- package/src/components/PdpCcCard/PdpCcCard.tsx +356 -0
- package/src/components/PoweredByLabel/PoweredByLabel.tsx +9 -2
- package/src/components/ProductMerchandisingCard/ProductMerchandisingCard.tsx +490 -0
- package/src/components/ProductOverview/ProductOverview.tsx +10 -3
- package/src/components/ProgressBadge/ProgressBadge.tsx +9 -3
- package/src/components/ProjectionMarker/ProjectionMarker.tsx +284 -0
- package/src/components/Radio/Radio.tsx +5 -4
- package/src/components/Section/Section.tsx +10 -3
- package/src/components/Slider/Slider.tsx +635 -0
- package/src/components/Stack/Stack.tsx +131 -0
- package/src/components/SuggestiveSearch/SuggestiveSearch.tsx +10 -1
- package/src/components/SummaryTile/SummaryTile.tsx +9 -2
- package/src/components/Table/Table.tsx +449 -0
- package/src/components/Text/Text.tsx +9 -2
- package/src/components/TextInput/TextInput.tsx +22 -12
- package/src/components/TextSegment/TextSegment.tsx +173 -0
- package/src/components/ThreadHero/ThreadHero.tsx +10 -3
- package/src/components/Title/Title.tsx +9 -2
- package/src/components/Toast/Toast.tsx +9 -2
- package/src/components/TransactionBubble/TransactionBubble.tsx +9 -2
- package/src/components/TransactionStatus/TransactionStatus.tsx +9 -2
- package/src/components/UpiHandle/UpiHandle.tsx +9 -3
- package/src/components/index.ts +33 -3
- package/src/design-tokens/Coin Variables-variables-full.json +1 -1
- package/src/design-tokens/figma-modes.generated.ts +39 -9
- package/src/icons/registry.ts +1 -1
- package/src/utils/GlassFill/GlassFill.tsx +305 -0
- package/src/utils/GlassFill/GlassFill.web.tsx +148 -0
- package/src/utils/react-utils.ts +84 -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/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
- package/lib/typescript/scripts/generate-mode-types.d.ts +0 -2
- package/lib/typescript/scripts/retype-modes.d.cts +0 -2
- 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
|
@@ -126,6 +126,7 @@ function CardAdvisory({
|
|
|
126
126
|
progressStyle,
|
|
127
127
|
nudgeStyle,
|
|
128
128
|
accessibilityLabel,
|
|
129
|
+
disableTruncation,
|
|
129
130
|
...rest
|
|
130
131
|
}) {
|
|
131
132
|
const {
|
|
@@ -163,7 +164,7 @@ function CardAdvisory({
|
|
|
163
164
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
164
165
|
style: tokens.headerStyle,
|
|
165
166
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
166
|
-
|
|
167
|
+
...(0, _reactUtils.resolveTruncation)(disableTruncation, 1),
|
|
167
168
|
style: [tokens.titleStyle, titleStyle],
|
|
168
169
|
children: title
|
|
169
170
|
}), processedTitleEndSlot || (showInfoIcon ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.default, {
|
|
@@ -72,7 +72,8 @@ function CardBankAccount({
|
|
|
72
72
|
footer,
|
|
73
73
|
modes: propModes = _reactUtils.EMPTY_MODES,
|
|
74
74
|
style,
|
|
75
|
-
accessibilityLabel
|
|
75
|
+
accessibilityLabel,
|
|
76
|
+
disableTruncation
|
|
76
77
|
}) {
|
|
77
78
|
// Merge caller modes on top of `DEFAULT_MODES` so every default key
|
|
78
79
|
// (e.g. `Button / Size`, `AppearanceBrand`, `Emphasis`) can be overridden
|
|
@@ -189,7 +190,7 @@ function CardBankAccount({
|
|
|
189
190
|
})
|
|
190
191
|
}), typeof item.value === 'string' || typeof item.value === 'number' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
191
192
|
style: valueTextStyle,
|
|
192
|
-
|
|
193
|
+
...(0, _reactUtils.resolveTruncation)(disableTruncation, 1),
|
|
193
194
|
children: item.value
|
|
194
195
|
}) : (0, _reactUtils.cloneChildrenWithModes)(item.value, modes)]
|
|
195
196
|
}, `${item.label}-${index}`))
|
|
@@ -14,9 +14,18 @@ var _Button = _interopRequireDefault(require("../Button/Button"));
|
|
|
14
14
|
var _Badge = _interopRequireDefault(require("../Badge/Badge"));
|
|
15
15
|
var _ButtonGroup = _interopRequireDefault(require("../ButtonGroup/ButtonGroup"));
|
|
16
16
|
var _IconButton = _interopRequireDefault(require("../IconButton/IconButton"));
|
|
17
|
+
var _Avatar = _interopRequireDefault(require("../Avatar/Avatar"));
|
|
17
18
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
19
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
20
|
+
/**
|
|
21
|
+
* Accepted `type` values. The canonical (and historical) values are lowercase
|
|
22
|
+
* (`'cta' | 'rating' | 'sip'`). The Figma variant names are PascalCase
|
|
23
|
+
* (`'CTA' | 'Rating' | 'Sip'`) — we accept those too and normalize internally
|
|
24
|
+
* so callers can pass either casing without a breaking change.
|
|
25
|
+
*/
|
|
26
|
+
|
|
19
27
|
const optionalTokenAvailability = new Map();
|
|
28
|
+
const toWeight = w => typeof w === 'number' ? `${w}` : w;
|
|
20
29
|
function getOptionalVariableByName(name, modes, fallback) {
|
|
21
30
|
let isAvailable = optionalTokenAvailability.get(name);
|
|
22
31
|
if (isAvailable === undefined) {
|
|
@@ -39,11 +48,16 @@ function CardCTA({
|
|
|
39
48
|
showRatingActions = true,
|
|
40
49
|
onPressLike,
|
|
41
50
|
onPressDislike,
|
|
51
|
+
headline = 'Headline',
|
|
52
|
+
description = 'Description',
|
|
53
|
+
subtitle = 'Subtitle',
|
|
54
|
+
avatarSource,
|
|
42
55
|
modes: propModes = _reactUtils.EMPTY_MODES,
|
|
43
56
|
iconSlot,
|
|
44
57
|
buttonSlot,
|
|
45
58
|
ratingBadgeSlot,
|
|
46
59
|
ratingActionsSlot,
|
|
60
|
+
avatarSlot,
|
|
47
61
|
style
|
|
48
62
|
}) {
|
|
49
63
|
const {
|
|
@@ -53,7 +67,10 @@ function CardCTA({
|
|
|
53
67
|
...globalModes,
|
|
54
68
|
...propModes
|
|
55
69
|
};
|
|
56
|
-
|
|
70
|
+
// Accept both lowercase (canonical) and Figma PascalCase variant names.
|
|
71
|
+
const normalizedType = typeof type === 'string' ? type.toLowerCase() : 'cta';
|
|
72
|
+
const isRating = normalizedType === 'rating';
|
|
73
|
+
const isSip = normalizedType === 'sip';
|
|
57
74
|
const background = (0, _figmaVariablesResolver.getVariableByName)('cardCTA/background', modes) || '#ffffff';
|
|
58
75
|
const radius = (0, _figmaVariablesResolver.getVariableByName)('cardCTA/radius', modes) || 12;
|
|
59
76
|
const borderSize = (0, _figmaVariablesResolver.getVariableByName)('cardCTA/border/size', modes) || 1;
|
|
@@ -67,13 +84,13 @@ function CardCTA({
|
|
|
67
84
|
const titleColor = (0, _figmaVariablesResolver.getVariableByName)('cardCTA/title/color', modes) || '#0c0d10';
|
|
68
85
|
const titleFontFamily = (0, _figmaVariablesResolver.getVariableByName)('cardCTA/title/fontFamily', modes) || 'JioType Var';
|
|
69
86
|
const titleFontSize = (0, _figmaVariablesResolver.getVariableByName)('cardCTA/title/fontSize', modes) || 16;
|
|
70
|
-
const titleLineHeight = (0, _figmaVariablesResolver.getVariableByName)('cardCTA/title/lineHeight', modes) ||
|
|
87
|
+
const titleLineHeight = (0, _figmaVariablesResolver.getVariableByName)('cardCTA/title/lineHeight', modes) || 18;
|
|
71
88
|
const titleFontWeightRaw = (0, _figmaVariablesResolver.getVariableByName)('cardCTA/title/fontWeight', modes) || 700;
|
|
72
89
|
const titleFontWeight = typeof titleFontWeightRaw === 'number' ? titleFontWeightRaw.toString() : titleFontWeightRaw;
|
|
73
90
|
const bodyColor = (0, _figmaVariablesResolver.getVariableByName)('cardCTA/body/color', modes) || '#13002d';
|
|
74
91
|
const bodyFontFamily = (0, _figmaVariablesResolver.getVariableByName)('cardCTA/body/fontFamily', modes) || 'JioType Var';
|
|
75
|
-
const bodyFontSize = (0, _figmaVariablesResolver.getVariableByName)('cardCTA/body/fontSize', modes) ||
|
|
76
|
-
const bodyLineHeight = (0, _figmaVariablesResolver.getVariableByName)('cardCTA/body/lineHeight', modes) ||
|
|
92
|
+
const bodyFontSize = (0, _figmaVariablesResolver.getVariableByName)('cardCTA/body/fontSize', modes) || 14;
|
|
93
|
+
const bodyLineHeight = (0, _figmaVariablesResolver.getVariableByName)('cardCTA/body/lineHeight', modes) || 17;
|
|
77
94
|
const bodyFontWeightRaw = (0, _figmaVariablesResolver.getVariableByName)('cardCTA/body/fontWeight', modes) || 400;
|
|
78
95
|
const bodyFontWeight = typeof bodyFontWeightRaw === 'number' ? bodyFontWeightRaw.toString() : bodyFontWeightRaw;
|
|
79
96
|
const ratingContentGap = getOptionalVariableByName('cardCTA/rating/content/gap', modes, 12);
|
|
@@ -82,6 +99,33 @@ function CardCTA({
|
|
|
82
99
|
const ratingFooterPaddingH = getOptionalVariableByName('cardCTA/rating/footer/horizontal', modes, 16);
|
|
83
100
|
const ratingFooterPaddingTop = getOptionalVariableByName('cardCTA/rating/footer/top', modes, 0);
|
|
84
101
|
const ratingFooterPaddingBottom = getOptionalVariableByName('cardCTA/rating/footer/bottom', modes, 12);
|
|
102
|
+
|
|
103
|
+
// Sip variant footer text block (Headline / Description / Subtitle). These
|
|
104
|
+
// `ccCard/*` tokens were introduced for the Sip layout — resolve them
|
|
105
|
+
// optionally so older token snapshots that lack them fall back gracefully.
|
|
106
|
+
const sipFooterGap = getOptionalVariableByName('ccCard/footer/textWrap/gap', modes, 4);
|
|
107
|
+
const sipHeadlineColor = getOptionalVariableByName('ccCard/headline/color', modes, '#707275');
|
|
108
|
+
const sipHeadlineFontFamily = getOptionalVariableByName('ccCard/headline/fontFamily', modes, 'JioType Var');
|
|
109
|
+
const sipHeadlineFontSize = getOptionalVariableByName('ccCard/headline/fontSize', modes, 10);
|
|
110
|
+
const sipHeadlineLineHeight = getOptionalVariableByName('ccCard/headline/lineHeight', modes, 13);
|
|
111
|
+
const sipHeadlineFontWeightRaw = getOptionalVariableByName('ccCard/headline/fontWeight', modes, 500);
|
|
112
|
+
const sipHeadlineFontWeight = typeof sipHeadlineFontWeightRaw === 'number' ? sipHeadlineFontWeightRaw.toString() : sipHeadlineFontWeightRaw;
|
|
113
|
+
const sipDescriptionColor = getOptionalVariableByName('ccCard/title/color', modes, '#081007');
|
|
114
|
+
const sipDescriptionFontFamily = getOptionalVariableByName('ccCard/title/fontFamily', modes, 'JioType Var');
|
|
115
|
+
const sipDescriptionFontSize = getOptionalVariableByName('ccCard/title/fontSize', modes, 14);
|
|
116
|
+
const sipDescriptionLineHeight = getOptionalVariableByName('ccCard/title/lineHeight', modes, 15);
|
|
117
|
+
const sipDescriptionFontWeightRaw = getOptionalVariableByName('ccCard/title/fontWeight', modes, 700);
|
|
118
|
+
const sipDescriptionFontWeight = typeof sipDescriptionFontWeightRaw === 'number' ? sipDescriptionFontWeightRaw.toString() : sipDescriptionFontWeightRaw;
|
|
119
|
+
const sipSubtitleColor = getOptionalVariableByName('ccCard/subtitle/color', modes, '#707275');
|
|
120
|
+
const sipSubtitleFontFamily = getOptionalVariableByName('ccCard/subtitle/fontFamily', modes, 'JioType Var');
|
|
121
|
+
const sipSubtitleFontSize = getOptionalVariableByName('ccCard/subtitle/fontSize', modes, 10);
|
|
122
|
+
const sipSubtitleLineHeight = getOptionalVariableByName('ccCard/subtitle/lineHeight', modes, 13);
|
|
123
|
+
const sipSubtitleFontWeightRaw = getOptionalVariableByName('ccCard/subtitle/fontWeight', modes, 500);
|
|
124
|
+
const sipSubtitleFontWeight = typeof sipSubtitleFontWeightRaw === 'number' ? sipSubtitleFontWeightRaw.toString() : sipSubtitleFontWeightRaw;
|
|
125
|
+
const avatarModes = {
|
|
126
|
+
...modes,
|
|
127
|
+
'Avatar Size': 'L'
|
|
128
|
+
};
|
|
85
129
|
const buttonModes = {
|
|
86
130
|
...modes,
|
|
87
131
|
AppearanceBrand: 'Secondary',
|
|
@@ -98,25 +142,72 @@ function CardCTA({
|
|
|
98
142
|
const [measuredButtonLabelWidth, setMeasuredButtonLabelWidth] = _react.default.useState(null);
|
|
99
143
|
const buttonPaddingH = (0, _figmaVariablesResolver.getVariableByName)('button/padding/horizontal', buttonModes) || 20;
|
|
100
144
|
const buttonBorderSize = (0, _figmaVariablesResolver.getVariableByName)('button/border/size', buttonModes) ?? 1;
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
145
|
+
// Small safety pad so sub-pixel rounding between the measure pass and the
|
|
146
|
+
// rendered glyph run can never clip the final character.
|
|
147
|
+
const measuredButtonWidth = measuredButtonLabelWidth === null ? undefined : Math.ceil(measuredButtonLabelWidth + buttonPaddingH * 2 + buttonBorderSize * 2 + 2);
|
|
148
|
+
|
|
149
|
+
// ROOT-CAUSE FIX for the Android "jumping button" feedback loop + clipping.
|
|
150
|
+
//
|
|
151
|
+
// Previously the *visible* label measured itself via `onTextLayout` and we
|
|
152
|
+
// fed that width straight back onto the same Button. Because the button is
|
|
153
|
+
// width-constrained by its parent, Android clamps the overflowing text and
|
|
154
|
+
// even character-breaks a single word ("Save" -> "Sav"/"e"); the re-applied
|
|
155
|
+
// width re-triggers layout, producing an endless ~60fps width oscillation.
|
|
156
|
+
//
|
|
157
|
+
// We now measure an *off-screen* copy of the label, laid out at an
|
|
158
|
+
// effectively unbounded width, so its reported single-line width is
|
|
159
|
+
// intrinsic and constant regardless of the button's applied width — the
|
|
160
|
+
// measurement can no longer depend on the value it produces, so the loop is
|
|
161
|
+
// impossible. Crucially the measurer reuses the Button's own resolved label
|
|
162
|
+
// styles (passed into `renderContent`), so the measured font matches the
|
|
163
|
+
// rendered font exactly and the width is never an under-estimate. The label
|
|
164
|
+
// is always a single line that overflows rather than wraps or truncates.
|
|
165
|
+
const handleMeasureTextLayout = _react.default.useCallback(event => {
|
|
166
|
+
const line = event?.nativeEvent?.lines?.[0];
|
|
167
|
+
const width = line && typeof line.width === 'number' ? line.width : 0;
|
|
168
|
+
if (width <= 0) return;
|
|
169
|
+
setMeasuredButtonLabelWidth(currentWidth => currentWidth !== null && Math.abs(currentWidth - width) < 0.5 ? currentWidth : Math.ceil(width));
|
|
113
170
|
}, []);
|
|
171
|
+
|
|
172
|
+
// Off-screen measurer wrapper: absolute + opacity 0 + pointerEvents none =>
|
|
173
|
+
// out of flow, invisible, never intercepts touches, zero layout impact.
|
|
174
|
+
const measurerWrapStyle = {
|
|
175
|
+
position: 'absolute',
|
|
176
|
+
left: 0,
|
|
177
|
+
top: 0,
|
|
178
|
+
opacity: 0
|
|
179
|
+
};
|
|
180
|
+
|
|
181
|
+
// Renders the visible single-line label (never wraps, never ellipsizes) plus
|
|
182
|
+
// the co-located off-screen measurer that shares the Button's exact label
|
|
183
|
+
// styles. `width: 9999` forces the measurer onto one line so `onTextLayout`
|
|
184
|
+
// reports the true intrinsic width.
|
|
185
|
+
const renderButtonContent = labelExtraStyle => labelStyles => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
186
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
187
|
+
numberOfLines: 1,
|
|
188
|
+
ellipsizeMode: "clip",
|
|
189
|
+
style: [labelStyles, labelExtraStyle],
|
|
190
|
+
children: nonWrappingButtonLabel
|
|
191
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
192
|
+
pointerEvents: "none",
|
|
193
|
+
accessibilityElementsHidden: true,
|
|
194
|
+
importantForAccessibility: "no",
|
|
195
|
+
style: measurerWrapStyle,
|
|
196
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
197
|
+
style: [labelStyles, {
|
|
198
|
+
width: 9999
|
|
199
|
+
}],
|
|
200
|
+
onTextLayout: handleMeasureTextLayout,
|
|
201
|
+
children: nonWrappingButtonLabel
|
|
202
|
+
})
|
|
203
|
+
})]
|
|
204
|
+
});
|
|
114
205
|
const containerStyle = {
|
|
115
206
|
backgroundColor: background,
|
|
116
207
|
borderRadius: radius,
|
|
117
208
|
borderWidth: borderSize,
|
|
118
209
|
borderColor,
|
|
119
|
-
flexDirection: isRating ? 'column' : 'row',
|
|
210
|
+
flexDirection: isRating || isSip ? 'column' : 'row',
|
|
120
211
|
overflow: 'visible'
|
|
121
212
|
};
|
|
122
213
|
|
|
@@ -202,6 +293,47 @@ function CardCTA({
|
|
|
202
293
|
lineHeight: bodyLineHeight,
|
|
203
294
|
fontWeight: bodyFontWeight
|
|
204
295
|
};
|
|
296
|
+
const sipWrapStyle = {
|
|
297
|
+
width: '100%',
|
|
298
|
+
paddingHorizontal: leftPaddingH,
|
|
299
|
+
paddingVertical: leftPaddingV,
|
|
300
|
+
gap: leftGap,
|
|
301
|
+
alignItems: 'flex-start',
|
|
302
|
+
justifyContent: 'flex-start',
|
|
303
|
+
overflow: 'visible'
|
|
304
|
+
};
|
|
305
|
+
const sipFooterTextWrapStyle = {
|
|
306
|
+
gap: sipFooterGap,
|
|
307
|
+
alignItems: 'flex-start',
|
|
308
|
+
alignSelf: 'stretch',
|
|
309
|
+
minWidth: 0
|
|
310
|
+
};
|
|
311
|
+
const sipDescriptionWrapStyle = {
|
|
312
|
+
flexDirection: 'row',
|
|
313
|
+
gap: sipFooterGap,
|
|
314
|
+
alignItems: 'flex-end'
|
|
315
|
+
};
|
|
316
|
+
const sipHeadlineStyle = {
|
|
317
|
+
color: sipHeadlineColor,
|
|
318
|
+
fontFamily: sipHeadlineFontFamily,
|
|
319
|
+
fontSize: sipHeadlineFontSize,
|
|
320
|
+
lineHeight: sipHeadlineLineHeight,
|
|
321
|
+
fontWeight: toWeight(sipHeadlineFontWeightRaw)
|
|
322
|
+
};
|
|
323
|
+
const sipDescriptionStyle = {
|
|
324
|
+
color: sipDescriptionColor,
|
|
325
|
+
fontFamily: sipDescriptionFontFamily,
|
|
326
|
+
fontSize: sipDescriptionFontSize,
|
|
327
|
+
lineHeight: sipDescriptionLineHeight,
|
|
328
|
+
fontWeight: toWeight(sipDescriptionFontWeightRaw)
|
|
329
|
+
};
|
|
330
|
+
const sipSubtitleStyle = {
|
|
331
|
+
color: sipSubtitleColor,
|
|
332
|
+
fontFamily: sipSubtitleFontFamily,
|
|
333
|
+
fontSize: sipSubtitleFontSize,
|
|
334
|
+
lineHeight: sipSubtitleLineHeight,
|
|
335
|
+
fontWeight: toWeight(sipSubtitleFontWeightRaw)
|
|
336
|
+
};
|
|
205
337
|
const ratingContentStyle = {
|
|
206
338
|
paddingHorizontal: ratingContentPaddingH,
|
|
207
339
|
paddingVertical: ratingContentPaddingV,
|
|
@@ -248,6 +380,52 @@ function CardCTA({
|
|
|
248
380
|
flexShrink: 0,
|
|
249
381
|
flexWrap: 'nowrap'
|
|
250
382
|
};
|
|
383
|
+
if (isSip) {
|
|
384
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
385
|
+
style: [containerStyle, style],
|
|
386
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
387
|
+
style: sipWrapStyle,
|
|
388
|
+
children: [avatarSlot ? (0, _reactUtils.cloneChildrenWithModes)(avatarSlot, avatarModes) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.default, {
|
|
389
|
+
style: "Image",
|
|
390
|
+
imageSource: avatarSource,
|
|
391
|
+
modes: avatarModes
|
|
392
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
393
|
+
style: textWrapStyle,
|
|
394
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
395
|
+
style: titleStyle,
|
|
396
|
+
children: title
|
|
397
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
398
|
+
style: bodyStyle,
|
|
399
|
+
children: body
|
|
400
|
+
})]
|
|
401
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
402
|
+
style: sipFooterTextWrapStyle,
|
|
403
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
404
|
+
style: sipHeadlineStyle,
|
|
405
|
+
children: headline
|
|
406
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
407
|
+
style: sipDescriptionWrapStyle,
|
|
408
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
409
|
+
style: sipDescriptionStyle,
|
|
410
|
+
children: description
|
|
411
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
412
|
+
style: sipSubtitleStyle,
|
|
413
|
+
children: subtitle
|
|
414
|
+
})]
|
|
415
|
+
})]
|
|
416
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
417
|
+
style: buttonWrapStyle,
|
|
418
|
+
children: buttonSlot ? (0, _reactUtils.cloneChildrenWithModes)(buttonSlot, buttonModes) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
|
|
419
|
+
label: effectiveButtonLabel,
|
|
420
|
+
onPress: onPressButton || (() => {}),
|
|
421
|
+
modes: buttonModes,
|
|
422
|
+
style: buttonStyle,
|
|
423
|
+
renderContent: renderButtonContent(buttonLabelStyle)
|
|
424
|
+
})
|
|
425
|
+
})]
|
|
426
|
+
})
|
|
427
|
+
});
|
|
428
|
+
}
|
|
251
429
|
if (isRating) {
|
|
252
430
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
253
431
|
style: [containerStyle, style],
|
|
@@ -275,11 +453,7 @@ function CardCTA({
|
|
|
275
453
|
onPress: onPressButton || (() => {}),
|
|
276
454
|
modes: buttonModes,
|
|
277
455
|
style: ratingButtonStyle,
|
|
278
|
-
renderContent:
|
|
279
|
-
onTextLayout: handleButtonLabelTextLayout,
|
|
280
|
-
style: [labelStyles, ratingButtonLabelStyle],
|
|
281
|
-
children: nonWrappingButtonLabel
|
|
282
|
-
})
|
|
456
|
+
renderContent: renderButtonContent(ratingButtonLabelStyle)
|
|
283
457
|
})
|
|
284
458
|
}), showRatingActions ? ratingActionsSlot ? (0, _reactUtils.cloneChildrenWithModes)(ratingActionsSlot, iconButtonModes) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ButtonGroup.default, {
|
|
285
459
|
modes: iconButtonModes,
|
|
@@ -320,11 +494,7 @@ function CardCTA({
|
|
|
320
494
|
onPress: onPressButton || (() => {}),
|
|
321
495
|
modes: buttonModes,
|
|
322
496
|
style: buttonStyle,
|
|
323
|
-
renderContent:
|
|
324
|
-
onTextLayout: handleButtonLabelTextLayout,
|
|
325
|
-
style: [labelStyles, buttonLabelStyle],
|
|
326
|
-
children: nonWrappingButtonLabel
|
|
327
|
-
})
|
|
497
|
+
renderContent: renderButtonContent(buttonLabelStyle)
|
|
328
498
|
})
|
|
329
499
|
})]
|
|
330
500
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
@@ -36,7 +36,9 @@ function CardInsight({
|
|
|
36
36
|
style
|
|
37
37
|
}) {
|
|
38
38
|
const background = (0, _figmaVariablesResolver.getVariableByName)('cardInsight/background', modes) ?? '#ffffff';
|
|
39
|
-
const radius = (0, _figmaVariablesResolver.getVariableByName)('cardInsight/radius', modes) ??
|
|
39
|
+
const radius = (0, _figmaVariablesResolver.getVariableByName)('cardInsight/radius', modes) ?? 12;
|
|
40
|
+
const borderWidth = (0, _figmaVariablesResolver.getVariableByName)('cardInsight/borderWidth', modes) ?? 1;
|
|
41
|
+
const borderColor = (0, _figmaVariablesResolver.getVariableByName)('cardInsight/border/color', modes) ?? '#ffffff';
|
|
40
42
|
const paddingHorizontal = (0, _figmaVariablesResolver.getVariableByName)('cardInsight/padding/horizontal', modes) ?? 12;
|
|
41
43
|
const paddingVertical = (0, _figmaVariablesResolver.getVariableByName)('cardInsight/padding/vertical', modes) ?? 16;
|
|
42
44
|
const gap = (0, _figmaVariablesResolver.getVariableByName)('cardInsight/gap', modes) ?? 12;
|
|
@@ -109,6 +111,8 @@ function CardInsight({
|
|
|
109
111
|
width,
|
|
110
112
|
backgroundColor: background,
|
|
111
113
|
borderRadius: radius,
|
|
114
|
+
borderWidth,
|
|
115
|
+
borderColor,
|
|
112
116
|
paddingHorizontal,
|
|
113
117
|
paddingVertical,
|
|
114
118
|
gap,
|