@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.
@@ -1,14 +1,16 @@
1
1
  import {
2
2
  RadioGroup
3
- } from "../../../../chunk-XHA2NXLD.js";
4
- import "../../../../chunk-6H4TPEMO.js";
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-6H4TPEMO.js";
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-XHA2NXLD.js";
12
- import "../../../chunk-6H4TPEMO.js";
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-XHA2NXLD.js";
235
- import "../../chunk-6H4TPEMO.js";
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-6H4TPEMO.js";
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-XHA2NXLD.js.map
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-6H4TPEMO.js.map
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":[]}
@@ -1,15 +1,17 @@
1
1
  import "../chunk-IQ6WX2GS.js";
2
2
  import {
3
3
  RadioGroup
4
- } from "../chunk-XHA2NXLD.js";
5
- import "../chunk-6H4TPEMO.js";
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;AAkCvE,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,CAkDhD,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"}
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@12-apps/ui",
3
- "version": "6.45.6",
3
+ "version": "6.45.7",
4
4
  "license": "MIT",
5
5
  "packageManager": "pnpm@10.34.5",
6
6
  "type": "module",
@@ -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":[]}