@devup-ui/components 0.1.14 → 0.1.15

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.
@@ -0,0 +1,29 @@
1
+ import { Radio } from '.';
2
+ declare const _default: {
3
+ title: string;
4
+ component: typeof Radio;
5
+ };
6
+ export default _default;
7
+ export declare const Default: {
8
+ args: {
9
+ checked: undefined;
10
+ colors: {
11
+ primary: string;
12
+ border: string;
13
+ text: string;
14
+ bg: string;
15
+ hoverBg: string;
16
+ hoverBorder: string;
17
+ hoverColor: string;
18
+ checkedBg: string;
19
+ checkedBorder: string;
20
+ checkedColor: string;
21
+ disabledBg: string;
22
+ disabledColor: string;
23
+ };
24
+ name: string;
25
+ children: string;
26
+ variant: string;
27
+ };
28
+ };
29
+ //# sourceMappingURL=Radio.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Radio.stories.d.ts","sourceRoot":"","sources":["../../../src/components/Radio/Radio.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,CAAA;;;;;AAEzB,wBAGC;AAED,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;CAqBnB,CAAA"}
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),r=require("@devup-ui/react");function x({className:t,disabled:d,children:h,variant:g="default",checked:v,classNames:b,styles:u,style:n,firstButton:B,lastButton:k,colors:e,...p}){const a=g==="button";return i.jsxs(r.Box,{alignItems:a?void 0:"center","aria-disabled":d,as:"label",cursor:a?void 0:"pointer",display:a?void 0:"inline-flex",gap:a?void 0:2,selectors:{"&[aria-disabled=true]":{cursor:"default"}},children:[a?i.jsx(r.Input,{checked:v,className:t,"data-radio-input":!0,disabled:d,display:"none",opacity:0,styleOrder:1,type:"radio",...p}):i.jsx(r.Input,{_focus:{outline:"1px sold var(--border, var(--primary))"},appearance:"none",bg:"light-dark(#fff, #2E2E2E)",border:"1px solid",borderColor:"$border",borderRadius:"100%",checked:v,className:t,"data-radio-input":!0,disabled:d,height:"18px",m:0,selectors:{"&:checked:not(:disabled)":{bg:"var(--checkedBg, var(--primary, light-dark(#fff, #2E2E2E)))",border:"3px solid",borderColor:"var(--checkedBg, light-dark(#fff, #2E2E2E))",boxShadow:"0 0 0 1px var(--checkedBorder, var(--primary))"},"&:hover:not(:disabled,:checked)":{border:"1px solid var(--hoverBorder, var(--primary))",bg:"var(--hoverBg, light-dark(color-mix(in srgb, var(--primary) 10%, white 90%), color-mix(in srgb, var(--primary) 10%, black 90%)))"},"&:is(:disabled, [aria-disabled=true])":{bgColor:"var(--disabledBg, light-dark(#F0F0F3, #47474A))"}},styleOrder:1,styleVars:{primary:e==null?void 0:e.primary,border:e==null?void 0:e.border,text:e==null?void 0:e.text,bg:e==null?void 0:e.bg,hoverBg:e==null?void 0:e.hoverBg,hoverBorder:e==null?void 0:e.hoverBorder,hoverColor:e==null?void 0:e.hoverColor,checkedBg:e==null?void 0:e.checkedBg,checkedBorder:e==null?void 0:e.checkedBorder,checkedColor:e==null?void 0:e.checkedColor,disabledBg:e==null?void 0:e.disabledBg,disabledColor:e==null?void 0:e.disabledColor},transition:".25s",type:"radio",width:"18px",...p}),g==="button"?i.jsx(r.Box,{_disabled:{cursor:"not-allowed"},"aria-disabled":d,bg:"var(--bg, light-dark(#fff, #2E2E2E))",border:"1px solid",borderColor:"$border",borderRadius:B?"6px 0 0 6px":k?"0 6px 6px 0":void 0,className:t,color:"var(--text, light-dark(#000, #fff))",cursor:"pointer","data-radio-button":!0,display:"flex",px:8,py:4,selectors:{"[data-radio-input]:checked + &:not([aria-disabled=true])":{fontWeight:600,bg:"var(--checkedBg, light-dark(color-mix(in srgb, var(--primary) 10%, white 80%), color-mix(in srgb, var(--primary) 10%, black 80%)))",borderColor:"var(--checkedBorder, var(--primary))",color:"var(--checkedColor, var(--primary))"},"&:hover:not([aria-disabled=true])":{bg:"var(--hoverBg, light-dark(color-mix(in srgb, var(--primary) 10%, white 90%), color-mix(in srgb, var(--primary) 10%, black 90%)))",borderColor:"var(--hoverBorder, var(--primary))"},"[data-radio-input]:disabled + &":{bg:"var(--disabledBg, light-dark(#F0F0F3, #47474A))",color:"var(--disabledColor, light-dark(#D6D7DE, #373737))"}},style:n,styleOrder:1,styleVars:{primary:e==null?void 0:e.primary,border:e==null?void 0:e.border,text:e==null?void 0:e.text,bg:e==null?void 0:e.bg,hoverBg:e==null?void 0:e.hoverBg,hoverBorder:e==null?void 0:e.hoverBorder,hoverColor:e==null?void 0:e.hoverColor,checkedBg:e==null?void 0:e.checkedBg,checkedBorder:e==null?void 0:e.checkedBorder,checkedColor:e==null?void 0:e.checkedColor,disabledBg:e==null?void 0:e.disabledBg,disabledColor:e==null?void 0:e.disabledColor},transition:"background-color 0.25s, border-color 0.25s",w:"fit-content",children:h}):i.jsx(r.Text,{"aria-disabled":d,className:b==null?void 0:b.label,color:"var(--text, light-dark(#000, #fff))",selectors:{"&[aria-disabled=true]":{color:"var(--disabledColor, light-dark(#D6D7DE, #373737))"}},style:n,styleOrder:1,styleVars:{primary:e==null?void 0:e.primary,border:e==null?void 0:e.border,text:e==null?void 0:e.text,bg:e==null?void 0:e.bg,hoverBg:e==null?void 0:e.hoverBg,hoverBorder:e==null?void 0:e.hoverBorder,hoverColor:e==null?void 0:e.hoverColor,checkedBg:e==null?void 0:e.checkedBg,checkedBorder:e==null?void 0:e.checkedBorder,checkedColor:e==null?void 0:e.checkedColor,disabledBg:e==null?void 0:e.disabledBg,disabledColor:e==null?void 0:e.disabledColor},children:h})]})}exports.Radio=x;
@@ -0,0 +1,37 @@
1
+ type RadioProps = Omit<React.InputHTMLAttributes<HTMLInputElement>, 'type'> & {
2
+ checked?: boolean;
3
+ classNames?: {
4
+ label?: string;
5
+ };
6
+ color?: string;
7
+ hoverColor?: string;
8
+ styles?: {
9
+ label?: React.CSSProperties;
10
+ };
11
+ colors?: {
12
+ primary?: string;
13
+ border?: string;
14
+ text?: string;
15
+ bg?: string;
16
+ hoverBg?: string;
17
+ hoverBorder?: string;
18
+ hoverColor?: string;
19
+ checkedBg?: string;
20
+ checkedBorder?: string;
21
+ checkedColor?: string;
22
+ disabledBg?: string;
23
+ disabledColor?: string;
24
+ };
25
+ variant?: 'default' | 'button';
26
+ } & ({
27
+ variant?: 'default';
28
+ firstButton?: undefined;
29
+ lastButton?: undefined;
30
+ } | {
31
+ variant: 'button';
32
+ firstButton?: boolean;
33
+ lastButton?: boolean;
34
+ });
35
+ export declare function Radio({ className, disabled, children, variant, checked, classNames, styles, style, firstButton, lastButton, colors, ...props }: RadioProps): import("react/jsx-runtime").JSX.Element;
36
+ export {};
37
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Radio/index.tsx"],"names":[],"mappings":"AAEA,KAAK,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,GAAG;IAC5E,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,UAAU,CAAC,EAAE;QACX,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,CAAA;IACD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE;QACP,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;KAC5B,CAAA;IACD,MAAM,CAAC,EAAE;QACP,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,aAAa,CAAC,EAAE,MAAM,CAAA;KACvB,CAAA;IACD,OAAO,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAA;CAC/B,GAAG,CACE;IACE,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB,UAAU,CAAC,EAAE,SAAS,CAAA;CACvB,GACD;IACE,OAAO,EAAE,QAAQ,CAAA;IACjB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CACJ,CAAA;AAEH,wBAAgB,KAAK,CAAC,EACpB,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,OAAmB,EACnB,OAAO,EACP,UAAU,EACV,MAAM,EACN,KAAK,EACL,WAAW,EACX,UAAU,EACV,MAAM,EACN,GAAG,KAAK,EACT,EAAE,UAAU,2CA8KZ"}
@@ -0,0 +1,195 @@
1
+ import { jsxs as y, jsx as i } from "react/jsx-runtime";
2
+ import { Box as k, Input as n, Text as u } from "@devup-ui/react";
3
+ function E({
4
+ className: r,
5
+ disabled: d,
6
+ children: b,
7
+ variant: h = "default",
8
+ checked: g,
9
+ classNames: t,
10
+ styles: f,
11
+ style: v,
12
+ firstButton: B,
13
+ lastButton: x,
14
+ colors: e,
15
+ ...p
16
+ }) {
17
+ const a = h === "button";
18
+ return /* @__PURE__ */ y(
19
+ k,
20
+ {
21
+ alignItems: a ? void 0 : "center",
22
+ "aria-disabled": d,
23
+ as: "label",
24
+ cursor: a ? void 0 : "pointer",
25
+ display: a ? void 0 : "inline-flex",
26
+ gap: a ? void 0 : 2,
27
+ selectors: {
28
+ "&[aria-disabled=true]": {
29
+ cursor: "default"
30
+ }
31
+ },
32
+ children: [
33
+ a ? /* @__PURE__ */ i(
34
+ n,
35
+ {
36
+ checked: g,
37
+ className: r,
38
+ "data-radio-input": !0,
39
+ disabled: d,
40
+ display: "none",
41
+ opacity: 0,
42
+ styleOrder: 1,
43
+ type: "radio",
44
+ ...p
45
+ }
46
+ ) : /* @__PURE__ */ i(
47
+ n,
48
+ {
49
+ _focus: {
50
+ outline: "1px sold var(--border, var(--primary))"
51
+ },
52
+ appearance: "none",
53
+ bg: "light-dark(#fff, #2E2E2E)",
54
+ border: "1px solid",
55
+ borderColor: "$border",
56
+ borderRadius: "100%",
57
+ checked: g,
58
+ className: r,
59
+ "data-radio-input": !0,
60
+ disabled: d,
61
+ height: "18px",
62
+ m: 0,
63
+ selectors: {
64
+ // checked
65
+ "&:checked:not(:disabled)": {
66
+ bg: "var(--checkedBg, var(--primary, light-dark(#fff, #2E2E2E)))",
67
+ border: "3px solid",
68
+ borderColor: "var(--checkedBg, light-dark(#fff, #2E2E2E))",
69
+ boxShadow: "0 0 0 1px var(--checkedBorder, var(--primary))"
70
+ },
71
+ // hover
72
+ "&:hover:not(:disabled,:checked)": {
73
+ border: "1px solid var(--hoverBorder, var(--primary))",
74
+ bg: "var(--hoverBg, light-dark(color-mix(in srgb, var(--primary) 10%, white 90%), color-mix(in srgb, var(--primary) 10%, black 90%)))"
75
+ },
76
+ // disabled
77
+ "&:is(:disabled, [aria-disabled=true])": {
78
+ bgColor: "var(--disabledBg, light-dark(#F0F0F3, #47474A))"
79
+ }
80
+ },
81
+ styleOrder: 1,
82
+ styleVars: {
83
+ primary: e == null ? void 0 : e.primary,
84
+ border: e == null ? void 0 : e.border,
85
+ text: e == null ? void 0 : e.text,
86
+ bg: e == null ? void 0 : e.bg,
87
+ hoverBg: e == null ? void 0 : e.hoverBg,
88
+ hoverBorder: e == null ? void 0 : e.hoverBorder,
89
+ hoverColor: e == null ? void 0 : e.hoverColor,
90
+ checkedBg: e == null ? void 0 : e.checkedBg,
91
+ checkedBorder: e == null ? void 0 : e.checkedBorder,
92
+ checkedColor: e == null ? void 0 : e.checkedColor,
93
+ disabledBg: e == null ? void 0 : e.disabledBg,
94
+ disabledColor: e == null ? void 0 : e.disabledColor
95
+ },
96
+ transition: ".25s",
97
+ type: "radio",
98
+ width: "18px",
99
+ ...p
100
+ }
101
+ ),
102
+ h === "button" ? /* @__PURE__ */ i(
103
+ k,
104
+ {
105
+ _disabled: {
106
+ cursor: "not-allowed"
107
+ },
108
+ "aria-disabled": d,
109
+ bg: "var(--bg, light-dark(#fff, #2E2E2E))",
110
+ border: "1px solid",
111
+ borderColor: "$border",
112
+ borderRadius: B ? "6px 0 0 6px" : x ? "0 6px 6px 0" : void 0,
113
+ className: r,
114
+ color: "var(--text, light-dark(#000, #fff))",
115
+ cursor: "pointer",
116
+ "data-radio-button": !0,
117
+ display: "flex",
118
+ px: 8,
119
+ py: 4,
120
+ selectors: {
121
+ // checked
122
+ "[data-radio-input]:checked + &:not([aria-disabled=true])": {
123
+ fontWeight: 600,
124
+ bg: "var(--checkedBg, light-dark(color-mix(in srgb, var(--primary) 10%, white 80%), color-mix(in srgb, var(--primary) 10%, black 80%)))",
125
+ borderColor: "var(--checkedBorder, var(--primary))",
126
+ color: "var(--checkedColor, var(--primary))"
127
+ },
128
+ // hover
129
+ "&:hover:not([aria-disabled=true])": {
130
+ bg: "var(--hoverBg, light-dark(color-mix(in srgb, var(--primary) 10%, white 90%), color-mix(in srgb, var(--primary) 10%, black 90%)))",
131
+ borderColor: "var(--hoverBorder, var(--primary))"
132
+ },
133
+ // disabled
134
+ "[data-radio-input]:disabled + &": {
135
+ bg: "var(--disabledBg, light-dark(#F0F0F3, #47474A))",
136
+ color: "var(--disabledColor, light-dark(#D6D7DE, #373737))"
137
+ }
138
+ },
139
+ style: v,
140
+ styleOrder: 1,
141
+ styleVars: {
142
+ primary: e == null ? void 0 : e.primary,
143
+ border: e == null ? void 0 : e.border,
144
+ text: e == null ? void 0 : e.text,
145
+ bg: e == null ? void 0 : e.bg,
146
+ hoverBg: e == null ? void 0 : e.hoverBg,
147
+ hoverBorder: e == null ? void 0 : e.hoverBorder,
148
+ hoverColor: e == null ? void 0 : e.hoverColor,
149
+ checkedBg: e == null ? void 0 : e.checkedBg,
150
+ checkedBorder: e == null ? void 0 : e.checkedBorder,
151
+ checkedColor: e == null ? void 0 : e.checkedColor,
152
+ disabledBg: e == null ? void 0 : e.disabledBg,
153
+ disabledColor: e == null ? void 0 : e.disabledColor
154
+ },
155
+ transition: "background-color 0.25s, border-color 0.25s",
156
+ w: "fit-content",
157
+ children: b
158
+ }
159
+ ) : /* @__PURE__ */ i(
160
+ u,
161
+ {
162
+ "aria-disabled": d,
163
+ className: t == null ? void 0 : t.label,
164
+ color: "var(--text, light-dark(#000, #fff))",
165
+ selectors: {
166
+ "&[aria-disabled=true]": {
167
+ color: "var(--disabledColor, light-dark(#D6D7DE, #373737))"
168
+ }
169
+ },
170
+ style: v,
171
+ styleOrder: 1,
172
+ styleVars: {
173
+ primary: e == null ? void 0 : e.primary,
174
+ border: e == null ? void 0 : e.border,
175
+ text: e == null ? void 0 : e.text,
176
+ bg: e == null ? void 0 : e.bg,
177
+ hoverBg: e == null ? void 0 : e.hoverBg,
178
+ hoverBorder: e == null ? void 0 : e.hoverBorder,
179
+ hoverColor: e == null ? void 0 : e.hoverColor,
180
+ checkedBg: e == null ? void 0 : e.checkedBg,
181
+ checkedBorder: e == null ? void 0 : e.checkedBorder,
182
+ checkedColor: e == null ? void 0 : e.checkedColor,
183
+ disabledBg: e == null ? void 0 : e.disabledBg,
184
+ disabledColor: e == null ? void 0 : e.disabledColor
185
+ },
186
+ children: b
187
+ }
188
+ )
189
+ ]
190
+ }
191
+ );
192
+ }
193
+ export {
194
+ E as Radio
195
+ };
@@ -0,0 +1,33 @@
1
+ import { RadioGroup } from './index';
2
+ declare const _default: {
3
+ title: string;
4
+ component: typeof RadioGroup;
5
+ };
6
+ export default _default;
7
+ export declare const Default: {
8
+ args: {
9
+ disabled: boolean;
10
+ name: string;
11
+ colors: {
12
+ primary: string;
13
+ border: string;
14
+ text: string;
15
+ bg: string;
16
+ hoverBg: string;
17
+ hoverBorder: string;
18
+ hoverColor: string;
19
+ checkedBg: string;
20
+ checkedBorder: string;
21
+ checkedColor: string;
22
+ disabledBg: string;
23
+ disabledColor: string;
24
+ };
25
+ options: {
26
+ value: string;
27
+ label: string;
28
+ }[];
29
+ variant: string;
30
+ direction: string;
31
+ };
32
+ };
33
+ //# sourceMappingURL=RadioGroup.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioGroup.stories.d.ts","sourceRoot":"","sources":["../../../src/components/RadioGroup/RadioGroup.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;;;;;AAEpC,wBAGC;AAED,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;CAmCnB,CAAA"}
@@ -0,0 +1,2 @@
1
+ "use client";
2
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),k=require("@devup-ui/react"),D=require("react"),h=require("../Radio/index.cjs");function F({disabled:d,options:p,direction:x="row",variant:t="default",style:q,value:r,onChange:i,defaultValue:g,colors:S,className:b,classNames:n,styles:e}){const[w,V]=D.useState(r?String(r):g?String(g):void 0),B=r?String(r):w??"";function G(o){i==null||i(o),V(o)}return c.jsx(k.Flex,{className:n==null?void 0:n.container,flexDir:t==="button"?"row":x,gap:t==="button"?0:x==="row"?"30px":"16px",style:e==null?void 0:e.container,children:p.map(({value:o,label:f},j)=>{const u=String(o),R={checked:B===u,disabled:d,onChange:()=>!d&&G(u),className:b,classNames:n,styles:e,style:q};return t==="button"?c.jsx(h.Radio,{colors:S,firstButton:j===0,lastButton:j===p.length-1,variant:t,...R,children:f},u):c.jsx(h.Radio,{colors:S,variant:t,...R,children:f},u)})})}exports.RadioGroup=F;
@@ -0,0 +1,39 @@
1
+ interface RadioGroupProps {
2
+ options: {
3
+ value: string | number | boolean;
4
+ label: React.ReactNode;
5
+ }[];
6
+ disabled?: boolean;
7
+ direction?: 'row' | 'column';
8
+ variant?: 'default' | 'button';
9
+ style?: React.CSSProperties;
10
+ value?: string | number | boolean;
11
+ onChange?: (value: string | number | boolean) => void;
12
+ defaultValue?: string | number | boolean;
13
+ className?: string;
14
+ colors?: {
15
+ primary?: string;
16
+ border?: string;
17
+ text?: string;
18
+ bg?: string;
19
+ hoverBg?: string;
20
+ hoverBorder?: string;
21
+ hoverColor?: string;
22
+ checkedBg?: string;
23
+ checkedBorder?: string;
24
+ checkedColor?: string;
25
+ disabledBg?: string;
26
+ disabledColor?: string;
27
+ };
28
+ classNames?: {
29
+ label?: string;
30
+ container?: string;
31
+ };
32
+ styles?: {
33
+ label?: React.CSSProperties;
34
+ container?: React.CSSProperties;
35
+ };
36
+ }
37
+ export declare function RadioGroup({ disabled, options, direction, variant, style, value, onChange, defaultValue, colors, className, classNames, styles, }: RadioGroupProps): import("react/jsx-runtime").JSX.Element;
38
+ export {};
39
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/RadioGroup/index.tsx"],"names":[],"mappings":"AAMA,UAAU,eAAe;IACvB,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;QAChC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;KACvB,EAAE,CAAA;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAA;IAC5B,OAAO,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAA;IAC9B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;IACjC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,KAAK,IAAI,CAAA;IACrD,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;IACxC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE;QACP,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,aAAa,CAAC,EAAE,MAAM,CAAA;KACvB,CAAA;IACD,UAAU,CAAC,EAAE;QACX,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB,CAAA;IACD,MAAM,CAAC,EAAE;QACP,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;QAC3B,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;KAChC,CAAA;CACF;AACD,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,OAAO,EACP,SAAiB,EACjB,OAAmB,EACnB,KAAK,EACL,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,SAAS,EACT,UAAU,EACV,MAAM,GACP,EAAE,eAAe,2CAgDjB"}
@@ -0,0 +1,61 @@
1
+ "use client";
2
+ import { jsx as f } from "react/jsx-runtime";
3
+ import { Flex as D } from "@devup-ui/react";
4
+ import { useState as F } from "react";
5
+ import { Radio as w } from "../Radio/index.js";
6
+ function A({
7
+ disabled: c,
8
+ options: e,
9
+ direction: g = "row",
10
+ variant: r = "default",
11
+ style: V,
12
+ value: t,
13
+ onChange: p,
14
+ defaultValue: m,
15
+ colors: x,
16
+ className: B,
17
+ classNames: n,
18
+ styles: o
19
+ }) {
20
+ const [R, b] = F(
21
+ t ? String(t) : m ? String(m) : void 0
22
+ ), j = t ? String(t) : R ?? "";
23
+ function k(i) {
24
+ p == null || p(i), b(i);
25
+ }
26
+ return /* @__PURE__ */ f(
27
+ D,
28
+ {
29
+ className: n == null ? void 0 : n.container,
30
+ flexDir: r === "button" ? "row" : g,
31
+ gap: r === "button" ? 0 : g === "row" ? "30px" : "16px",
32
+ style: o == null ? void 0 : o.container,
33
+ children: e.map(({ value: i, label: S }, d) => {
34
+ const u = String(i), h = {
35
+ checked: j === u,
36
+ disabled: c,
37
+ onChange: () => !c && k(u),
38
+ className: B,
39
+ classNames: n,
40
+ styles: o,
41
+ style: V
42
+ };
43
+ return r === "button" ? /* @__PURE__ */ f(
44
+ w,
45
+ {
46
+ colors: x,
47
+ firstButton: d === 0,
48
+ lastButton: d === e.length - 1,
49
+ variant: r,
50
+ ...h,
51
+ children: S
52
+ },
53
+ u
54
+ ) : /* @__PURE__ */ f(w, { colors: x, variant: r, ...h, children: S }, u);
55
+ })
56
+ }
57
+ );
58
+ }
59
+ export {
60
+ A as RadioGroup
61
+ };
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./components/Button/index.cjs"),p=require("./components/Input/index.cjs"),t=require("./components/Select/index.cjs"),e=require("./components/Stepper/index.cjs"),r=require("./contexts/useSelect.cjs");exports.Button=n.Button;exports.Input=p.Input;exports.Select=t.Select;exports.SelectContainer=t.SelectContainer;exports.SelectDivider=t.SelectDivider;exports.SelectOption=t.SelectOption;exports.SelectTrigger=t.SelectTrigger;exports.Stepper=e.Stepper;exports.StepperContainer=e.StepperContainer;exports.StepperDecreaseButton=e.StepperDecreaseButton;exports.StepperIncreaseButton=e.StepperIncreaseButton;exports.StepperInput=e.StepperInput;exports.useStepper=e.useStepper;exports.SelectContext=r.SelectContext;exports.useSelect=r.useSelect;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./components/Button/index.cjs"),p=require("./components/Input/index.cjs"),i=require("./components/Radio/index.cjs"),o=require("./components/RadioGroup/index.cjs"),t=require("./components/Select/index.cjs"),e=require("./components/Stepper/index.cjs"),r=require("./contexts/useSelect.cjs");exports.Button=n.Button;exports.Input=p.Input;exports.Radio=i.Radio;exports.RadioGroup=o.RadioGroup;exports.Select=t.Select;exports.SelectContainer=t.SelectContainer;exports.SelectDivider=t.SelectDivider;exports.SelectOption=t.SelectOption;exports.SelectTrigger=t.SelectTrigger;exports.Stepper=e.Stepper;exports.StepperContainer=e.StepperContainer;exports.StepperDecreaseButton=e.StepperDecreaseButton;exports.StepperIncreaseButton=e.StepperIncreaseButton;exports.StepperInput=e.StepperInput;exports.useStepper=e.useStepper;exports.SelectContext=r.SelectContext;exports.useSelect=r.useSelect;
package/dist/index.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  export { Button } from './components/Button';
2
2
  export { Input } from './components/Input';
