@bestow-ui/react 0.3.1 → 0.5.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/dist/index.js CHANGED
@@ -207,34 +207,66 @@ function usePortalClassName() {
207
207
  }
208
208
 
209
209
  // src/components/Button/Button.tsx
210
+ import { forwardRef as forwardRef3 } from "react";
211
+
212
+ // src/components/Spinner/Spinner.tsx
213
+ import { LoaderIcon } from "@bestow-ui/icons";
210
214
  import { forwardRef as forwardRef2 } from "react";
211
215
 
212
- // src/components/Button/Button.css.ts
216
+ // src/styles/visuallyHidden.css.ts
217
+ var visuallyHidden = "_1kdtbw10";
218
+
219
+ // src/components/Spinner/Spinner.css.ts
213
220
  import { createRuntimeFn as _7a468 } from "@vanilla-extract/recipes/createRuntimeFn";
214
- var button = _7a468({ defaultClassName: "xcekda6", variantClassNames: { variant: { solid: "xcekda7", soft: "xcekda8", outline: "xcekda9", ghost: "xcekdaa" }, color: { primary: "xcekdab", neutral: "xcekdac", danger: "xcekdad" }, size: { sm: "xcekdae", md: "xcekdaf", lg: "xcekdag" }, fullWidth: { true: "xcekdah" } }, defaultVariants: { variant: "solid", color: "primary", size: "md" }, compoundVariants: [] });
221
+ var spinner = _7a468({ defaultClassName: "_4b5tg40", variantClassNames: { color: { current: "_4b5tg41", primary: "_4b5tg42", neutral: "_4b5tg43", danger: "_4b5tg44" }, size: { sm: "_4b5tg45", md: "_4b5tg46", lg: "_4b5tg47" } }, defaultVariants: { color: "current", size: "md" }, compoundVariants: [] });
222
+
223
+ // src/components/Spinner/Spinner.tsx
224
+ import { jsx as jsx2, jsxs } from "react/jsx-runtime";
225
+ var Spinner = forwardRef2(function Spinner2({ size, color, label: label3 = "\uB85C\uB529 \uC911", className, ...rest }, ref) {
226
+ const a11y = label3 ? { role: "status" } : { "aria-hidden": true };
227
+ return /* @__PURE__ */ jsxs("span", { ref, className: cx(spinner({ size, color }), className), ...a11y, ...rest, children: [
228
+ /* @__PURE__ */ jsx2(LoaderIcon, { size: "100%" }),
229
+ label3 && /* @__PURE__ */ jsx2("span", { className: visuallyHidden, children: label3 })
230
+ ] });
231
+ });
232
+
233
+ // src/components/Button/Button.css.ts
234
+ import { createRuntimeFn as _7a4682 } from "@vanilla-extract/recipes/createRuntimeFn";
235
+ var button = _7a4682({ defaultClassName: "xcekda6", variantClassNames: { variant: { solid: "xcekda7", soft: "xcekda8", outline: "xcekda9", ghost: "xcekdaa" }, color: { primary: "xcekdab", neutral: "xcekdac", danger: "xcekdad" }, size: { sm: "xcekdae", md: "xcekdaf", lg: "xcekdag" }, fullWidth: { true: "xcekdah" } }, defaultVariants: { variant: "solid", color: "primary", size: "md" }, compoundVariants: [] });
215
236
  var icon = "xcekdai";
216
237
 
217
238
  // src/components/Button/Button.tsx
