@bestow-ui/react 0.7.0 → 0.8.1

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