3
+ export { Radio } from './components/Radio';
4
+ export { RadioGroup } from './components/RadioGroup';
3
5
  export { Select, SelectContainer, SelectDivider, SelectOption, SelectTrigger, } from './components/Select';
4
6
  export { Stepper, StepperContainer, StepperDecreaseButton, StepperIncreaseButton, StepperInput, useStepper, } from './components/Stepper';
5
7
  export { SelectContext, useSelect } from './contexts/useSelect';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EACL,MAAM,EACN,eAAe,EACf,aAAa,EACb,YAAY,EACZ,aAAa,GACd,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,OAAO,EACP,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,YAAY,EACZ,UAAU,GACX,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAC/D,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EACL,MAAM,EACN,eAAe,EACf,aAAa,EACb,YAAY,EACZ,aAAa,GACd,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,OAAO,EACP,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,YAAY,EACZ,UAAU,GACX,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAC/D,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA"}
package/dist/index.js CHANGED
@@ -1,22 +1,26 @@
1
1
  import { Button as r } from "./components/Button/index.js";
2
- import { Input as o } from "./components/Input/index.js";
3
- import { Select as n, SelectContainer as c, SelectDivider as l, SelectOption as u, SelectTrigger as i } from "./components/Select/index.js";
4
- import { Stepper as f, StepperContainer as m, StepperDecreaseButton as a, StepperIncreaseButton as s, StepperInput as B, useStepper as C } from "./components/Stepper/index.js";
5
- import { SelectContext as g, useSelect as D } from "./contexts/useSelect.js";
2
+ import { Input as p } from "./components/Input/index.js";
3
+ import { Radio as n } from "./components/Radio/index.js";
4
+ import { RadioGroup as i } from "./components/RadioGroup/index.js";
5
+ import { Select as x, SelectContainer as f, SelectDivider as l, SelectOption as m, SelectTrigger as a } from "./components/Select/index.js";
6
+ import { Stepper as d, StepperContainer as B, StepperDecreaseButton as C, StepperIncreaseButton as I, StepperInput as g, useStepper as D } from "./components/Stepper/index.js";
7
+ import { SelectContext as v, useSelect as G } from "./contexts/useSelect.js";
6
8
  export {
7
9
  r as Button,
8
- o as Input,
9
- n as Select,
10
- c as SelectContainer,
11
- g as SelectContext,
10
+ p as Input,
11
+ n as Radio,
12
+ i as RadioGroup,
13
+ x as Select,
14
+ f as SelectContainer,
15
+ v as SelectContext,
12
16
  l as SelectDivider,
13
- u as SelectOption,
14
- i as SelectTrigger,
15
- f as Stepper,
16
- m as StepperContainer,
17
- a as StepperDecreaseButton,
18
- s as StepperIncreaseButton,
19
- B as StepperInput,
20
- D as useSelect,
21
- C as useStepper
17
+ m as SelectOption,
18
+ a as SelectTrigger,
19
+ d as Stepper,
20
+ B as StepperContainer,
21
+ C as StepperDecreaseButton,
22
+ I as StepperIncreaseButton,
23
+ g as StepperInput,
24
+ G as useSelect,
25
+ D as useStepper
22
26
  };
