@bestow-ui/react 0.6.0 → 0.8.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
@@ -206,55 +206,114 @@ function usePortalClassName() {
206
206
  return usePortalProps().className;
207
207
  }
208
208
 
209
- // src/components/Badge/Badge.tsx
209
+ // src/components/Accordion/Accordion.tsx
210
+ import * as RadixAccordion from "@radix-ui/react-accordion";
211
+ import { ChevronDownIcon } from "@bestow-ui/icons";
210
212
  import { forwardRef as forwardRef2 } from "react";
211
213
 
212
- // src/components/Badge/Badge.css.ts
214
+ // src/components/Accordion/Accordion.css.ts
215
+ var chevron = "v58j0l4";
216
+ var content = "v58j0l5";
217
+ var contentInner = "v58j0l6";
218
+ var header = "v58j0l2";
219
+ var item = "v58j0l1";
220
+ var root2 = "v58j0l0";
221
+ var trigger = "v58j0l3";
222
+
223
+ // src/components/Accordion/Accordion.tsx
224
+ import { jsx as jsx2, jsxs } from "react/jsx-runtime";
225
+ var Accordion = forwardRef2(function Accordion2({ className, ...props }, ref) {
226
+ const rootProps = "value" in props ? { ...props, value: props.value ?? (props.type === "multiple" ? [] : "") } : props;
227
+ return /* @__PURE__ */ jsx2(RadixAccordion.Root, { ref, className: cx(root2, className), ...rootProps });
228
+ });
229
+ var AccordionItem = forwardRef2(function AccordionItem2({ title: title4, headingLevel = 3, className, children, ...rest }, ref) {
230
+ const Heading = `h${headingLevel}`;
231
+ return /* @__PURE__ */ jsxs(RadixAccordion.Item, { ref, className: cx(item, className), ...rest, children: [
232
+ /* @__PURE__ */ jsx2(RadixAccordion.Header, { asChild: true, children: /* @__PURE__ */ jsx2(Heading, { className: header, children: /* @__PURE__ */ jsxs(RadixAccordion.Trigger, { className: trigger, children: [
233
+ title4,
234
+ /* @__PURE__ */ jsx2(ChevronDownIcon, { size: 18, className: chevron })
235
+ ] }) }) }),
236
+ /* @__PURE__ */ jsx2(RadixAccordion.Content, { className: content, children: /* @__PURE__ */ jsx2("div", { className: contentInner, children }) })
237
+ ] });
238
+ });
239
+
240
+ // src/components/Avatar/Avatar.tsx
241
+ import * as RadixAvatar from "@radix-ui/react-avatar";
242
+ import { UserIcon } from "@bestow-ui/icons";
243
+ import { forwardRef as forwardRef3 } from "react";
244
+
245
+ // src/components/Avatar/Avatar.css.ts
213
246
  import { createRuntimeFn as _7a468 } from "@vanilla-extract/recipes/createRuntimeFn";
214
- var badge = _7a468({ defaultClassName: "_1295cfn4", variantClassNames: { variant: { solid: "_1295cfn5", soft: "_1295cfn6", outline: "_1295cfn7" }, color: { primary: "_1295cfn8", neutral: "_1295cfn9", danger: "_1295cfna", success: "_1295cfnb" }, size: { sm: "_1295cfnc", md: "_1295cfnd", lg: "_1295cfne" } }, defaultVariants: { variant: "soft", color: "neutral", size: "md" }, compoundVariants: [] });
247
+ var fallback = "_1fd2kp27";
248
+ var image = "_1fd2kp26";
249
+ var root3 = _7a468({ defaultClassName: "_1fd2kp20", variantClassNames: { size: { sm: "_1fd2kp21", md: "_1fd2kp22", lg: "_1fd2kp23" }, shape: { circle: "_1fd2kp24", square: "_1fd2kp25" } }, defaultVariants: { size: "md", shape: "circle" }, compoundVariants: [] });
250
+
251
+ // src/components/Avatar/Avatar.tsx
252
+ import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
253
+ function getInitials(name) {
254
+ const [a = "", b = ""] = name.trim().split(/\s+/);
255
+ const first = (word) => Array.from(word)[0] ?? "";
256
+ return (first(a) + first(b)).toUpperCase();
257
+ }
258
+ var Avatar = forwardRef3(function Avatar2({ src, alt, name, fallback: fallback2, size, shape, className, ...rest }, ref) {
259
+ const label4 = alt ?? name;
260
+ const a11y = label4 ? { role: "img", "aria-label": label4 } : { "aria-hidden": true };
261
+ const initials = name ? getInitials(name) : "";
262
+ return /* @__PURE__ */ jsxs2(RadixAvatar.Root, { ref, className: cx(root3({ size, shape }), className), ...a11y, ...rest, children: [
263
+ src && /* @__PURE__ */ jsx3(RadixAvatar.Image, { src, alt: "", className: image }),
264
+ /* @__PURE__ */ jsx3(RadixAvatar.Fallback, { className: fallback, children: fallback2 ?? (initials || /* @__PURE__ */ jsx3(UserIcon, { size: "60%" })) })
265
+ ] });
266
+ });
267
+
268
+ // src/components/Badge/Badge.tsx
269
+ import { forwardRef as forwardRef4 } from "react";
270
+
271
+ // src/components/Badge/Badge.css.ts
272
+ import { createRuntimeFn as _7a4682 } from "@vanilla-extract/recipes/createRuntimeFn";
273
+ var badge = _7a4682({ defaultClassName: "_1295cfn4", variantClassNames: { variant: { solid: "_1295cfn5", soft: "_1295cfn6", outline: "_1295cfn7" }, color: { primary: "_1295cfn8", neutral: "_1295cfn9", danger: "_1295cfna", success: "_1295cfnb" }, size: { sm: "_1295cfnc", md: "_1295cfnd", lg: "_1295cfne" } }, defaultVariants: { variant: "soft", color: "neutral", size: "md" }, compoundVariants: [] });
215
274
  var icon = "_1295cfnf";
216
275
 
217
276
  // src/components/Badge/Badge.tsx
