@cleartrip/ct-design-radio 4.0.0 → 5.1.0
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/README.md +63 -0
- package/dist/Radio.d.ts +2 -3
- package/dist/Radio.d.ts.map +1 -1
- package/dist/Radio.native.d.ts +5 -0
- package/dist/Radio.native.d.ts.map +1 -0
- package/dist/ct-design-radio.browser.cjs.js +1 -1
- package/dist/ct-design-radio.browser.cjs.js.map +1 -1
- package/dist/ct-design-radio.browser.esm.js +1 -1
- package/dist/ct-design-radio.browser.esm.js.map +1 -1
- package/dist/ct-design-radio.cjs.js +91 -75
- package/dist/ct-design-radio.cjs.js.map +1 -1
- package/dist/ct-design-radio.esm.js +93 -73
- package/dist/ct-design-radio.esm.js.map +1 -1
- package/dist/ct-design-radio.umd.js +91 -116
- package/dist/ct-design-radio.umd.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.native.d.ts +3 -0
- package/dist/index.native.d.ts.map +1 -0
- package/dist/style.d.ts +10 -37
- package/dist/style.d.ts.map +1 -1
- package/dist/type.d.ts +14 -20
- package/dist/type.d.ts.map +1 -1
- package/package.json +22 -12
- package/src/Radio.native.tsx +91 -0
- package/src/Radio.tsx +121 -0
- package/src/index.native.ts +2 -0
- package/src/index.ts +2 -0
- package/src/style.ts +54 -0
- package/src/type.ts +50 -0
- package/dist/BaseRadio/BaseRadio.d.ts +0 -10
- package/dist/BaseRadio/BaseRadio.d.ts.map +0 -1
- package/dist/BaseRadio/index.d.ts +0 -2
- package/dist/BaseRadio/index.d.ts.map +0 -1
- package/dist/BaseRadio/style.d.ts +0 -6
- package/dist/BaseRadio/style.d.ts.map +0 -1
- package/dist/BaseRadio/type.d.ts +0 -12
- package/dist/BaseRadio/type.d.ts.map +0 -1
package/README.md
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# Radio
|
|
2
|
+
|
|
3
|
+
A form control that allows users to select a single option from a group.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Installation
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install @cleartrip/ct-design-radio
|
|
11
|
+
# or
|
|
12
|
+
pnpm add @cleartrip/ct-design-radio
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
### Peer dependencies
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
# Required for all targets
|
|
19
|
+
npm install react
|
|
20
|
+
|
|
21
|
+
# Web only
|
|
22
|
+
npm install react-dom
|
|
23
|
+
|
|
24
|
+
# React Native only
|
|
25
|
+
npm install react-native
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Usage
|
|
31
|
+
|
|
32
|
+
### Basic
|
|
33
|
+
|
|
34
|
+
```tsx
|
|
35
|
+
import { Radio } from '@cleartrip/ct-design-radio';
|
|
36
|
+
|
|
37
|
+
function Example() {
|
|
38
|
+
return (
|
|
39
|
+
<Radio>
|
|
40
|
+
{/* Basic usage */}
|
|
41
|
+
</Radio>
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Accessibility
|
|
49
|
+
|
|
50
|
+
- The component follows accessibility best practices
|
|
51
|
+
- Ensure proper ARIA attributes are provided where needed
|
|
52
|
+
- Test with screen readers to ensure usability
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Migration
|
|
57
|
+
|
|
58
|
+
If migrating from a previous version:
|
|
59
|
+
|
|
60
|
+
```diff
|
|
61
|
+
- import { Radio } from 'yagami/core/components';
|
|
62
|
+
+ import { Radio } from '@cleartrip/ct-design-radio';
|
|
63
|
+
```
|
package/dist/Radio.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
declare const Radio: React.FC<RadioProps>;
|
|
1
|
+
import { IRadio } from './type';
|
|
2
|
+
declare const Radio: import("react").ForwardRefExoticComponent<IRadio & import("react").RefAttributes<HTMLInputElement>>;
|
|
4
3
|
export default Radio;
|
|
5
4
|
//# sourceMappingURL=Radio.d.ts.map
|
package/dist/Radio.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Radio.d.ts","sourceRoot":"","sources":["../packages/components/Radio/src/Radio.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Radio.d.ts","sourceRoot":"","sources":["../packages/components/Radio/src/Radio.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAsChC,QAAA,MAAM,KAAK,qGAsEV,CAAC;AAIF,eAAe,KAAK,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Radio.native.d.ts","sourceRoot":"","sources":["../packages/components/Radio/src/Radio.native.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAa,IAAI,EAAE,MAAM,cAAc,CAAC;AAO/C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAiBhC,QAAA,MAAM,KAAK,yFA4DV,CAAC;AAIF,eAAe,KAAK,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var r=require("
|
|
1
|
+
"use strict";var r=require("react/jsx-runtime"),e=require("react"),o=require("@cleartrip/ct-design-container"),t=require("@cleartrip/ct-design-typography"),i=require("@cleartrip/ct-design-style-manager"),a=require("@emotion/css");const l=(r,e,o)=>{switch(!0){case o:return e?{borderWidth:r.border.width.xl,borderColor:r.color.border.disabled,cursor:"not-allowed"}:{borderWidth:r.border.width.sm,borderColor:r.color.border.disabled,backgroundColor:r.color.background.neutral,cursor:"not-allowed"};case e:return{borderWidth:r.border.width.xl,borderColor:r.color.border.primary,cursor:"pointer"};default:return{borderWidth:r.border.width.sm,borderColor:r.color.border.defaultDark,backgroundColor:r.color.background.neutral,cursor:"pointer"}}},d={disabledRoot:a.css({cursor:"not-allowed"}),hiddenInput:a.css({position:"absolute",opacity:0,width:0,height:0,margin:0,padding:0,border:"none",pointerEvents:"none"})},n=i.makeStyles(r=>({root:{display:"flex",flexDirection:"row",alignItems:"center",gap:null==r?void 0:r.spacing[2],cursor:"pointer",userSelect:"none"},radioBtn:{width:null==r?void 0:r.spacing[5],height:null==r?void 0:r.spacing[5],borderRadius:null==r?void 0:r.border.radius[32],borderStyle:null==r?void 0:r.border.style.solid,display:"flex",alignItems:"center",justifyContent:"center"}})),s=e.forwardRef(({id:e,label:a,labelCTA:s,labelVariant:c,onChange:b,disabled:u=!1,checked:p=!1,styleConfig:g,rootProps:y={}},h)=>{const C=i.useStyles(r=>{return{radioBtn:l(r,p,u),label:{color:(e=u,e?t.TypographyColor.DISABLED:t.TypographyColor.PRIMARY)}};var e},[p,u]),{root:f=[],radioBtn:m=[],labelContainer:x=[]}=g||{},w=()=>{u||null==b||b()},v=i.useWebMergeStyles([n.root,...u?[d.disabledRoot]:[],...f],[u,f]),j=i.useWebMergeStyles([d.hiddenInput],[]),k=i.useWebMergeStyles([n.radioBtn,C.radioBtn,...m],[C.radioBtn,m]);return r.jsxs("div",Object.assign({id:`${e}-root`,className:v,onClick:w},y,{children:[r.jsx("input",{ref:h,id:e,type:"radio",checked:p,disabled:u,onChange:w,className:j,"aria-labelledby":`${e}-label`}),r.jsx("span",{className:k}),r.jsxs(o.Container,{styleConfig:{root:x},children:["string"==typeof a?r.jsx(t.Typography,{variant:t.TypographyVariant.B2,styleConfig:{root:[C.label]},children:a}):a,"string"==typeof s?r.jsx(t.Typography,{variant:c||t.TypographyVariant.B2,styleConfig:{root:[C.label]},children:s}):s]})]}))});s.displayName="Radio",exports.Radio=s;
|
|
2
2
|
//# sourceMappingURL=ct-design-radio.browser.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ct-design-radio.browser.cjs.js","sources":["../packages/components/Radio/src/
|
|
1
|
+
{"version":3,"file":"ct-design-radio.browser.cjs.js","sources":["../packages/components/Radio/src/style.ts","../packages/components/Radio/src/Radio.tsx"],"sourcesContent":[null,null],"names":["getBorderStyles","theme","isSelected","isDisabled","borderWidth","border","width","xl","borderColor","color","disabled","cursor","sm","backgroundColor","background","neutral","primary","defaultDark","webStaticStyles","disabledRoot","css","hiddenInput","position","opacity","height","margin","padding","pointerEvents","staticRadioStyles","makeStyles","root","display","flexDirection","alignItems","gap","spacing","userSelect","radioBtn","borderRadius","radius","borderStyle","style","solid","justifyContent","Radio","forwardRef","id","label","labelCTA","labelVariant","onChange","checked","styleConfig","rootProps","ref","dynamicStyles","useStyles","TypographyColor","DISABLED","PRIMARY","customRootStyles","customRadioBtnStyles","labelContainer","customLabelContainerStyles","handleRadioChange","mergedRootClassName","useWebMergeStyles","mergedInputClassName","mergedRadioBtnClassName","_jsxs","jsxs","Object","assign","className","onClick","children","_jsx","jsx","type","Container","Typography","variant","TypographyVariant","B2","displayName"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{jsxs as r,jsx as o}from"react/jsx-runtime";import{forwardRef as e}from"react";import{Container as t}from"@cleartrip/ct-design-container";import{TypographyColor as i,Typography as d,TypographyVariant as l}from"@cleartrip/ct-design-typography";import{makeStyles as n,useStyles as a,useWebMergeStyles as s}from"@cleartrip/ct-design-style-manager";import{css as c}from"@emotion/css";const b=(r,o,e)=>{switch(!0){case e:return o?{borderWidth:r.border.width.xl,borderColor:r.color.border.disabled,cursor:"not-allowed"}:{borderWidth:r.border.width.sm,borderColor:r.color.border.disabled,backgroundColor:r.color.background.neutral,cursor:"not-allowed"};case o:return{borderWidth:r.border.width.xl,borderColor:r.color.border.primary,cursor:"pointer"};default:return{borderWidth:r.border.width.sm,borderColor:r.color.border.defaultDark,backgroundColor:r.color.background.neutral,cursor:"pointer"}}},p={disabledRoot:c({cursor:"not-allowed"}),hiddenInput:c({position:"absolute",opacity:0,width:0,height:0,margin:0,padding:0,border:"none",pointerEvents:"none"})},u=n(r=>({root:{display:"flex",flexDirection:"row",alignItems:"center",gap:null==r?void 0:r.spacing[2],cursor:"pointer",userSelect:"none"},radioBtn:{width:null==r?void 0:r.spacing[5],height:null==r?void 0:r.spacing[5],borderRadius:null==r?void 0:r.border.radius[32],borderStyle:null==r?void 0:r.border.style.solid,display:"flex",alignItems:"center",justifyContent:"center"}})),g=e(({id:e,label:n,labelCTA:c,labelVariant:g,onChange:h,disabled:m=!1,checked:f=!1,styleConfig:y,rootProps:C={}},w)=>{const v=a(r=>{return{radioBtn:b(r,f,m),label:{color:(o=m,o?i.DISABLED:i.PRIMARY)}};var o},[f,m]),{root:B=[],radioBtn:k=[],labelContainer:x=[]}=y||{},I=()=>{m||null==h||h()},R=s([u.root,...m?[p.disabledRoot]:[],...B],[m,B]),D=s([p.hiddenInput],[]),N=s([u.radioBtn,v.radioBtn,...k],[v.radioBtn,k]);return r("div",Object.assign({id:`${e}-root`,className:R,onClick:I},C,{children:[o("input",{ref:w,id:e,type:"radio",checked:f,disabled:m,onChange:I,className:D,"aria-labelledby":`${e}-label`}),o("span",{className:N}),r(t,{styleConfig:{root:x},children:["string"==typeof n?o(d,{variant:l.B2,styleConfig:{root:[v.label]},children:n}):n,"string"==typeof c?o(d,{variant:g||l.B2,styleConfig:{root:[v.label]},children:c}):c]})]}))});g.displayName="Radio";export{g as Radio};
|
|
2
2
|
//# sourceMappingURL=ct-design-radio.browser.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ct-design-radio.browser.esm.js","sources":["../packages/components/Radio/src/
|
|
1
|
+
{"version":3,"file":"ct-design-radio.browser.esm.js","sources":["../packages/components/Radio/src/style.ts","../packages/components/Radio/src/Radio.tsx"],"sourcesContent":[null,null],"names":["getBorderStyles","theme","isSelected","isDisabled","borderWidth","border","width","xl","borderColor","color","disabled","cursor","sm","backgroundColor","background","neutral","primary","defaultDark","webStaticStyles","disabledRoot","css","hiddenInput","position","opacity","height","margin","padding","pointerEvents","staticRadioStyles","makeStyles","root","display","flexDirection","alignItems","gap","spacing","userSelect","radioBtn","borderRadius","radius","borderStyle","style","solid","justifyContent","Radio","forwardRef","id","label","labelCTA","labelVariant","onChange","checked","styleConfig","rootProps","ref","dynamicStyles","useStyles","TypographyColor","DISABLED","PRIMARY","customRootStyles","customRadioBtnStyles","labelContainer","customLabelContainerStyles","handleRadioChange","mergedRootClassName","useWebMergeStyles","mergedInputClassName","mergedRadioBtnClassName","_jsxs","Object","assign","className","onClick","children","_jsx","type","Container","Typography","variant","TypographyVariant","B2","displayName"],"mappings":"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"}
|
|
@@ -1,90 +1,106 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var tslib = require('tslib');
|
|
4
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
-
var
|
|
4
|
+
var react = require('react');
|
|
6
5
|
var ctDesignContainer = require('@cleartrip/ct-design-container');
|
|
7
6
|
var ctDesignTypography = require('@cleartrip/ct-design-typography');
|
|
8
|
-
var
|
|
7
|
+
var ctDesignStyleManager = require('@cleartrip/ct-design-style-manager');
|
|
8
|
+
var css = require('@emotion/css');
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
return {
|
|
43
|
-
borderWidth: theme.border.width.sm,
|
|
44
|
-
borderColor: theme.color.border.disabled,
|
|
45
|
-
backgroundColor: theme.color.background.neutral,
|
|
46
|
-
cursor: 'not-allowed',
|
|
47
|
-
};
|
|
10
|
+
const getBorderStyles = (theme, isSelected, isDisabled) => {
|
|
11
|
+
switch (true) {
|
|
12
|
+
case isDisabled: {
|
|
13
|
+
if (isSelected) {
|
|
14
|
+
return {
|
|
15
|
+
borderWidth: theme.border.width.xl,
|
|
16
|
+
borderColor: theme.color.border.disabled,
|
|
17
|
+
cursor: 'not-allowed',
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
return {
|
|
21
|
+
borderWidth: theme.border.width.sm,
|
|
22
|
+
borderColor: theme.color.border.disabled,
|
|
23
|
+
backgroundColor: theme.color.background.neutral,
|
|
24
|
+
cursor: 'not-allowed',
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
case isSelected: {
|
|
28
|
+
return {
|
|
29
|
+
borderWidth: theme.border.width.xl,
|
|
30
|
+
borderColor: theme.color.border.primary,
|
|
31
|
+
cursor: 'pointer',
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
default: {
|
|
35
|
+
return {
|
|
36
|
+
borderWidth: theme.border.width.sm,
|
|
37
|
+
borderColor: theme.color.border.defaultDark,
|
|
38
|
+
backgroundColor: theme.color.background.neutral,
|
|
39
|
+
cursor: 'pointer',
|
|
40
|
+
};
|
|
41
|
+
}
|
|
48
42
|
}
|
|
49
43
|
};
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
backgroundColor: theme.color.background.primary,
|
|
54
|
-
cursor: 'pointer',
|
|
55
|
-
};
|
|
56
|
-
};
|
|
57
|
-
var getDefaultRadioStyles = function (theme) {
|
|
58
|
-
return {
|
|
59
|
-
borderWidth: theme.border.width.sm,
|
|
60
|
-
borderColor: theme.color.border.defaultDark,
|
|
61
|
-
backgroundColor: theme.color.background.neutral,
|
|
62
|
-
cursor: 'pointer',
|
|
63
|
-
};
|
|
64
|
-
};
|
|
65
|
-
var getRadioStyles = function (_a) {
|
|
66
|
-
var theme = _a.theme, checked = _a.checked, disabled = _a.disabled;
|
|
67
|
-
if (disabled) {
|
|
68
|
-
return getDisabledRadioStyles(theme, checked);
|
|
69
|
-
}
|
|
70
|
-
if (checked) {
|
|
71
|
-
return getCheckedRadioStyles(theme);
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
return getDefaultRadioStyles(theme);
|
|
44
|
+
const getLabelColor = (isDisabled) => {
|
|
45
|
+
if (isDisabled) {
|
|
46
|
+
return ctDesignTypography.TypographyColor.DISABLED;
|
|
75
47
|
}
|
|
48
|
+
return ctDesignTypography.TypographyColor.PRIMARY;
|
|
76
49
|
};
|
|
77
50
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
51
|
+
const webStaticStyles = {
|
|
52
|
+
disabledRoot: css.css({
|
|
53
|
+
cursor: 'not-allowed',
|
|
54
|
+
}),
|
|
55
|
+
hiddenInput: css.css({
|
|
56
|
+
position: 'absolute',
|
|
57
|
+
opacity: 0,
|
|
58
|
+
width: 0,
|
|
59
|
+
height: 0,
|
|
60
|
+
margin: 0,
|
|
61
|
+
padding: 0,
|
|
62
|
+
border: 'none',
|
|
63
|
+
pointerEvents: 'none',
|
|
64
|
+
}),
|
|
87
65
|
};
|
|
66
|
+
const staticRadioStyles = ctDesignStyleManager.makeStyles((theme) => ({
|
|
67
|
+
root: {
|
|
68
|
+
display: 'flex',
|
|
69
|
+
flexDirection: 'row',
|
|
70
|
+
alignItems: 'center',
|
|
71
|
+
gap: theme === null || theme === void 0 ? void 0 : theme.spacing[2],
|
|
72
|
+
cursor: 'pointer',
|
|
73
|
+
userSelect: 'none',
|
|
74
|
+
},
|
|
75
|
+
radioBtn: {
|
|
76
|
+
width: theme === null || theme === void 0 ? void 0 : theme.spacing[5],
|
|
77
|
+
height: theme === null || theme === void 0 ? void 0 : theme.spacing[5],
|
|
78
|
+
borderRadius: theme === null || theme === void 0 ? void 0 : theme.border.radius[32],
|
|
79
|
+
borderStyle: theme === null || theme === void 0 ? void 0 : theme.border.style.solid,
|
|
80
|
+
display: 'flex',
|
|
81
|
+
alignItems: 'center',
|
|
82
|
+
justifyContent: 'center',
|
|
83
|
+
},
|
|
84
|
+
}));
|
|
85
|
+
const Radio = react.forwardRef(({ id, label, labelCTA, labelVariant, onChange, disabled = false, checked = false, styleConfig, rootProps = {} }, ref) => {
|
|
86
|
+
const dynamicStyles = ctDesignStyleManager.useStyles((theme) => ({
|
|
87
|
+
radioBtn: getBorderStyles(theme, checked, disabled),
|
|
88
|
+
label: {
|
|
89
|
+
color: getLabelColor(disabled),
|
|
90
|
+
},
|
|
91
|
+
}), [checked, disabled]);
|
|
92
|
+
const { root: customRootStyles = [], radioBtn: customRadioBtnStyles = [], labelContainer: customLabelContainerStyles = [], } = styleConfig || {};
|
|
93
|
+
const handleRadioChange = () => {
|
|
94
|
+
if (disabled)
|
|
95
|
+
return;
|
|
96
|
+
onChange === null || onChange === void 0 ? void 0 : onChange();
|
|
97
|
+
};
|
|
98
|
+
const mergedRootClassName = ctDesignStyleManager.useWebMergeStyles([staticRadioStyles.root, ...(disabled ? [webStaticStyles.disabledRoot] : []), ...customRootStyles], [disabled, customRootStyles]);
|
|
99
|
+
const mergedInputClassName = ctDesignStyleManager.useWebMergeStyles([webStaticStyles.hiddenInput], []);
|
|
100
|
+
const mergedRadioBtnClassName = ctDesignStyleManager.useWebMergeStyles([staticRadioStyles.radioBtn, dynamicStyles.radioBtn, ...customRadioBtnStyles], [dynamicStyles.radioBtn, customRadioBtnStyles]);
|
|
101
|
+
return (jsxRuntime.jsxs("div", Object.assign({ id: `${id}-root`, className: mergedRootClassName, onClick: handleRadioChange }, rootProps, { children: [jsxRuntime.jsx("input", { ref: ref, id: id, type: 'radio', checked: checked, disabled: disabled, onChange: handleRadioChange, className: mergedInputClassName, "aria-labelledby": `${id}-label` }), jsxRuntime.jsx("span", { className: mergedRadioBtnClassName }), jsxRuntime.jsxs(ctDesignContainer.Container, { styleConfig: { root: customLabelContainerStyles }, children: [typeof label === 'string' ? (jsxRuntime.jsx(ctDesignTypography.Typography, { variant: ctDesignTypography.TypographyVariant.B2, styleConfig: { root: [dynamicStyles.label] }, children: label })) : (label), typeof labelCTA === 'string' ? (jsxRuntime.jsx(ctDesignTypography.Typography, { variant: labelVariant || ctDesignTypography.TypographyVariant.B2, styleConfig: { root: [dynamicStyles.label] }, children: labelCTA })) : (labelCTA)] })] })));
|
|
102
|
+
});
|
|
103
|
+
Radio.displayName = 'Radio';
|
|
88
104
|
|
|
89
105
|
exports.Radio = Radio;
|
|
90
106
|
//# sourceMappingURL=ct-design-radio.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ct-design-radio.cjs.js","sources":["../packages/components/Radio/src/
|
|
1
|
+
{"version":3,"file":"ct-design-radio.cjs.js","sources":["../packages/components/Radio/src/style.ts","../packages/components/Radio/src/Radio.tsx"],"sourcesContent":[null,null],"names":["TypographyColor","css","makeStyles","forwardRef","useStyles","useWebMergeStyles","_jsxs","_jsx","Container","Typography","TypographyVariant"],"mappings":"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"}
|