@12-apps/ui 6.45.6 → 6.45.7
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/dist/_internal/components/form/RadioGroup/RadioGroup.js +4 -2
- package/dist/_internal/components/form/RadioGroup/RadioGroup.variants.js +3 -1
- package/dist/_internal/components/form/index.js +2 -2
- package/dist/_internal/components/index.js +2 -2
- package/dist/{chunk-XHA2NXLD.js → chunk-HSKLX2NO.js} +2 -2
- package/dist/{chunk-6H4TPEMO.js → chunk-SDWOWB6F.js} +6 -1
- package/dist/chunk-SDWOWB6F.js.map +1 -0
- package/dist/form/RadioGroup.js +4 -2
- package/dist/types/components/form/RadioGroup/RadioGroup.variants.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/form/RadioGroup/RadioGroup.variants.tsx +11 -0
- package/dist/chunk-6H4TPEMO.js.map +0 -1
- /package/dist/{chunk-XHA2NXLD.js.map → chunk-HSKLX2NO.js.map} +0 -0
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
RadioGroup
|
|
3
|
-
} from "../../../../chunk-
|
|
4
|
-
import "../../../../chunk-
|
|
3
|
+
} from "../../../../chunk-HSKLX2NO.js";
|
|
4
|
+
import "../../../../chunk-SDWOWB6F.js";
|
|
5
5
|
import "../../../../chunk-GG62LKA3.js";
|
|
6
6
|
import "../../../../chunk-Z6WSW6B4.js";
|
|
7
7
|
import "../../../../chunk-HPK33ACY.js";
|
|
8
|
+
import "../../../../chunk-7ZPUN7TV.js";
|
|
8
9
|
import "../../../../chunk-M47ZOUGF.js";
|
|
9
10
|
import "../../../../chunk-7FDU3FIN.js";
|
|
10
11
|
import "../../../../chunk-EPEJMTCQ.js";
|
|
11
12
|
import "../../../../chunk-GDN2LUTZ.js";
|
|
13
|
+
import "../../../../chunk-FZXKH2ZT.js";
|
|
12
14
|
import "../../../../chunk-O6MJWHU5.js";
|
|
13
15
|
import "../../../../chunk-26X4CZVR.js";
|
|
14
16
|
import "../../../../chunk-FQ6UW7IY.js";
|
|
@@ -7,13 +7,15 @@ import {
|
|
|
7
7
|
OptionLabel,
|
|
8
8
|
SegmentRadios,
|
|
9
9
|
testId
|
|
10
|
-
} from "../../../../chunk-
|
|
10
|
+
} from "../../../../chunk-SDWOWB6F.js";
|
|
11
11
|
import "../../../../chunk-GG62LKA3.js";
|
|
12
12
|
import "../../../../chunk-Z6WSW6B4.js";
|
|
13
|
+
import "../../../../chunk-7ZPUN7TV.js";
|
|
13
14
|
import "../../../../chunk-M47ZOUGF.js";
|
|
14
15
|
import "../../../../chunk-7FDU3FIN.js";
|
|
15
16
|
import "../../../../chunk-EPEJMTCQ.js";
|
|
16
17
|
import "../../../../chunk-GDN2LUTZ.js";
|
|
18
|
+
import "../../../../chunk-FZXKH2ZT.js";
|
|
17
19
|
import "../../../../chunk-O6MJWHU5.js";
|
|
18
20
|
import "../../../../chunk-26X4CZVR.js";
|
|
19
21
|
import "../../../../chunk-FQ6UW7IY.js";
|
|
@@ -8,8 +8,8 @@ import "../../../chunk-QWVETTIY.js";
|
|
|
8
8
|
import "../../../chunk-IQ6WX2GS.js";
|
|
9
9
|
import {
|
|
10
10
|
RadioGroup
|
|
11
|
-
} from "../../../chunk-
|
|
12
|
-
import "../../../chunk-
|
|
11
|
+
} from "../../../chunk-HSKLX2NO.js";
|
|
12
|
+
import "../../../chunk-SDWOWB6F.js";
|
|
13
13
|
import "../../../chunk-GG62LKA3.js";
|
|
14
14
|
import "../../../chunk-Z6WSW6B4.js";
|
|
15
15
|
import "../../../chunk-WMY276HD.js";
|
|
@@ -231,8 +231,8 @@ import "../../chunk-YBVKLJAL.js";
|
|
|
231
231
|
import "../../chunk-IQ6WX2GS.js";
|
|
232
232
|
import {
|
|
233
233
|
RadioGroup
|
|
234
|
-
} from "../../chunk-
|
|
235
|
-
import "../../chunk-
|
|
234
|
+
} from "../../chunk-HSKLX2NO.js";
|
|
235
|
+
import "../../chunk-SDWOWB6F.js";
|
|
236
236
|
import "../../chunk-GG62LKA3.js";
|
|
237
237
|
import "../../chunk-Z6WSW6B4.js";
|
|
238
238
|
import "../../chunk-WMY276HD.js";
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
GroupLabel,
|
|
6
6
|
SegmentRadios,
|
|
7
7
|
testId
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-SDWOWB6F.js";
|
|
9
9
|
import {
|
|
10
10
|
withDefaults
|
|
11
11
|
} from "./chunk-HPK33ACY.js";
|
|
@@ -96,4 +96,4 @@ RadioGroup.displayName = "RadioGroup";
|
|
|
96
96
|
export {
|
|
97
97
|
RadioGroup
|
|
98
98
|
};
|
|
99
|
-
//# sourceMappingURL=chunk-
|
|
99
|
+
//# sourceMappingURL=chunk-HSKLX2NO.js.map
|
|
@@ -5,6 +5,9 @@ import {
|
|
|
5
5
|
segmentButtonSx,
|
|
6
6
|
segmentContainerSx
|
|
7
7
|
} from "./chunk-GG62LKA3.js";
|
|
8
|
+
import {
|
|
9
|
+
muiSize
|
|
10
|
+
} from "./chunk-7ZPUN7TV.js";
|
|
8
11
|
|
|
9
12
|
// src/components/form/RadioGroup/RadioGroup.variants.tsx
|
|
10
13
|
import Box from "@mui/material/Box/index.js";
|
|
@@ -54,6 +57,7 @@ var DefaultRadios = ({
|
|
|
54
57
|
options,
|
|
55
58
|
value,
|
|
56
59
|
color,
|
|
60
|
+
size,
|
|
57
61
|
direction,
|
|
58
62
|
showDescriptions,
|
|
59
63
|
dataTestId,
|
|
@@ -79,6 +83,7 @@ var DefaultRadios = ({
|
|
|
79
83
|
Radio,
|
|
80
84
|
{
|
|
81
85
|
color: muiRadioColor(color),
|
|
86
|
+
size: muiSize(size),
|
|
82
87
|
"data-testid": testId(dataTestId, `radio-${index}`)
|
|
83
88
|
}
|
|
84
89
|
),
|
|
@@ -244,4 +249,4 @@ export {
|
|
|
244
249
|
SegmentRadios,
|
|
245
250
|
GroupLabel
|
|
246
251
|
};
|
|
247
|
-
//# sourceMappingURL=chunk-
|
|
252
|
+
//# sourceMappingURL=chunk-SDWOWB6F.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/form/RadioGroup/RadioGroup.variants.tsx"],"sourcesContent":["import Box from '@mui/material/Box/index.js';\nimport ButtonBase from '@mui/material/ButtonBase/index.js';\nimport Card from '@mui/material/Card/index.js';\nimport CardContent from '@mui/material/CardContent/index.js';\nimport FormControlLabel from '@mui/material/FormControlLabel/index.js';\nimport FormLabel from '@mui/material/FormLabel/index.js';\nimport Radio from '@mui/material/Radio/index.js';\nimport MuiRadioGroup from '@mui/material/RadioGroup/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport { styled } from '@mui/material/styles/index.js';\nimport React from 'react';\n\nimport {\n buttonRadioSx,\n formLabelSx,\n radioCardSx,\n segmentButtonSx,\n segmentContainerSx,\n} from './RadioGroup.styles';\nimport type { SurfaceFlags } from './RadioGroup.styles';\nimport type { RadioOption, RadioGroupProps } from './RadioGroup.types';\nimport { muiSize } from '../../../tokens/vocabulary';\nimport type { RadioProps } from '@mui/material/Radio/index.js';\n\nconst StyledFormLabel = styled(FormLabel, {\n shouldForwardProp: (prop) => !['glass', 'error'].includes(prop as string),\n})<{ glass?: boolean; error?: boolean }>(({ theme, glass, error }) => ({\n ...formLabelSx(theme, glass, error),\n}));\n\nconst StyledRadioCard = styled(Card, {\n shouldForwardProp: (prop) =>\n !['selected', 'customColor', 'glass', 'gradient', 'glow', 'customSize', 'animated'].includes(\n prop as string,\n ),\n})<SurfaceFlags>(({ theme, ...flags }) => ({ ...radioCardSx(theme, flags) }));\n\nconst StyledButtonRadio = styled(ButtonBase, {\n shouldForwardProp: (prop) =>\n !['selected', 'customColor', 'glass', 'gradient', 'customSize', 'animated'].includes(\n prop as string,\n ),\n})<SurfaceFlags>(({ theme, ...flags }) => ({ ...buttonRadioSx(theme, flags) }));\n\nconst StyledSegmentContainer = styled(Box, {\n shouldForwardProp: (prop) => !['glass', 'customColor'].includes(prop as string),\n})<{ glass?: boolean; customColor?: string }>(({ theme, glass, customColor }) => ({\n ...segmentContainerSx(theme, glass, customColor),\n}));\n\nconst StyledSegmentButton = styled(ButtonBase, {\n shouldForwardProp: (prop) =>\n !['selected', 'customColor', 'customSize', 'animated'].includes(prop as string),\n})<SurfaceFlags>(({ theme, ...flags }) => ({ ...segmentButtonSx(theme, flags) }));\n\n\nexport interface VariantProps {\n options: RadioOption[];\n value?: unknown;\n color: NonNullable<RadioGroupProps['color']>;\n size: NonNullable<RadioGroupProps['size']>;\n direction: NonNullable<RadioGroupProps['direction']>;\n showDescriptions: boolean;\n glass: boolean;\n gradient: boolean;\n glow: boolean;\n dataTestId?: string;\n onSelect: (option: RadioOption) => void;\n /** Only the default variant hands its ref and extra props to MUI's group. */\n groupRef?: React.Ref<HTMLDivElement>;\n onChange?: RadioGroupProps['onChange'];\n rest?: Record<string, unknown>;\n}\n\n/** `${dataTestId}-${suffix}`, or nothing when the caller supplied no id. */\nexport const testId = (base: string | undefined, suffix: string) =>\n base ? `${base}-${suffix}` : undefined;\n\n/**\n * MUI's Radio has no `danger`; this component's palette calls the error colour\n * that, so the name is translated at the boundary.\n */\nconst muiRadioColor = (color: string) =>\n color === 'danger'\n ? 'error'\n : (color as 'primary' | 'secondary' | 'success' | 'warning' | 'error');\n\n/** An option's icon beside its label, the run every variant but `cards` uses. */\nconst OptionLabel: React.FC<{ option: RadioOption; testIdValue?: string }> = ({\n option,\n testIdValue,\n}) => (\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 1 }} data-testid={testIdValue}>\n {option.icon}\n {option.label}\n </Box>\n);\n\nexport const DefaultRadios: React.FC<VariantProps> = ({\n options,\n value,\n color,\n size,\n direction,\n showDescriptions,\n dataTestId,\n groupRef,\n onChange,\n rest,\n}) => (\n <MuiRadioGroup\n ref={groupRef}\n value={value}\n onChange={onChange}\n {...rest}\n sx={{ flexDirection: direction, gap: 1 }}\n data-testid={testId(dataTestId, 'group')}\n >\n {options.map((option, index) => (\n <FormControlLabel\n key={option.value}\n value={option.value}\n disabled={option.disabled}\n data-testid={testId(dataTestId, `option-${index}`)}\n control={\n <Radio\n color={muiRadioColor(color)}\n // MUI's own `Radio` types `size` as `'small' | 'medium'` only, but its\n // glyph (`RadioButtonIcon`, an `SvgIcon`) reads whatever `size` it is\n // given as its own `fontSize` and draws it at that step regardless —\n // `'large'` already renders at 35px (`SvgIcon.js`'s own\n // `fontSize: pxToRem(35)` for that step), MUI's public type just never\n // advertised it. Confined to this one call site rather than a module\n // augmentation, which would widen every consumer's `Radio` type.\n size={muiSize(size) as RadioProps['size']}\n data-testid={testId(dataTestId, `radio-${index}`)}\n />\n }\n label={\n <Box\n sx={{ display: 'flex', alignItems: 'center', gap: 1 }}\n data-testid={testId(dataTestId, `label-${index}`)}\n >\n {option.icon}\n <Box>\n <Typography>{option.label}</Typography>\n {option.description && showDescriptions && (\n <Typography variant=\"caption\" color=\"text.secondary\">\n {option.description}\n </Typography>\n )}\n </Box>\n </Box>\n }\n />\n ))}\n </MuiRadioGroup>\n);\n\nexport interface CardBodyProps {\n option: RadioOption;\n index: number;\n isSelected: boolean;\n color: string;\n showDescriptions: boolean;\n dataTestId?: string;\n}\n\n/** A card's contents: the icon, the label, and the optional description under it. */\nexport const CardBody: React.FC<CardBodyProps> = ({\n option,\n index,\n isSelected,\n color,\n showDescriptions,\n dataTestId,\n}) => (\n <CardContent sx={{ p: 2, '&:last-child': { pb: 2 } }}>\n <Box sx={{ display: 'flex', alignItems: 'flex-start', gap: 2 }}>\n {option.icon && (\n <Box sx={{ mt: 0.5, color: isSelected ? `${color}.main` : 'text.secondary' }}>\n {option.icon}\n </Box>\n )}\n <Box sx={{ flex: 1 }}>\n <Typography\n variant=\"subtitle1\"\n fontWeight={600}\n color={isSelected ? `${color}.main` : 'text.primary'}\n data-testid={testId(dataTestId, `label-${index}`)}\n >\n {option.label}\n </Typography>\n {option.description && showDescriptions && (\n <Typography variant=\"body2\" color=\"text.secondary\" sx={{ mt: 0.5 }}>\n {option.description}\n </Typography>\n )}\n </Box>\n </Box>\n </CardContent>\n);\n\nexport { OptionLabel };\n\nexport const CardRadios: React.FC<VariantProps> = ({\n options, value, color, size, direction, showDescriptions, glass, gradient, glow, dataTestId, onSelect,\n}) => (\n <Box\n sx={{ display: 'flex', flexDirection: direction, gap: 2 }}\n data-testid={testId(dataTestId, 'container')}\n >\n {options.map((option, index) => (\n <StyledRadioCard\n key={option.value}\n selected={value === option.value}\n customColor={color}\n glass={glass}\n gradient={gradient}\n glow={glow}\n customSize={size}\n animated\n data-testid={testId(dataTestId, `card-${index}`)}\n onClick={() => onSelect(option)}\n >\n <CardBody\n option={option}\n index={index}\n isSelected={value === option.value}\n color={color}\n showDescriptions={showDescriptions}\n dataTestId={dataTestId}\n />\n </StyledRadioCard>\n ))}\n </Box>\n);\n\nexport const ButtonRadios: React.FC<VariantProps> = ({\n options, value, color, size, direction, glass, gradient, dataTestId, onSelect,\n}) => (\n <Box\n sx={{ display: 'flex', flexDirection: direction, gap: 1, flexWrap: 'wrap' }}\n data-testid={testId(dataTestId, 'container')}\n >\n {options.map((option, index) => (\n <StyledButtonRadio\n key={option.value}\n selected={value === option.value}\n customColor={color}\n glass={glass}\n gradient={gradient}\n customSize={size}\n animated\n disabled={option.disabled}\n data-testid={testId(dataTestId, `button-${index}`)}\n onClick={() => onSelect(option)}\n >\n <OptionLabel option={option} testIdValue={testId(dataTestId, `label-${index}`)} />\n </StyledButtonRadio>\n ))}\n </Box>\n);\n\nexport const SegmentRadios: React.FC<VariantProps> = ({\n options, value, color, size, glass, dataTestId, onSelect,\n}) => (\n <StyledSegmentContainer\n glass={glass}\n customColor={color}\n data-testid={testId(dataTestId, 'container')}\n >\n {options.map((option, index) => (\n <StyledSegmentButton\n key={option.value}\n selected={value === option.value}\n customColor={color}\n customSize={size}\n animated\n disabled={option.disabled}\n data-testid={testId(dataTestId, `segment-${index}`)}\n onClick={() => onSelect(option)}\n >\n <OptionLabel option={option} testIdValue={testId(dataTestId, `label-${index}`)} />\n </StyledSegmentButton>\n ))}\n </StyledSegmentContainer>\n);\n\n/** The group's own label, which can carry the glass treatment independently. */\nexport const GroupLabel: React.FC<{\n glass?: boolean;\n error?: boolean;\n dataTestId?: string;\n children: React.ReactNode;\n}> = ({ glass, error, dataTestId, children }) => (\n <StyledFormLabel glass={glass} error={error} data-testid={testId(dataTestId, 'label')}>\n {children}\n </StyledFormLabel>\n);\n"],"mappings":"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","names":[]}
|
package/dist/form/RadioGroup.js
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import "../chunk-IQ6WX2GS.js";
|
|
2
2
|
import {
|
|
3
3
|
RadioGroup
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-HSKLX2NO.js";
|
|
5
|
+
import "../chunk-SDWOWB6F.js";
|
|
6
6
|
import "../chunk-GG62LKA3.js";
|
|
7
7
|
import "../chunk-Z6WSW6B4.js";
|
|
8
8
|
import "../chunk-HPK33ACY.js";
|
|
9
|
+
import "../chunk-7ZPUN7TV.js";
|
|
9
10
|
import "../chunk-M47ZOUGF.js";
|
|
10
11
|
import "../chunk-7FDU3FIN.js";
|
|
11
12
|
import "../chunk-EPEJMTCQ.js";
|
|
12
13
|
import "../chunk-GDN2LUTZ.js";
|
|
14
|
+
import "../chunk-FZXKH2ZT.js";
|
|
13
15
|
import "../chunk-O6MJWHU5.js";
|
|
14
16
|
import "../chunk-26X4CZVR.js";
|
|
15
17
|
import "../chunk-FQ6UW7IY.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadioGroup.variants.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/RadioGroup/RadioGroup.variants.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"RadioGroup.variants.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/RadioGroup/RadioGroup.variants.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAoCvE,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7C,IAAI,EAAE,WAAW,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3C,SAAS,EAAE,WAAW,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC;IACrD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IACxC,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACrC,QAAQ,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,4EAA4E;AAC5E,eAAO,MAAM,MAAM,GAAI,MAAM,MAAM,GAAG,SAAS,EAAE,QAAQ,MAAM,uBACvB,CAAC;AAWzC,iFAAiF;AACjF,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAQxE,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CA2DhD,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qFAAqF;AACrF,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAgC5C,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,CAAC;AAEvB,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CA+B7C,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAwB/C,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAuBhD,CAAC;AAEF,gFAAgF;AAChF,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;IAChC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAIA,CAAC"}
|
package/package.json
CHANGED
|
@@ -19,6 +19,8 @@ import {
|
|
|
19
19
|
} from './RadioGroup.styles';
|
|
20
20
|
import type { SurfaceFlags } from './RadioGroup.styles';
|
|
21
21
|
import type { RadioOption, RadioGroupProps } from './RadioGroup.types';
|
|
22
|
+
import { muiSize } from '../../../tokens/vocabulary';
|
|
23
|
+
import type { RadioProps } from '@mui/material/Radio/index.js';
|
|
22
24
|
|
|
23
25
|
const StyledFormLabel = styled(FormLabel, {
|
|
24
26
|
shouldForwardProp: (prop) => !['glass', 'error'].includes(prop as string),
|
|
@@ -98,6 +100,7 @@ export const DefaultRadios: React.FC<VariantProps> = ({
|
|
|
98
100
|
options,
|
|
99
101
|
value,
|
|
100
102
|
color,
|
|
103
|
+
size,
|
|
101
104
|
direction,
|
|
102
105
|
showDescriptions,
|
|
103
106
|
dataTestId,
|
|
@@ -122,6 +125,14 @@ export const DefaultRadios: React.FC<VariantProps> = ({
|
|
|
122
125
|
control={
|
|
123
126
|
<Radio
|
|
124
127
|
color={muiRadioColor(color)}
|
|
128
|
+
// MUI's own `Radio` types `size` as `'small' | 'medium'` only, but its
|
|
129
|
+
// glyph (`RadioButtonIcon`, an `SvgIcon`) reads whatever `size` it is
|
|
130
|
+
// given as its own `fontSize` and draws it at that step regardless —
|
|
131
|
+
// `'large'` already renders at 35px (`SvgIcon.js`'s own
|
|
132
|
+
// `fontSize: pxToRem(35)` for that step), MUI's public type just never
|
|
133
|
+
// advertised it. Confined to this one call site rather than a module
|
|
134
|
+
// augmentation, which would widen every consumer's `Radio` type.
|
|
135
|
+
size={muiSize(size) as RadioProps['size']}
|
|
125
136
|
data-testid={testId(dataTestId, `radio-${index}`)}
|
|
126
137
|
/>
|
|
127
138
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/form/RadioGroup/RadioGroup.variants.tsx"],"sourcesContent":["import Box from '@mui/material/Box/index.js';\nimport ButtonBase from '@mui/material/ButtonBase/index.js';\nimport Card from '@mui/material/Card/index.js';\nimport CardContent from '@mui/material/CardContent/index.js';\nimport FormControlLabel from '@mui/material/FormControlLabel/index.js';\nimport FormLabel from '@mui/material/FormLabel/index.js';\nimport Radio from '@mui/material/Radio/index.js';\nimport MuiRadioGroup from '@mui/material/RadioGroup/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport { styled } from '@mui/material/styles/index.js';\nimport React from 'react';\n\nimport {\n buttonRadioSx,\n formLabelSx,\n radioCardSx,\n segmentButtonSx,\n segmentContainerSx,\n} from './RadioGroup.styles';\nimport type { SurfaceFlags } from './RadioGroup.styles';\nimport type { RadioOption, RadioGroupProps } from './RadioGroup.types';\n\nconst StyledFormLabel = styled(FormLabel, {\n shouldForwardProp: (prop) => !['glass', 'error'].includes(prop as string),\n})<{ glass?: boolean; error?: boolean }>(({ theme, glass, error }) => ({\n ...formLabelSx(theme, glass, error),\n}));\n\nconst StyledRadioCard = styled(Card, {\n shouldForwardProp: (prop) =>\n !['selected', 'customColor', 'glass', 'gradient', 'glow', 'customSize', 'animated'].includes(\n prop as string,\n ),\n})<SurfaceFlags>(({ theme, ...flags }) => ({ ...radioCardSx(theme, flags) }));\n\nconst StyledButtonRadio = styled(ButtonBase, {\n shouldForwardProp: (prop) =>\n !['selected', 'customColor', 'glass', 'gradient', 'customSize', 'animated'].includes(\n prop as string,\n ),\n})<SurfaceFlags>(({ theme, ...flags }) => ({ ...buttonRadioSx(theme, flags) }));\n\nconst StyledSegmentContainer = styled(Box, {\n shouldForwardProp: (prop) => !['glass', 'customColor'].includes(prop as string),\n})<{ glass?: boolean; customColor?: string }>(({ theme, glass, customColor }) => ({\n ...segmentContainerSx(theme, glass, customColor),\n}));\n\nconst StyledSegmentButton = styled(ButtonBase, {\n shouldForwardProp: (prop) =>\n !['selected', 'customColor', 'customSize', 'animated'].includes(prop as string),\n})<SurfaceFlags>(({ theme, ...flags }) => ({ ...segmentButtonSx(theme, flags) }));\n\n\nexport interface VariantProps {\n options: RadioOption[];\n value?: unknown;\n color: NonNullable<RadioGroupProps['color']>;\n size: NonNullable<RadioGroupProps['size']>;\n direction: NonNullable<RadioGroupProps['direction']>;\n showDescriptions: boolean;\n glass: boolean;\n gradient: boolean;\n glow: boolean;\n dataTestId?: string;\n onSelect: (option: RadioOption) => void;\n /** Only the default variant hands its ref and extra props to MUI's group. */\n groupRef?: React.Ref<HTMLDivElement>;\n onChange?: RadioGroupProps['onChange'];\n rest?: Record<string, unknown>;\n}\n\n/** `${dataTestId}-${suffix}`, or nothing when the caller supplied no id. */\nexport const testId = (base: string | undefined, suffix: string) =>\n base ? `${base}-${suffix}` : undefined;\n\n/**\n * MUI's Radio has no `danger`; this component's palette calls the error colour\n * that, so the name is translated at the boundary.\n */\nconst muiRadioColor = (color: string) =>\n color === 'danger'\n ? 'error'\n : (color as 'primary' | 'secondary' | 'success' | 'warning' | 'error');\n\n/** An option's icon beside its label, the run every variant but `cards` uses. */\nconst OptionLabel: React.FC<{ option: RadioOption; testIdValue?: string }> = ({\n option,\n testIdValue,\n}) => (\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 1 }} data-testid={testIdValue}>\n {option.icon}\n {option.label}\n </Box>\n);\n\nexport const DefaultRadios: React.FC<VariantProps> = ({\n options,\n value,\n color,\n direction,\n showDescriptions,\n dataTestId,\n groupRef,\n onChange,\n rest,\n}) => (\n <MuiRadioGroup\n ref={groupRef}\n value={value}\n onChange={onChange}\n {...rest}\n sx={{ flexDirection: direction, gap: 1 }}\n data-testid={testId(dataTestId, 'group')}\n >\n {options.map((option, index) => (\n <FormControlLabel\n key={option.value}\n value={option.value}\n disabled={option.disabled}\n data-testid={testId(dataTestId, `option-${index}`)}\n control={\n <Radio\n color={muiRadioColor(color)}\n data-testid={testId(dataTestId, `radio-${index}`)}\n />\n }\n label={\n <Box\n sx={{ display: 'flex', alignItems: 'center', gap: 1 }}\n data-testid={testId(dataTestId, `label-${index}`)}\n >\n {option.icon}\n <Box>\n <Typography>{option.label}</Typography>\n {option.description && showDescriptions && (\n <Typography variant=\"caption\" color=\"text.secondary\">\n {option.description}\n </Typography>\n )}\n </Box>\n </Box>\n }\n />\n ))}\n </MuiRadioGroup>\n);\n\nexport interface CardBodyProps {\n option: RadioOption;\n index: number;\n isSelected: boolean;\n color: string;\n showDescriptions: boolean;\n dataTestId?: string;\n}\n\n/** A card's contents: the icon, the label, and the optional description under it. */\nexport const CardBody: React.FC<CardBodyProps> = ({\n option,\n index,\n isSelected,\n color,\n showDescriptions,\n dataTestId,\n}) => (\n <CardContent sx={{ p: 2, '&:last-child': { pb: 2 } }}>\n <Box sx={{ display: 'flex', alignItems: 'flex-start', gap: 2 }}>\n {option.icon && (\n <Box sx={{ mt: 0.5, color: isSelected ? `${color}.main` : 'text.secondary' }}>\n {option.icon}\n </Box>\n )}\n <Box sx={{ flex: 1 }}>\n <Typography\n variant=\"subtitle1\"\n fontWeight={600}\n color={isSelected ? `${color}.main` : 'text.primary'}\n data-testid={testId(dataTestId, `label-${index}`)}\n >\n {option.label}\n </Typography>\n {option.description && showDescriptions && (\n <Typography variant=\"body2\" color=\"text.secondary\" sx={{ mt: 0.5 }}>\n {option.description}\n </Typography>\n )}\n </Box>\n </Box>\n </CardContent>\n);\n\nexport { OptionLabel };\n\nexport const CardRadios: React.FC<VariantProps> = ({\n options, value, color, size, direction, showDescriptions, glass, gradient, glow, dataTestId, onSelect,\n}) => (\n <Box\n sx={{ display: 'flex', flexDirection: direction, gap: 2 }}\n data-testid={testId(dataTestId, 'container')}\n >\n {options.map((option, index) => (\n <StyledRadioCard\n key={option.value}\n selected={value === option.value}\n customColor={color}\n glass={glass}\n gradient={gradient}\n glow={glow}\n customSize={size}\n animated\n data-testid={testId(dataTestId, `card-${index}`)}\n onClick={() => onSelect(option)}\n >\n <CardBody\n option={option}\n index={index}\n isSelected={value === option.value}\n color={color}\n showDescriptions={showDescriptions}\n dataTestId={dataTestId}\n />\n </StyledRadioCard>\n ))}\n </Box>\n);\n\nexport const ButtonRadios: React.FC<VariantProps> = ({\n options, value, color, size, direction, glass, gradient, dataTestId, onSelect,\n}) => (\n <Box\n sx={{ display: 'flex', flexDirection: direction, gap: 1, flexWrap: 'wrap' }}\n data-testid={testId(dataTestId, 'container')}\n >\n {options.map((option, index) => (\n <StyledButtonRadio\n key={option.value}\n selected={value === option.value}\n customColor={color}\n glass={glass}\n gradient={gradient}\n customSize={size}\n animated\n disabled={option.disabled}\n data-testid={testId(dataTestId, `button-${index}`)}\n onClick={() => onSelect(option)}\n >\n <OptionLabel option={option} testIdValue={testId(dataTestId, `label-${index}`)} />\n </StyledButtonRadio>\n ))}\n </Box>\n);\n\nexport const SegmentRadios: React.FC<VariantProps> = ({\n options, value, color, size, glass, dataTestId, onSelect,\n}) => (\n <StyledSegmentContainer\n glass={glass}\n customColor={color}\n data-testid={testId(dataTestId, 'container')}\n >\n {options.map((option, index) => (\n <StyledSegmentButton\n key={option.value}\n selected={value === option.value}\n customColor={color}\n customSize={size}\n animated\n disabled={option.disabled}\n data-testid={testId(dataTestId, `segment-${index}`)}\n onClick={() => onSelect(option)}\n >\n <OptionLabel option={option} testIdValue={testId(dataTestId, `label-${index}`)} />\n </StyledSegmentButton>\n ))}\n </StyledSegmentContainer>\n);\n\n/** The group's own label, which can carry the glass treatment independently. */\nexport const GroupLabel: React.FC<{\n glass?: boolean;\n error?: boolean;\n dataTestId?: string;\n children: React.ReactNode;\n}> = ({ glass, error, dataTestId, children }) => (\n <StyledFormLabel glass={glass} error={error} data-testid={testId(dataTestId, 'label')}>\n {children}\n </StyledFormLabel>\n);\n"],"mappings":"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","names":[]}
|
|
File without changes
|