218
- import { jsx as jsx2, jsxs } from "react/jsx-runtime";
219
- var Badge = forwardRef2(function Badge2({ variant, color, size, startIcon, className, children, ...rest }, ref) {
220
- return /* @__PURE__ */ jsxs("span", { ref, className: cx(badge({ variant, color, size }), className), ...rest, children: [
221
- startIcon && /* @__PURE__ */ jsx2("span", { className: icon, children: startIcon }),
277
+ import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
278
+ var Badge = forwardRef4(function Badge2({ variant, color, size, startIcon, className, children, ...rest }, ref) {
279
+ return /* @__PURE__ */ jsxs3("span", { ref, className: cx(badge({ variant, color, size }), className), ...rest, children: [
280
+ startIcon && /* @__PURE__ */ jsx4("span", { className: icon, children: startIcon }),
222
281
  children
223
282
  ] });
224
283
  });
225
284
 
226
285
  // src/components/Button/Button.tsx
227
- import { forwardRef as forwardRef4 } from "react";
286
+ import { forwardRef as forwardRef6 } from "react";
228
287
 
229
288
  // src/components/Spinner/Spinner.tsx
230
289
  import { LoaderIcon } from "@bestow-ui/icons";
231
- import { forwardRef as forwardRef3 } from "react";
290
+ import { forwardRef as forwardRef5 } from "react";
232
291
 
233
292
  // src/styles/visuallyHidden.css.ts
234
293
  var visuallyHidden = "_1kdtbw10";
235
294
 
236
295
  // src/components/Spinner/Spinner.css.ts
237
- import { createRuntimeFn as _7a4682 } from "@vanilla-extract/recipes/createRuntimeFn";
238
- var spinner = _7a4682({ 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: [] });
296
+ import { createRuntimeFn as _7a4683 } from "@vanilla-extract/recipes/createRuntimeFn";
297
+ var spinner = _7a4683({ 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: [] });
239
298
 
240
299
  // src/components/Spinner/Spinner.tsx
241
- import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
242
- var Spinner = forwardRef3(function Spinner2({ size, color, label: label3 = "\uB85C\uB529 \uC911", className, ...rest }, ref) {
243
- const a11y = label3 ? { role: "status" } : { "aria-hidden": true };
244
- return /* @__PURE__ */ jsxs2("span", { ref, className: cx(spinner({ size, color }), className), ...a11y, ...rest, children: [
245
- /* @__PURE__ */ jsx3(LoaderIcon, { size: "100%" }),
246
- label3 && /* @__PURE__ */ jsx3("span", { className: visuallyHidden, children: label3 })
300
+ import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
301
+ var Spinner = forwardRef5(function Spinner2({ size, color, label: label4 = "\uB85C\uB529 \uC911", className, ...rest }, ref) {
302
+ const a11y = label4 ? { role: "status" } : { "aria-hidden": true };
303
+ return /* @__PURE__ */ jsxs4("span", { ref, className: cx(spinner({ size, color }), className), ...a11y, ...rest, children: [
304
+ /* @__PURE__ */ jsx5(LoaderIcon, { size: "100%" }),
305
+ label4 && /* @__PURE__ */ jsx5("span", { className: visuallyHidden, children: label4 })
247
306
  ] });
248
307
  });
249
308
 
250
309
  // src/components/Button/Button.css.ts
251
- import { createRuntimeFn as _7a4683 } from "@vanilla-extract/recipes/createRuntimeFn";
252
- var button = _7a4683({ 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: [] });
310
+ import { createRuntimeFn as _7a4684 } from "@vanilla-extract/recipes/createRuntimeFn";
311
+ var button = _7a4684({ 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: [] });
253
312
  var icon2 = "xcekdai";
254
313
 
255
314
  // src/components/Button/Button.tsx
256
- import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
257
- var Button = forwardRef4(function Button2({ variant, color, size, fullWidth, startIcon, endIcon, loading, className, type = "button", onClick, children, ...rest }, ref) {
315
+ import { jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
316
+ var Button = forwardRef6(function Button2({ variant, color, size, fullWidth, startIcon, endIcon, loading, className, type = "button", onClick, children, ...rest }, ref) {
258
317
  const handleClick = (event) => {
259
318
  if (loading) {
260
319
  event.preventDefault();
@@ -262,8 +321,8 @@ var Button = forwardRef4(function Button2({ variant, color, size, fullWidth, sta
262
321
  }
263
322
  onClick?.(event);
264
323
  };
265
- const leading = loading ? /* @__PURE__ */ jsx4(Spinner, { size: "sm", label: "" }) : startIcon;
266
- return /* @__PURE__ */ jsxs3(
324
+ const leading = loading ? /* @__PURE__ */ jsx6(Spinner, { size: "sm", label: "" }) : startIcon;
325
+ return /* @__PURE__ */ jsxs5(
267
326
  "button",
268
327
  {
269
328
  ref,
@@ -274,41 +333,41 @@ var Button = forwardRef4(function Button2({ variant, color, size, fullWidth, sta
274
333
  onClick: handleClick,
275
334
  ...rest,
276
335
  children: [
277
- leading && /* @__PURE__ */ jsx4("span", { className: icon2, children: leading }),
336
+ leading && /* @__PURE__ */ jsx6("span", { className: icon2, children: leading }),
278
337
  children,
279
- endIcon && /* @__PURE__ */ jsx4("span", { className: icon2, children: endIcon })
338
+ endIcon && /* @__PURE__ */ jsx6("span", { className: icon2, children: endIcon })
280
339
  ]
281
340
  }
282
341
  );
283
342
  });
284
343
 
285
344
  // src/components/Card/Card.tsx
286
- import { forwardRef as forwardRef5 } from "react";
345
+ import { forwardRef as forwardRef7 } from "react";
287
346
 
288
347
  // src/components/Card/Card.css.ts
289
- import { createRuntimeFn as _7a4684 } from "@vanilla-extract/recipes/createRuntimeFn";
348
+ import { createRuntimeFn as _7a4685 } from "@vanilla-extract/recipes/createRuntimeFn";
290
349
  var body = "dnuf1u9";
291
- var card = _7a4684({ defaultClassName: "dnuf1u0", variantClassNames: { variant: { outline: "dnuf1u1", elevated: "dnuf1u2", soft: "dnuf1u3" }, padding: { none: "dnuf1u4", sm: "dnuf1u5", md: "dnuf1u6", lg: "dnuf1u7" } }, defaultVariants: { variant: "outline", padding: "md" }, compoundVariants: [] });
350
+ var card = _7a4685({ defaultClassName: "dnuf1u0", variantClassNames: { variant: { outline: "dnuf1u1", elevated: "dnuf1u2", soft: "dnuf1u3" }, padding: { none: "dnuf1u4", sm: "dnuf1u5", md: "dnuf1u6", lg: "dnuf1u7" } }, defaultVariants: { variant: "outline", padding: "md" }, compoundVariants: [] });
292
351
  var footer = "dnuf1ua";
293
- var header = "dnuf1u8";
352
+ var header2 = "dnuf1u8";
294
353
 
295
354
  // src/components/Card/Card.tsx
296
- import { jsx as jsx5 } from "react/jsx-runtime";
297
- var Card = forwardRef5(function Card2({ variant, padding, as: Component = "div", className, ...rest }, ref) {
298
- return /* @__PURE__ */ jsx5(Component, { ref, className: cx(card({ variant, padding }), className), ...rest });
355
+ import { jsx as jsx7 } from "react/jsx-runtime";
356
+ var Card = forwardRef7(function Card2({ variant, padding, as: Component = "div", className, ...rest }, ref) {
357
+ return /* @__PURE__ */ jsx7(Component, { ref, className: cx(card({ variant, padding }), className), ...rest });
299
358
  });
300
- var CardHeader = forwardRef5(function CardHeader2({ className, ...rest }, ref) {
301
- return /* @__PURE__ */ jsx5("div", { ref, className: cx(header, className), ...rest });
359
+ var CardHeader = forwardRef7(function CardHeader2({ className, ...rest }, ref) {
360
+ return /* @__PURE__ */ jsx7("div", { ref, className: cx(header2, className), ...rest });
302
361
  });
303
- var CardBody = forwardRef5(function CardBody2({ className, ...rest }, ref) {
304
- return /* @__PURE__ */ jsx5("div", { ref, className: cx(body, className), ...rest });
362
+ var CardBody = forwardRef7(function CardBody2({ className, ...rest }, ref) {
363
+ return /* @__PURE__ */ jsx7("div", { ref, className: cx(body, className), ...rest });
305
364
  });
306
- var CardFooter = forwardRef5(function CardFooter2({ className, ...rest }, ref) {
307
- return /* @__PURE__ */ jsx5("div", { ref, className: cx(footer, className), ...rest });
365
+ var CardFooter = forwardRef7(function CardFooter2({ className, ...rest }, ref) {
366
+ return /* @__PURE__ */ jsx7("div", { ref, className: cx(footer, className), ...rest });
308
367
  });
309
368
 
310
369
  // src/components/Checkbox/Checkbox.tsx
311
- import { forwardRef as forwardRef6, useEffect, useRef } from "react";
370
+ import { forwardRef as forwardRef8, useEffect, useRef } from "react";
312
371
 
313
372
  // src/utils/mergeRefs.ts
314
373
  function mergeRefs(...refs) {
@@ -321,23 +380,23 @@ function mergeRefs(...refs) {
321
380
  }
322
381
 
323
382
  // src/components/Checkbox/Checkbox.css.ts
324
- import { createRuntimeFn as _7a4685 } from "@vanilla-extract/recipes/createRuntimeFn";
383
+ import { createRuntimeFn as _7a4686 } from "@vanilla-extract/recipes/createRuntimeFn";
325
384
  var checkIcon = "_1y7mzsn8 _1y7mzsn7";
326
- var control = _7a4685({ defaultClassName: "_1y7mzsn3", variantClassNames: { size: { sm: "_1y7mzsn4", md: "_1y7mzsn5" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
385
+ var control = _7a4686({ defaultClassName: "_1y7mzsn3", variantClassNames: { size: { sm: "_1y7mzsn4", md: "_1y7mzsn5" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
327
386
  var indeterminateIcon = "_1y7mzsn9 _1y7mzsn7";
328
387
  var input = "_1y7mzsn6";
329
- var root2 = _7a4685({ defaultClassName: "_1y7mzsn0", variantClassNames: { size: { sm: "_1y7mzsn1", md: "_1y7mzsn2" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
388
+ var root4 = _7a4686({ defaultClassName: "_1y7mzsn0", variantClassNames: { size: { sm: "_1y7mzsn1", md: "_1y7mzsn2" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
330
389
 
331
390
  // src/components/Checkbox/Checkbox.tsx
332
- import { jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
333
- var Checkbox = forwardRef6(function Checkbox2({ label: label3, size, indeterminate = false, invalid, disabled, className, ...rest }, ref) {
391
+ import { jsx as jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
392
+ var Checkbox = forwardRef8(function Checkbox2({ label: label4, size, indeterminate = false, invalid, disabled, className, ...rest }, ref) {
334
393
  const innerRef = useRef(null);
335
394
  useEffect(() => {
336
395
  if (innerRef.current) innerRef.current.indeterminate = indeterminate;
337
396
  }, [indeterminate]);
338
- return /* @__PURE__ */ jsxs4("label", { className: cx(root2({ size }), className), "data-disabled": disabled || void 0, children: [
339
- /* @__PURE__ */ jsxs4("span", { className: control({ size }), children: [
340
- /* @__PURE__ */ jsx6(
397
+ return /* @__PURE__ */ jsxs6("label", { className: cx(root4({ size }), className), "data-disabled": disabled || void 0, children: [
398
+ /* @__PURE__ */ jsxs6("span", { className: control({ size }), children: [
399
+ /* @__PURE__ */ jsx8(
341
400
  "input",
342
401
  {
343
402
  ref: mergeRefs(innerRef, ref),
@@ -348,39 +407,112 @@ var Checkbox = forwardRef6(function Checkbox2({ label: label3, size, indetermina
348
407
  ...rest
349
408
  }
350
409
  ),
351
- /* @__PURE__ */ jsx6("svg", { className: checkIcon, viewBox: "0 0 20 20", fill: "none", "aria-hidden": true, children: /* @__PURE__ */ jsx6("path", { d: "M5 10.5l3.2 3L15 7", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }),
352
- /* @__PURE__ */ jsx6("svg", { className: indeterminateIcon, viewBox: "0 0 20 20", fill: "none", "aria-hidden": true, children: /* @__PURE__ */ jsx6("path", { d: "M6 10h8", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" }) })
410
+ /* @__PURE__ */ jsx8("svg", { className: checkIcon, viewBox: "0 0 20 20", fill: "none", "aria-hidden": true, children: /* @__PURE__ */ jsx8("path", { d: "M5 10.5l3.2 3L15 7", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }),
411
+ /* @__PURE__ */ jsx8("svg", { className: indeterminateIcon, viewBox: "0 0 20 20", fill: "none", "aria-hidden": true, children: /* @__PURE__ */ jsx8("path", { d: "M6 10h8", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" }) })
353
412
  ] }),
354
- label3
413
+ label4
355
414
  ] });
356
415
  });
357
416
 
417
+ // src/components/Divider/Divider.tsx
418
+ import { forwardRef as forwardRef9 } from "react";
419
+
420
+ // src/components/Divider/Divider.css.ts
421
+ import { createRuntimeFn as _7a4687 } from "@vanilla-extract/recipes/createRuntimeFn";
422
+ var divider = _7a4687({ defaultClassName: "_1t3gq8v0", variantClassNames: { orientation: { horizontal: "_1t3gq8v1", vertical: "_1t3gq8v2" } }, defaultVariants: { orientation: "horizontal" }, compoundVariants: [] });
423
+ var labeled = "_1t3gq8v3";
424
+ var line = "_1t3gq8v4";
425
+
426
+ // src/components/Divider/Divider.tsx
427
+ import { jsx as jsx9, jsxs as jsxs7 } from "react/jsx-runtime";
428
+ var Divider = forwardRef9(function Divider2({ orientation = "horizontal", decorative, className, children, ...rest }, ref) {
429
+ if (children && orientation === "horizontal") {
430
+ return /* @__PURE__ */ jsxs7("div", { ref, className: cx(labeled, className), ...rest, children: [
431
+ /* @__PURE__ */ jsx9("span", { className: line, "aria-hidden": true }),
432
+ children,
433
+ /* @__PURE__ */ jsx9("span", { className: line, "aria-hidden": true })
434
+ ] });
435
+ }
436
+ const a11y = decorative ? { role: "none" } : { role: "separator", "aria-orientation": orientation === "vertical" ? "vertical" : void 0 };
437
+ return /* @__PURE__ */ jsx9("div", { ref, className: cx(divider({ orientation }), className), ...a11y, ...rest });
438
+ });
439
+
440
+ // src/components/DropdownMenu/DropdownMenu.tsx
441
+ import * as RadixMenu from "@radix-ui/react-dropdown-menu";
442
+ import { forwardRef as forwardRef10 } from "react";
443
+
444
+ // src/components/DropdownMenu/DropdownMenu.css.ts
445
+ var content2 = "_1d7ahux0";
446
+ var danger = "_1d7ahux2";
447
+ var icon3 = "_1d7ahux3";
448
+ var item2 = "_1d7ahux1";
449
+ var label = "_1d7ahux5";
450
+ var separator = "_1d7ahux6";
451
+ var shortcut = "_1d7ahux4";
452
+
453
+ // src/components/DropdownMenu/DropdownMenu.tsx
454
+ import { jsx as jsx10, jsxs as jsxs8 } from "react/jsx-runtime";
455
+ var DropdownMenu = RadixMenu.Root;
456
+ var DropdownMenuTrigger = RadixMenu.Trigger;
457
+ var DropdownMenuGroup = RadixMenu.Group;
458
+ var DropdownMenuContent = forwardRef10(function DropdownMenuContent2({ className, style, side = "bottom", align = "start", sideOffset = 4, collisionPadding = 8, ...rest }, ref) {
459
+ const portal2 = usePortalProps();
460
+ return /* @__PURE__ */ jsx10(RadixMenu.Portal, { children: /* @__PURE__ */ jsx10(
461
+ RadixMenu.Content,
462
+ {
463
+ ref,
464
+ side,
465
+ align,
466
+ sideOffset,
467
+ collisionPadding,
468
+ className: cx(portal2.className, content2, className),
469
+ style: { ...portal2.style, ...style },
470
+ ...rest
471
+ }
472
+ ) });
473
+ });
474
+ var DropdownMenuItem = forwardRef10(function DropdownMenuItem2({ icon: icon5, shortcut: shortcut2, color = "default", className, children, ...rest }, ref) {
475
+ return /* @__PURE__ */ jsxs8(RadixMenu.Item, { ref, className: cx(item2, color === "danger" && danger, className), ...rest, children: [
476
+ icon5 && /* @__PURE__ */ jsx10("span", { className: icon3, "aria-hidden": true, children: icon5 }),
477
+ children,
478
+ shortcut2 && /* @__PURE__ */ jsx10("span", { className: shortcut, "aria-hidden": true, children: shortcut2 })
479
+ ] });
480
+ });
481
+ var DropdownMenuLabel = forwardRef10(function DropdownMenuLabel2({ className, ...rest }, ref) {
482
+ return /* @__PURE__ */ jsx10(RadixMenu.Label, { ref, className: cx(label, className), ...rest });
483
+ });
484
+ var DropdownMenuSeparator = forwardRef10(
485
+ function DropdownMenuSeparator2({ className, ...rest }, ref) {
486
+ return /* @__PURE__ */ jsx10(RadixMenu.Separator, { ref, className: cx(separator, className), ...rest });
487
+ }
488
+ );
489
+
358
490
  // src/components/Input/Input.tsx
359
- import { forwardRef as forwardRef7 } from "react";
491
+ import { forwardRef as forwardRef11 } from "react";
360
492
 
361
493
  // src/components/Input/Input.css.ts
362
- import { createRuntimeFn as _7a4686 } from "@vanilla-extract/recipes/createRuntimeFn";
494
+ import { createRuntimeFn as _7a4688 } from "@vanilla-extract/recipes/createRuntimeFn";
363
495
  var adornment = "_19p5zvh6";
364
496
  var field = "_19p5zvh7";
365
497
  var fieldFullWidth = "_19p5zvh8";
366
- var helperText = _7a4686({ defaultClassName: "_19p5zvhb", variantClassNames: { error: { true: "_19p5zvhc" } }, defaultVariants: {}, compoundVariants: [] });
498
+ var helperText = _7a4688({ defaultClassName: "_19p5zvhb", variantClassNames: { error: { true: "_19p5zvhc" } }, defaultVariants: {}, compoundVariants: [] });
367
499
  var input2 = "_19p5zvh5";
368
- var label = "_19p5zvh9";
500
+ var label2 = "_19p5zvh9";
369
501
  var requiredMark = "_19p5zvha";
370
- var root3 = _7a4686({ defaultClassName: "_19p5zvh0", variantClassNames: { size: { sm: "_19p5zvh1", md: "_19p5zvh2", lg: "_19p5zvh3" }, fullWidth: { true: "_19p5zvh4" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
502
+ var root5 = _7a4688({ defaultClassName: "_19p5zvh0", variantClassNames: { size: { sm: "_19p5zvh1", md: "_19p5zvh2", lg: "_19p5zvh3" }, fullWidth: { true: "_19p5zvh4" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
371
503
 
372
504
  // src/components/Input/Input.tsx
373
- import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
374
- var Input = forwardRef7(function Input2({ size, invalid, fullWidth, startAdornment, endAdornment, rootClassName, className, disabled, ...rest }, ref) {
375
- return /* @__PURE__ */ jsxs5(
505
+ import { jsx as jsx11, jsxs as jsxs9 } from "react/jsx-runtime";
506
+ var Input = forwardRef11(function Input2({ size, invalid, fullWidth, startAdornment, endAdornment, rootClassName, className, disabled, ...rest }, ref) {
507
+ return /* @__PURE__ */ jsxs9(
376
508
  "div",
377
509
  {
378
- className: cx(root3({ size, fullWidth }), rootClassName),
510
+ className: cx(root5({ size, fullWidth }), rootClassName),
379
511
  "data-invalid": invalid || void 0,
380
512
  "data-disabled": disabled || void 0,
381
513
  children: [
382
- startAdornment && /* @__PURE__ */ jsx7("span", { className: adornment, children: startAdornment }),
383
- /* @__PURE__ */ jsx7(
514
+ startAdornment && /* @__PURE__ */ jsx11("span", { className: adornment, children: startAdornment }),
515
+ /* @__PURE__ */ jsx11(
384
516
  "input",
385
517
  {
386
518
  ref,
@@ -390,25 +522,25 @@ var Input = forwardRef7(function Input2({ size, invalid, fullWidth, startAdornme
390
522
  ...rest
391
523
  }
392
524
  ),
393
- endAdornment && /* @__PURE__ */ jsx7("span", { className: adornment, children: endAdornment })
525
+ endAdornment && /* @__PURE__ */ jsx11("span", { className: adornment, children: endAdornment })
394
526
  ]
395
527
  }
396
528
  );
397
529
  });
398
530
 
399
531
  // src/components/Input/TextField.tsx
400
- import { forwardRef as forwardRef8, useId } from "react";
401
- import { jsx as jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
402
- var TextField = forwardRef8(function TextField2({ label: label3, helperText: helperText2, error, required, fullWidth, id, "aria-describedby": ariaDescribedBy, ...rest }, ref) {
532
+ import { forwardRef as forwardRef12, useId } from "react";
533
+ import { jsx as jsx12, jsxs as jsxs10 } from "react/jsx-runtime";
534
+ var TextField = forwardRef12(function TextField2({ label: label4, helperText: helperText2, error, required, fullWidth, id, "aria-describedby": ariaDescribedBy, ...rest }, ref) {
403
535
  const generatedId = useId();
404
536
  const inputId = id ?? generatedId;
405
537
  const helperId = helperText2 ? `${inputId}-helper` : void 0;
406
- return /* @__PURE__ */ jsxs6("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
407
- label3 && /* @__PURE__ */ jsxs6("label", { htmlFor: inputId, className: label, children: [
408
- label3,
409
- required && /* @__PURE__ */ jsx8("span", { className: requiredMark, "aria-hidden": true, children: "*" })
538
+ return /* @__PURE__ */ jsxs10("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
539
+ label4 && /* @__PURE__ */ jsxs10("label", { htmlFor: inputId, className: label2, children: [
540
+ label4,
541
+ required && /* @__PURE__ */ jsx12("span", { className: requiredMark, "aria-hidden": true, children: "*" })
410
542
  ] }),
411
- /* @__PURE__ */ jsx8(
543
+ /* @__PURE__ */ jsx12(
412
544
  Input,
413
545
  {
414
546
  ref,
@@ -420,7 +552,7 @@ var TextField = forwardRef8(function TextField2({ label: label3, helperText: hel
420
552
  ...rest
421
553
  }
422
554
  ),
423
- helperText2 && /* @__PURE__ */ jsx8("p", { id: helperId, className: helperText({ error }), children: helperText2 })
555
+ helperText2 && /* @__PURE__ */ jsx12("p", { id: helperId, className: helperText({ error }), children: helperText2 })
424
556
  ] });
425
557
  });
426
558
 
@@ -429,25 +561,25 @@ import * as Dialog from "@radix-ui/react-dialog";
429
561
  import { XIcon } from "@bestow-ui/icons";
430
562
 
431
563
  // src/components/Modal/Modal.css.ts
432
- import { createRuntimeFn as _7a4687 } from "@vanilla-extract/recipes/createRuntimeFn";
564
+ import { createRuntimeFn as _7a4689 } from "@vanilla-extract/recipes/createRuntimeFn";
433
565
  var body2 = "_1pdsmv0a";
434
566
  var closeButton = "_1pdsmv09";
435
- var content = _7a4687({ defaultClassName: "_1pdsmv01", variantClassNames: { size: { sm: "_1pdsmv02", md: "_1pdsmv03", lg: "_1pdsmv04" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
567
+ var content3 = _7a4689({ defaultClassName: "_1pdsmv01", variantClassNames: { size: { sm: "_1pdsmv02", md: "_1pdsmv03", lg: "_1pdsmv04" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
436
568
  var description = "_1pdsmv08";
437
569
  var footer2 = "_1pdsmv0b";
438
- var header2 = "_1pdsmv05";
570
+ var header3 = "_1pdsmv05";
439
571
  var headings = "_1pdsmv06";
440
572
  var overlay = "_1pdsmv00";
441
573
  var title = "_1pdsmv07";
442
574
 
443
575
  // src/components/Modal/Modal.tsx
444
- import { jsx as jsx9, jsxs as jsxs7 } from "react/jsx-runtime";
576
+ import { jsx as jsx13, jsxs as jsxs11 } from "react/jsx-runtime";
445
577
  function Modal({
446
578
  open,
447
579
  defaultOpen,
448
580
  onOpenChange,
449
- trigger: trigger2,
450
- title: title3,
581
+ trigger: trigger4,
582
+ title: title4,
451
583
  description: description4,
452
584
  children,
453
585
  footer: footer4,
@@ -457,27 +589,27 @@ function Modal({
457
589
  className
458
590
  }) {
459
591
  const portal2 = usePortalProps();
460
- return /* @__PURE__ */ jsxs7(Dialog.Root, { open, defaultOpen, onOpenChange, children: [
461
- trigger2 && /* @__PURE__ */ jsx9(Dialog.Trigger, { asChild: true, children: trigger2 }),
462
- /* @__PURE__ */ jsxs7(Dialog.Portal, { children: [
463
- /* @__PURE__ */ jsx9(Dialog.Overlay, { className: cx(portal2.className, overlay), style: portal2.style }),
464
- /* @__PURE__ */ jsxs7(
592
+ return /* @__PURE__ */ jsxs11(Dialog.Root, { open, defaultOpen, onOpenChange, children: [
593
+ trigger4 && /* @__PURE__ */ jsx13(Dialog.Trigger, { asChild: true, children: trigger4 }),
594
+ /* @__PURE__ */ jsxs11(Dialog.Portal, { children: [
595
+ /* @__PURE__ */ jsx13(Dialog.Overlay, { className: cx(portal2.className, overlay), style: portal2.style }),
596
+ /* @__PURE__ */ jsxs11(
465
597
  Dialog.Content,
466
598
  {
467
- className: cx(portal2.className, content({ size }), className),
599
+ className: cx(portal2.className, content3({ size }), className),
468
600
  style: portal2.style,
469
601
  onPointerDownOutside: closeOnOverlayClick ? void 0 : (event) => event.preventDefault(),
470
602
  ...description4 ? {} : { "aria-describedby": void 0 },
471
603
  children: [
472
- /* @__PURE__ */ jsxs7("div", { className: header2, children: [
473
- /* @__PURE__ */ jsxs7("div", { className: headings, children: [
474
- /* @__PURE__ */ jsx9(Dialog.Title, { className: title, children: title3 }),
475
- description4 && /* @__PURE__ */ jsx9(Dialog.Description, { className: description, children: description4 })
604
+ /* @__PURE__ */ jsxs11("div", { className: header3, children: [
605
+ /* @__PURE__ */ jsxs11("div", { className: headings, children: [
606
+ /* @__PURE__ */ jsx13(Dialog.Title, { className: title, children: title4 }),
607
+ description4 && /* @__PURE__ */ jsx13(Dialog.Description, { className: description, children: description4 })
476
608
  ] }),
477
- !hideCloseButton && /* @__PURE__ */ jsx9(Dialog.Close, { className: closeButton, "aria-label": "\uB2EB\uAE30", children: /* @__PURE__ */ jsx9(XIcon, { size: 16 }) })
609
+ !hideCloseButton && /* @__PURE__ */ jsx13(Dialog.Close, { className: closeButton, "aria-label": "\uB2EB\uAE30", children: /* @__PURE__ */ jsx13(XIcon, { size: 16 }) })
478
610
  ] }),
479
- children && /* @__PURE__ */ jsx9("div", { className: body2, children }),
480
- footer4 && /* @__PURE__ */ jsx9("div", { className: footer2, children: footer4 })
611
+ children && /* @__PURE__ */ jsx13("div", { className: body2, children }),
612
+ footer4 && /* @__PURE__ */ jsx13("div", { className: footer2, children: footer4 })
481
613
  ]
482
614
  }
483
615
  )
@@ -486,30 +618,187 @@ function Modal({
486
618
  }
487
619
  var ModalClose = Dialog.Close;
488
620
 
621
+ // src/components/Pagination/Pagination.tsx
622
+ import { ChevronLeftIcon, ChevronRightIcon } from "@bestow-ui/icons";
623
+ import { forwardRef as forwardRef13, useState } from "react";
624
+
625
+ // src/components/Pagination/getPaginationItems.ts
626
+ var range = (start, end) => end < start ? [] : Array.from({ length: end - start + 1 }, (_, i) => start + i);
627
+ function getPaginationItems(page, totalPages, siblingCount = 1, boundaryCount = 1) {
628
+ if (totalPages < 1) return [];
629
+ const startPages = range(1, Math.min(boundaryCount, totalPages));
630
+ const endPages = range(Math.max(totalPages - boundaryCount + 1, boundaryCount + 1), totalPages);
631
+ const siblingsStart = Math.max(
632
+ Math.min(page - siblingCount, totalPages - boundaryCount - siblingCount * 2 - 1),
633
+ boundaryCount + 2
634
+ );
635
+ const siblingsEnd = Math.min(
636
+ Math.max(page + siblingCount, boundaryCount + siblingCount * 2 + 2),
637
+ endPages.length > 0 ? endPages[0] - 2 : totalPages - 1
638
+ );
639
+ const items2 = [...startPages];
640
+ if (siblingsStart > boundaryCount + 2) items2.push("ellipsis-start");
641
+ else if (boundaryCount + 1 < totalPages - boundaryCount) items2.push(boundaryCount + 1);
642
+ items2.push(...range(siblingsStart, siblingsEnd));
643
+ if (siblingsEnd < totalPages - boundaryCount - 1) items2.push("ellipsis-end");
644
+ else if (totalPages - boundaryCount > boundaryCount) items2.push(totalPages - boundaryCount);
645
+ items2.push(...endPages);
646
+ return items2;
647
+ }
648
+
649
+ // src/components/Pagination/Pagination.css.ts
650
+ import { createRuntimeFn as _7a46810 } from "@vanilla-extract/recipes/createRuntimeFn";
651
+ var ellipsis = "_1iraoak4";
652
+ var item3 = _7a46810({ defaultClassName: "_1iraoak1", variantClassNames: { size: { sm: "_1iraoak2", md: "_1iraoak3" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
653
+ var list = "_1iraoak0";
654
+
655
+ // src/components/Pagination/Pagination.tsx
656
+ import { jsx as jsx14, jsxs as jsxs12 } from "react/jsx-runtime";
657
+ var defaultItemLabel = (type, page) => type === "previous" ? "\uC774\uC804 \uD398\uC774\uC9C0" : type === "next" ? "\uB2E4\uC74C \uD398\uC774\uC9C0" : `${page} \uD398\uC774\uC9C0`;
658
+ var Pagination = forwardRef13(function Pagination2({
659
+ totalPages,
660
+ page: pageProp,
661
+ defaultPage = 1,
662
+ onPageChange,
663
+ siblingCount = 1,
664
+ boundaryCount = 1,
665
+ size,
666
+ getItemLabel = defaultItemLabel,
667
+ className,
668
+ "aria-label": ariaLabel = "\uD398\uC774\uC9C0 \uD0D0\uC0C9",
669
+ ...rest
670
+ }, ref) {
671
+ const [uncontrolledPage, setUncontrolledPage] = useState(defaultPage);
672
+ if (totalPages < 1) return null;
673
+ const page = Math.min(Math.max(pageProp ?? uncontrolledPage, 1), totalPages);
674
+ const goTo = (next) => {
675
+ if (next === page || next < 1 || next > totalPages) return;
676
+ if (pageProp === void 0) setUncontrolledPage(next);
677
+ onPageChange?.(next);
678
+ };
679
+ const itemClass = item3({ size });
680
+ return /* @__PURE__ */ jsx14("nav", { ref, "aria-label": ariaLabel, className, ...rest, children: /* @__PURE__ */ jsxs12("ul", { className: list, children: [
681
+ /* @__PURE__ */ jsx14("li", { children: /* @__PURE__ */ jsx14(
682
+ "button",
683
+ {
684
+ type: "button",
685
+ className: itemClass,
686
+ "aria-label": getItemLabel("previous", page - 1),
687
+ disabled: page <= 1,
688
+ onClick: () => goTo(page - 1),
689
+ children: /* @__PURE__ */ jsx14(ChevronLeftIcon, { size: 16 })
690
+ }
691
+ ) }),
692
+ getPaginationItems(page, totalPages, siblingCount, boundaryCount).map(
693
+ (item5) => typeof item5 === "number" ? /* @__PURE__ */ jsx14("li", { children: /* @__PURE__ */ jsx14(
694
+ "button",
695
+ {
696
+ type: "button",
697
+ className: itemClass,
698
+ "aria-label": getItemLabel("page", item5),
699
+ "aria-current": item5 === page ? "page" : void 0,
700
+ onClick: () => goTo(item5),
701
+ children: item5
702
+ }
703
+ ) }, item5) : /* @__PURE__ */ jsx14("li", { "aria-hidden": true, className: cx(itemClass, ellipsis), children: "\u2026" }, item5)
704
+ ),
705
+ /* @__PURE__ */ jsx14("li", { children: /* @__PURE__ */ jsx14(
706
+ "button",
707
+ {
708
+ type: "button",
709
+ className: itemClass,
710
+ "aria-label": getItemLabel("next", page + 1),
711
+ disabled: page >= totalPages,
712
+ onClick: () => goTo(page + 1),
713
+ children: /* @__PURE__ */ jsx14(ChevronRightIcon, { size: 16 })
714
+ }
715
+ ) })
716
+ ] }) });
717
+ });
718
+
719
+ // src/components/Popover/Popover.tsx
720
+ import * as RadixPopover from "@radix-ui/react-popover";
721
+ import { XIcon as XIcon2 } from "@bestow-ui/icons";
722
+ import { useId as useId2 } from "react";
723
+
724
+ // src/components/Popover/Popover.css.ts
725
+ var arrow = "_1j99p8x4";
726
+ var closeButton2 = "_1j99p8x3";
727
+ var content4 = "_1j99p8x0";
728
+ var header4 = "_1j99p8x1";
729
+ var title2 = "_1j99p8x2";
730
+
731
+ // src/components/Popover/Popover.tsx
732
+ import { jsx as jsx15, jsxs as jsxs13 } from "react/jsx-runtime";
733
+ function Popover({
734
+ content: content8,
735
+ children,
736
+ title: title4,
737
+ "aria-label": ariaLabel,
738
+ showClose = false,
739
+ showArrow = false,
740
+ side = "bottom",
741
+ align = "center",
742
+ open,
743
+ defaultOpen,
744
+ onOpenChange,
745
+ modal,
746
+ className,
747
+ style
748
+ }) {
749
+ const portal2 = usePortalProps();
750
+ const titleId = useId2();
751
+ return /* @__PURE__ */ jsxs13(RadixPopover.Root, { open, defaultOpen, onOpenChange, modal, children: [
752
+ /* @__PURE__ */ jsx15(RadixPopover.Trigger, { asChild: true, children }),
753
+ /* @__PURE__ */ jsx15(RadixPopover.Portal, { children: /* @__PURE__ */ jsxs13(
754
+ RadixPopover.Content,
755
+ {
756
+ side,
757
+ align,
758
+ sideOffset: 6,
759
+ collisionPadding: 8,
760
+ "aria-labelledby": title4 ? titleId : void 0,
761
+ "aria-label": title4 ? void 0 : ariaLabel,
762
+ className: cx(portal2.className, content4, className),
763
+ style: { ...portal2.style, ...style },
764
+ children: [
765
+ (title4 || showClose) && /* @__PURE__ */ jsxs13("div", { className: header4, children: [
766
+ title4 && /* @__PURE__ */ jsx15("h2", { id: titleId, className: title2, children: title4 }),
767
+ showClose && /* @__PURE__ */ jsx15(RadixPopover.Close, { className: closeButton2, "aria-label": "\uB2EB\uAE30", children: /* @__PURE__ */ jsx15(XIcon2, { size: 16 }) })
768
+ ] }),
769
+ content8,
770
+ showArrow && /* @__PURE__ */ jsx15(RadixPopover.Arrow, { className: arrow, width: 12, height: 6 })
771
+ ]
772
+ }
773
+ ) })
774
+ ] });
775
+ }
776
+ var PopoverClose = RadixPopover.Close;
777
+
489
778
  // src/components/RadioGroup/RadioGroup.tsx
490
779
  import * as RadixRadioGroup from "@radix-ui/react-radio-group";
491
- import { forwardRef as forwardRef9, useId as useId2 } from "react";
780
+ import { forwardRef as forwardRef14, useId as useId3 } from "react";
492
781
 
493
782
  // src/components/RadioGroup/RadioGroup.css.ts
494
- import { createRuntimeFn as _7a4688 } from "@vanilla-extract/recipes/createRuntimeFn";
783
+ import { createRuntimeFn as _7a46811 } from "@vanilla-extract/recipes/createRuntimeFn";
495
784
  var description2 = "_1w9iwjmd";
496
785
  var groupLabel = "_1w9iwjme";
497
786
  var indicator = "_1w9iwjma";
498
- var items = _7a4688({ defaultClassName: "_1w9iwjm0", variantClassNames: { orientation: { vertical: "_1w9iwjm1", horizontal: "_1w9iwjm2" } }, defaultVariants: { orientation: "vertical" }, compoundVariants: [] });
787
+ var items = _7a46811({ defaultClassName: "_1w9iwjm0", variantClassNames: { orientation: { vertical: "_1w9iwjm1", horizontal: "_1w9iwjm2" } }, defaultVariants: { orientation: "vertical" }, compoundVariants: [] });
499
788
  var labelText = "_1w9iwjmc";
500
- var option = _7a4688({ defaultClassName: "_1w9iwjm3", variantClassNames: { size: { sm: "_1w9iwjm4", md: "_1w9iwjm5" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
501
- var radio = _7a4688({ defaultClassName: "_1w9iwjm7", variantClassNames: { size: { sm: "_1w9iwjm8", md: "_1w9iwjm9" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
789
+ var option = _7a46811({ defaultClassName: "_1w9iwjm3", variantClassNames: { size: { sm: "_1w9iwjm4", md: "_1w9iwjm5" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
790
+ var radio = _7a46811({ defaultClassName: "_1w9iwjm7", variantClassNames: { size: { sm: "_1w9iwjm8", md: "_1w9iwjm9" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
502
791
  var text = "_1w9iwjmb";
503
792
 
504
793
  // src/components/RadioGroup/RadioGroup.tsx
505
- import { jsx as jsx10, jsxs as jsxs8 } from "react/jsx-runtime";
506
- var RadioGroup = forwardRef9(function RadioGroup2(props, ref) {
794
+ import { jsx as jsx16, jsxs as jsxs14 } from "react/jsx-runtime";
795
+ var RadioGroup = forwardRef14(function RadioGroup2(props, ref) {
507
796
  const {
508
797
  options,
509
798
  value: value2,
510
799
  defaultValue,
511
800
  onValueChange,
512
- label: label3,
801
+ label: label4,
513
802
  helperText: helperText2,
514
803
  error,
515
804
  orientation = "vertical",
@@ -522,16 +811,16 @@ var RadioGroup = forwardRef9(function RadioGroup2(props, ref) {
522
811
  className
523
812
  } = props;
524
813
  const isControlled = "value" in props;
525
- const generatedId = useId2();
814
+ const generatedId = useId3();
526
815
  const baseId = id ?? generatedId;
527
- const labelId = label3 ? `${baseId}-label` : void 0;
816
+ const labelId = label4 ? `${baseId}-label` : void 0;
528
817
  const helperId = helperText2 ? `${baseId}-helper` : void 0;
529
- return /* @__PURE__ */ jsxs8("div", { className: cx(field, className), children: [
530
- label3 && /* @__PURE__ */ jsxs8("span", { id: labelId, className: cx(label, groupLabel), children: [
531
- label3,
532
- required && /* @__PURE__ */ jsx10("span", { className: requiredMark, "aria-hidden": true, children: "*" })
818
+ return /* @__PURE__ */ jsxs14("div", { className: cx(field, className), children: [
819
+ label4 && /* @__PURE__ */ jsxs14("span", { id: labelId, className: cx(label2, groupLabel), children: [
820
+ label4,
821
+ required && /* @__PURE__ */ jsx16("span", { className: requiredMark, "aria-hidden": true, children: "*" })
533
822
  ] }),
534
- /* @__PURE__ */ jsx10(
823
+ /* @__PURE__ */ jsx16(
535
824
  RadixRadioGroup.Root,
536
825
  {
537
826
  ref,
@@ -552,8 +841,8 @@ var RadioGroup = forwardRef9(function RadioGroup2(props, ref) {
552
841
  const itemId = `${baseId}-${option2.value}`;
553
842
  const descriptionId = option2.description ? `${itemId}-description` : void 0;
554
843
  const itemDisabled = disabled || option2.disabled;
555
- return /* @__PURE__ */ jsxs8("div", { className: option({ size }), "data-disabled": itemDisabled || void 0, children: [
556
- /* @__PURE__ */ jsx10(
844
+ return /* @__PURE__ */ jsxs14("div", { className: option({ size }), "data-disabled": itemDisabled || void 0, children: [
845
+ /* @__PURE__ */ jsx16(
557
846
  RadixRadioGroup.Item,
558
847
  {
559
848
  id: itemId,
@@ -561,45 +850,45 @@ var RadioGroup = forwardRef9(function RadioGroup2(props, ref) {
561
850
  disabled: option2.disabled,
562
851
  "aria-describedby": descriptionId,
563
852
  className: radio({ size }),
564
- children: /* @__PURE__ */ jsx10(RadixRadioGroup.Indicator, { className: indicator })
853
+ children: /* @__PURE__ */ jsx16(RadixRadioGroup.Indicator, { className: indicator })
565
854
  }
566
855
  ),
567
- /* @__PURE__ */ jsxs8("span", { className: text, children: [
568
- /* @__PURE__ */ jsx10("label", { htmlFor: itemId, className: labelText, children: option2.label }),
569
- option2.description && /* @__PURE__ */ jsx10("span", { id: descriptionId, className: description2, children: option2.description })
856
+ /* @__PURE__ */ jsxs14("span", { className: text, children: [
857
+ /* @__PURE__ */ jsx16("label", { htmlFor: itemId, className: labelText, children: option2.label }),
858
+ option2.description && /* @__PURE__ */ jsx16("span", { id: descriptionId, className: description2, children: option2.description })
570
859
  ] })
571
860
  ] }, option2.value);
572
861
  })
573
862
  }
574
863
  ),
575
- helperText2 && /* @__PURE__ */ jsx10("p", { id: helperId, className: helperText({ error }), children: helperText2 })
864
+ helperText2 && /* @__PURE__ */ jsx16("p", { id: helperId, className: helperText({ error }), children: helperText2 })
576
865
  ] });
577
866
  });
578
867
 
579
868
  // src/components/Select/Select.tsx
580
869
  import * as RadixSelect from "@radix-ui/react-select";
581
- import { forwardRef as forwardRef10, useId as useId3 } from "react";
582
- import { CheckIcon, ChevronDownIcon } from "@bestow-ui/icons";
870
+ import { forwardRef as forwardRef15, useId as useId4 } from "react";
871
+ import { CheckIcon, ChevronDownIcon as ChevronDownIcon2 } from "@bestow-ui/icons";
583
872
 
584
873
  // src/components/Select/Select.css.ts
585
- var content2 = "_1kx81e83";
586
- var icon3 = "_1kx81e82";
587
- var item = "_1kx81e85";
874
+ var content5 = "_1kx81e83";
875
+ var icon4 = "_1kx81e82";
876
+ var item4 = "_1kx81e85";
588
877
  var itemIndicator = "_1kx81e86";
589
- var trigger = "_1kx81e80";
878
+ var trigger2 = "_1kx81e80";
590
879
  var value = "_1kx81e81";
591
880
  var viewport = "_1kx81e84";
592
881
 
593
882
  // src/components/Select/Select.tsx
594
- import { jsx as jsx11, jsxs as jsxs9 } from "react/jsx-runtime";
595
- var Select = forwardRef10(function Select2(props, ref) {
883
+ import { jsx as jsx17, jsxs as jsxs15 } from "react/jsx-runtime";
884
+ var Select = forwardRef15(function Select2(props, ref) {
596
885
  const {
597
886
  options,
598
887
  value: value2,
599
888
  defaultValue,
600
889
  onValueChange,
601
890
  placeholder,
602
- label: label3,
891
+ label: label4,
603
892
  helperText: helperText2,
604
893
  error,
605
894
  size,
@@ -612,16 +901,16 @@ var Select = forwardRef10(function Select2(props, ref) {
612
901
  className
613
902
  } = props;
614
903
  const isControlled = "value" in props;
615
- const generatedId = useId3();
904
+ const generatedId = useId4();
616
905
  const triggerId = id ?? generatedId;
617
906
  const helperId = helperText2 ? `${triggerId}-helper` : void 0;
618
907
  const portal2 = usePortalProps();
619
- return /* @__PURE__ */ jsxs9("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
620
- label3 && /* @__PURE__ */ jsxs9("label", { htmlFor: triggerId, className: label, children: [
621
- label3,
622
- required && /* @__PURE__ */ jsx11("span", { className: requiredMark, "aria-hidden": true, children: "*" })
908
+ return /* @__PURE__ */ jsxs15("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
909
+ label4 && /* @__PURE__ */ jsxs15("label", { htmlFor: triggerId, className: label2, children: [
910
+ label4,
911
+ required && /* @__PURE__ */ jsx17("span", { className: requiredMark, "aria-hidden": true, children: "*" })
623
912
  ] }),
624
- /* @__PURE__ */ jsxs9(
913
+ /* @__PURE__ */ jsxs15(
625
914
  RadixSelect.Root,
626
915
  {
627
916
  value: isControlled ? value2 ?? "" : void 0,
@@ -631,7 +920,7 @@ var Select = forwardRef10(function Select2(props, ref) {
631
920
  required,
632
921
  name,
633
922
  children: [
634
- /* @__PURE__ */ jsxs9(
923
+ /* @__PURE__ */ jsxs15(
635
924
  RadixSelect.Trigger,
636
925
  {
637
926
  ref,
@@ -640,30 +929,30 @@ var Select = forwardRef10(function Select2(props, ref) {
640
929
  "aria-invalid": error || void 0,
641
930
  "aria-describedby": helperId,
642
931
  "data-invalid": error || void 0,
643
- className: cx(root3({ size, fullWidth }), trigger, className),
932
+ className: cx(root5({ size, fullWidth }), trigger2, className),
644
933
  children: [
645
- /* @__PURE__ */ jsx11("span", { className: value, children: /* @__PURE__ */ jsx11(RadixSelect.Value, { placeholder }) }),
646
- /* @__PURE__ */ jsx11(RadixSelect.Icon, { className: icon3, children: /* @__PURE__ */ jsx11(ChevronDownIcon, { size: 16 }) })
934
+ /* @__PURE__ */ jsx17("span", { className: value, children: /* @__PURE__ */ jsx17(RadixSelect.Value, { placeholder }) }),
935
+ /* @__PURE__ */ jsx17(RadixSelect.Icon, { className: icon4, children: /* @__PURE__ */ jsx17(ChevronDownIcon2, { size: 16 }) })
647
936
  ]
648
937
  }
649
938
  ),
650
- /* @__PURE__ */ jsx11(RadixSelect.Portal, { children: /* @__PURE__ */ jsx11(
939
+ /* @__PURE__ */ jsx17(RadixSelect.Portal, { children: /* @__PURE__ */ jsx17(
651
940
  RadixSelect.Content,
652
941
  {
653
942
  position: "popper",
654
943
  sideOffset: 4,
655
944
  collisionPadding: 8,
656
- className: cx(portal2.className, content2),
945
+ className: cx(portal2.className, content5),
657
946
  style: portal2.style,
658
- children: /* @__PURE__ */ jsx11(RadixSelect.Viewport, { className: viewport, children: options.map((option2) => /* @__PURE__ */ jsxs9(
947
+ children: /* @__PURE__ */ jsx17(RadixSelect.Viewport, { className: viewport, children: options.map((option2) => /* @__PURE__ */ jsxs15(
659
948
  RadixSelect.Item,
660
949
  {
661
950
  value: option2.value,
662
951
  disabled: option2.disabled,
663
- className: item,
952
+ className: item4,
664
953
  children: [
665
- /* @__PURE__ */ jsx11(RadixSelect.ItemText, { children: option2.label }),
666
- /* @__PURE__ */ jsx11(RadixSelect.ItemIndicator, { className: itemIndicator, children: /* @__PURE__ */ jsx11(CheckIcon, { size: 16 }) })
954
+ /* @__PURE__ */ jsx17(RadixSelect.ItemText, { children: option2.label }),
955
+ /* @__PURE__ */ jsx17(RadixSelect.ItemIndicator, { className: itemIndicator, children: /* @__PURE__ */ jsx17(CheckIcon, { size: 16 }) })
667
956
  ]
668
957
  },
669
958
  option2.value
@@ -673,21 +962,70 @@ var Select = forwardRef10(function Select2(props, ref) {
673
962
  ]
674
963
  }
675
964
  ),
676
- helperText2 && /* @__PURE__ */ jsx11("p", { id: helperId, className: helperText({ error }), children: helperText2 })
965
+ helperText2 && /* @__PURE__ */ jsx17("p", { id: helperId, className: helperText({ error }), children: helperText2 })
677
966
  ] });
678
967
  });
679
968
 
969
+ // src/components/Skeleton/Skeleton.tsx
970
+ import { assignInlineVars as assignInlineVars2 } from "@vanilla-extract/dynamic";
971
+ import { forwardRef as forwardRef16 } from "react";
972
+
973
+ // src/components/Skeleton/Skeleton.css.ts
974
+ import { createRuntimeFn as _7a46812 } from "@vanilla-extract/recipes/createRuntimeFn";
975
+ var height = "var(--_1s8datd1)";
976
+ var lines = "_1s8datd6";
977
+ var skeleton = _7a46812({ defaultClassName: "_1s8datd2", variantClassNames: { variant: { text: "_1s8datd3", rect: "_1s8datd4", circle: "_1s8datd5" } }, defaultVariants: { variant: "text" }, compoundVariants: [] });
978
+ var width = "var(--_1s8datd0)";
979
+
980
+ // src/components/Skeleton/Skeleton.tsx
981
+ import { jsx as jsx18 } from "react/jsx-runtime";
982
+ var toCss = (value2) => typeof value2 === "number" ? `${value2}px` : value2;
983
+ var Skeleton = forwardRef16(function Skeleton2({ variant = "text", width: width2, height: height2, lines: lines2 = 1, className, style, ...rest }, ref) {
984
+ const w = toCss(width2 ?? (variant === "circle" ? 40 : "100%"));
985
+ const h = toCss(height2 ?? (variant === "circle" ? w : variant === "rect" ? 100 : "1em"));
986
+ if (variant === "text" && lines2 > 1) {
987
+ return /* @__PURE__ */ jsx18(
988
+ "span",
989
+ {
990
+ ref,
991
+ "aria-hidden": true,
992
+ className: cx(lines, className),
993
+ style: { ...assignInlineVars2({ [width]: w }), ...style },
994
+ ...rest,
995
+ children: Array.from({ length: lines2 }, (_, i) => /* @__PURE__ */ jsx18(
996
+ "span",
997
+ {
998
+ className: skeleton({ variant }),
999
+ style: assignInlineVars2({ [width]: i === lines2 - 1 ? "60%" : "100%", [height]: h })
1000
+ },
1001
+ i
1002
+ ))
1003
+ }
1004
+ );
1005
+ }
1006
+ return /* @__PURE__ */ jsx18(
1007
+ "span",
1008
+ {
1009
+ ref,
1010
+ "aria-hidden": true,
1011
+ className: cx(skeleton({ variant }), className),
1012
+ style: { ...assignInlineVars2({ [width]: w, [height]: h }), ...style },
1013
+ ...rest
1014
+ }
1015
+ );
1016
+ });
1017
+
680
1018
  // src/components/Stack/Stack.tsx
681
- import { forwardRef as forwardRef11 } from "react";
1019
+ import { forwardRef as forwardRef17 } from "react";
682
1020
 
683
1021
  // src/components/Stack/Stack.css.ts
684
- import { createRuntimeFn as _7a4689 } from "@vanilla-extract/recipes/createRuntimeFn";
685
- var stack = _7a4689({ 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: [] });
1022
+ import { createRuntimeFn as _7a46813 } from "@vanilla-extract/recipes/createRuntimeFn";
1023
+ var stack = _7a46813({ 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: [] });
686
1024
 
687
1025
  // src/components/Stack/Stack.tsx
688
- import { jsx as jsx12 } from "react/jsx-runtime";
689
- var Stack = forwardRef11(function Stack2({ as: Component = "div", direction, gap, align, justify, wrap, className, ...rest }, ref) {
690
- return /* @__PURE__ */ jsx12(
1026
+ import { jsx as jsx19 } from "react/jsx-runtime";
1027
+ var Stack = forwardRef17(function Stack2({ as: Component = "div", direction, gap, align, justify, wrap, className, ...rest }, ref) {
1028
+ return /* @__PURE__ */ jsx19(
691
1029
  Component,
692
1030
  {
693
1031
  ref,
@@ -699,22 +1037,22 @@ var Stack = forwardRef11(function Stack2({ as: Component = "div", direction, gap
699
1037
 
700
1038
  // src/components/Switch/Switch.tsx
701
1039
  import * as RadixSwitch from "@radix-ui/react-switch";
702
- import { forwardRef as forwardRef12, useId as useId4 } from "react";
1040
+ import { forwardRef as forwardRef18, useId as useId5 } from "react";
703
1041
 
704
1042
  // src/components/Switch/Switch.css.ts
705
- import { createRuntimeFn as _7a46810 } from "@vanilla-extract/recipes/createRuntimeFn";
706
- var label2 = "o33ul29";
707
- var root4 = _7a46810({ defaultClassName: "o33ul20", variantClassNames: { size: { sm: "o33ul21", md: "o33ul22" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
708
- var thumb = _7a46810({ defaultClassName: "o33ul26", variantClassNames: { size: { sm: "o33ul27", md: "o33ul28" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
709
- var track = _7a46810({ defaultClassName: "o33ul23", variantClassNames: { size: { sm: "o33ul24", md: "o33ul25" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
1043
+ import { createRuntimeFn as _7a46814 } from "@vanilla-extract/recipes/createRuntimeFn";
1044
+ var label3 = "o33ul29";
1045
+ var root6 = _7a46814({ defaultClassName: "o33ul20", variantClassNames: { size: { sm: "o33ul21", md: "o33ul22" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
1046
+ var thumb = _7a46814({ defaultClassName: "o33ul26", variantClassNames: { size: { sm: "o33ul27", md: "o33ul28" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
1047
+ var track = _7a46814({ defaultClassName: "o33ul23", variantClassNames: { size: { sm: "o33ul24", md: "o33ul25" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
710
1048
 
711
1049
  // src/components/Switch/Switch.tsx
712
- import { jsx as jsx13, jsxs as jsxs10 } from "react/jsx-runtime";
713
- var Switch = forwardRef12(function Switch2({ label: label3, size, id, className, disabled, "aria-label": ariaLabel, ...rest }, ref) {
714
- const generatedId = useId4();
1050
+ import { jsx as jsx20, jsxs as jsxs16 } from "react/jsx-runtime";
1051
+ var Switch = forwardRef18(function Switch2({ label: label4, size, id, className, disabled, "aria-label": ariaLabel, ...rest }, ref) {
1052
+ const generatedId = useId5();
715
1053
  const switchId = id ?? generatedId;
716
- return /* @__PURE__ */ jsxs10("span", { className: cx(root4({ size }), className), "data-disabled": disabled || void 0, children: [
717
- /* @__PURE__ */ jsx13(
1054
+ return /* @__PURE__ */ jsxs16("span", { className: cx(root6({ size }), className), "data-disabled": disabled || void 0, children: [
1055
+ /* @__PURE__ */ jsx20(
718
1056
  RadixSwitch.Root,
719
1057
  {
720
1058
  ref,
@@ -723,37 +1061,66 @@ var Switch = forwardRef12(function Switch2({ label: label3, size, id, className,
723
1061
  "aria-label": ariaLabel,
724
1062
  className: track({ size }),
725
1063
  ...rest,
726
- children: /* @__PURE__ */ jsx13(RadixSwitch.Thumb, { className: thumb({ size }) })
1064
+ children: /* @__PURE__ */ jsx20(RadixSwitch.Thumb, { className: thumb({ size }) })
727
1065
  }
728
1066
  ),
729
- label3 && /* @__PURE__ */ jsx13("label", { htmlFor: switchId, className: label2, children: label3 })
1067
+ label4 && /* @__PURE__ */ jsx20("label", { htmlFor: switchId, className: label3, children: label4 })
730
1068
  ] });
731
1069
  });
732
1070
 
1071
+ // src/components/Tabs/Tabs.tsx
1072
+ import * as RadixTabs from "@radix-ui/react-tabs";
1073
+ import { createContext as createContext2, forwardRef as forwardRef19, useContext as useContext2 } from "react";
1074
+
1075
+ // src/components/Tabs/Tabs.css.ts
1076
+ import { createRuntimeFn as _7a46815 } from "@vanilla-extract/recipes/createRuntimeFn";
1077
+ var content6 = "fvhbtda";
1078
+ var list2 = _7a46815({ defaultClassName: "fvhbtd0", variantClassNames: { variant: { line: "fvhbtd1", soft: "fvhbtd2" } }, defaultVariants: { variant: "line" }, compoundVariants: [] });
1079
+ var trigger3 = _7a46815({ defaultClassName: "fvhbtd3", variantClassNames: { variant: { line: "fvhbtd4", soft: "fvhbtd5" }, size: { sm: "fvhbtd6", md: "fvhbtd7" } }, defaultVariants: { variant: "line", size: "md" }, compoundVariants: [[{ variant: "soft", size: "sm" }, "fvhbtd8"], [{ variant: "soft", size: "md" }, "fvhbtd9"]] });
1080
+
1081
+ // src/components/Tabs/Tabs.tsx
1082
+ import { jsx as jsx21 } from "react/jsx-runtime";
1083
+ var TabsStyleContext = createContext2({ variant: "line", size: "md" });
1084
+ var Tabs = forwardRef19(function Tabs2({ variant = "line", size = "md", ...props }, ref) {
1085
+ const controlled = "value" in props ? { value: props.value ?? "" } : {};
1086
+ return /* @__PURE__ */ jsx21(TabsStyleContext.Provider, { value: { variant, size }, children: /* @__PURE__ */ jsx21(RadixTabs.Root, { ref, ...props, ...controlled }) });
1087
+ });
1088
+ var TabsList = forwardRef19(function TabsList2({ className, ...rest }, ref) {
1089
+ const { variant } = useContext2(TabsStyleContext);
1090
+ return /* @__PURE__ */ jsx21(RadixTabs.List, { ref, className: cx(list2({ variant }), className), ...rest });
1091
+ });
1092
+ var TabsTrigger = forwardRef19(function TabsTrigger2({ className, ...rest }, ref) {
1093
+ const { variant, size } = useContext2(TabsStyleContext);
1094
+ return /* @__PURE__ */ jsx21(RadixTabs.Trigger, { ref, className: cx(trigger3({ variant, size }), className), ...rest });
1095
+ });
1096
+ var TabsContent = forwardRef19(function TabsContent2({ className, ...rest }, ref) {
1097
+ return /* @__PURE__ */ jsx21(RadixTabs.Content, { ref, className: cx(content6, className), ...rest });
1098
+ });
1099
+
733
1100
  // src/components/Textarea/Textarea.tsx
734
1101
  import {
735
- forwardRef as forwardRef13,
1102
+ forwardRef as forwardRef20,
736
1103
  useCallback,
737
1104
  useEffect as useEffect2,
738
- useId as useId5,
1105
+ useId as useId6,
739
1106
  useLayoutEffect,
740
1107
  useRef as useRef2,
741
- useState
1108
+ useState as useState2
742
1109
  } from "react";
743
1110
 
744
1111
  // src/components/Textarea/Textarea.css.ts
745
- import { createRuntimeFn as _7a46811 } from "@vanilla-extract/recipes/createRuntimeFn";
1112
+ import { createRuntimeFn as _7a46816 } from "@vanilla-extract/recipes/createRuntimeFn";
746
1113
  var count = "_1koawa9";
747
1114
  var countOver = "_1koawaa";
748
1115
  var defaultWidth = "_1koawa7";
749
1116
  var footer3 = "_1koawa8";
750
- var textarea = _7a46811({ defaultClassName: "_1koawa0", variantClassNames: { size: { sm: "_1koawa1", md: "_1koawa2", lg: "_1koawa3" }, resize: { none: "_1koawa4", vertical: "_1koawa5", both: "_1koawa6" } }, defaultVariants: { size: "md", resize: "vertical" }, compoundVariants: [] });
1117
+ var textarea = _7a46816({ defaultClassName: "_1koawa0", variantClassNames: { size: { sm: "_1koawa1", md: "_1koawa2", lg: "_1koawa3" }, resize: { none: "_1koawa4", vertical: "_1koawa5", both: "_1koawa6" } }, defaultVariants: { size: "md", resize: "vertical" }, compoundVariants: [] });
751
1118
 
752
1119
  // src/components/Textarea/Textarea.tsx
753
- import { jsx as jsx14, jsxs as jsxs11 } from "react/jsx-runtime";
1120
+ import { jsx as jsx22, jsxs as jsxs17 } from "react/jsx-runtime";
754
1121
  var useIsomorphicLayoutEffect = typeof window !== "undefined" ? useLayoutEffect : useEffect2;
755
- var Textarea = forwardRef13(function Textarea2({
756
- label: label3,
1122
+ var Textarea = forwardRef20(function Textarea2({
1123
+ label: label4,
757
1124
  helperText: helperText2,
758
1125
  error,
759
1126
  size,
@@ -773,11 +1140,11 @@ var Textarea = forwardRef13(function Textarea2({
773
1140
  "aria-describedby": ariaDescribedBy,
774
1141
  ...rest
775
1142
  }, ref) {
776
- const generatedId = useId5();
1143
+ const generatedId = useId6();
777
1144
  const textareaId = id ?? generatedId;
778
1145
  const helperId = helperText2 ? `${textareaId}-helper` : void 0;
779
1146
  const innerRef = useRef2(null);
780
- const [uncontrolledLength, setUncontrolledLength] = useState(() => String(defaultValue ?? "").length);
1147
+ const [uncontrolledLength, setUncontrolledLength] = useState2(() => String(defaultValue ?? "").length);
781
1148
  const length = value2 !== void 0 ? String(value2).length : uncontrolledLength;
782
1149
  const fitHeight = useCallback(() => {
783
1150
  const el = innerRef.current;
@@ -792,12 +1159,12 @@ var Textarea = forwardRef13(function Textarea2({
792
1159
  fitHeight();
793
1160
  onChange?.(event);
794
1161
  };
795
- return /* @__PURE__ */ jsxs11("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
796
- label3 && /* @__PURE__ */ jsxs11("label", { htmlFor: textareaId, className: label, children: [
797
- label3,
798
- required && /* @__PURE__ */ jsx14("span", { className: requiredMark, "aria-hidden": true, children: "*" })
1162
+ return /* @__PURE__ */ jsxs17("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
1163
+ label4 && /* @__PURE__ */ jsxs17("label", { htmlFor: textareaId, className: label2, children: [
1164
+ label4,
1165
+ required && /* @__PURE__ */ jsx22("span", { className: requiredMark, "aria-hidden": true, children: "*" })
799
1166
  ] }),
800
- /* @__PURE__ */ jsx14(
1167
+ /* @__PURE__ */ jsx22(
801
1168
  "textarea",
802
1169
  {
803
1170
  ref: mergeRefs(innerRef, ref),
@@ -819,33 +1186,33 @@ var Textarea = forwardRef13(function Textarea2({
819
1186
  ...rest
820
1187
  }
821
1188
  ),
822
- (helperText2 || showCount) && /* @__PURE__ */ jsxs11("div", { className: footer3, children: [
823
- helperText2 && /* @__PURE__ */ jsx14("p", { id: helperId, className: helperText({ error }), children: helperText2 }),
824
- showCount && /* @__PURE__ */ jsx14("span", { className: cx(count, maxLength !== void 0 && length >= maxLength && countOver), children: maxLength !== void 0 ? `${length}/${maxLength}` : length })
1189
+ (helperText2 || showCount) && /* @__PURE__ */ jsxs17("div", { className: footer3, children: [
1190
+ helperText2 && /* @__PURE__ */ jsx22("p", { id: helperId, className: helperText({ error }), children: helperText2 }),
1191
+ showCount && /* @__PURE__ */ jsx22("span", { className: cx(count, maxLength !== void 0 && length >= maxLength && countOver), children: maxLength !== void 0 ? `${length}/${maxLength}` : length })
825
1192
  ] })
826
1193
  ] });
827
1194
  });
828
1195
 
829
1196
  // src/components/Toast/Toast.tsx
830
1197
  import * as RadixToast from "@radix-ui/react-toast";
831
- import { createContext as createContext2, useCallback as useCallback2, useContext as useContext2, useMemo as useMemo2, useRef as useRef3, useState as useState2 } from "react";
832
- import { XIcon as XIcon2 } from "@bestow-ui/icons";
1198
+ import { createContext as createContext3, useCallback as useCallback2, useContext as useContext3, useMemo as useMemo2, useRef as useRef3, useState as useState3 } from "react";
1199
+ import { XIcon as XIcon3 } from "@bestow-ui/icons";
833
1200
 
834
1201
  // src/components/Toast/Toast.css.ts
835
- import { createRuntimeFn as _7a46812 } from "@vanilla-extract/recipes/createRuntimeFn";
1202
+ import { createRuntimeFn as _7a46817 } from "@vanilla-extract/recipes/createRuntimeFn";
836
1203
  var action = "_1g11zvx7";
837
1204
  var close = "_1g11zvx8";
838
1205
  var description3 = "_1g11zvx6";
839
- var title2 = "_1g11zvx5";
840
- var toast = _7a46812({ defaultClassName: "_1g11zvx1", variantClassNames: { variant: { "default": "_1g11zvx2", success: "_1g11zvx3", danger: "_1g11zvx4" } }, defaultVariants: { variant: "default" }, compoundVariants: [] });
1206
+ var title3 = "_1g11zvx5";
1207
+ var toast = _7a46817({ defaultClassName: "_1g11zvx1", variantClassNames: { variant: { "default": "_1g11zvx2", success: "_1g11zvx3", danger: "_1g11zvx4" } }, defaultVariants: { variant: "default" }, compoundVariants: [] });
841
1208
  var viewport2 = "_1g11zvx0";
842
1209
 
843
1210
  // src/components/Toast/Toast.tsx
844
- import { jsx as jsx15, jsxs as jsxs12 } from "react/jsx-runtime";
1211
+ import { jsx as jsx23, jsxs as jsxs18 } from "react/jsx-runtime";
845
1212
  var REMOVE_DELAY = 500;
846
- var ToastContext = createContext2(null);
847
- function ToastProvider({ children, duration = 5e3, label: label3 = "\uC54C\uB9BC" }) {
848
- const [toasts, setToasts] = useState2([]);
1213
+ var ToastContext = createContext3(null);
1214
+ function ToastProvider({ children, duration = 5e3, label: label4 = "\uC54C\uB9BC" }) {
1215
+ const [toasts, setToasts] = useState3([]);
849
1216
  const nextId = useRef3(0);
850
1217
  const portal2 = usePortalProps();
851
1218
  const toast2 = useCallback2((options) => {
@@ -859,9 +1226,9 @@ function ToastProvider({ children, duration = 5e3, label: label3 = "\uC54C\uB9BC
859
1226
  setTimeout(() => setToasts((prev) => prev.filter((t) => t.open || !isTarget(t))), REMOVE_DELAY);
860
1227
  }, []);
861
1228
  const value2 = useMemo2(() => ({ toast: toast2, dismiss }), [toast2, dismiss]);
862
- return /* @__PURE__ */ jsx15(ToastContext.Provider, { value: value2, children: /* @__PURE__ */ jsxs12(RadixToast.Provider, { duration, label: label3, swipeDirection: "right", children: [
1229
+ return /* @__PURE__ */ jsx23(ToastContext.Provider, { value: value2, children: /* @__PURE__ */ jsxs18(RadixToast.Provider, { duration, label: label4, swipeDirection: "right", children: [
863
1230
  children,
864
- toasts.map(({ id, open, title: title3, description: description4, variant, duration: itemDuration, action: action2 }) => /* @__PURE__ */ jsxs12(
1231
+ toasts.map(({ id, open, title: title4, description: description4, variant, duration: itemDuration, action: action2 }) => /* @__PURE__ */ jsxs18(
865
1232
  RadixToast.Root,
866
1233
  {
867
1234
  open,
@@ -871,19 +1238,19 @@ function ToastProvider({ children, duration = 5e3, label: label3 = "\uC54C\uB9BC
871
1238
  },
872
1239
  className: toast({ variant }),
873
1240
  children: [
874
- /* @__PURE__ */ jsx15(RadixToast.Title, { className: title2, children: title3 }),
875
- description4 && /* @__PURE__ */ jsx15(RadixToast.Description, { className: description3, children: description4 }),
876
- action2 && /* @__PURE__ */ jsx15(RadixToast.Action, { asChild: true, altText: action2.altText ?? action2.label, className: action, children: /* @__PURE__ */ jsx15(Button, { size: "sm", variant: "soft", color: "neutral", onClick: action2.onClick, children: action2.label }) }),
877
- /* @__PURE__ */ jsx15(RadixToast.Close, { className: close, "aria-label": "\uB2EB\uAE30", children: /* @__PURE__ */ jsx15(XIcon2, { size: 16 }) })
1241
+ /* @__PURE__ */ jsx23(RadixToast.Title, { className: title3, children: title4 }),
1242
+ description4 && /* @__PURE__ */ jsx23(RadixToast.Description, { className: description3, children: description4 }),
1243
+ action2 && /* @__PURE__ */ jsx23(RadixToast.Action, { asChild: true, altText: action2.altText ?? action2.label, className: action, children: /* @__PURE__ */ jsx23(Button, { size: "sm", variant: "soft", color: "neutral", onClick: action2.onClick, children: action2.label }) }),
1244
+ /* @__PURE__ */ jsx23(RadixToast.Close, { className: close, "aria-label": "\uB2EB\uAE30", children: /* @__PURE__ */ jsx23(XIcon3, { size: 16 }) })
878
1245
  ]
879
1246
  },
880
1247
  id
881
1248
  )),
882
- /* @__PURE__ */ jsx15(RadixToast.Viewport, { className: cx(portal2.className, viewport2), style: portal2.style })
1249
+ /* @__PURE__ */ jsx23(RadixToast.Viewport, { className: cx(portal2.className, viewport2), style: portal2.style })
883
1250
  ] }) });
884
1251
  }
885
1252
  function useToast() {
886
- const context = useContext2(ToastContext);
1253
+ const context = useContext3(ToastContext);
887
1254
  if (!context) throw new Error("useToast \uB294 ToastProvider \uC548\uC5D0\uC11C \uC0AC\uC6A9\uD574\uC57C \uD569\uB2C8\uB2E4.");
888
1255
  return context;
889
1256
  }
@@ -892,13 +1259,13 @@ function useToast() {
892
1259
  import * as RadixTooltip from "@radix-ui/react-tooltip";
893
1260
 
894
1261
  // src/components/Tooltip/Tooltip.css.ts
895
- var arrow = "z7rufs1";
896
- var content3 = "z7rufs0";
1262
+ var arrow2 = "z7rufs1";
1263
+ var content7 = "z7rufs0";
897
1264
 
898
1265
  // src/components/Tooltip/Tooltip.tsx
899
- import { jsx as jsx16, jsxs as jsxs13 } from "react/jsx-runtime";
1266
+ import { jsx as jsx24, jsxs as jsxs19 } from "react/jsx-runtime";
900
1267
  function Tooltip({
901
- content: content4,
1268
+ content: content8,
902
1269
  children,
903
1270
  side = "top",
904
1271
  align = "center",
@@ -910,21 +1277,21 @@ function Tooltip({
910
1277
  className
911
1278
  }) {
912
1279
  const portal2 = usePortalProps();
913
- if (disabled || content4 == null || content4 === "") return children;
914
- return /* @__PURE__ */ jsx16(RadixTooltip.Provider, { delayDuration: delay, children: /* @__PURE__ */ jsxs13(RadixTooltip.Root, { open, defaultOpen, onOpenChange, children: [
915
- /* @__PURE__ */ jsx16(RadixTooltip.Trigger, { asChild: true, children }),
916
- /* @__PURE__ */ jsx16(RadixTooltip.Portal, { children: /* @__PURE__ */ jsxs13(
1280
+ if (disabled || content8 == null || content8 === "") return children;
1281
+ return /* @__PURE__ */ jsx24(RadixTooltip.Provider, { delayDuration: delay, children: /* @__PURE__ */ jsxs19(RadixTooltip.Root, { open, defaultOpen, onOpenChange, children: [
1282
+ /* @__PURE__ */ jsx24(RadixTooltip.Trigger, { asChild: true, children }),
1283
+ /* @__PURE__ */ jsx24(RadixTooltip.Portal, { children: /* @__PURE__ */ jsxs19(
917
1284
  RadixTooltip.Content,
918
1285
  {
919
1286
  side,
920
1287
  align,
921
1288
  sideOffset: 6,
922
1289
  collisionPadding: 8,
923
- className: cx(portal2.className, content3, className),
1290
+ className: cx(portal2.className, content7, className),
924
1291
  style: portal2.style,
925
1292
  children: [
926
- content4,
927
- /* @__PURE__ */ jsx16(RadixTooltip.Arrow, { className: arrow, width: 10, height: 5 })
1293
+ content8,
1294
+ /* @__PURE__ */ jsx24(RadixTooltip.Arrow, { className: arrow2, width: 10, height: 5 })
928
1295
  ]
929
1296
  }
930
1297
  ) })
@@ -932,14 +1299,14 @@ function Tooltip({
932
1299
  }
933
1300
 
934
1301
  // src/components/Typography/Typography.tsx
935
- import { forwardRef as forwardRef14 } from "react";
1302
+ import { forwardRef as forwardRef21 } from "react";
936
1303
 
937
1304
  // src/components/Typography/Typography.css.ts
938
- import { createRuntimeFn as _7a46813 } from "@vanilla-extract/recipes/createRuntimeFn";
939
- var typography = _7a46813({ 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: [] });
1305
+ import { createRuntimeFn as _7a46818 } from "@vanilla-extract/recipes/createRuntimeFn";
1306
+ var typography = _7a46818({ 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: [] });
940
1307
 
941
1308
  // src/components/Typography/Typography.tsx
942
- import { jsx as jsx17 } from "react/jsx-runtime";
1309
+ import { jsx as jsx25 } from "react/jsx-runtime";
943
1310
  var defaultElement = {
944
1311
  display: "h1",
945
1312
  h1: "h1",
@@ -951,9 +1318,9 @@ var defaultElement = {
951
1318
  "body-sm": "p",
952
1319
  caption: "span"
953
1320
  };
954
- var Typography = forwardRef14(function Typography2({ variant = "body", as, color, weight, align, truncate, className, ...rest }, ref) {
1321
+ var Typography = forwardRef21(function Typography2({ variant = "body", as, color, weight, align, truncate, className, ...rest }, ref) {
955
1322
  const Component = as ?? defaultElement[variant];
956
- return /* @__PURE__ */ jsx17(
1323
+ return /* @__PURE__ */ jsx25(
957
1324
  Component,
958
1325
  {
959
1326
  ref,
@@ -963,6 +1330,9 @@ var Typography = forwardRef14(function Typography2({ variant = "body", as, color
963
1330
  );
964
1331
  });
965
1332
  export {
1333
+ Accordion,
1334
+ AccordionItem,
1335
+ Avatar,
966
1336
  Badge,
967
1337
  Button,
968
1338
  Card,
@@ -970,14 +1340,30 @@ export {
970
1340
  CardFooter,
971
1341
  CardHeader,
972
1342
  Checkbox,
1343
+ Divider,
1344
+ DropdownMenu,
1345
+ DropdownMenuContent,
1346
+ DropdownMenuGroup,
1347
+ DropdownMenuItem,
1348
+ DropdownMenuLabel,
1349
+ DropdownMenuSeparator,
1350
+ DropdownMenuTrigger,
973
1351
  Input,
974
1352
  Modal,
975
1353
  ModalClose,
1354
+ Pagination,
1355
+ Popover,
1356
+ PopoverClose,
976
1357
  RadioGroup,
977
1358
  Select,
1359
+ Skeleton,
978
1360
  Spinner,
979
1361
  Stack,
980
1362
  Switch,
1363
+ Tabs,
1364
+ TabsContent,
1365
+ TabsList,
1366
+ TabsTrigger,
981
1367
  TextField,
982
1368
  Textarea,
983
1369
  ThemeProvider,