@devup-ui/components 0.1.13 → 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
+ };
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),v=require("react"),c=require("@devup-ui/react"),A=require("clsx"),S=require("../../contexts/useSelect.cjs"),j=require("../Button/index.cjs"),w=require("./IconCheck.cjs");function O({type:n="default",children:u,defaultValue:f,value:s,onChange:d,defaultOpen:g,open:b,onOpenChange:o,colors:e,typography:p,options:a,...m}){const i=v.useRef(null),[h,l]=v.useState(g??!1),[x,k]=v.useState(f??(n==="checkbox"?[]:""));v.useEffect(()=>{const r=y=>{i.current&&i.current.contains(y.target)||l(!1)};return document.addEventListener("click",r),()=>document.removeEventListener("click",r)},[h,l]);const F=r=>{o==null||o(r),l(r)},E=r=>{if(d==null||d(r),n!=="default"){if(n==="radio"){k(r);return}Array.isArray(x)&&x.includes(r)?k(x.filter(y=>y!==r)):k([...x,r])}};return t.jsx(S.SelectContext.Provider,{value:{open:b??h,setOpen:F,value:s??x,setValue:E,type:n,ref:i},children:t.jsx(c.Box,{ref:i,display:"inline-block",h:"fit-content",selectors:{"&, & *":{boxSizing:"border-box"}},styleOrder:1,styleVars:{primary:e==null?void 0:e.primary,border:e==null?void 0:e.border,inputBackground:e==null?void 0:e.inputBackground,base10:e==null?void 0:e.base10,title:e==null?void 0:e.title,selectDisabled:e==null?void 0:e.selectDisabled,primaryBg:e==null?void 0:e.primaryBg,inputDisabledBackground:e==null?void 0:e.inputDisabledBackground,inputDisabledText:e==null?void 0:e.inputDisabledText},typography:p,...m,children:a?t.jsxs(t.Fragment,{children:[t.jsx(B,{children:u}),t.jsx(D,{children:a==null?void 0:a.map(r=>v.createElement(C,{...r,key:"option-"+r.value},r.label??r.value))})]}):u})})}function B({className:n,children:u,asChild:f,...s}){const{open:d,setOpen:g}=S.useSelect(),b=()=>{g(!d)};if(f){const o=v.Children.only(u),e=o.type;return t.jsx(e,{"aria-expanded":d,"aria-label":"Select toggle",onClick:b,...o.props})}return t.jsx(j.Button,{"aria-expanded":d,"aria-label":"Select toggle",className:A(c.css({borderRadius:"8px",styleOrder:2}),n),onClick:b,...s,children:u})}function D({children:n,showConfirmButton:u,confirmButtonText:f="완료",x:s=0,y:d=0,...g}){const{open:b,setOpen:o,type:e,ref:p}=S.useSelect();return b?t.jsxs(c.VStack,{ref:a=>{if(!p.current||!a)return;const m=p.current,i=()=>{const{width:h,height:l,x,y:k,top:F,left:E}=m.getBoundingClientRect(),r=a.offsetHeight+F+window.scrollY+l+d>document.documentElement.scrollHeight,y=a.offsetWidth+E+window.scrollX+h+s>document.documentElement.scrollWidth;r?a.style.bottom=`${window.innerHeight-k+10}px`:a.style.top=`${k+l+10+d}px`,y?a.style.left=`${x-a.offsetWidth+m.offsetWidth+s}px`:a.style.left=`${x+s}px`};return i(),window.addEventListener("scroll",i,!0),window.addEventListener("resize",i),()=>{window.removeEventListener("scroll",i,!0),window.removeEventListener("resize",i)}},"aria-label":"Select container",bg:"var(--inputBg, light-dark(#FFF,#2E2E2E))",border:"1px solid var(--border, light-dark(#E4E4E4,#434343))",borderRadius:"8px",bottom:"-4px",boxShadow:"0 2px 2px 0 var(--base10, light-dark(#0000001A,#FFFFFF1A))",boxSize:"fit-content",gap:"6px",minW:"232px",p:"10px",pos:"fixed",styleOrder:1,userSelect:"none",zIndex:1,...g,children:[n,u&&e==="checkbox"&&t.jsx(c.Flex,{justifyContent:"end",w:"100%",children:t.jsx(j.Button,{"aria-label":"Select confirm button",className:c.css({textAlign:"end",bg:"var(--primary, light-dark(#674DC7, #8163E1))",borderRadius:"8px",w:"fit-content",px:"30px",py:"10px",color:"#FFF",typography:"buttonS"}),onClick:()=>o(!1),variant:"primary",children:f})})]}):null}function C({disabled:n,onClick:u,children:f,value:s,showCheck:d=!0,...g}){const{setOpen:b,setValue:o,value:e,type:p}=S.useSelect(),a=()=>{p!=="checkbox"&&b(!1)},m=(l,x)=>{if(u){u(l,x);return}typeof l=="string"&&o(l),a()},i={default:!1,radio:e===s,checkbox:Array.isArray(e)&&s&&e.includes(s)}[p],h=!n&&!(p==="radio"&&i);return t.jsxs(c.Flex,{_hover:h&&{bg:"var(--primaryBg, light-dark(#F4F3FA, #F4F3FA0D))"},alignItems:"center",borderRadius:"6px",color:n?"var(--selectDisabled, light-dark(#C4C5D1, #45464D))":i?"var(--primary, light-dark(#674DC7, #8163E1)":"var(--title, light-dark(#1A1A1A,#FAFAFA))",cursor:h?"pointer":"default","data-value":s,fontWeight:i?"700":"400",gap:{checkbox:"10px",radio:"6px",default:"0"}[p],h:"40px",onClick:n?void 0:l=>m(s,l),px:"10px",styleOrder:1,transition:"background-color 0.1s ease-in-out",...g,children:[d&&{checkbox:t.jsx(c.Box,{bg:n?"var(--inputDisabledBackground, light-dark(#F0F0F3, #414244))":i?"var(--primary, light-dark(#674DC7, #8163E1)":"var(--border, light-dark(#E4E4E4, #434343))",borderRadius:"4px",boxSize:"18px",pos:"relative",transition:"background-color 0.1s ease-in-out",children:i&&t.jsx(w.IconCheck,{className:c.css({color:n?"var(--inputDisabledText, light-dark(#E5E5E5, #373737))":"#FFF",position:"absolute",top:"55%",left:"50%",transform:"translate(-50%, -50%)"})})}),radio:t.jsx(t.Fragment,{children:i&&t.jsx(c.Box,{borderRadius:"4px",boxSize:"18px",pos:"relative",transition:"background-color 0.1s ease-in-out",children:t.jsx(w.IconCheck,{className:c.css({position:"absolute",top:"55%",left:"50%",transform:"translate(-50%, -50%)",color:"inherit"})})})}),default:null}[p],f]})}function R({...n}){return t.jsx(c.Box,{bg:"var(--border, light-dark(#E4E4E4,#434343)",h:"1px",styleOrder:1,w:"100%",...n})}exports.Select=O;exports.SelectContainer=D;exports.SelectDivider=R;exports.SelectOption=C;exports.SelectTrigger=B;
2
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),k=require("react"),c=require("@devup-ui/react"),A=require("clsx"),y=require("../../contexts/useSelect.cjs"),w=require("../Button/index.cjs"),j=require("./IconCheck.cjs");function O({type:n="default",children:u,defaultValue:g,value:s,onChange:l,defaultOpen:h,open:b,onOpenChange:o,colors:e,typography:x,options:a,...m}){const i=k.useRef(null),[f,d]=k.useState(h??!1),[p,v]=k.useState(g??(n==="checkbox"?[]:""));k.useEffect(()=>{const r=E=>{i.current&&i.current.contains(E.target)||d(!1)};return document.addEventListener("click",r),()=>document.removeEventListener("click",r)},[f,d]);const S=r=>{o==null||o(r),d(r)},F=r=>{if(l==null||l(r),n!=="default"){if(n==="radio"){v(r);return}Array.isArray(p)&&p.includes(r)?v(p.filter(E=>E!==r)):v([...p,r])}};return t.jsx(y.SelectContext.Provider,{value:{open:b??f,setOpen:S,value:s??p,setValue:F,type:n,ref:i},children:t.jsx(c.Box,{ref:i,display:"inline-block",h:"fit-content",selectors:{"&, & *":{boxSizing:"border-box"}},styleOrder:1,styleVars:{primary:e==null?void 0:e.primary,border:e==null?void 0:e.border,inputBackground:e==null?void 0:e.inputBackground,base10:e==null?void 0:e.base10,title:e==null?void 0:e.title,selectDisabled:e==null?void 0:e.selectDisabled,primaryBg:e==null?void 0:e.primaryBg,inputDisabledBackground:e==null?void 0:e.inputDisabledBackground,inputDisabledText:e==null?void 0:e.inputDisabledText},typography:x,...m,children:a?t.jsxs(t.Fragment,{children:[t.jsx(B,{children:u}),t.jsx(D,{children:a==null?void 0:a.map(r=>k.createElement(C,{...r,key:"option-"+r.value},r.label??r.value))})]}):u})})}function B({className:n,children:u,asChild:g,...s}){const{open:l,setOpen:h}=y.useSelect(),b=()=>{h(!l)};if(g){const o=k.Children.only(u),e=o.type;return t.jsx(e,{"aria-expanded":l,"aria-label":"Select toggle",onClick:b,...o.props})}return t.jsx(w.Button,{"aria-expanded":l,"aria-label":"Select toggle",className:A(c.css({borderRadius:"8px",styleOrder:2}),n),onClick:b,...s,children:u})}function D({children:n,showConfirmButton:u,confirmButtonText:g="완료",x:s=0,y:l=0,...h}){const{open:b,setOpen:o,type:e,ref:x}=y.useSelect();return b?t.jsxs(c.VStack,{ref:a=>{if(!x.current||!a)return;const m=x.current,i=()=>{const{height:f,x:d,y:p,top:v,left:S}=m.getBoundingClientRect(),F=a.offsetHeight+v+window.scrollY+f+l>document.documentElement.scrollHeight,r=a.offsetWidth+S+window.scrollX+s>document.documentElement.scrollWidth;F?a.style.bottom=`${window.innerHeight-p+10}px`:a.style.top=`${p+f+10+l}px`,r?a.style.left=`${Math.max(d-a.offsetWidth+m.offsetWidth,0)+s}px`:a.style.left=`${d+s}px`};return i(),window.addEventListener("scroll",i,!0),window.addEventListener("resize",i),()=>{window.removeEventListener("scroll",i,!0),window.removeEventListener("resize",i)}},"aria-label":"Select container",bg:"var(--inputBg, light-dark(#FFF,#2E2E2E))",border:"1px solid var(--border, light-dark(#E4E4E4,#434343))",borderRadius:"8px",bottom:"-4px",boxShadow:"0 2px 2px 0 var(--base10, light-dark(#0000001A,#FFFFFF1A))",boxSize:"fit-content",gap:"6px",minW:"232px",p:"10px",pos:"fixed",styleOrder:1,userSelect:"none",zIndex:1,...h,children:[n,u&&e==="checkbox"&&t.jsx(c.Flex,{justifyContent:"end",w:"100%",children:t.jsx(w.Button,{"aria-label":"Select confirm button",className:c.css({textAlign:"end",bg:"var(--primary, light-dark(#674DC7, #8163E1))",borderRadius:"8px",w:"fit-content",px:"30px",py:"10px",color:"#FFF",typography:"buttonS"}),onClick:()=>o(!1),variant:"primary",children:g})})]}):null}function C({disabled:n,onClick:u,children:g,value:s,showCheck:l=!0,...h}){const{setOpen:b,setValue:o,value:e,type:x}=y.useSelect(),a=()=>{x!=="checkbox"&&b(!1)},m=(d,p)=>{if(u){u(d,p);return}typeof d=="string"&&o(d),a()},i={default:!1,radio:e===s,checkbox:Array.isArray(e)&&s&&e.includes(s)}[x],f=!n&&!(x==="radio"&&i);return t.jsxs(c.Flex,{_hover:f&&{bg:"var(--primaryBg, light-dark(#F4F3FA, #F4F3FA0D))"},alignItems:"center",borderRadius:"6px",color:n?"var(--selectDisabled, light-dark(#C4C5D1, #45464D))":i?"var(--primary, light-dark(#674DC7, #8163E1)":"var(--title, light-dark(#1A1A1A,#FAFAFA))",cursor:f?"pointer":"default","data-value":s,fontWeight:i?"700":"400",gap:{checkbox:"10px",radio:"6px",default:"0"}[x],h:"40px",onClick:n?void 0:d=>m(s,d),px:"10px",styleOrder:1,transition:"background-color 0.1s ease-in-out",...h,children:[l&&{checkbox:t.jsx(c.Box,{bg:n?"var(--inputDisabledBackground, light-dark(#F0F0F3, #414244))":i?"var(--primary, light-dark(#674DC7, #8163E1)":"var(--border, light-dark(#E4E4E4, #434343))",borderRadius:"4px",boxSize:"18px",pos:"relative",transition:"background-color 0.1s ease-in-out",children:i&&t.jsx(j.IconCheck,{className:c.css({color:n?"var(--inputDisabledText, light-dark(#E5E5E5, #373737))":"#FFF",position:"absolute",top:"55%",left:"50%",transform:"translate(-50%, -50%)"})})}),radio:t.jsx(t.Fragment,{children:i&&t.jsx(c.Box,{borderRadius:"4px",boxSize:"18px",pos:"relative",transition:"background-color 0.1s ease-in-out",children:t.jsx(j.IconCheck,{className:c.css({position:"absolute",top:"55%",left:"50%",transform:"translate(-50%, -50%)",color:"inherit"})})})}),default:null}[x],g]})}function R({...n}){return t.jsx(c.Box,{bg:"var(--border, light-dark(#E4E4E4,#434343)",h:"1px",styleOrder:1,w:"100%",...n})}exports.Select=O;exports.SelectContainer=D;exports.SelectDivider=R;exports.SelectOption=C;exports.SelectTrigger=B;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Select/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Select/index.tsx"],"names":[],"mappings":"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"}
@@ -1,18 +1,18 @@
1
1
  "use client";