package/package.json CHANGED
@@ -16,7 +16,7 @@
16
16
  "css-in-js-framework",
17
17
  "react"
18
18
  ],
19
- "version": "0.1.14",
19
+ "version": "0.1.15",
20
20
  "type": "module",
21
21
  "publishConfig": {
22
22
  "access": "public"
@@ -41,18 +41,18 @@
41
41
  "@devup-ui/react": "1.0.17"
42
42
  },
43
43
  "devDependencies": {
44
- "@storybook/addon-docs": "^9.1.4",
45
- "@storybook/addon-onboarding": "^9.1.4",
46
- "@storybook/react-vite": "^9.1.4",
44
+ "@storybook/addon-docs": "^9.1.5",
45
+ "@storybook/addon-onboarding": "^9.1.5",
46
+ "@storybook/react-vite": "^9.1.5",
47
47
  "@types/react": "^19.1.12",
48
- "eslint-plugin-storybook": "^9.1.4",
48
+ "eslint-plugin-storybook": "^9.1.5",
49
49
  "rollup-plugin-preserve-directives": "^0.4.0",
50
- "storybook": "^9.1.4",
50
+ "storybook": "^9.1.5",
51
51
  "typescript": "^5.9.2",
52
- "vite": "^7.1.4",
52
+ "vite": "^7.1.5",
53
53
  "vite-plugin-dts": "^4.5.4",
54
54
  "vitest": "^3.2.4",
55
- "@devup-ui/vite-plugin": "1.0.34"
55
+ "@devup-ui/vite-plugin": "1.0.35"
56
56
  },
57
57
  "peerDependencies": {
58
58
  "csstype": "*",