218
- import { jsx as jsx2, jsxs } from "react/jsx-runtime";
219
- var Button = forwardRef2(function Button2({ variant, color, size, fullWidth, startIcon, endIcon, className, type = "button", children, ...rest }, ref) {
220
- return /* @__PURE__ */ jsxs(
239
+ import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
240
+ var Button = forwardRef3(function Button2({ variant, color, size, fullWidth, startIcon, endIcon, loading, className, type = "button", onClick, children, ...rest }, ref) {
241
+ const handleClick = (event) => {
242
+ if (loading) {
243
+ event.preventDefault();
244
+ return;
245
+ }
246
+ onClick?.(event);
247
+ };
248
+ const leading = loading ? /* @__PURE__ */ jsx3(Spinner, { size: "sm", label: "" }) : startIcon;
249
+ return /* @__PURE__ */ jsxs2(
221
250
  "button",
222
251
  {
223
252
  ref,
224
253
  type,
225
254
  className: cx(button({ variant, color, size, fullWidth }), className),
255
+ "aria-busy": loading || void 0,
256
+ "aria-disabled": loading || void 0,
257
+ onClick: handleClick,
226
258
  ...rest,
227
259
  children: [
228
- startIcon && /* @__PURE__ */ jsx2("span", { className: icon, children: startIcon }),
260
+ leading && /* @__PURE__ */ jsx3("span", { className: icon, children: leading }),
229
261
  children,
230
- endIcon && /* @__PURE__ */ jsx2("span", { className: icon, children: endIcon })
262
+ endIcon && /* @__PURE__ */ jsx3("span", { className: icon, children: endIcon })
231
263
  ]
232
264
  }
233
265
  );
234
266
  });
235
267
 
236
268
  // src/components/Checkbox/Checkbox.tsx
237
- import { forwardRef as forwardRef3, useEffect, useRef } from "react";
269
+ import { forwardRef as forwardRef4, useEffect, useRef } from "react";
238
270
 
239
271
  // src/utils/mergeRefs.ts
240
272
  function mergeRefs(...refs) {
@@ -247,23 +279,23 @@ function mergeRefs(...refs) {
247
279
  }
248
280
 
249
281
  // src/components/Checkbox/Checkbox.css.ts
250
- import { createRuntimeFn as _7a4682 } from "@vanilla-extract/recipes/createRuntimeFn";
282
+ import { createRuntimeFn as _7a4683 } from "@vanilla-extract/recipes/createRuntimeFn";
251
283
  var checkIcon = "_1y7mzsn8 _1y7mzsn7";
252
- var control = _7a4682({ defaultClassName: "_1y7mzsn3", variantClassNames: { size: { sm: "_1y7mzsn4", md: "_1y7mzsn5" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
284
+ var control = _7a4683({ defaultClassName: "_1y7mzsn3", variantClassNames: { size: { sm: "_1y7mzsn4", md: "_1y7mzsn5" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
253
285
  var indeterminateIcon = "_1y7mzsn9 _1y7mzsn7";
254
286
  var input = "_1y7mzsn6";
255
- var root2 = _7a4682({ defaultClassName: "_1y7mzsn0", variantClassNames: { size: { sm: "_1y7mzsn1", md: "_1y7mzsn2" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
287
+ var root2 = _7a4683({ defaultClassName: "_1y7mzsn0", variantClassNames: { size: { sm: "_1y7mzsn1", md: "_1y7mzsn2" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
256
288
 
257
289
  // src/components/Checkbox/Checkbox.tsx
258
- import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
259
- var Checkbox = forwardRef3(function Checkbox2({ label: label2, size, indeterminate = false, invalid, disabled, className, ...rest }, ref) {
290
+ import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
291
+ var Checkbox = forwardRef4(function Checkbox2({ label: label3, size, indeterminate = false, invalid, disabled, className, ...rest }, ref) {
260
292
  const innerRef = useRef(null);
261
293
  useEffect(() => {
262
294
  if (innerRef.current) innerRef.current.indeterminate = indeterminate;
263
295
  }, [indeterminate]);
264
- return /* @__PURE__ */ jsxs2("label", { className: cx(root2({ size }), className), "data-disabled": disabled || void 0, children: [
265
- /* @__PURE__ */ jsxs2("span", { className: control({ size }), children: [
266
- /* @__PURE__ */ jsx3(
296
+ return /* @__PURE__ */ jsxs3("label", { className: cx(root2({ size }), className), "data-disabled": disabled || void 0, children: [
297
+ /* @__PURE__ */ jsxs3("span", { className: control({ size }), children: [
298
+ /* @__PURE__ */ jsx4(
267
299
  "input",
268
300
  {
269
301
  ref: mergeRefs(innerRef, ref),
@@ -274,39 +306,39 @@ var Checkbox = forwardRef3(function Checkbox2({ label: label2, size, indetermina
274
306
  ...rest
275
307
  }
276
308
  ),
277
- /* @__PURE__ */ jsx3("svg", { className: checkIcon, viewBox: "0 0 20 20", fill: "none", "aria-hidden": true, children: /* @__PURE__ */ jsx3("path", { d: "M5 10.5l3.2 3L15 7", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }),
278
- /* @__PURE__ */ jsx3("svg", { className: indeterminateIcon, viewBox: "0 0 20 20", fill: "none", "aria-hidden": true, children: /* @__PURE__ */ jsx3("path", { d: "M6 10h8", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" }) })
309
+ /* @__PURE__ */ jsx4("svg", { className: checkIcon, viewBox: "0 0 20 20", fill: "none", "aria-hidden": true, children: /* @__PURE__ */ jsx4("path", { d: "M5 10.5l3.2 3L15 7", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }),
310
+ /* @__PURE__ */ jsx4("svg", { className: indeterminateIcon, viewBox: "0 0 20 20", fill: "none", "aria-hidden": true, children: /* @__PURE__ */ jsx4("path", { d: "M6 10h8", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" }) })
279
311
  ] }),
280
- label2
312
+ label3
281
313
  ] });
282
314
  });
283
315
 
284
316
  // src/components/Input/Input.tsx
285
- import { forwardRef as forwardRef4 } from "react";
317
+ import { forwardRef as forwardRef5 } from "react";
286
318
 
287
319
  // src/components/Input/Input.css.ts
288
- import { createRuntimeFn as _7a4683 } from "@vanilla-extract/recipes/createRuntimeFn";
320
+ import { createRuntimeFn as _7a4684 } from "@vanilla-extract/recipes/createRuntimeFn";
289
321
  var adornment = "_19p5zvh6";
290
322
  var field = "_19p5zvh7";
291
323
  var fieldFullWidth = "_19p5zvh8";
292
- var helperText = _7a4683({ defaultClassName: "_19p5zvhb", variantClassNames: { error: { true: "_19p5zvhc" } }, defaultVariants: {}, compoundVariants: [] });
324
+ var helperText = _7a4684({ defaultClassName: "_19p5zvhb", variantClassNames: { error: { true: "_19p5zvhc" } }, defaultVariants: {}, compoundVariants: [] });
293
325
  var input2 = "_19p5zvh5";
294
326
  var label = "_19p5zvh9";
295
327
  var requiredMark = "_19p5zvha";
296
- var root3 = _7a4683({ defaultClassName: "_19p5zvh0", variantClassNames: { size: { sm: "_19p5zvh1", md: "_19p5zvh2", lg: "_19p5zvh3" }, fullWidth: { true: "_19p5zvh4" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
328
+ var root3 = _7a4684({ defaultClassName: "_19p5zvh0", variantClassNames: { size: { sm: "_19p5zvh1", md: "_19p5zvh2", lg: "_19p5zvh3" }, fullWidth: { true: "_19p5zvh4" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
297
329
 
298
330
  // src/components/Input/Input.tsx
299
- import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
300
- var Input = forwardRef4(function Input2({ size, invalid, fullWidth, startAdornment, endAdornment, rootClassName, className, disabled, ...rest }, ref) {
301
- return /* @__PURE__ */ jsxs3(
331
+ import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
332
+ var Input = forwardRef5(function Input2({ size, invalid, fullWidth, startAdornment, endAdornment, rootClassName, className, disabled, ...rest }, ref) {
333
+ return /* @__PURE__ */ jsxs4(
302
334
  "div",
303
335
  {
304
336
  className: cx(root3({ size, fullWidth }), rootClassName),
305
337
  "data-invalid": invalid || void 0,
306
338
  "data-disabled": disabled || void 0,
307
339
  children: [
308
- startAdornment && /* @__PURE__ */ jsx4("span", { className: adornment, children: startAdornment }),
309
- /* @__PURE__ */ jsx4(
340
+ startAdornment && /* @__PURE__ */ jsx5("span", { className: adornment, children: startAdornment }),
341
+ /* @__PURE__ */ jsx5(
310
342
  "input",
311
343
  {
312
344
  ref,
@@ -316,25 +348,25 @@ var Input = forwardRef4(function Input2({ size, invalid, fullWidth, startAdornme
316
348
  ...rest
317
349
  }
318
350
  ),
319
- endAdornment && /* @__PURE__ */ jsx4("span", { className: adornment, children: endAdornment })
351
+ endAdornment && /* @__PURE__ */ jsx5("span", { className: adornment, children: endAdornment })
320
352
  ]
321
353
  }
322
354
  );
323
355
  });
324
356
 
325
357
  // src/components/Input/TextField.tsx
326
- import { forwardRef as forwardRef5, useId } from "react";
327
- import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
328
- var TextField = forwardRef5(function TextField2({ label: label2, helperText: helperText2, error, required, fullWidth, id, "aria-describedby": ariaDescribedBy, ...rest }, ref) {
358
+ import { forwardRef as forwardRef6, useId } from "react";
359
+ import { jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
360
+ var TextField = forwardRef6(function TextField2({ label: label3, helperText: helperText2, error, required, fullWidth, id, "aria-describedby": ariaDescribedBy, ...rest }, ref) {
329
361
  const generatedId = useId();
330
362
  const inputId = id ?? generatedId;
331
363
  const helperId = helperText2 ? `${inputId}-helper` : void 0;
332
- return /* @__PURE__ */ jsxs4("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
333
- label2 && /* @__PURE__ */ jsxs4("label", { htmlFor: inputId, className: label, children: [
334
- label2,
335
- required && /* @__PURE__ */ jsx5("span", { className: requiredMark, "aria-hidden": true, children: "*" })
364
+ return /* @__PURE__ */ jsxs5("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
365
+ label3 && /* @__PURE__ */ jsxs5("label", { htmlFor: inputId, className: label, children: [
366
+ label3,
367
+ required && /* @__PURE__ */ jsx6("span", { className: requiredMark, "aria-hidden": true, children: "*" })
336
368
  ] }),
337
- /* @__PURE__ */ jsx5(
369
+ /* @__PURE__ */ jsx6(
338
370
  Input,
339
371
  {
340
372
  ref,
@@ -346,7 +378,7 @@ var TextField = forwardRef5(function TextField2({ label: label2, helperText: hel
346
378
  ...rest
347
379
  }
348
380
  ),
349
- helperText2 && /* @__PURE__ */ jsx5("p", { id: helperId, className: helperText({ error }), children: helperText2 })
381
+ helperText2 && /* @__PURE__ */ jsx6("p", { id: helperId, className: helperText({ error }), children: helperText2 })
350
382
  ] });
351
383
  });
352
384
 
@@ -355,10 +387,10 @@ import * as Dialog from "@radix-ui/react-dialog";
355
387
  import { XIcon } from "@bestow-ui/icons";
356
388
 
357
389
  // src/components/Modal/Modal.css.ts
358
- import { createRuntimeFn as _7a4684 } from "@vanilla-extract/recipes/createRuntimeFn";
390
+ import { createRuntimeFn as _7a4685 } from "@vanilla-extract/recipes/createRuntimeFn";
359
391
  var body = "_1pdsmv0a";
360
392
  var closeButton = "_1pdsmv09";
361
- var content = _7a4684({ defaultClassName: "_1pdsmv01", variantClassNames: { size: { sm: "_1pdsmv02", md: "_1pdsmv03", lg: "_1pdsmv04" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
393
+ var content = _7a4685({ defaultClassName: "_1pdsmv01", variantClassNames: { size: { sm: "_1pdsmv02", md: "_1pdsmv03", lg: "_1pdsmv04" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
362
394
  var description = "_1pdsmv08";
363
395
  var footer = "_1pdsmv0b";
364
396
  var header = "_1pdsmv05";
@@ -367,43 +399,43 @@ var overlay = "_1pdsmv00";
367
399
  var title = "_1pdsmv07";
368
400
 
369
401
  // src/components/Modal/Modal.tsx
370
- import { jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
402
+ import { jsx as jsx7, jsxs as jsxs6 } from "react/jsx-runtime";
371
403
  function Modal({
372
404
  open,
373
405
  defaultOpen,
374
406
  onOpenChange,
375
407
  trigger: trigger2,
376
408
  title: title3,
377
- description: description3,
409
+ description: description4,
378
410
  children,
379
- footer: footer2,
411
+ footer: footer3,
380
412
  size,
381
413
  hideCloseButton = false,
382
414
  closeOnOverlayClick = true,
383
415
  className
384
416
  }) {
385
417
  const portal2 = usePortalProps();
386
- return /* @__PURE__ */ jsxs5(Dialog.Root, { open, defaultOpen, onOpenChange, children: [
387
- trigger2 && /* @__PURE__ */ jsx6(Dialog.Trigger, { asChild: true, children: trigger2 }),
388
- /* @__PURE__ */ jsxs5(Dialog.Portal, { children: [
389
- /* @__PURE__ */ jsx6(Dialog.Overlay, { className: cx(portal2.className, overlay), style: portal2.style }),
390
- /* @__PURE__ */ jsxs5(
418
+ return /* @__PURE__ */ jsxs6(Dialog.Root, { open, defaultOpen, onOpenChange, children: [
419
+ trigger2 && /* @__PURE__ */ jsx7(Dialog.Trigger, { asChild: true, children: trigger2 }),
420
+ /* @__PURE__ */ jsxs6(Dialog.Portal, { children: [
421
+ /* @__PURE__ */ jsx7(Dialog.Overlay, { className: cx(portal2.className, overlay), style: portal2.style }),
422
+ /* @__PURE__ */ jsxs6(
391
423
  Dialog.Content,
392
424
  {
393
425
  className: cx(portal2.className, content({ size }), className),
394
426
  style: portal2.style,
395
427
  onPointerDownOutside: closeOnOverlayClick ? void 0 : (event) => event.preventDefault(),
396
- ...description3 ? {} : { "aria-describedby": void 0 },
428
+ ...description4 ? {} : { "aria-describedby": void 0 },
397
429
  children: [
398
- /* @__PURE__ */ jsxs5("div", { className: header, children: [
399
- /* @__PURE__ */ jsxs5("div", { className: headings, children: [
400
- /* @__PURE__ */ jsx6(Dialog.Title, { className: title, children: title3 }),
401
- description3 && /* @__PURE__ */ jsx6(Dialog.Description, { className: description, children: description3 })
430
+ /* @__PURE__ */ jsxs6("div", { className: header, children: [
431
+ /* @__PURE__ */ jsxs6("div", { className: headings, children: [
432
+ /* @__PURE__ */ jsx7(Dialog.Title, { className: title, children: title3 }),
433
+ description4 && /* @__PURE__ */ jsx7(Dialog.Description, { className: description, children: description4 })
402
434
  ] }),
403
- !hideCloseButton && /* @__PURE__ */ jsx6(Dialog.Close, { className: closeButton, "aria-label": "\uB2EB\uAE30", children: /* @__PURE__ */ jsx6(XIcon, { size: 16 }) })
435
+ !hideCloseButton && /* @__PURE__ */ jsx7(Dialog.Close, { className: closeButton, "aria-label": "\uB2EB\uAE30", children: /* @__PURE__ */ jsx7(XIcon, { size: 16 }) })
404
436
  ] }),
405
- children && /* @__PURE__ */ jsx6("div", { className: body, children }),
406
- footer2 && /* @__PURE__ */ jsx6("div", { className: footer, children: footer2 })
437
+ children && /* @__PURE__ */ jsx7("div", { className: body, children }),
438
+ footer3 && /* @__PURE__ */ jsx7("div", { className: footer, children: footer3 })
407
439
  ]
408
440
  }
409
441
  )
@@ -412,9 +444,99 @@ function Modal({
412
444
  }
413
445
  var ModalClose = Dialog.Close;
414
446
 
447
+ // src/components/RadioGroup/RadioGroup.tsx
448
+ import * as RadixRadioGroup from "@radix-ui/react-radio-group";
449
+ import { forwardRef as forwardRef7, useId as useId2 } from "react";
450
+
451
+ // src/components/RadioGroup/RadioGroup.css.ts
452
+ import { createRuntimeFn as _7a4686 } from "@vanilla-extract/recipes/createRuntimeFn";
453
+ var description2 = "_1w9iwjmd";
454
+ var groupLabel = "_1w9iwjme";
455
+ var indicator = "_1w9iwjma";
456
+ var items = _7a4686({ defaultClassName: "_1w9iwjm0", variantClassNames: { orientation: { vertical: "_1w9iwjm1", horizontal: "_1w9iwjm2" } }, defaultVariants: { orientation: "vertical" }, compoundVariants: [] });
457
+ var labelText = "_1w9iwjmc";
458
+ var option = _7a4686({ defaultClassName: "_1w9iwjm3", variantClassNames: { size: { sm: "_1w9iwjm4", md: "_1w9iwjm5" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
459
+ var radio = _7a4686({ defaultClassName: "_1w9iwjm7", variantClassNames: { size: { sm: "_1w9iwjm8", md: "_1w9iwjm9" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
460
+ var text = "_1w9iwjmb";
461
+
462
+ // src/components/RadioGroup/RadioGroup.tsx
463
+ import { jsx as jsx8, jsxs as jsxs7 } from "react/jsx-runtime";
464
+ var RadioGroup = forwardRef7(function RadioGroup2(props, ref) {
465
+ const {
466
+ options,
467
+ value: value2,
468
+ defaultValue,
469
+ onValueChange,
470
+ label: label3,
471
+ helperText: helperText2,
472
+ error,
473
+ orientation = "vertical",
474
+ size,
475
+ disabled,
476
+ required,
477
+ name,
478
+ id,
479
+ "aria-label": ariaLabel,
480
+ className
481
+ } = props;
482
+ const isControlled = "value" in props;
483
+ const generatedId = useId2();
484
+ const baseId = id ?? generatedId;
485
+ const labelId = label3 ? `${baseId}-label` : void 0;
486
+ const helperId = helperText2 ? `${baseId}-helper` : void 0;
487
+ return /* @__PURE__ */ jsxs7("div", { className: cx(field, className), children: [
488
+ label3 && /* @__PURE__ */ jsxs7("span", { id: labelId, className: cx(label, groupLabel), children: [
489
+ label3,
490
+ required && /* @__PURE__ */ jsx8("span", { className: requiredMark, "aria-hidden": true, children: "*" })
491
+ ] }),
492
+ /* @__PURE__ */ jsx8(
493
+ RadixRadioGroup.Root,
494
+ {
495
+ ref,
496
+ id: baseId,
497
+ value: isControlled ? value2 ?? "" : void 0,
498
+ defaultValue,
499
+ onValueChange,
500
+ orientation,
501
+ disabled,
502
+ required,
503
+ name,
504
+ "aria-label": ariaLabel,
505
+ "aria-labelledby": labelId,
506
+ "aria-describedby": helperId,
507
+ "aria-invalid": error || void 0,
508
+ className: items({ orientation }),
509
+ children: options.map((option2) => {
510
+ const itemId = `${baseId}-${option2.value}`;
511
+ const descriptionId = option2.description ? `${itemId}-description` : void 0;
512
+ const itemDisabled = disabled || option2.disabled;
513
+ return /* @__PURE__ */ jsxs7("div", { className: option({ size }), "data-disabled": itemDisabled || void 0, children: [
514
+ /* @__PURE__ */ jsx8(
515
+ RadixRadioGroup.Item,
516
+ {
517
+ id: itemId,
518
+ value: option2.value,
519
+ disabled: option2.disabled,
520
+ "aria-describedby": descriptionId,
521
+ className: radio({ size }),
522
+ children: /* @__PURE__ */ jsx8(RadixRadioGroup.Indicator, { className: indicator })
523
+ }
524
+ ),
525
+ /* @__PURE__ */ jsxs7("span", { className: text, children: [
526
+ /* @__PURE__ */ jsx8("label", { htmlFor: itemId, className: labelText, children: option2.label }),
527
+ option2.description && /* @__PURE__ */ jsx8("span", { id: descriptionId, className: description2, children: option2.description })
528
+ ] })
529
+ ] }, option2.value);
530
+ })
531
+ }
532
+ ),
533
+ helperText2 && /* @__PURE__ */ jsx8("p", { id: helperId, className: helperText({ error }), children: helperText2 })
534
+ ] });
535
+ });
536
+
415
537
  // src/components/Select/Select.tsx
416
538
  import * as RadixSelect from "@radix-ui/react-select";
417
- import { forwardRef as forwardRef6, useId as useId2 } from "react";
539
+ import { forwardRef as forwardRef8, useId as useId3 } from "react";
418
540
  import { CheckIcon, ChevronDownIcon } from "@bestow-ui/icons";
419
541
 
420
542
  // src/components/Select/Select.css.ts
@@ -427,15 +549,15 @@ var value = "_1kx81e81";
427
549
  var viewport = "_1kx81e84";
428
550
 
429
551
  // src/components/Select/Select.tsx
430
- import { jsx as jsx7, jsxs as jsxs6 } from "react/jsx-runtime";
431
- var Select = forwardRef6(function Select2(props, ref) {
552
+ import { jsx as jsx9, jsxs as jsxs8 } from "react/jsx-runtime";
553
+ var Select = forwardRef8(function Select2(props, ref) {
432
554
  const {
433
555
  options,
434
556
  value: value2,
435
557
  defaultValue,
436
558
  onValueChange,
437
559
  placeholder,
438
- label: label2,
560
+ label: label3,
439
561
  helperText: helperText2,
440
562
  error,
441
563
  size,
@@ -448,16 +570,16 @@ var Select = forwardRef6(function Select2(props, ref) {
448
570
  className
449
571
  } = props;
450
572
  const isControlled = "value" in props;
451
- const generatedId = useId2();
573
+ const generatedId = useId3();
452
574
  const triggerId = id ?? generatedId;
453
575
  const helperId = helperText2 ? `${triggerId}-helper` : void 0;
454
576
  const portal2 = usePortalProps();
455
- return /* @__PURE__ */ jsxs6("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
456
- label2 && /* @__PURE__ */ jsxs6("label", { htmlFor: triggerId, className: label, children: [
457
- label2,
458
- required && /* @__PURE__ */ jsx7("span", { className: requiredMark, "aria-hidden": true, children: "*" })
577
+ return /* @__PURE__ */ jsxs8("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
578
+ label3 && /* @__PURE__ */ jsxs8("label", { htmlFor: triggerId, className: label, children: [
579
+ label3,
580
+ required && /* @__PURE__ */ jsx9("span", { className: requiredMark, "aria-hidden": true, children: "*" })
459
581
  ] }),
460
- /* @__PURE__ */ jsxs6(
582
+ /* @__PURE__ */ jsxs8(
461
583
  RadixSelect.Root,
462
584
  {
463
585
  value: isControlled ? value2 ?? "" : void 0,
@@ -467,7 +589,7 @@ var Select = forwardRef6(function Select2(props, ref) {
467
589
  required,
468
590
  name,
469
591
  children: [
470
- /* @__PURE__ */ jsxs6(
592
+ /* @__PURE__ */ jsxs8(
471
593
  RadixSelect.Trigger,
472
594
  {
473
595
  ref,
@@ -478,12 +600,12 @@ var Select = forwardRef6(function Select2(props, ref) {
478
600
  "data-invalid": error || void 0,
479
601
  className: cx(root3({ size, fullWidth }), trigger, className),
480
602
  children: [
481
- /* @__PURE__ */ jsx7("span", { className: value, children: /* @__PURE__ */ jsx7(RadixSelect.Value, { placeholder }) }),
482
- /* @__PURE__ */ jsx7(RadixSelect.Icon, { className: icon2, children: /* @__PURE__ */ jsx7(ChevronDownIcon, { size: 16 }) })
603
+ /* @__PURE__ */ jsx9("span", { className: value, children: /* @__PURE__ */ jsx9(RadixSelect.Value, { placeholder }) }),
604
+ /* @__PURE__ */ jsx9(RadixSelect.Icon, { className: icon2, children: /* @__PURE__ */ jsx9(ChevronDownIcon, { size: 16 }) })
483
605
  ]
484
606
  }
485
607
  ),
486
- /* @__PURE__ */ jsx7(RadixSelect.Portal, { children: /* @__PURE__ */ jsx7(
608
+ /* @__PURE__ */ jsx9(RadixSelect.Portal, { children: /* @__PURE__ */ jsx9(
487
609
  RadixSelect.Content,
488
610
  {
489
611
  position: "popper",
@@ -491,39 +613,39 @@ var Select = forwardRef6(function Select2(props, ref) {
491
613
  collisionPadding: 8,
492
614
  className: cx(portal2.className, content2),
493
615
  style: portal2.style,
494
- children: /* @__PURE__ */ jsx7(RadixSelect.Viewport, { className: viewport, children: options.map((option) => /* @__PURE__ */ jsxs6(
616
+ children: /* @__PURE__ */ jsx9(RadixSelect.Viewport, { className: viewport, children: options.map((option2) => /* @__PURE__ */ jsxs8(
495
617
  RadixSelect.Item,
496
618
  {
497
- value: option.value,
498
- disabled: option.disabled,
619
+ value: option2.value,
620
+ disabled: option2.disabled,
499
621
  className: item,
500
622
  children: [
501
- /* @__PURE__ */ jsx7(RadixSelect.ItemText, { children: option.label }),
502
- /* @__PURE__ */ jsx7(RadixSelect.ItemIndicator, { className: itemIndicator, children: /* @__PURE__ */ jsx7(CheckIcon, { size: 16 }) })
623
+ /* @__PURE__ */ jsx9(RadixSelect.ItemText, { children: option2.label }),
624
+ /* @__PURE__ */ jsx9(RadixSelect.ItemIndicator, { className: itemIndicator, children: /* @__PURE__ */ jsx9(CheckIcon, { size: 16 }) })
503
625
  ]
504
626
  },
505
- option.value
627
+ option2.value
506
628
  )) })
507
629
  }
508
630
  ) })
509
631
  ]
510
632
  }
511
633
  ),
512
- helperText2 && /* @__PURE__ */ jsx7("p", { id: helperId, className: helperText({ error }), children: helperText2 })
634
+ helperText2 && /* @__PURE__ */ jsx9("p", { id: helperId, className: helperText({ error }), children: helperText2 })
513
635
  ] });
514
636
  });
515
637
 
516
638
  // src/components/Stack/Stack.tsx
517
- import { forwardRef as forwardRef7 } from "react";
639
+ import { forwardRef as forwardRef9 } from "react";
518
640
 
519
641
  // src/components/Stack/Stack.css.ts
520
- import { createRuntimeFn as _7a4685 } from "@vanilla-extract/recipes/createRuntimeFn";
521
- var stack = _7a4685({ defaultClassName: "_1jz9hj90", variantClassNames: { direction: { row: "_1jz9hj91", column: "_1jz9hj92", "row-reverse": "_1jz9hj93", "column-reverse": "_1jz9hj94" }, gap: { "0": "_1jz9hj95", "1": "_1jz9hj96", "2": "_1jz9hj97", "3": "_1jz9hj98", "4": "_1jz9hj99", "5": "_1jz9hj9a", "6": "_1jz9hj9b", "8": "_1jz9hj9c", "10": "_1jz9hj9d", "12": "_1jz9hj9e", "16": "_1jz9hj9f" }, align: { start: "_1jz9hj9g", center: "_1jz9hj9h", end: "_1jz9hj9i", stretch: "_1jz9hj9j", baseline: "_1jz9hj9k" }, justify: { start: "_1jz9hj9l", center: "_1jz9hj9m", end: "_1jz9hj9n", between: "_1jz9hj9o", around: "_1jz9hj9p", evenly: "_1jz9hj9q" }, wrap: { true: "_1jz9hj9r" } }, defaultVariants: { direction: "column" }, compoundVariants: [] });
642
+ import { createRuntimeFn as _7a4687 } from "@vanilla-extract/recipes/createRuntimeFn";
643
+ var stack = _7a4687({ defaultClassName: "_1jz9hj90", variantClassNames: { direction: { row: "_1jz9hj91", column: "_1jz9hj92", "row-reverse": "_1jz9hj93", "column-reverse": "_1jz9hj94" }, gap: { "0": "_1jz9hj95", "1": "_1jz9hj96", "2": "_1jz9hj97", "3": "_1jz9hj98", "4": "_1jz9hj99", "5": "_1jz9hj9a", "6": "_1jz9hj9b", "8": "_1jz9hj9c", "10": "_1jz9hj9d", "12": "_1jz9hj9e", "16": "_1jz9hj9f" }, align: { start: "_1jz9hj9g", center: "_1jz9hj9h", end: "_1jz9hj9i", stretch: "_1jz9hj9j", baseline: "_1jz9hj9k" }, justify: { start: "_1jz9hj9l", center: "_1jz9hj9m", end: "_1jz9hj9n", between: "_1jz9hj9o", around: "_1jz9hj9p", evenly: "_1jz9hj9q" }, wrap: { true: "_1jz9hj9r" } }, defaultVariants: { direction: "column" }, compoundVariants: [] });
522
644
 
523
645
  // src/components/Stack/Stack.tsx
524
- import { jsx as jsx8 } from "react/jsx-runtime";
525
- var Stack = forwardRef7(function Stack2({ as: Component = "div", direction, gap, align, justify, wrap, className, ...rest }, ref) {
526
- return /* @__PURE__ */ jsx8(
646
+ import { jsx as jsx10 } from "react/jsx-runtime";
647
+ var Stack = forwardRef9(function Stack2({ as: Component = "div", direction, gap, align, justify, wrap, className, ...rest }, ref) {
648
+ return /* @__PURE__ */ jsx10(
527
649
  Component,
528
650
  {
529
651
  ref,
@@ -533,42 +655,171 @@ var Stack = forwardRef7(function Stack2({ as: Component = "div", direction, gap,
533
655
  );
534
656
  });
535
657
 
658
+ // src/components/Switch/Switch.tsx
659
+ import * as RadixSwitch from "@radix-ui/react-switch";
660
+ import { forwardRef as forwardRef10, useId as useId4 } from "react";
661
+
662
+ // src/components/Switch/Switch.css.ts
663
+ import { createRuntimeFn as _7a4688 } from "@vanilla-extract/recipes/createRuntimeFn";
664
+ var label2 = "o33ul29";
665
+ var root4 = _7a4688({ defaultClassName: "o33ul20", variantClassNames: { size: { sm: "o33ul21", md: "o33ul22" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
666
+ var thumb = _7a4688({ defaultClassName: "o33ul26", variantClassNames: { size: { sm: "o33ul27", md: "o33ul28" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
667
+ var track = _7a4688({ defaultClassName: "o33ul23", variantClassNames: { size: { sm: "o33ul24", md: "o33ul25" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
668
+
669
+ // src/components/Switch/Switch.tsx
670
+ import { jsx as jsx11, jsxs as jsxs9 } from "react/jsx-runtime";
671
+ var Switch = forwardRef10(function Switch2({ label: label3, size, id, className, disabled, "aria-label": ariaLabel, ...rest }, ref) {
672
+ const generatedId = useId4();
673
+ const switchId = id ?? generatedId;
674
+ return /* @__PURE__ */ jsxs9("span", { className: cx(root4({ size }), className), "data-disabled": disabled || void 0, children: [
675
+ /* @__PURE__ */ jsx11(
676
+ RadixSwitch.Root,
677
+ {
678
+ ref,
679
+ id: switchId,
680
+ disabled,
681
+ "aria-label": ariaLabel,
682
+ className: track({ size }),
683
+ ...rest,
684
+ children: /* @__PURE__ */ jsx11(RadixSwitch.Thumb, { className: thumb({ size }) })
685
+ }
686
+ ),
687
+ label3 && /* @__PURE__ */ jsx11("label", { htmlFor: switchId, className: label2, children: label3 })
688
+ ] });
689
+ });
690
+
691
+ // src/components/Textarea/Textarea.tsx
692
+ import {
693
+ forwardRef as forwardRef11,
694
+ useCallback,
695
+ useEffect as useEffect2,
696
+ useId as useId5,
697
+ useLayoutEffect,
698
+ useRef as useRef2,
699
+ useState
700
+ } from "react";
701
+
702
+ // src/components/Textarea/Textarea.css.ts
703
+ import { createRuntimeFn as _7a4689 } from "@vanilla-extract/recipes/createRuntimeFn";
704
+ var count = "_1koawa9";
705
+ var countOver = "_1koawaa";
706
+ var defaultWidth = "_1koawa7";
707
+ var footer2 = "_1koawa8";
708
+ var textarea = _7a4689({ defaultClassName: "_1koawa0", variantClassNames: { size: { sm: "_1koawa1", md: "_1koawa2", lg: "_1koawa3" }, resize: { none: "_1koawa4", vertical: "_1koawa5", both: "_1koawa6" } }, defaultVariants: { size: "md", resize: "vertical" }, compoundVariants: [] });
709
+
710
+ // src/components/Textarea/Textarea.tsx
711
+ import { jsx as jsx12, jsxs as jsxs10 } from "react/jsx-runtime";
712
+ var useIsomorphicLayoutEffect = typeof window !== "undefined" ? useLayoutEffect : useEffect2;
713
+ var Textarea = forwardRef11(function Textarea2({
714
+ label: label3,
715
+ helperText: helperText2,
716
+ error,
717
+ size,
718
+ fullWidth,
719
+ resize,
720
+ autoResize,
721
+ showCount,
722
+ required,
723
+ id,
724
+ rows = 3,
725
+ value: value2,
726
+ defaultValue,
727
+ onChange,
728
+ maxLength,
729
+ className,
730
+ style,
731
+ "aria-describedby": ariaDescribedBy,
732
+ ...rest
733
+ }, ref) {
734
+ const generatedId = useId5();
735
+ const textareaId = id ?? generatedId;
736
+ const helperId = helperText2 ? `${textareaId}-helper` : void 0;
737
+ const innerRef = useRef2(null);
738
+ const [uncontrolledLength, setUncontrolledLength] = useState(() => String(defaultValue ?? "").length);
739
+ const length = value2 !== void 0 ? String(value2).length : uncontrolledLength;
740
+ const fitHeight = useCallback(() => {
741
+ const el = innerRef.current;
742
+ if (!autoResize || !el) return;
743
+ el.style.height = "auto";
744
+ const borders = el.offsetHeight - el.clientHeight;
745
+ el.style.height = `${el.scrollHeight + borders}px`;
746
+ }, [autoResize]);
747
+ useIsomorphicLayoutEffect(fitHeight, [fitHeight, value2]);
748
+ const handleChange = (event) => {
749
+ if (value2 === void 0) setUncontrolledLength(event.target.value.length);
750
+ fitHeight();
751
+ onChange?.(event);
752
+ };
753
+ return /* @__PURE__ */ jsxs10("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
754
+ label3 && /* @__PURE__ */ jsxs10("label", { htmlFor: textareaId, className: label, children: [
755
+ label3,
756
+ required && /* @__PURE__ */ jsx12("span", { className: requiredMark, "aria-hidden": true, children: "*" })
757
+ ] }),
758
+ /* @__PURE__ */ jsx12(
759
+ "textarea",
760
+ {
761
+ ref: mergeRefs(innerRef, ref),
762
+ id: textareaId,
763
+ rows,
764
+ value: value2,
765
+ defaultValue,
766
+ onChange: handleChange,
767
+ maxLength,
768
+ required,
769
+ "aria-invalid": error || void 0,
770
+ "aria-describedby": cx(helperId, ariaDescribedBy) || void 0,
771
+ className: cx(
772
+ textarea({ size, resize: autoResize ? "none" : resize }),
773
+ !fullWidth && defaultWidth,
774
+ className
775
+ ),
776
+ style: autoResize ? { overflowY: "auto", ...style } : style,
777
+ ...rest
778
+ }
779
+ ),
780
+ (helperText2 || showCount) && /* @__PURE__ */ jsxs10("div", { className: footer2, children: [
781
+ helperText2 && /* @__PURE__ */ jsx12("p", { id: helperId, className: helperText({ error }), children: helperText2 }),
782
+ showCount && /* @__PURE__ */ jsx12("span", { className: cx(count, maxLength !== void 0 && length >= maxLength && countOver), children: maxLength !== void 0 ? `${length}/${maxLength}` : length })
783
+ ] })
784
+ ] });
785
+ });
786
+
536
787
  // src/components/Toast/Toast.tsx
537
788
  import * as RadixToast from "@radix-ui/react-toast";
538
- import { createContext as createContext2, useCallback, useContext as useContext2, useMemo as useMemo2, useRef as useRef2, useState } from "react";
789
+ import { createContext as createContext2, useCallback as useCallback2, useContext as useContext2, useMemo as useMemo2, useRef as useRef3, useState as useState2 } from "react";
539
790
  import { XIcon as XIcon2 } from "@bestow-ui/icons";
540
791
 
541
792
  // src/components/Toast/Toast.css.ts
542
- import { createRuntimeFn as _7a4686 } from "@vanilla-extract/recipes/createRuntimeFn";
793
+ import { createRuntimeFn as _7a46810 } from "@vanilla-extract/recipes/createRuntimeFn";
543
794
  var action = "_1g11zvx7";
544
795
  var close = "_1g11zvx8";
545
- var description2 = "_1g11zvx6";
796
+ var description3 = "_1g11zvx6";
546
797
  var title2 = "_1g11zvx5";
547
- var toast = _7a4686({ defaultClassName: "_1g11zvx1", variantClassNames: { variant: { "default": "_1g11zvx2", success: "_1g11zvx3", danger: "_1g11zvx4" } }, defaultVariants: { variant: "default" }, compoundVariants: [] });
798
+ var toast = _7a46810({ defaultClassName: "_1g11zvx1", variantClassNames: { variant: { "default": "_1g11zvx2", success: "_1g11zvx3", danger: "_1g11zvx4" } }, defaultVariants: { variant: "default" }, compoundVariants: [] });
548
799
  var viewport2 = "_1g11zvx0";
549
800
 
550
801
  // src/components/Toast/Toast.tsx
551
- import { jsx as jsx9, jsxs as jsxs7 } from "react/jsx-runtime";
802
+ import { jsx as jsx13, jsxs as jsxs11 } from "react/jsx-runtime";
552
803
  var REMOVE_DELAY = 500;
553
804
  var ToastContext = createContext2(null);
554
- function ToastProvider({ children, duration = 5e3, label: label2 = "\uC54C\uB9BC" }) {
555
- const [toasts, setToasts] = useState([]);
556
- const nextId = useRef2(0);
805
+ function ToastProvider({ children, duration = 5e3, label: label3 = "\uC54C\uB9BC" }) {
806
+ const [toasts, setToasts] = useState2([]);
807
+ const nextId = useRef3(0);
557
808
  const portal2 = usePortalProps();
558
- const toast2 = useCallback((options) => {
809
+ const toast2 = useCallback2((options) => {
559
810
  const id = nextId.current++;
560
811
  setToasts((prev) => [...prev, { ...options, id, open: true }]);
561
812
  return id;
562
813
  }, []);
563
- const dismiss = useCallback((id) => {
814
+ const dismiss = useCallback2((id) => {
564
815
  const isTarget = (t) => id === void 0 || t.id === id;
565
816
  setToasts((prev) => prev.map((t) => isTarget(t) ? { ...t, open: false } : t));
566
817
  setTimeout(() => setToasts((prev) => prev.filter((t) => t.open || !isTarget(t))), REMOVE_DELAY);
567
818
  }, []);
568
819
  const value2 = useMemo2(() => ({ toast: toast2, dismiss }), [toast2, dismiss]);
569
- return /* @__PURE__ */ jsx9(ToastContext.Provider, { value: value2, children: /* @__PURE__ */ jsxs7(RadixToast.Provider, { duration, label: label2, swipeDirection: "right", children: [
820
+ return /* @__PURE__ */ jsx13(ToastContext.Provider, { value: value2, children: /* @__PURE__ */ jsxs11(RadixToast.Provider, { duration, label: label3, swipeDirection: "right", children: [
570
821
  children,
571
- toasts.map(({ id, open, title: title3, description: description3, variant, duration: itemDuration, action: action2 }) => /* @__PURE__ */ jsxs7(
822
+ toasts.map(({ id, open, title: title3, description: description4, variant, duration: itemDuration, action: action2 }) => /* @__PURE__ */ jsxs11(
572
823
  RadixToast.Root,
573
824
  {
574
825
  open,
@@ -578,15 +829,15 @@ function ToastProvider({ children, duration = 5e3, label: label2 = "\uC54C\uB9BC
578
829
  },
579
830
  className: toast({ variant }),
580
831
  children: [
581
- /* @__PURE__ */ jsx9(RadixToast.Title, { className: title2, children: title3 }),
582
- description3 && /* @__PURE__ */ jsx9(RadixToast.Description, { className: description2, children: description3 }),
583
- action2 && /* @__PURE__ */ jsx9(RadixToast.Action, { asChild: true, altText: action2.altText ?? action2.label, className: action, children: /* @__PURE__ */ jsx9(Button, { size: "sm", variant: "soft", color: "neutral", onClick: action2.onClick, children: action2.label }) }),
584
- /* @__PURE__ */ jsx9(RadixToast.Close, { className: close, "aria-label": "\uB2EB\uAE30", children: /* @__PURE__ */ jsx9(XIcon2, { size: 16 }) })
832
+ /* @__PURE__ */ jsx13(RadixToast.Title, { className: title2, children: title3 }),
833
+ description4 && /* @__PURE__ */ jsx13(RadixToast.Description, { className: description3, children: description4 }),
834
+ action2 && /* @__PURE__ */ jsx13(RadixToast.Action, { asChild: true, altText: action2.altText ?? action2.label, className: action, children: /* @__PURE__ */ jsx13(Button, { size: "sm", variant: "soft", color: "neutral", onClick: action2.onClick, children: action2.label }) }),
835
+ /* @__PURE__ */ jsx13(RadixToast.Close, { className: close, "aria-label": "\uB2EB\uAE30", children: /* @__PURE__ */ jsx13(XIcon2, { size: 16 }) })
585
836
  ]
586
837
  },
587
838
  id
588
839
  )),
589
- /* @__PURE__ */ jsx9(RadixToast.Viewport, { className: cx(portal2.className, viewport2), style: portal2.style })
840
+ /* @__PURE__ */ jsx13(RadixToast.Viewport, { className: cx(portal2.className, viewport2), style: portal2.style })
590
841
  ] }) });
591
842
  }
592
843
  function useToast() {
@@ -603,7 +854,7 @@ var arrow = "z7rufs1";
603
854
  var content3 = "z7rufs0";
604
855
 
605
856
  // src/components/Tooltip/Tooltip.tsx
606
- import { jsx as jsx10, jsxs as jsxs8 } from "react/jsx-runtime";
857
+ import { jsx as jsx14, jsxs as jsxs12 } from "react/jsx-runtime";
607
858
  function Tooltip({
608
859
  content: content4,
609
860
  children,
@@ -618,9 +869,9 @@ function Tooltip({
618
869
  }) {
619
870
  const portal2 = usePortalProps();
620
871
  if (disabled || content4 == null || content4 === "") return children;
621
- return /* @__PURE__ */ jsx10(RadixTooltip.Provider, { delayDuration: delay, children: /* @__PURE__ */ jsxs8(RadixTooltip.Root, { open, defaultOpen, onOpenChange, children: [
622
- /* @__PURE__ */ jsx10(RadixTooltip.Trigger, { asChild: true, children }),
623
- /* @__PURE__ */ jsx10(RadixTooltip.Portal, { children: /* @__PURE__ */ jsxs8(
872
+ return /* @__PURE__ */ jsx14(RadixTooltip.Provider, { delayDuration: delay, children: /* @__PURE__ */ jsxs12(RadixTooltip.Root, { open, defaultOpen, onOpenChange, children: [
873
+ /* @__PURE__ */ jsx14(RadixTooltip.Trigger, { asChild: true, children }),
874
+ /* @__PURE__ */ jsx14(RadixTooltip.Portal, { children: /* @__PURE__ */ jsxs12(
624
875
  RadixTooltip.Content,
625
876
  {
626
877
  side,
@@ -631,7 +882,7 @@ function Tooltip({
631
882
  style: portal2.style,
632
883
  children: [
633
884
  content4,
634
- /* @__PURE__ */ jsx10(RadixTooltip.Arrow, { className: arrow, width: 10, height: 5 })
885
+ /* @__PURE__ */ jsx14(RadixTooltip.Arrow, { className: arrow, width: 10, height: 5 })
635
886
  ]
636
887
  }
637
888
  ) })
@@ -639,14 +890,14 @@ function Tooltip({
639
890
  }
640
891
 
641
892
  // src/components/Typography/Typography.tsx
642
- import { forwardRef as forwardRef8 } from "react";
893
+ import { forwardRef as forwardRef12 } from "react";
643
894
 
644
895
  // src/components/Typography/Typography.css.ts
645
- import { createRuntimeFn as _7a4687 } from "@vanilla-extract/recipes/createRuntimeFn";
646
- var typography = _7a4687({ defaultClassName: "kiolio0", variantClassNames: { variant: { display: "kiolio1", h1: "kiolio2", h2: "kiolio3", h3: "kiolio4", h4: "kiolio5", "body-lg": "kiolio6", body: "kiolio7", "body-sm": "kiolio8", caption: "kiolio9" }, color: { "default": "kiolioa", muted: "kioliob", subtle: "kiolioc", primary: "kioliod", danger: "kiolioe", success: "kioliof", inherit: "kioliog" }, weight: { regular: "kiolioh", medium: "kiolioi", semibold: "kiolioj", bold: "kioliok" }, align: { start: "kioliol", center: "kioliom", end: "kiolion" }, truncate: { true: "kiolioo" } }, defaultVariants: { variant: "body", color: "default" }, compoundVariants: [] });
896
+ import { createRuntimeFn as _7a46811 } from "@vanilla-extract/recipes/createRuntimeFn";
897
+ var typography = _7a46811({ defaultClassName: "kiolio0", variantClassNames: { variant: { display: "kiolio1", h1: "kiolio2", h2: "kiolio3", h3: "kiolio4", h4: "kiolio5", "body-lg": "kiolio6", body: "kiolio7", "body-sm": "kiolio8", caption: "kiolio9" }, color: { "default": "kiolioa", muted: "kioliob", subtle: "kiolioc", primary: "kioliod", danger: "kiolioe", success: "kioliof", inherit: "kioliog" }, weight: { regular: "kiolioh", medium: "kiolioi", semibold: "kiolioj", bold: "kioliok" }, align: { start: "kioliol", center: "kioliom", end: "kiolion" }, truncate: { true: "kiolioo" } }, defaultVariants: { variant: "body", color: "default" }, compoundVariants: [] });
647
898
 
648
899
  // src/components/Typography/Typography.tsx
649
- import { jsx as jsx11 } from "react/jsx-runtime";
900
+ import { jsx as jsx15 } from "react/jsx-runtime";
650
901
  var defaultElement = {
651
902
  display: "h1",
652
903
  h1: "h1",
@@ -658,9 +909,9 @@ var defaultElement = {
658
909
  "body-sm": "p",
659
910
  caption: "span"
660
911
  };
661
- var Typography = forwardRef8(function Typography2({ variant = "body", as, color, weight, align, truncate, className, ...rest }, ref) {
912
+ var Typography = forwardRef12(function Typography2({ variant = "body", as, color, weight, align, truncate, className, ...rest }, ref) {
662
913
  const Component = as ?? defaultElement[variant];
663
- return /* @__PURE__ */ jsx11(
914
+ return /* @__PURE__ */ jsx15(
664
915
  Component,
665
916
  {
666
917
  ref,
@@ -675,9 +926,13 @@ export {
675
926
  Input,
676
927
  Modal,
677
928
  ModalClose,
929
+ RadioGroup,
678
930
  Select,
931
+ Spinner,
679
932
  Stack,
933
+ Switch,
680
934
  TextField,
935
+ Textarea,
681
936
  ThemeProvider,
682
937
  ToastProvider,
683
938
  Tooltip,