2
- import { jsx as a, jsxs as w, Fragment as B } from "react/jsx-runtime";
2
+ import { jsx as a, jsxs as S, Fragment as B } from "react/jsx-runtime";
3
3
  import { useRef as R, useState as D, useEffect as z, createElement as L, Children as W } from "react";
4
- import { Box as v, VStack as H, Flex as C, css as y } from "@devup-ui/react";
4
+ import { Box as k, VStack as H, Flex as C, css as v } from "@devup-ui/react";
5
5
  import N from "clsx";
6
- import { SelectContext as T, useSelect as S } from "../../contexts/useSelect.js";
6
+ import { SelectContext as T, useSelect as w } from "../../contexts/useSelect.js";
7
7
  import { Button as O } from "../Button/index.js";
8
8
  import { IconCheck as A } from "./IconCheck.js";
9
- function J({
9
+ function G({
10
10
  type: i = "default",
11
11
  children: o,
12
- defaultValue: b,
12
+ defaultValue: m,
13
13
  value: d,
14
14
  onChange: l,
15
- defaultOpen: m,
15
+ defaultOpen: x,
16
16
  open: f,
17
17
  onOpenChange: c,
18
18
  colors: e,
@@ -20,39 +20,39 @@ function J({
20
20
  options: n,
21
21
  ...h
22
22
  }) {
23
- const r = R(null), [x, s] = D(m ?? !1), [p, g] = D(
24
- b ?? (i === "checkbox" ? [] : "")
23
+ const r = R(null), [b, s] = D(x ?? !1), [p, g] = D(
24
+ m ?? (i === "checkbox" ? [] : "")
25
25
  );
26
26
  z(() => {
27
- const t = (k) => {
28
- r.current && r.current.contains(k.target) || s(!1);
27
+ const t = (E) => {
28
+ r.current && r.current.contains(E.target) || s(!1);
29
29
  };
30
30
  return document.addEventListener("click", t), () => document.removeEventListener("click", t);
31
- }, [x, s]);
32
- const F = (t) => {
31
+ }, [b, s]);
32
+ const y = (t) => {
33
33
  c == null || c(t), s(t);
34
- }, E = (t) => {
34
+ }, F = (t) => {
35
35
  if (l == null || l(t), i !== "default") {
36
36
  if (i === "radio") {
37
37
  g(t);
38
38
  return;
39
39
  }
40
- Array.isArray(p) && p.includes(t) ? g(p.filter((k) => k !== t)) : g([...p, t]);
40
+ Array.isArray(p) && p.includes(t) ? g(p.filter((E) => E !== t)) : g([...p, t]);
41
41
  }
42
42
  };
43
43
  return /* @__PURE__ */ a(
44
44
  T.Provider,
45
45
  {
46
46
  value: {
47
- open: f ?? x,
48
- setOpen: F,
47
+ open: f ?? b,
48
+ setOpen: y,
49
49
  value: d ?? p,
50
- setValue: E,
50
+ setValue: F,
51
51
  type: i,
52
52
  ref: r
53
53
  },
54
54
  children: /* @__PURE__ */ a(
55
- v,
55
+ k,
56
56
  {
57
57
  ref: r,
58
58
  display: "inline-block",
@@ -76,7 +76,7 @@ function J({
76
76
  },
77
77
  typography: u,
78
78
  ...h,
79
- children: n ? /* @__PURE__ */ w(B, { children: [
79
+ children: n ? /* @__PURE__ */ S(B, { children: [
80
80
  /* @__PURE__ */ a($, { children: o }),
81
81
  /* @__PURE__ */ a(j, { children: n == null ? void 0 : n.map((t) => /* @__PURE__ */ L(I, { ...t, key: "option-" + t.value }, t.label ?? t.value)) })
82
82
  ] }) : o
@@ -88,13 +88,13 @@ function J({
88
88
  function $({
89
89
  className: i,
90
90
  children: o,
91
- asChild: b,
91
+ asChild: m,
92
92
  ...d
93
93
  }) {
94
- const { open: l, setOpen: m } = S(), f = () => {
95
- m(!l);
94
+ const { open: l, setOpen: x } = w(), f = () => {
95
+ x(!l);
96
96
  };
97
- if (b) {
97
+ if (m) {
98
98
  const c = W.only(o), e = c.type;
99
99
  return /* @__PURE__ */ a(
100
100
  e,
@@ -112,7 +112,7 @@ function $({
112
112
  "aria-expanded": l,
113
113
  "aria-label": "Select toggle",
114
114
  className: N(
115
- y({
115
+ v({
116
116
  borderRadius: "8px",
117
117
  styleOrder: 2
118
118
  }),
@@ -127,27 +127,26 @@ function $({
127
127
  function j({
128
128
  children: i,
129
129
  showConfirmButton: o,
130
- confirmButtonText: b = "완료",
130
+ confirmButtonText: m = "완료",
131
131
  x: d = 0,
132
132
  y: l = 0,
133
- ...m
133
+ ...x
134
134
  }) {
135
- const { open: f, setOpen: c, type: e, ref: u } = S();
136
- return f ? /* @__PURE__ */ w(
135
+ const { open: f, setOpen: c, type: e, ref: u } = w();
136
+ return f ? /* @__PURE__ */ S(
137
137
  H,
138
138
  {
139
139
  ref: (n) => {
140
140
  if (!u.current || !n) return;
141
141
  const h = u.current, r = () => {
142
142
  const {
143
- width: x,
144
- height: s,
145
- x: p,
146
- y: g,
147
- top: F,
148
- left: E
149
- } = h.getBoundingClientRect(), t = n.offsetHeight + F + window.scrollY + s + l > document.documentElement.scrollHeight, k = n.offsetWidth + E + window.scrollX + x + d > document.documentElement.scrollWidth;
150
- t ? n.style.bottom = `${window.innerHeight - g + 10}px` : n.style.top = `${g + s + 10 + l}px`, k ? n.style.left = `${p - n.offsetWidth + h.offsetWidth + d}px` : n.style.left = `${p + d}px`;
143
+ height: b,
144
+ x: s,
145
+ y: p,
146
+ top: g,
147
+ left: y
148
+ } = h.getBoundingClientRect(), F = n.offsetHeight + g + window.scrollY + b + l > document.documentElement.scrollHeight, t = n.offsetWidth + y + window.scrollX + d > document.documentElement.scrollWidth;
149
+ F ? n.style.bottom = `${window.innerHeight - p + 10}px` : n.style.top = `${p + b + 10 + l}px`, t ? n.style.left = `${Math.max(s - n.offsetWidth + h.offsetWidth, 0) + d}px` : n.style.left = `${s + d}px`;
151
150
  };
152
151
  return r(), window.addEventListener("scroll", r, !0), window.addEventListener("resize", r), () => {
153
152
  window.removeEventListener("scroll", r, !0), window.removeEventListener("resize", r);
@@ -167,14 +166,14 @@ function j({
167
166
  styleOrder: 1,
168
167
  userSelect: "none",
169
168
  zIndex: 1,
170
- ...m,
169
+ ...x,
171
170
  children: [
172
171
  i,
173
172
  o && e === "checkbox" && /* @__PURE__ */ a(C, { justifyContent: "end", w: "100%", children: /* @__PURE__ */ a(
174
173
  O,
175
174
  {
176
175
  "aria-label": "Select confirm button",
177
- className: y({
176
+ className: v({
178
177
  textAlign: "end",
179
178
  bg: "var(--primary, light-dark(#674DC7, #8163E1))",
180
179
  borderRadius: "8px",
@@ -186,7 +185,7 @@ function j({
186
185
  }),
187
186
  onClick: () => c(!1),
188
187
  variant: "primary",
189
- children: b
188
+ children: m
190
189
  }
191
190
  ) })
192
191
  ]
@@ -196,12 +195,12 @@ function j({
196
195
  function I({
197
196
  disabled: i,
198
197
  onClick: o,
199
- children: b,
198
+ children: m,
200
199
  value: d,
201
200
  showCheck: l = !0,
202
- ...m
201
+ ...x
203
202
  }) {
204
- const { setOpen: f, setValue: c, value: e, type: u } = S(), n = () => {
203
+ const { setOpen: f, setValue: c, value: e, type: u } = w(), n = () => {
205
204
  u !== "checkbox" && f(!1);
206
205
  }, h = (s, p) => {
207
206
  if (o) {
@@ -213,17 +212,17 @@ function I({
213
212
  default: !1,
214
213
  radio: e === d,
215
214
  checkbox: Array.isArray(e) && d && e.includes(d)
216
- }[u], x = !i && !(u === "radio" && r);
217
- return /* @__PURE__ */ w(
215
+ }[u], b = !i && !(u === "radio" && r);
216
+ return /* @__PURE__ */ S(
218
217
  C,
219
218
  {
220
- _hover: x && {
219
+ _hover: b && {
221
220
  bg: "var(--primaryBg, light-dark(#F4F3FA, #F4F3FA0D))"
222
221
  },
223
222
  alignItems: "center",
224
223
  borderRadius: "6px",
225
224
  color: i ? "var(--selectDisabled, light-dark(#C4C5D1, #45464D))" : r ? "var(--primary, light-dark(#674DC7, #8163E1)" : "var(--title, light-dark(#1A1A1A,#FAFAFA))",
226
- cursor: x ? "pointer" : "default",
225
+ cursor: b ? "pointer" : "default",
227
226
  "data-value": d,
228
227
  fontWeight: r ? "700" : "400",
229
228
  gap: {
@@ -236,11 +235,11 @@ function I({
236
235
  px: "10px",
237
236
  styleOrder: 1,
238
237
  transition: "background-color 0.1s ease-in-out",
239
- ...m,
238
+ ...x,
240
239
  children: [
241
240
  l && {
242
241
  checkbox: /* @__PURE__ */ a(
243
- v,
242
+ k,
244
243
  {
245
244
  bg: i ? "var(--inputDisabledBackground, light-dark(#F0F0F3, #414244))" : r ? "var(--primary, light-dark(#674DC7, #8163E1)" : "var(--border, light-dark(#E4E4E4, #434343))",
246
245
  borderRadius: "4px",
@@ -250,7 +249,7 @@ function I({
250
249
  children: r && /* @__PURE__ */ a(
251
250
  A,
252
251
  {
253
- className: y({
252
+ className: v({
254
253
  color: i ? "var(--inputDisabledText, light-dark(#E5E5E5, #373737))" : "#FFF",
255
254
  position: "absolute",
256
255
  top: "55%",
@@ -262,7 +261,7 @@ function I({
262
261
  }
263
262
  ),
264
263
  radio: /* @__PURE__ */ a(B, { children: r && /* @__PURE__ */ a(
265
- v,
264
+ k,
266
265
  {
267
266
  borderRadius: "4px",
268
267
  boxSize: "18px",
@@ -271,7 +270,7 @@ function I({
271
270
  children: /* @__PURE__ */ a(
272
271
  A,
273
272
  {
274
- className: y({
273
+ className: v({
275
274
  position: "absolute",
276
275
  top: "55%",
277
276
  left: "50%",
@@ -284,14 +283,14 @@ function I({
284
283
  ) }),
285
284
  default: null
286
285
  }[u],
287
- b
286
+ m
288
287
  ]
289
288
  }
290
289
  );
291
290
  }
292
- function K({ ...i }) {
291
+ function J({ ...i }) {
293
292
  return /* @__PURE__ */ a(
294
- v,
293
+ k,
295
294
  {
296
295
  bg: "var(--border, light-dark(#E4E4E4,#434343)",
297
296
  h: "1px",
@@ -302,9 +301,9 @@ function K({ ...i }) {
302
301
  );
303
302
  }
304
303
  export {
305
- J as Select,
304
+ G as Select,
306
305
  j as SelectContainer,
307
- K as SelectDivider,
306
+ J as SelectDivider,
308
307
  I as SelectOption,
309
308
  $ as SelectTrigger
310
309
  };
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.13",
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.3",
45
- "@storybook/addon-onboarding": "^9.1.3",
46
- "@storybook/react-vite": "^9.1.3",
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.3",
48
+ "eslint-plugin-storybook": "^9.1.5",
49
49
  "rollup-plugin-preserve-directives": "^0.4.0",
50
- "storybook": "^9.1.3",
50
+ "storybook": "^9.1.5",
51
51
  "typescript": "^5.9.2",
52
- "vite": "^7.1.3",
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.33"
55
+ "@devup-ui/vite-plugin": "1.0.35"
56
56
  },
57
57
  "peerDependencies": {
58
58
  "csstype": "*",