@sofya-ds/react 1.7.0 → 1.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
@@ -393,19 +393,49 @@ Icon.displayName = "Icon";
393
393
 
394
394
  // src/components/text.tsx
395
395
  import * as React3 from "react";
396
+ import {
397
+ sofyaTextStyleNames
398
+ } from "@sofya-ds/tokens";
396
399
  import { jsx as jsx3 } from "react/jsx-runtime";
397
- var textSizeOptions = ["h1", "h2", "h3", "h4", "h5", "body", "tiny", "extra-tiny"];
400
+ var textSizeOptions = sofyaTextStyleNames;
398
401
  var textVariantOptions = ["default", "gradient", "shiny", "split"];
399
402
  var textSplitTypeOptions = ["chars", "words", "words, chars"];
400
403
  var defaultElements = {
404
+ "display-xl": "h1",
405
+ "display-lg": "h1",
406
+ "heading-xl": "h1",
407
+ "heading-lg": "h2",
408
+ "heading-md": "h3",
401
409
  h1: "h1",
402
410
  h2: "h2",
403
411
  h3: "h3",
404
412
  h4: "h4",
405
413
  h5: "h5",
414
+ "encounter-title": "h1",
415
+ "title-md": "h3",
416
+ "title-sm": "h4",
417
+ "body-lg": "p",
418
+ "body-md": "p",
419
+ "body-sm": "p",
406
420
  body: "p",
421
+ "label-md": "span",
422
+ "section-label": "span",
423
+ "eyebrow-md": "span",
424
+ "overline-md": "span",
425
+ "sidebar-title": "span",
426
+ "sidebar-title-regular": "span",
427
+ "sidebar-title-strong": "span",
428
+ "sidebar-label": "span",
429
+ "sidebar-label-strong": "span",
430
+ "sidebar-body": "span",
431
+ "sidebar-tag": "span",
432
+ "encounter-chip": "span",
433
+ "encounter-history": "span",
434
+ caption: "span",
435
+ eyebrow: "span",
407
436
  tiny: "span",
408
- "extra-tiny": "span"
437
+ "extra-tiny": "span",
438
+ "code-sm": "code"
409
439
  };
410
440
  var textSizeStyles = Object.fromEntries(
411
441
  textSizeOptions.map((size) => [
@@ -1555,27 +1585,26 @@ Button.displayName = "Button";
1555
1585
  // src/components/surface.tsx
1556
1586
  import * as React9 from "react";
1557
1587
  import { Slot as Slot2 } from "@radix-ui/react-slot";
1588
+ import {
1589
+ sofyaSurfaceNames
1590
+ } from "@sofya-ds/tokens";
1558
1591
  import { jsx as jsx9 } from "react/jsx-runtime";
1559
- var surfaceStyles = {
1560
- card: {
1561
- backgroundColor: "hsl(var(--sofya-surface-card-background))",
1562
- borderColor: "hsl(var(--sofya-surface-card-border-color))",
1563
- borderWidth: "var(--sofya-surface-card-border-width)",
1564
- borderStyle: "solid",
1565
- borderRadius: "var(--sofya-surface-card-radius)",
1566
- "--sofya-surface-shadow-base": "var(--sofya-surface-card-shadow)",
1567
- boxShadow: "var(--sofya-surface-shadow-override, var(--sofya-surface-shadow-base))"
1568
- },
1569
- focus: {
1570
- backgroundColor: "hsl(var(--sofya-surface-focus-background))",
1571
- borderColor: "hsl(var(--sofya-surface-focus-border-color))",
1572
- borderWidth: "var(--sofya-surface-focus-border-width)",
1592
+ var surfaceVariantOptions = sofyaSurfaceNames;
1593
+ function toCssTokenName(name) {
1594
+ return name.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
1595
+ }
1596
+ function getSurfaceStyle(variant) {
1597
+ const cssName = toCssTokenName(variant);
1598
+ return {
1599
+ backgroundColor: `hsl(var(--sofya-surface-${cssName}-background))`,
1600
+ borderColor: `hsl(var(--sofya-surface-${cssName}-border-color))`,
1601
+ borderWidth: `var(--sofya-surface-${cssName}-border-width)`,
1573
1602
  borderStyle: "solid",
1574
- borderRadius: "var(--sofya-surface-card-radius)",
1575
- "--sofya-surface-shadow-base": "var(--sofya-surface-focus-shadow)",
1603
+ borderRadius: `var(--sofya-surface-${cssName}-radius)`,
1604
+ "--sofya-surface-shadow-base": `var(--sofya-surface-${cssName}-shadow)`,
1576
1605
  boxShadow: "var(--sofya-surface-shadow-override, var(--sofya-surface-shadow-base))"
1577
- }
1578
- };
1606
+ };
1607
+ }
1579
1608
  function SurfaceComponent({ as, asChild = false, variant = "card", className, style, ...props }, ref) {
1580
1609
  const Component = asChild ? Slot2 : as ?? "div";
1581
1610
  return /* @__PURE__ */ jsx9(
@@ -1584,7 +1613,7 @@ function SurfaceComponent({ as, asChild = false, variant = "card", className, st
1584
1613
  ref,
1585
1614
  "data-surface-variant": variant,
1586
1615
  className: cn("relative text-foreground", className),
1587
- style: { ...surfaceStyles[variant], ...style },
1616
+ style: { ...getSurfaceStyle(variant), ...style },
1588
1617
  ...props
1589
1618
  }
1590
1619
  );
@@ -1661,13 +1690,13 @@ var selectionControlLabelTextBaseClasses = "text-[color:var(--sofya-text-default
1661
1690
  var selectionControlDescriptionTextBaseClasses = "text-muted-foreground";
1662
1691
  var selectionControlControlBaseClasses = "border border-[color:var(--sofya-border-strong)] bg-card transition-[background-color,border-color,box-shadow,color] duration-sofya ease-sofya disabled:cursor-not-allowed disabled:opacity-50";
1663
1692
  function selectionControlContainerClasses({
1664
- alignClassName,
1693
+ alignClassName: alignClassName2,
1665
1694
  className,
1666
1695
  disabled
1667
1696
  }) {
1668
1697
  return cn(
1669
1698
  selectionControlContainerBaseClasses,
1670
- alignClassName,
1699
+ alignClassName2,
1671
1700
  disabled ? "cursor-not-allowed opacity-50" : "cursor-pointer",
1672
1701
  className
1673
1702
  );
@@ -1691,13 +1720,13 @@ var Checkbox = React10.forwardRef(
1691
1720
  const generatedId = React10.useId();
1692
1721
  const resolvedId = id ?? generatedId;
1693
1722
  const descriptionId = description ? `${resolvedId}-description` : void 0;
1694
- const alignClassName = description ? "items-start" : "items-center";
1723
+ const alignClassName2 = description ? "items-start" : "items-center";
1695
1724
  return /* @__PURE__ */ jsxs4(
1696
1725
  "label",
1697
1726
  {
1698
1727
  htmlFor: resolvedId,
1699
1728
  className: selectionControlContainerClasses({
1700
- alignClassName,
1729
+ alignClassName: alignClassName2,
1701
1730
  className,
1702
1731
  disabled
1703
1732
  }),
@@ -3426,13 +3455,16 @@ var DialogContent = React19.forwardRef(
3426
3455
  className,
3427
3456
  children,
3428
3457
  cardClassName,
3458
+ cardStyle,
3429
3459
  overlayClassName,
3430
3460
  showCloseButton = true,
3461
+ surfaceShadow = "var(--sofya-shadow-lg)",
3431
3462
  variant = "card",
3432
3463
  ...props
3433
3464
  }, ref) => {
3434
3465
  const dialogCardStyle = {
3435
- "--sofya-surface-shadow-override": "var(--sofya-shadow-lg)"
3466
+ "--sofya-surface-shadow-override": surfaceShadow,
3467
+ ...cardStyle
3436
3468
  };
3437
3469
  return /* @__PURE__ */ jsx20(DialogInternalContext.Provider, { value: { showCloseButton }, children: /* @__PURE__ */ jsxs11(DialogPortal, { children: [
3438
3470
  /* @__PURE__ */ jsx20(DialogOverlay, { className: overlayClassName }),
@@ -3538,10 +3570,73 @@ var DialogDescription = React19.forwardRef(({ children, className, ...props }, r
3538
3570
  ));
3539
3571
  DialogDescription.displayName = DialogPrimitive.Description.displayName;
3540
3572
 
3541
- // src/components/empty.tsx
3573
+ // src/components/document-card.tsx
3542
3574
  import * as React20 from "react";
3575
+ import { jsx as jsx21, jsxs as jsxs12 } from "react/jsx-runtime";
3576
+ var DocumentCard = React20.forwardRef(
3577
+ ({
3578
+ actions,
3579
+ className,
3580
+ description,
3581
+ leading,
3582
+ meta,
3583
+ selected = false,
3584
+ title,
3585
+ ...props
3586
+ }, ref) => {
3587
+ const gridTemplateClassName = cn(
3588
+ leading && actions && "grid-cols-[auto_minmax(0,1fr)_auto]",
3589
+ leading && !actions && "grid-cols-[auto_minmax(0,1fr)]",
3590
+ !leading && actions && "grid-cols-[minmax(0,1fr)_auto]",
3591
+ !leading && !actions && "grid-cols-[minmax(0,1fr)]"
3592
+ );
3593
+ return /* @__PURE__ */ jsxs12(
3594
+ Surface,
3595
+ {
3596
+ ref,
3597
+ "aria-selected": selected,
3598
+ "data-slot": "document-card",
3599
+ "data-state": selected ? "selected" : "idle",
3600
+ variant: selected ? "documentCardSelected" : "documentCard",
3601
+ className: cn(
3602
+ "grid min-h-[var(--sofya-control-height-lg)] items-center gap-[var(--sofya-gap-default)] px-[var(--sofya-space-4)] py-[var(--sofya-space-3)]",
3603
+ gridTemplateClassName,
3604
+ className
3605
+ ),
3606
+ ...props,
3607
+ children: [
3608
+ leading ? /* @__PURE__ */ jsx21(
3609
+ "span",
3610
+ {
3611
+ "data-slot": "document-card-leading",
3612
+ className: "flex size-[var(--sofya-icon-button-size-sm)] shrink-0 items-center justify-center text-primary",
3613
+ children: leading
3614
+ }
3615
+ ) : null,
3616
+ /* @__PURE__ */ jsxs12("span", { "data-slot": "document-card-content", className: "min-w-0", children: [
3617
+ /* @__PURE__ */ jsx21(Text, { as: "span", size: "label-md", className: "block truncate text-foreground", children: title }),
3618
+ description ? /* @__PURE__ */ jsx21(Text, { as: "span", size: "caption", className: "block truncate text-muted-foreground", children: description }) : null,
3619
+ meta ? /* @__PURE__ */ jsx21(Text, { as: "span", size: "caption", className: "block truncate text-muted-foreground", children: meta }) : null
3620
+ ] }),
3621
+ actions ? /* @__PURE__ */ jsx21(
3622
+ "span",
3623
+ {
3624
+ "data-slot": "document-card-actions",
3625
+ className: "flex shrink-0 items-center gap-[var(--sofya-gap-compact)]",
3626
+ children: actions
3627
+ }
3628
+ ) : null
3629
+ ]
3630
+ }
3631
+ );
3632
+ }
3633
+ );
3634
+ DocumentCard.displayName = "DocumentCard";
3635
+
3636
+ // src/components/empty.tsx
3637
+ import * as React21 from "react";
3543
3638
  import { cva as cva5 } from "class-variance-authority";
3544
- import { Fragment as Fragment3, jsx as jsx21, jsxs as jsxs12 } from "react/jsx-runtime";
3639
+ import { Fragment as Fragment3, jsx as jsx22, jsxs as jsxs13 } from "react/jsx-runtime";
3545
3640
  var emptyMediaVariantOptions = ["default", "icon"];
3546
3641
  var emptyMediaVariants = cva5(
3547
3642
  "inline-flex shrink-0 items-center justify-center transition-[background-color,border-color,color,box-shadow] duration-sofya ease-sofya",
@@ -3557,11 +3652,11 @@ var emptyMediaVariants = cva5(
3557
3652
  }
3558
3653
  }
3559
3654
  );
3560
- var EmptyMedia = React20.forwardRef(function EmptyMedia2({ className, variant, ...props }, ref) {
3561
- return /* @__PURE__ */ jsx21("div", { ref, className: cn(emptyMediaVariants({ variant }), className), ...props });
3655
+ var EmptyMedia = React21.forwardRef(function EmptyMedia2({ className, variant, ...props }, ref) {
3656
+ return /* @__PURE__ */ jsx22("div", { ref, className: cn(emptyMediaVariants({ variant }), className), ...props });
3562
3657
  });
3563
3658
  function EmptyHeader({ className, ...props }) {
3564
- return /* @__PURE__ */ jsx21(
3659
+ return /* @__PURE__ */ jsx22(
3565
3660
  "div",
3566
3661
  {
3567
3662
  className: cn("flex max-w-[34rem] flex-col items-center gap-4 text-center", className),
@@ -3570,7 +3665,7 @@ function EmptyHeader({ className, ...props }) {
3570
3665
  );
3571
3666
  }
3572
3667
  function EmptyTitle({ children, className, ...props }) {
3573
- return /* @__PURE__ */ jsx21(
3668
+ return /* @__PURE__ */ jsx22(
3574
3669
  "h2",
3575
3670
  {
3576
3671
  className: cn("text-foreground", className),
@@ -3588,7 +3683,7 @@ function EmptyDescription({
3588
3683
  className,
3589
3684
  ...props
3590
3685
  }) {
3591
- return /* @__PURE__ */ jsx21(
3686
+ return /* @__PURE__ */ jsx22(
3592
3687
  "p",
3593
3688
  {
3594
3689
  className: cn("max-w-full text-muted-foreground whitespace-nowrap", className),
@@ -3602,7 +3697,7 @@ function EmptyDescription({
3602
3697
  );
3603
3698
  }
3604
3699
  function EmptyContent({ children, className, ...props }) {
3605
- return /* @__PURE__ */ jsx21(
3700
+ return /* @__PURE__ */ jsx22(
3606
3701
  "div",
3607
3702
  {
3608
3703
  className: cn("flex flex-wrap items-center justify-center gap-4 text-center", className),
@@ -3613,9 +3708,9 @@ function EmptyContent({ children, className, ...props }) {
3613
3708
  }
3614
3709
  );
3615
3710
  }
3616
- var Empty = React20.forwardRef(function Empty2({ children, className, content, description, media, title, ...props }, ref) {
3617
- const hasCustomChildren = React20.Children.count(children) > 0;
3618
- return /* @__PURE__ */ jsx21(
3711
+ var Empty = React21.forwardRef(function Empty2({ children, className, content, description, media, title, ...props }, ref) {
3712
+ const hasCustomChildren = React21.Children.count(children) > 0;
3713
+ return /* @__PURE__ */ jsx22(
3619
3714
  "div",
3620
3715
  {
3621
3716
  ref,
@@ -3624,13 +3719,13 @@ var Empty = React20.forwardRef(function Empty2({ children, className, content, d
3624
3719
  className
3625
3720
  ),
3626
3721
  ...props,
3627
- children: hasCustomChildren ? children : /* @__PURE__ */ jsxs12(Fragment3, { children: [
3628
- /* @__PURE__ */ jsxs12(EmptyHeader, { children: [
3629
- media ?? /* @__PURE__ */ jsx21(EmptyMedia, { variant: "icon", "aria-hidden": "true", children: /* @__PURE__ */ jsx21(Icon, { name: "folders", size: 28 }) }),
3630
- /* @__PURE__ */ jsx21(EmptyTitle, { children: title ?? "Nada por aqui" }),
3631
- /* @__PURE__ */ jsx21(EmptyDescription, { children: description ?? "Quando houver conte\xFAdo dispon\xEDvel, ele aparecer\xE1 aqui." })
3722
+ children: hasCustomChildren ? children : /* @__PURE__ */ jsxs13(Fragment3, { children: [
3723
+ /* @__PURE__ */ jsxs13(EmptyHeader, { children: [
3724
+ media ?? /* @__PURE__ */ jsx22(EmptyMedia, { variant: "icon", "aria-hidden": "true", children: /* @__PURE__ */ jsx22(Icon, { name: "folders", size: 28 }) }),
3725
+ /* @__PURE__ */ jsx22(EmptyTitle, { children: title ?? "Nada por aqui" }),
3726
+ /* @__PURE__ */ jsx22(EmptyDescription, { children: description ?? "Quando houver conte\xFAdo dispon\xEDvel, ele aparecer\xE1 aqui." })
3632
3727
  ] }),
3633
- content !== void 0 && content !== null ? /* @__PURE__ */ jsx21(EmptyContent, { children: content }) : null
3728
+ content !== void 0 && content !== null ? /* @__PURE__ */ jsx22(EmptyContent, { children: content }) : null
3634
3729
  ] })
3635
3730
  }
3636
3731
  );
@@ -3643,11 +3738,11 @@ EmptyDescription.displayName = "EmptyDescription";
3643
3738
  EmptyContent.displayName = "EmptyContent";
3644
3739
 
3645
3740
  // src/components/label.tsx
3646
- import * as React21 from "react";
3647
- import { jsx as jsx22 } from "react/jsx-runtime";
3648
- var Label = React21.forwardRef(
3741
+ import * as React22 from "react";
3742
+ import { jsx as jsx23 } from "react/jsx-runtime";
3743
+ var Label = React22.forwardRef(
3649
3744
  ({ children, className, ...props }, ref) => {
3650
- return /* @__PURE__ */ jsx22(
3745
+ return /* @__PURE__ */ jsx23(
3651
3746
  "label",
3652
3747
  {
3653
3748
  ref,
@@ -3670,11 +3765,109 @@ var Label = React21.forwardRef(
3670
3765
  );
3671
3766
  Label.displayName = "Label";
3672
3767
 
3768
+ // src/components/layout.tsx
3769
+ import * as React23 from "react";
3770
+ import { jsx as jsx24 } from "react/jsx-runtime";
3771
+ var alignClassName = {
3772
+ start: "items-start",
3773
+ center: "items-center",
3774
+ end: "items-end",
3775
+ stretch: "items-stretch"
3776
+ };
3777
+ var justifyClassName = {
3778
+ start: "justify-start",
3779
+ center: "justify-center",
3780
+ between: "justify-between",
3781
+ end: "justify-end"
3782
+ };
3783
+ function getGapStyle(gap) {
3784
+ return {
3785
+ "--sofya-layout-gap": `var(--sofya-gap-${gap})`
3786
+ };
3787
+ }
3788
+ var Stack = React23.forwardRef(
3789
+ ({ className, gap = "default", style, ...props }, ref) => /* @__PURE__ */ jsx24(
3790
+ "div",
3791
+ {
3792
+ ref,
3793
+ "data-slot": "stack",
3794
+ className: cn("flex min-w-0 flex-col gap-[var(--sofya-layout-gap)]", className),
3795
+ style: { ...getGapStyle(gap), ...style },
3796
+ ...props
3797
+ }
3798
+ )
3799
+ );
3800
+ Stack.displayName = "Stack";
3801
+ var Cluster = React23.forwardRef(
3802
+ ({
3803
+ align = "center",
3804
+ className,
3805
+ gap = "default",
3806
+ justify = "start",
3807
+ style,
3808
+ ...props
3809
+ }, ref) => /* @__PURE__ */ jsx24(
3810
+ "div",
3811
+ {
3812
+ ref,
3813
+ "data-slot": "cluster",
3814
+ className: cn(
3815
+ "flex min-w-0 flex-wrap gap-[var(--sofya-layout-gap)]",
3816
+ alignClassName[align],
3817
+ justifyClassName[justify],
3818
+ className
3819
+ ),
3820
+ style: { ...getGapStyle(gap), ...style },
3821
+ ...props
3822
+ }
3823
+ )
3824
+ );
3825
+ Cluster.displayName = "Cluster";
3826
+ var Inline = React23.forwardRef(
3827
+ ({ align = "center", className, gap = "compact", style, ...props }, ref) => /* @__PURE__ */ jsx24(
3828
+ "div",
3829
+ {
3830
+ ref,
3831
+ "data-slot": "inline",
3832
+ className: cn(
3833
+ "inline-flex min-w-0 gap-[var(--sofya-layout-gap)]",
3834
+ alignClassName[align],
3835
+ className
3836
+ ),
3837
+ style: { ...getGapStyle(gap), ...style },
3838
+ ...props
3839
+ }
3840
+ )
3841
+ );
3842
+ Inline.displayName = "Inline";
3843
+ var Container = React23.forwardRef(
3844
+ ({ className, measure = "reading", style, ...props }, ref) => {
3845
+ const measureStyle = measure === "none" ? void 0 : {
3846
+ "--sofya-layout-measure": `var(--sofya-measure-${measure})`
3847
+ };
3848
+ return /* @__PURE__ */ jsx24(
3849
+ "div",
3850
+ {
3851
+ ref,
3852
+ "data-slot": "container",
3853
+ className: cn(
3854
+ "mx-auto w-full min-w-0",
3855
+ measure !== "none" && "max-w-[var(--sofya-layout-measure)]",
3856
+ className
3857
+ ),
3858
+ style: { ...measureStyle, ...style },
3859
+ ...props
3860
+ }
3861
+ );
3862
+ }
3863
+ );
3864
+ Container.displayName = "Container";
3865
+
3673
3866
  // src/components/link.tsx
3674
- import * as React22 from "react";
3867
+ import * as React24 from "react";
3675
3868
  import { Slot as Slot3 } from "@radix-ui/react-slot";
3676
3869
  import { cva as cva6 } from "class-variance-authority";
3677
- import { jsx as jsx23 } from "react/jsx-runtime";
3870
+ import { jsx as jsx25 } from "react/jsx-runtime";
3678
3871
  var linkVariants = cva6(
3679
3872
  "inline bg-[linear-gradient(currentColor,currentColor)] bg-[position:0_100%] bg-no-repeat pb-0 text-primary no-underline transition-[color,background-size,box-shadow] duration-sofya ease-sofya hover:text-[color:var(--sofya-link-hover)] focus-visible:rounded-[4px] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[color:var(--sofya-focus-ring-soft)] focus-visible:ring-offset-0",
3680
3873
  {
@@ -3689,9 +3882,9 @@ var linkVariants = cva6(
3689
3882
  }
3690
3883
  }
3691
3884
  );
3692
- var Link = React22.forwardRef(function Link2({ asChild = false, children, className, variant = "default", ...props }, ref) {
3885
+ var Link = React24.forwardRef(function Link2({ asChild = false, children, className, variant = "default", ...props }, ref) {
3693
3886
  const Component = asChild ? Slot3 : "a";
3694
- return /* @__PURE__ */ jsx23(
3887
+ return /* @__PURE__ */ jsx25(
3695
3888
  Component,
3696
3889
  {
3697
3890
  ref,
@@ -3709,7 +3902,7 @@ var Link = React22.forwardRef(function Link2({ asChild = false, children, classN
3709
3902
  Link.displayName = "Link";
3710
3903
 
3711
3904
  // src/components/logo.tsx
3712
- import * as React23 from "react";
3905
+ import * as React25 from "react";
3713
3906
 
3714
3907
  // src/components/logo-data.ts
3715
3908
  var logoAssets = {
@@ -3806,7 +3999,7 @@ var logoAssets = {
3806
3999
  };
3807
4000
 
3808
4001
  // src/components/logo.tsx
3809
- import { jsx as jsx24, jsxs as jsxs13 } from "react/jsx-runtime";
4002
+ import { jsx as jsx26, jsxs as jsxs14 } from "react/jsx-runtime";
3810
4003
  var logoVariants = ["mono", "default", "text", "full"];
3811
4004
  var logoSizeOptions = ["sm", "md", "lg", "xl", "2xl"];
3812
4005
  var logoSizeScale = {
@@ -3842,7 +4035,7 @@ function resolveLogoDimensions(variant, size, width, height) {
3842
4035
  height: resolvedHeight
3843
4036
  };
3844
4037
  }
3845
- var Logo = React23.forwardRef(function Logo2({
4038
+ var Logo = React25.forwardRef(function Logo2({
3846
4039
  variant = "full",
3847
4040
  size = "lg",
3848
4041
  width,
@@ -3853,10 +4046,10 @@ var Logo = React23.forwardRef(function Logo2({
3853
4046
  ...props
3854
4047
  }, ref) {
3855
4048
  const asset = logoAssets[variant];
3856
- const titleId = React23.useId();
4049
+ const titleId = React25.useId();
3857
4050
  const dimensions = resolveLogoDimensions(variant, size, width, height);
3858
4051
  const monoFill = variant === "mono" ? monoColor ?? "currentColor" : void 0;
3859
- return /* @__PURE__ */ jsxs13(
4052
+ return /* @__PURE__ */ jsxs14(
3860
4053
  "svg",
3861
4054
  {
3862
4055
  ref,
@@ -3871,8 +4064,8 @@ var Logo = React23.forwardRef(function Logo2({
3871
4064
  focusable: "false",
3872
4065
  ...props,
3873
4066
  children: [
3874
- title ? /* @__PURE__ */ jsx24("title", { id: titleId, children: title }) : null,
3875
- asset.paths.map((path, index) => /* @__PURE__ */ jsx24(
4067
+ title ? /* @__PURE__ */ jsx26("title", { id: titleId, children: title }) : null,
4068
+ asset.paths.map((path, index) => /* @__PURE__ */ jsx26(
3876
4069
  "path",
3877
4070
  {
3878
4071
  d: path.d,
@@ -3904,7 +4097,7 @@ var inheritedTypographyStyle = {
3904
4097
  };
3905
4098
 
3906
4099
  // src/components/pagination.tsx
3907
- import { jsx as jsx25, jsxs as jsxs14 } from "react/jsx-runtime";
4100
+ import { jsx as jsx27, jsxs as jsxs15 } from "react/jsx-runtime";
3908
4101
  var paginationLinkVariants = cva7(
3909
4102
  "inline-flex h-10 min-w-10 items-center justify-center rounded-full border border-transparent px-4 [font-family:var(--sofya-text-body-font-family)] text-[length:var(--sofya-text-body-font-size)] font-medium leading-[var(--sofya-text-body-line-height)] tracking-[var(--sofya-text-body-letter-spacing)] text-[color:var(--sofya-text-soft)] no-underline transition-[transform,background-color,border-color,color,box-shadow] duration-sofya ease-sofya motion-safe:active:scale-[0.985] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[color:var(--sofya-focus-ring-soft)] focus-visible:ring-offset-0",
3910
4103
  {
@@ -3925,7 +4118,7 @@ var paginationLinkVariants = cva7(
3925
4118
  }
3926
4119
  );
3927
4120
  function Pagination({ className, ...props }) {
3928
- return /* @__PURE__ */ jsx25(
4121
+ return /* @__PURE__ */ jsx27(
3929
4122
  "nav",
3930
4123
  {
3931
4124
  "aria-label": "Pagination",
@@ -3938,7 +4131,7 @@ function PaginationContent({
3938
4131
  className,
3939
4132
  ...props
3940
4133
  }) {
3941
- return /* @__PURE__ */ jsx25(
4134
+ return /* @__PURE__ */ jsx27(
3942
4135
  "ul",
3943
4136
  {
3944
4137
  className: cn(
@@ -3950,7 +4143,7 @@ function PaginationContent({
3950
4143
  );
3951
4144
  }
3952
4145
  function PaginationItem({ className, ...props }) {
3953
- return /* @__PURE__ */ jsx25("li", { className: cn("list-none", className), ...props });
4146
+ return /* @__PURE__ */ jsx27("li", { className: cn("list-none", className), ...props });
3954
4147
  }
3955
4148
  function PaginationLink({
3956
4149
  asChild = false,
@@ -3960,7 +4153,7 @@ function PaginationLink({
3960
4153
  ...props
3961
4154
  }) {
3962
4155
  const Component = asChild ? Slot4 : "a";
3963
- return /* @__PURE__ */ jsx25(
4156
+ return /* @__PURE__ */ jsx27(
3964
4157
  Component,
3965
4158
  {
3966
4159
  "aria-current": isActive ? "page" : void 0,
@@ -3970,25 +4163,25 @@ function PaginationLink({
3970
4163
  );
3971
4164
  }
3972
4165
  function PaginationChevronLeft() {
3973
- return /* @__PURE__ */ jsx25(IconChevronLeft2, { "aria-hidden": "true", className: "h-4 w-4", stroke: 1.75 });
4166
+ return /* @__PURE__ */ jsx27(IconChevronLeft2, { "aria-hidden": "true", className: "h-4 w-4", stroke: 1.75 });
3974
4167
  }
3975
4168
  function PaginationChevronRight() {
3976
- return /* @__PURE__ */ jsx25(IconChevronRight2, { "aria-hidden": "true", className: "h-4 w-4", stroke: 1.75 });
4169
+ return /* @__PURE__ */ jsx27(IconChevronRight2, { "aria-hidden": "true", className: "h-4 w-4", stroke: 1.75 });
3977
4170
  }
3978
4171
  function PaginationPrevious({
3979
4172
  className,
3980
4173
  text = "Previous",
3981
4174
  ...props
3982
4175
  }) {
3983
- return /* @__PURE__ */ jsxs14(
4176
+ return /* @__PURE__ */ jsxs15(
3984
4177
  PaginationLink,
3985
4178
  {
3986
4179
  "aria-label": "Go to previous page",
3987
4180
  className: cn("gap-2 px-4", className),
3988
4181
  ...props,
3989
4182
  children: [
3990
- /* @__PURE__ */ jsx25(PaginationChevronLeft, {}),
3991
- /* @__PURE__ */ jsx25("span", { className: "hidden sm:block", children: renderTextContent(text, {
4183
+ /* @__PURE__ */ jsx27(PaginationChevronLeft, {}),
4184
+ /* @__PURE__ */ jsx27("span", { className: "hidden sm:block", children: renderTextContent(text, {
3992
4185
  as: "span",
3993
4186
  className: "block text-inherit",
3994
4187
  size: "body",
@@ -4003,20 +4196,20 @@ function PaginationNext({
4003
4196
  text = "Next",
4004
4197
  ...props
4005
4198
  }) {
4006
- return /* @__PURE__ */ jsxs14(
4199
+ return /* @__PURE__ */ jsxs15(
4007
4200
  PaginationLink,
4008
4201
  {
4009
4202
  "aria-label": "Go to next page",
4010
4203
  className: cn("gap-2 px-4", className),
4011
4204
  ...props,
4012
4205
  children: [
4013
- /* @__PURE__ */ jsx25("span", { className: "hidden sm:block", children: renderTextContent(text, {
4206
+ /* @__PURE__ */ jsx27("span", { className: "hidden sm:block", children: renderTextContent(text, {
4014
4207
  as: "span",
4015
4208
  className: "block text-inherit",
4016
4209
  size: "body",
4017
4210
  style: inheritedTypographyStyle
4018
4211
  }) }),
4019
- /* @__PURE__ */ jsx25(PaginationChevronRight, {})
4212
+ /* @__PURE__ */ jsx27(PaginationChevronRight, {})
4020
4213
  ]
4021
4214
  }
4022
4215
  );
@@ -4025,7 +4218,7 @@ function PaginationEllipsis({
4025
4218
  className,
4026
4219
  ...props
4027
4220
  }) {
4028
- return /* @__PURE__ */ jsxs14(
4221
+ return /* @__PURE__ */ jsxs15(
4029
4222
  "span",
4030
4223
  {
4031
4224
  "aria-hidden": "true",
@@ -4035,22 +4228,90 @@ function PaginationEllipsis({
4035
4228
  ),
4036
4229
  ...props,
4037
4230
  children: [
4038
- /* @__PURE__ */ jsx25("span", { children: renderTextContent("...", {
4231
+ /* @__PURE__ */ jsx27("span", { children: renderTextContent("...", {
4039
4232
  as: "span",
4040
4233
  className: "block text-inherit",
4041
4234
  size: "h5",
4042
4235
  style: inheritedTypographyStyle
4043
4236
  }) }),
4044
- /* @__PURE__ */ jsx25("span", { className: "sr-only", children: "More pages" })
4237
+ /* @__PURE__ */ jsx27("span", { className: "sr-only", children: "More pages" })
4045
4238
  ]
4046
4239
  }
4047
4240
  );
4048
4241
  }
4049
4242
 
4243
+ // src/components/prose-dialog.tsx
4244
+ import * as React26 from "react";
4245
+ import { jsx as jsx28 } from "react/jsx-runtime";
4246
+ var proseDialogMaxWidth = "min(var(--sofya-layout-prose-dialog-width), calc(100vw - var(--sofya-space-8)))";
4247
+ var ProseDialogContent = React26.forwardRef(
4248
+ ({
4249
+ cardClassName,
4250
+ cardStyle: incomingCardStyle,
4251
+ className,
4252
+ style,
4253
+ surfaceShadow = "none",
4254
+ variant = "proseDialog",
4255
+ ...props
4256
+ }, ref) => {
4257
+ const dialogStyle = {
4258
+ ...style,
4259
+ maxWidth: proseDialogMaxWidth
4260
+ };
4261
+ const cardStyle = {
4262
+ ...incomingCardStyle,
4263
+ maxWidth: proseDialogMaxWidth
4264
+ };
4265
+ return /* @__PURE__ */ jsx28(
4266
+ DialogContent,
4267
+ {
4268
+ ref,
4269
+ className,
4270
+ cardClassName: [
4271
+ "gap-[var(--sofya-rhythm-section-content)] p-[var(--sofya-space-6)] sm:p-[var(--sofya-space-12)]",
4272
+ cardClassName
4273
+ ].filter(Boolean).join(" "),
4274
+ cardStyle,
4275
+ "data-slot": "prose-dialog-content",
4276
+ style: dialogStyle,
4277
+ surfaceShadow,
4278
+ variant,
4279
+ ...props
4280
+ }
4281
+ );
4282
+ }
4283
+ );
4284
+ ProseDialogContent.displayName = "ProseDialogContent";
4285
+ function ProseDialogHeader(props) {
4286
+ return /* @__PURE__ */ jsx28(DialogHeader, { "data-slot": "prose-dialog-header", ...props });
4287
+ }
4288
+ ProseDialogHeader.displayName = "ProseDialogHeader";
4289
+ var ProseDialogTitle = React26.forwardRef((props, ref) => /* @__PURE__ */ jsx28(DialogTitle, { ref, "data-slot": "prose-dialog-title", ...props }));
4290
+ ProseDialogTitle.displayName = "ProseDialogTitle";
4291
+ var ProseDialogDescription = React26.forwardRef((props, ref) => /* @__PURE__ */ jsx28(DialogDescription, { ref, "data-slot": "prose-dialog-description", ...props }));
4292
+ ProseDialogDescription.displayName = "ProseDialogDescription";
4293
+ var ProseDialogBody = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28(
4294
+ "div",
4295
+ {
4296
+ ref,
4297
+ "data-slot": "prose-dialog-body",
4298
+ className: [
4299
+ "flex flex-col",
4300
+ "max-w-[var(--sofya-measure-wide)] gap-[var(--sofya-rhythm-paragraph-flow)]",
4301
+ "[&_p]:m-0 [&_p]:text-[length:var(--sofya-text-body-md-font-size)]",
4302
+ "[&_p]:font-[var(--sofya-text-body-md-font-weight)] [&_p]:leading-[var(--sofya-text-body-md-line-height)]",
4303
+ "[&_section]:flex [&_section]:flex-col [&_section]:gap-[var(--sofya-rhythm-title-to-body)]",
4304
+ className
4305
+ ].filter(Boolean).join(" "),
4306
+ ...props
4307
+ }
4308
+ ));
4309
+ ProseDialogBody.displayName = "ProseDialogBody";
4310
+
4050
4311
  // src/components/progress.tsx
4051
- import * as React24 from "react";
4312
+ import * as React27 from "react";
4052
4313
  import * as ProgressPrimitive from "@radix-ui/react-progress";
4053
- import { jsx as jsx26 } from "react/jsx-runtime";
4314
+ import { jsx as jsx29 } from "react/jsx-runtime";
4054
4315
  var progressSizeOptions = ["sm", "default", "lg"];
4055
4316
  function clampProgressValue(value, max) {
4056
4317
  if (Number.isNaN(value)) {
@@ -4058,7 +4319,7 @@ function clampProgressValue(value, max) {
4058
4319
  }
4059
4320
  return Math.min(Math.max(value, 0), max);
4060
4321
  }
4061
- var Progress = React24.forwardRef(function Progress2({
4322
+ var Progress = React27.forwardRef(function Progress2({
4062
4323
  className,
4063
4324
  indicatorClassName,
4064
4325
  max = 100,
@@ -4069,7 +4330,7 @@ var Progress = React24.forwardRef(function Progress2({
4069
4330
  const safeMax = max > 0 ? max : 100;
4070
4331
  const resolvedValue = typeof value === "number" ? clampProgressValue(value, safeMax) : null;
4071
4332
  const progressScale = resolvedValue === null ? void 0 : Number((resolvedValue / safeMax).toFixed(4));
4072
- return /* @__PURE__ */ jsx26(
4333
+ return /* @__PURE__ */ jsx29(
4073
4334
  ProgressPrimitive.Root,
4074
4335
  {
4075
4336
  ref,
@@ -4082,7 +4343,7 @@ var Progress = React24.forwardRef(function Progress2({
4082
4343
  className
4083
4344
  ),
4084
4345
  ...props,
4085
- children: /* @__PURE__ */ jsx26(
4346
+ children: /* @__PURE__ */ jsx29(
4086
4347
  ProgressPrimitive.Indicator,
4087
4348
  {
4088
4349
  "data-slot": "progress-indicator",
@@ -4099,19 +4360,19 @@ var Progress = React24.forwardRef(function Progress2({
4099
4360
  Progress.displayName = ProgressPrimitive.Root.displayName;
4100
4361
 
4101
4362
  // src/components/radio-group.tsx
4102
- import * as React25 from "react";
4363
+ import * as React28 from "react";
4103
4364
  import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
4104
- import { jsx as jsx27, jsxs as jsxs15 } from "react/jsx-runtime";
4365
+ import { jsx as jsx30, jsxs as jsxs16 } from "react/jsx-runtime";
4105
4366
  var radioGroupOrientationOptions = ["horizontal", "vertical"];
4106
4367
  var radioGroupVariantOptions = ["default", "pill", "option"];
4107
- var RadioGroupContext = React25.createContext({
4368
+ var RadioGroupContext = React28.createContext({
4108
4369
  variant: "default"
4109
4370
  });
4110
- var RadioGroupOptionContext = React25.createContext(
4371
+ var RadioGroupOptionContext = React28.createContext(
4111
4372
  {}
4112
4373
  );
4113
- var RadioGroupRoot = React25.forwardRef(function RadioGroup2({ className, variant = "default", ...props }, ref) {
4114
- return /* @__PURE__ */ jsx27(RadioGroupContext.Provider, { value: { variant }, children: /* @__PURE__ */ jsx27(
4374
+ var RadioGroupRoot = React28.forwardRef(function RadioGroup2({ className, variant = "default", ...props }, ref) {
4375
+ return /* @__PURE__ */ jsx30(RadioGroupContext.Provider, { value: { variant }, children: /* @__PURE__ */ jsx30(
4115
4376
  RadioGroupPrimitive.Root,
4116
4377
  {
4117
4378
  ref,
@@ -4127,7 +4388,7 @@ var RadioGroupRoot = React25.forwardRef(function RadioGroup2({ className, varian
4127
4388
  ) });
4128
4389
  });
4129
4390
  RadioGroupRoot.displayName = RadioGroupPrimitive.Root.displayName;
4130
- var RadioGroupItem = React25.forwardRef(function RadioGroupItem2({
4391
+ var RadioGroupItem = React28.forwardRef(function RadioGroupItem2({
4131
4392
  className,
4132
4393
  controlClassName,
4133
4394
  description,
@@ -4139,14 +4400,14 @@ var RadioGroupItem = React25.forwardRef(function RadioGroupItem2({
4139
4400
  labelClassName,
4140
4401
  ...props
4141
4402
  }, ref) {
4142
- const { variant } = React25.useContext(RadioGroupContext);
4143
- const generatedId = React25.useId();
4403
+ const { variant } = React28.useContext(RadioGroupContext);
4404
+ const generatedId = React28.useId();
4144
4405
  const resolvedId = id ?? generatedId;
4145
4406
  const labelId = label ? `${resolvedId}-label` : void 0;
4146
4407
  const descriptionId = description ? `${resolvedId}-description` : void 0;
4147
- const alignClassName = description ? "items-start" : "items-center";
4408
+ const alignClassName2 = description ? "items-start" : "items-center";
4148
4409
  if (variant === "pill") {
4149
- return /* @__PURE__ */ jsx27(
4410
+ return /* @__PURE__ */ jsx30(
4150
4411
  RadioGroupPrimitive.Item,
4151
4412
  {
4152
4413
  ref,
@@ -4161,8 +4422,8 @@ var RadioGroupItem = React25.forwardRef(function RadioGroupItem2({
4161
4422
  className
4162
4423
  ),
4163
4424
  ...props,
4164
- children: label || description ? /* @__PURE__ */ jsxs15("span", { className: "grid justify-items-center gap-1 text-center", children: [
4165
- label ? /* @__PURE__ */ jsx27(
4425
+ children: label || description ? /* @__PURE__ */ jsxs16("span", { className: "grid justify-items-center gap-1 text-center", children: [
4426
+ label ? /* @__PURE__ */ jsx30(
4166
4427
  "span",
4167
4428
  {
4168
4429
  id: labelId,
@@ -4177,7 +4438,7 @@ var RadioGroupItem = React25.forwardRef(function RadioGroupItem2({
4177
4438
  })
4178
4439
  }
4179
4440
  ) : null,
4180
- description ? /* @__PURE__ */ jsx27(
4441
+ description ? /* @__PURE__ */ jsx30(
4181
4442
  "span",
4182
4443
  {
4183
4444
  id: descriptionId,
@@ -4196,16 +4457,16 @@ var RadioGroupItem = React25.forwardRef(function RadioGroupItem2({
4196
4457
  }
4197
4458
  );
4198
4459
  }
4199
- return /* @__PURE__ */ jsxs15(
4460
+ return /* @__PURE__ */ jsxs16(
4200
4461
  "label",
4201
4462
  {
4202
4463
  className: selectionControlContainerClasses({
4203
- alignClassName,
4464
+ alignClassName: alignClassName2,
4204
4465
  className,
4205
4466
  disabled
4206
4467
  }),
4207
4468
  children: [
4208
- /* @__PURE__ */ jsx27(
4469
+ /* @__PURE__ */ jsx30(
4209
4470
  RadioGroupPrimitive.Item,
4210
4471
  {
4211
4472
  ref,
@@ -4221,7 +4482,7 @@ var RadioGroupItem = React25.forwardRef(function RadioGroupItem2({
4221
4482
  controlClassName
4222
4483
  ),
4223
4484
  ...props,
4224
- children: /* @__PURE__ */ jsx27(RadioGroupPrimitive.Indicator, { asChild: true, children: /* @__PURE__ */ jsx27(
4485
+ children: /* @__PURE__ */ jsx30(RadioGroupPrimitive.Indicator, { asChild: true, children: /* @__PURE__ */ jsx30(
4225
4486
  "span",
4226
4487
  {
4227
4488
  "data-slot": "radio-group-indicator",
@@ -4233,8 +4494,8 @@ var RadioGroupItem = React25.forwardRef(function RadioGroupItem2({
4233
4494
  ) })
4234
4495
  }
4235
4496
  ),
4236
- label || description ? /* @__PURE__ */ jsxs15("span", { className: selectionControlContentBaseClasses, children: [
4237
- label ? /* @__PURE__ */ jsx27(
4497
+ label || description ? /* @__PURE__ */ jsxs16("span", { className: selectionControlContentBaseClasses, children: [
4498
+ label ? /* @__PURE__ */ jsx30(
4238
4499
  "span",
4239
4500
  {
4240
4501
  id: labelId,
@@ -4249,7 +4510,7 @@ var RadioGroupItem = React25.forwardRef(function RadioGroupItem2({
4249
4510
  })
4250
4511
  }
4251
4512
  ) : null,
4252
- description ? /* @__PURE__ */ jsx27(
4513
+ description ? /* @__PURE__ */ jsx30(
4253
4514
  "span",
4254
4515
  {
4255
4516
  id: descriptionId,
@@ -4270,7 +4531,7 @@ var RadioGroupItem = React25.forwardRef(function RadioGroupItem2({
4270
4531
  );
4271
4532
  });
4272
4533
  RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
4273
- var RadioGroupOptionAvatar = React25.forwardRef(function RadioGroupOptionAvatar2({
4534
+ var RadioGroupOptionAvatar = React28.forwardRef(function RadioGroupOptionAvatar2({
4274
4535
  alt,
4275
4536
  avatarClassName,
4276
4537
  avatarProps,
@@ -4280,7 +4541,7 @@ var RadioGroupOptionAvatar = React25.forwardRef(function RadioGroupOptionAvatar2
4280
4541
  src,
4281
4542
  ...props
4282
4543
  }, ref) {
4283
- return /* @__PURE__ */ jsx27(
4544
+ return /* @__PURE__ */ jsx30(
4284
4545
  "span",
4285
4546
  {
4286
4547
  ref,
@@ -4290,7 +4551,7 @@ var RadioGroupOptionAvatar = React25.forwardRef(function RadioGroupOptionAvatar2
4290
4551
  className
4291
4552
  ),
4292
4553
  ...props,
4293
- children: children ?? /* @__PURE__ */ jsx27(
4554
+ children: children ?? /* @__PURE__ */ jsx30(
4294
4555
  Avatar,
4295
4556
  {
4296
4557
  ...avatarProps,
@@ -4307,9 +4568,9 @@ var RadioGroupOptionAvatar = React25.forwardRef(function RadioGroupOptionAvatar2
4307
4568
  );
4308
4569
  });
4309
4570
  RadioGroupOptionAvatar.displayName = "RadioGroupOptionAvatar";
4310
- var RadioGroupOptionLabel = React25.forwardRef(function RadioGroupOptionLabel2({ children, className, ...props }, ref) {
4311
- const { labelId } = React25.useContext(RadioGroupOptionContext);
4312
- return /* @__PURE__ */ jsx27(
4571
+ var RadioGroupOptionLabel = React28.forwardRef(function RadioGroupOptionLabel2({ children, className, ...props }, ref) {
4572
+ const { labelId } = React28.useContext(RadioGroupOptionContext);
4573
+ return /* @__PURE__ */ jsx30(
4313
4574
  "span",
4314
4575
  {
4315
4576
  ref,
@@ -4329,9 +4590,9 @@ var RadioGroupOptionLabel = React25.forwardRef(function RadioGroupOptionLabel2({
4329
4590
  );
4330
4591
  });
4331
4592
  RadioGroupOptionLabel.displayName = "RadioGroupOptionLabel";
4332
- var RadioGroupOptionDescription = React25.forwardRef(function RadioGroupOptionDescription2({ children, className, ...props }, ref) {
4333
- const { descriptionId } = React25.useContext(RadioGroupOptionContext);
4334
- return /* @__PURE__ */ jsx27(
4593
+ var RadioGroupOptionDescription = React28.forwardRef(function RadioGroupOptionDescription2({ children, className, ...props }, ref) {
4594
+ const { descriptionId } = React28.useContext(RadioGroupOptionContext);
4595
+ return /* @__PURE__ */ jsx30(
4335
4596
  "span",
4336
4597
  {
4337
4598
  ref,
@@ -4350,8 +4611,8 @@ var RadioGroupOptionDescription = React25.forwardRef(function RadioGroupOptionDe
4350
4611
  );
4351
4612
  });
4352
4613
  RadioGroupOptionDescription.displayName = "RadioGroupOptionDescription";
4353
- var RadioGroupOptionIndicator = React25.forwardRef(function RadioGroupOptionIndicator2({ children, className, ...props }, ref) {
4354
- return /* @__PURE__ */ jsx27(
4614
+ var RadioGroupOptionIndicator = React28.forwardRef(function RadioGroupOptionIndicator2({ children, className, ...props }, ref) {
4615
+ return /* @__PURE__ */ jsx30(
4355
4616
  "span",
4356
4617
  {
4357
4618
  ref,
@@ -4361,7 +4622,7 @@ var RadioGroupOptionIndicator = React25.forwardRef(function RadioGroupOptionIndi
4361
4622
  className
4362
4623
  ),
4363
4624
  ...props,
4364
- children: children ?? /* @__PURE__ */ jsx27(
4625
+ children: children ?? /* @__PURE__ */ jsx30(
4365
4626
  "svg",
4366
4627
  {
4367
4628
  "aria-hidden": "true",
@@ -4369,7 +4630,7 @@ var RadioGroupOptionIndicator = React25.forwardRef(function RadioGroupOptionIndi
4369
4630
  className: "h-6 w-6 opacity-0 transition-opacity duration-sofya ease-sofya group-data-[state=checked]/radio-option:opacity-100",
4370
4631
  fill: "none",
4371
4632
  xmlns: "http://www.w3.org/2000/svg",
4372
- children: /* @__PURE__ */ jsx27(
4633
+ children: /* @__PURE__ */ jsx30(
4373
4634
  "path",
4374
4635
  {
4375
4636
  d: "M9.55 17.6537L4.2155 12.3192L5.2845 11.25L9.55 15.5155L18.7155 6.35L19.7845 7.41925L9.55 17.6537Z",
@@ -4383,14 +4644,14 @@ var RadioGroupOptionIndicator = React25.forwardRef(function RadioGroupOptionIndi
4383
4644
  });
4384
4645
  RadioGroupOptionIndicator.displayName = "RadioGroupOptionIndicator";
4385
4646
  function isOptionChild(child, component) {
4386
- return React25.isValidElement(child) && child.type === component;
4647
+ return React28.isValidElement(child) && child.type === component;
4387
4648
  }
4388
- var RadioGroupOption = React25.forwardRef(function RadioGroupOption2({ children, className, disabled, id, ...props }, ref) {
4389
- const generatedId = React25.useId();
4649
+ var RadioGroupOption = React28.forwardRef(function RadioGroupOption2({ children, className, disabled, id, ...props }, ref) {
4650
+ const generatedId = React28.useId();
4390
4651
  const resolvedId = id ?? generatedId;
4391
4652
  const labelId = `${resolvedId}-label`;
4392
4653
  const descriptionId = `${resolvedId}-description`;
4393
- const childArray = React25.Children.toArray(children);
4654
+ const childArray = React28.Children.toArray(children);
4394
4655
  const leadingChildren = [];
4395
4656
  const contentChildren = [];
4396
4657
  let indicatorChild = null;
@@ -4405,7 +4666,7 @@ var RadioGroupOption = React25.forwardRef(function RadioGroupOption2({ children,
4405
4666
  }
4406
4667
  contentChildren.push(child);
4407
4668
  }
4408
- return /* @__PURE__ */ jsx27(RadioGroupOptionContext.Provider, { value: { descriptionId, labelId }, children: /* @__PURE__ */ jsxs15(
4669
+ return /* @__PURE__ */ jsx30(RadioGroupOptionContext.Provider, { value: { descriptionId, labelId }, children: /* @__PURE__ */ jsxs16(
4409
4670
  RadioGroupPrimitive.Item,
4410
4671
  {
4411
4672
  ref,
@@ -4425,7 +4686,7 @@ var RadioGroupOption = React25.forwardRef(function RadioGroupOption2({ children,
4425
4686
  ...props,
4426
4687
  children: [
4427
4688
  leadingChildren,
4428
- /* @__PURE__ */ jsx27(
4689
+ /* @__PURE__ */ jsx30(
4429
4690
  "span",
4430
4691
  {
4431
4692
  "data-slot": "radio-group-option-content",
@@ -4433,7 +4694,7 @@ var RadioGroupOption = React25.forwardRef(function RadioGroupOption2({ children,
4433
4694
  children: contentChildren
4434
4695
  }
4435
4696
  ),
4436
- indicatorChild ?? /* @__PURE__ */ jsx27(RadioGroupOptionIndicator, {})
4697
+ indicatorChild ?? /* @__PURE__ */ jsx30(RadioGroupOptionIndicator, {})
4437
4698
  ]
4438
4699
  }
4439
4700
  ) });
@@ -4449,13 +4710,37 @@ var RadioGroup3 = Object.assign(RadioGroupRoot, {
4449
4710
  OptionLabel: RadioGroupOptionLabel
4450
4711
  });
4451
4712
 
4713
+ // src/components/right-rail-action.tsx
4714
+ import * as React29 from "react";
4715
+ import { jsx as jsx31 } from "react/jsx-runtime";
4716
+ var RightRailAction = React29.forwardRef(
4717
+ ({ active = false, className, icon, ...props }, ref) => /* @__PURE__ */ jsx31(
4718
+ Button,
4719
+ {
4720
+ ref,
4721
+ active,
4722
+ "data-slot": "right-rail-action",
4723
+ leftIcon: icon,
4724
+ size: "icon",
4725
+ variant: "icon",
4726
+ className: cn(
4727
+ "size-[var(--sofya-icon-button-size-md)] rounded-[var(--sofya-radius-md)] shadow-none",
4728
+ active && "bg-[color:var(--sofya-surface-selected)]",
4729
+ className
4730
+ ),
4731
+ ...props
4732
+ }
4733
+ )
4734
+ );
4735
+ RightRailAction.displayName = "RightRailAction";
4736
+
4452
4737
  // src/components/scroll-area.tsx
4453
- import * as React26 from "react";
4738
+ import * as React30 from "react";
4454
4739
  import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
4455
- import { jsx as jsx28 } from "react/jsx-runtime";
4740
+ import { jsx as jsx32 } from "react/jsx-runtime";
4456
4741
  var scrollAreaOrientationOptions = ["horizontal", "vertical"];
4457
- var ScrollArea = React26.forwardRef(function ScrollArea2({ className, ...props }, ref) {
4458
- return /* @__PURE__ */ jsx28(
4742
+ var ScrollArea = React30.forwardRef(function ScrollArea2({ className, ...props }, ref) {
4743
+ return /* @__PURE__ */ jsx32(
4459
4744
  ScrollAreaPrimitive.Root,
4460
4745
  {
4461
4746
  ref,
@@ -4466,8 +4751,8 @@ var ScrollArea = React26.forwardRef(function ScrollArea2({ className, ...props }
4466
4751
  );
4467
4752
  });
4468
4753
  ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
4469
- var ScrollAreaViewport = React26.forwardRef(function ScrollAreaViewport2({ className, ...props }, ref) {
4470
- return /* @__PURE__ */ jsx28(
4754
+ var ScrollAreaViewport = React30.forwardRef(function ScrollAreaViewport2({ className, ...props }, ref) {
4755
+ return /* @__PURE__ */ jsx32(
4471
4756
  ScrollAreaPrimitive.Viewport,
4472
4757
  {
4473
4758
  ref,
@@ -4481,8 +4766,8 @@ var ScrollAreaViewport = React26.forwardRef(function ScrollAreaViewport2({ class
4481
4766
  );
4482
4767
  });
4483
4768
  ScrollAreaViewport.displayName = ScrollAreaPrimitive.Viewport.displayName;
4484
- var ScrollAreaScrollbar = React26.forwardRef(function ScrollAreaScrollbar2({ className, orientation = "vertical", thumbClassName, ...props }, ref) {
4485
- return /* @__PURE__ */ jsx28(
4769
+ var ScrollAreaScrollbar = React30.forwardRef(function ScrollAreaScrollbar2({ className, orientation = "vertical", thumbClassName, ...props }, ref) {
4770
+ return /* @__PURE__ */ jsx32(
4486
4771
  ScrollAreaPrimitive.Scrollbar,
4487
4772
  {
4488
4773
  ref,
@@ -4493,7 +4778,7 @@ var ScrollAreaScrollbar = React26.forwardRef(function ScrollAreaScrollbar2({ cla
4493
4778
  className
4494
4779
  ),
4495
4780
  ...props,
4496
- children: /* @__PURE__ */ jsx28(
4781
+ children: /* @__PURE__ */ jsx32(
4497
4782
  ScrollAreaPrimitive.Thumb,
4498
4783
  {
4499
4784
  "data-slot": "scroll-area-thumb",
@@ -4507,8 +4792,8 @@ var ScrollAreaScrollbar = React26.forwardRef(function ScrollAreaScrollbar2({ cla
4507
4792
  );
4508
4793
  });
4509
4794
  ScrollAreaScrollbar.displayName = ScrollAreaPrimitive.Scrollbar.displayName;
4510
- var ScrollAreaCorner = React26.forwardRef(function ScrollAreaCorner2({ className, ...props }, ref) {
4511
- return /* @__PURE__ */ jsx28(
4795
+ var ScrollAreaCorner = React30.forwardRef(function ScrollAreaCorner2({ className, ...props }, ref) {
4796
+ return /* @__PURE__ */ jsx32(
4512
4797
  ScrollAreaPrimitive.Corner,
4513
4798
  {
4514
4799
  ref,
@@ -4521,19 +4806,19 @@ var ScrollAreaCorner = React26.forwardRef(function ScrollAreaCorner2({ className
4521
4806
  ScrollAreaCorner.displayName = ScrollAreaPrimitive.Corner.displayName;
4522
4807
 
4523
4808
  // src/components/select.tsx
4524
- import * as React27 from "react";
4809
+ import * as React31 from "react";
4525
4810
  import * as SelectPrimitive from "@radix-ui/react-select";
4526
4811
 
4527
4812
  // src/lib/form-control-classes.ts
4528
4813
  var formControlBaseClasses = "flex w-full items-center justify-between gap-4 rounded-[10px] border border-[color:var(--sofya-border-strong)] bg-card px-4 text-left [font-family:var(--sofya-text-body-font-family)] text-[length:var(--sofya-text-body-font-size)] [font-weight:var(--sofya-text-body-font-weight)] leading-[var(--sofya-text-body-line-height)] tracking-[var(--sofya-text-body-letter-spacing)] text-[color:var(--sofya-text-default)] shadow-none transition-[border-color,box-shadow,background-color,color] duration-sofya ease-sofya hover:border-[color:var(--sofya-border-hover)] focus:outline-none focus:ring-2 focus:ring-[color:var(--sofya-focus-ring-soft)] focus:ring-offset-0 active:border-transparent active:ring-2 active:ring-[color:var(--sofya-focus-ring-soft)] disabled:cursor-not-allowed disabled:bg-muted disabled:opacity-50 aria-invalid:border-destructive aria-invalid:focus:ring-destructive/20 data-[placeholder]:text-[color:var(--sofya-text-placeholder)]";
4529
4814
 
4530
4815
  // src/components/select.tsx
4531
- import { jsx as jsx29, jsxs as jsxs16 } from "react/jsx-runtime";
4816
+ import { jsx as jsx33, jsxs as jsxs17 } from "react/jsx-runtime";
4532
4817
  var selectSizeOptions = ["default", "sm"];
4533
4818
  var Select = SelectPrimitive.Root;
4534
4819
  var SelectGroup = SelectPrimitive.Group;
4535
- var SelectValue = React27.forwardRef(function SelectValue2({ className, ...props }, ref) {
4536
- return /* @__PURE__ */ jsx29(
4820
+ var SelectValue = React31.forwardRef(function SelectValue2({ className, ...props }, ref) {
4821
+ return /* @__PURE__ */ jsx33(
4537
4822
  Text,
4538
4823
  {
4539
4824
  ref,
@@ -4542,13 +4827,13 @@ var SelectValue = React27.forwardRef(function SelectValue2({ className, ...props
4542
4827
  className: cn("block truncate text-inherit", className),
4543
4828
  size: "tiny",
4544
4829
  style: inheritedTypographyStyle,
4545
- children: /* @__PURE__ */ jsx29(SelectPrimitive.Value, { className: "block truncate", ...props })
4830
+ children: /* @__PURE__ */ jsx33(SelectPrimitive.Value, { className: "block truncate", ...props })
4546
4831
  }
4547
4832
  );
4548
4833
  });
4549
4834
  SelectValue.displayName = SelectPrimitive.Value.displayName;
4550
- var SelectTrigger = React27.forwardRef(function SelectTrigger2({ className, children, size = "default", ...props }, ref) {
4551
- return /* @__PURE__ */ jsxs16(
4835
+ var SelectTrigger = React31.forwardRef(function SelectTrigger2({ className, children, size = "default", ...props }, ref) {
4836
+ return /* @__PURE__ */ jsxs17(
4552
4837
  SelectPrimitive.Trigger,
4553
4838
  {
4554
4839
  ref,
@@ -4562,7 +4847,7 @@ var SelectTrigger = React27.forwardRef(function SelectTrigger2({ className, chil
4562
4847
  ...props,
4563
4848
  children: [
4564
4849
  children,
4565
- /* @__PURE__ */ jsx29(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx29(
4850
+ /* @__PURE__ */ jsx33(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx33(
4566
4851
  Icon,
4567
4852
  {
4568
4853
  name: "caret-down",
@@ -4575,8 +4860,8 @@ var SelectTrigger = React27.forwardRef(function SelectTrigger2({ className, chil
4575
4860
  );
4576
4861
  });
4577
4862
  SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
4578
- var SelectScrollUpButton = React27.forwardRef(function SelectScrollUpButton2({ className, ...props }, ref) {
4579
- return /* @__PURE__ */ jsx29(
4863
+ var SelectScrollUpButton = React31.forwardRef(function SelectScrollUpButton2({ className, ...props }, ref) {
4864
+ return /* @__PURE__ */ jsx33(
4580
4865
  SelectPrimitive.ScrollUpButton,
4581
4866
  {
4582
4867
  ref,
@@ -4586,13 +4871,13 @@ var SelectScrollUpButton = React27.forwardRef(function SelectScrollUpButton2({ c
4586
4871
  className
4587
4872
  ),
4588
4873
  ...props,
4589
- children: /* @__PURE__ */ jsx29(Icon, { name: "caret-up", size: 12 })
4874
+ children: /* @__PURE__ */ jsx33(Icon, { name: "caret-up", size: 12 })
4590
4875
  }
4591
4876
  );
4592
4877
  });
4593
4878
  SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
4594
- var SelectScrollDownButton = React27.forwardRef(function SelectScrollDownButton2({ className, ...props }, ref) {
4595
- return /* @__PURE__ */ jsx29(
4879
+ var SelectScrollDownButton = React31.forwardRef(function SelectScrollDownButton2({ className, ...props }, ref) {
4880
+ return /* @__PURE__ */ jsx33(
4596
4881
  SelectPrimitive.ScrollDownButton,
4597
4882
  {
4598
4883
  ref,
@@ -4602,13 +4887,13 @@ var SelectScrollDownButton = React27.forwardRef(function SelectScrollDownButton2
4602
4887
  className
4603
4888
  ),
4604
4889
  ...props,
4605
- children: /* @__PURE__ */ jsx29(Icon, { name: "caret-down", size: 12 })
4890
+ children: /* @__PURE__ */ jsx33(Icon, { name: "caret-down", size: 12 })
4606
4891
  }
4607
4892
  );
4608
4893
  });
4609
4894
  SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
4610
- var SelectContent = React27.forwardRef(function SelectContent2({ className, children, position = "popper", ...props }, ref) {
4611
- return /* @__PURE__ */ jsx29(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs16(
4895
+ var SelectContent = React31.forwardRef(function SelectContent2({ className, children, position = "popper", ...props }, ref) {
4896
+ return /* @__PURE__ */ jsx33(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs17(
4612
4897
  SelectPrimitive.Content,
4613
4898
  {
4614
4899
  ref,
@@ -4621,8 +4906,8 @@ var SelectContent = React27.forwardRef(function SelectContent2({ className, chil
4621
4906
  ),
4622
4907
  ...props,
4623
4908
  children: [
4624
- /* @__PURE__ */ jsx29(SelectScrollUpButton, {}),
4625
- /* @__PURE__ */ jsx29(
4909
+ /* @__PURE__ */ jsx33(SelectScrollUpButton, {}),
4910
+ /* @__PURE__ */ jsx33(
4626
4911
  SelectPrimitive.Viewport,
4627
4912
  {
4628
4913
  "data-slot": "select-viewport",
@@ -4630,14 +4915,14 @@ var SelectContent = React27.forwardRef(function SelectContent2({ className, chil
4630
4915
  children
4631
4916
  }
4632
4917
  ),
4633
- /* @__PURE__ */ jsx29(SelectScrollDownButton, {})
4918
+ /* @__PURE__ */ jsx33(SelectScrollDownButton, {})
4634
4919
  ]
4635
4920
  }
4636
4921
  ) });
4637
4922
  });
4638
4923
  SelectContent.displayName = SelectPrimitive.Content.displayName;
4639
- var SelectLabel = React27.forwardRef(function SelectLabel2({ className, ...props }, ref) {
4640
- return /* @__PURE__ */ jsx29(
4924
+ var SelectLabel = React31.forwardRef(function SelectLabel2({ className, ...props }, ref) {
4925
+ return /* @__PURE__ */ jsx33(
4641
4926
  SelectPrimitive.Label,
4642
4927
  {
4643
4928
  ref,
@@ -4659,8 +4944,8 @@ var SelectLabel = React27.forwardRef(function SelectLabel2({ className, ...props
4659
4944
  );
4660
4945
  });
4661
4946
  SelectLabel.displayName = SelectPrimitive.Label.displayName;
4662
- var SelectItem = React27.forwardRef(function SelectItem2({ className, children, ...props }, ref) {
4663
- return /* @__PURE__ */ jsxs16(
4947
+ var SelectItem = React31.forwardRef(function SelectItem2({ className, children, ...props }, ref) {
4948
+ return /* @__PURE__ */ jsxs17(
4664
4949
  SelectPrimitive.Item,
4665
4950
  {
4666
4951
  ref,
@@ -4671,20 +4956,20 @@ var SelectItem = React27.forwardRef(function SelectItem2({ className, children,
4671
4956
  ),
4672
4957
  ...props,
4673
4958
  children: [
4674
- /* @__PURE__ */ jsx29(SelectPrimitive.ItemText, { className: "truncate", children: renderTextContent(children, {
4959
+ /* @__PURE__ */ jsx33(SelectPrimitive.ItemText, { className: "truncate", children: renderTextContent(children, {
4675
4960
  as: "span",
4676
4961
  className: "block truncate text-[color:var(--sofya-text-default)]",
4677
4962
  size: "tiny",
4678
4963
  style: inheritedTypographyStyle
4679
4964
  }) }),
4680
- /* @__PURE__ */ jsx29(SelectPrimitive.ItemIndicator, { asChild: true, children: /* @__PURE__ */ jsx29("span", { className: "absolute right-4 inline-flex h-4 w-4 items-center justify-center text-primary", children: /* @__PURE__ */ jsx29(Icon, { name: "check", size: 14 }) }) })
4965
+ /* @__PURE__ */ jsx33(SelectPrimitive.ItemIndicator, { asChild: true, children: /* @__PURE__ */ jsx33("span", { className: "absolute right-4 inline-flex h-4 w-4 items-center justify-center text-primary", children: /* @__PURE__ */ jsx33(Icon, { name: "check", size: 14 }) }) })
4681
4966
  ]
4682
4967
  }
4683
4968
  );
4684
4969
  });
4685
4970
  SelectItem.displayName = SelectPrimitive.Item.displayName;
4686
- var SelectSeparator = React27.forwardRef(function SelectSeparator2({ className, ...props }, ref) {
4687
- return /* @__PURE__ */ jsx29(
4971
+ var SelectSeparator = React31.forwardRef(function SelectSeparator2({ className, ...props }, ref) {
4972
+ return /* @__PURE__ */ jsx33(
4688
4973
  SelectPrimitive.Separator,
4689
4974
  {
4690
4975
  ref,
@@ -4697,11 +4982,11 @@ var SelectSeparator = React27.forwardRef(function SelectSeparator2({ className,
4697
4982
  SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
4698
4983
 
4699
4984
  // src/components/separator.tsx
4700
- import * as React28 from "react";
4985
+ import * as React32 from "react";
4701
4986
  import * as SeparatorPrimitive from "@radix-ui/react-separator";
4702
- import { jsx as jsx30 } from "react/jsx-runtime";
4703
- var Separator2 = React28.forwardRef(function Separator3({ className, decorative = true, orientation = "horizontal", ...props }, ref) {
4704
- return /* @__PURE__ */ jsx30(
4987
+ import { jsx as jsx34 } from "react/jsx-runtime";
4988
+ var Separator2 = React32.forwardRef(function Separator3({ className, decorative = true, orientation = "horizontal", ...props }, ref) {
4989
+ return /* @__PURE__ */ jsx34(
4705
4990
  SeparatorPrimitive.Root,
4706
4991
  {
4707
4992
  ref,
@@ -4720,8 +5005,8 @@ var Separator2 = React28.forwardRef(function Separator3({ className, decorative
4720
5005
  Separator2.displayName = SeparatorPrimitive.Root.displayName;
4721
5006
 
4722
5007
  // src/components/slider.tsx
4723
- import * as React29 from "react";
4724
- import { jsx as jsx31, jsxs as jsxs17 } from "react/jsx-runtime";
5008
+ import * as React33 from "react";
5009
+ import { jsx as jsx35, jsxs as jsxs18 } from "react/jsx-runtime";
4725
5010
  function clampSliderValue(value, min, max) {
4726
5011
  if (Number.isNaN(value)) {
4727
5012
  return min;
@@ -4746,7 +5031,7 @@ function resolveSliderMeasurement(value, fallback) {
4746
5031
  function isTextValue(value) {
4747
5032
  return typeof value === "string" || typeof value === "number";
4748
5033
  }
4749
- var Slider = React29.forwardRef(function Slider2({
5034
+ var Slider = React33.forwardRef(function Slider2({
4750
5035
  className,
4751
5036
  defaultValue,
4752
5037
  formatValue,
@@ -4769,7 +5054,7 @@ var Slider = React29.forwardRef(function Slider2({
4769
5054
  valueClassName,
4770
5055
  ...props
4771
5056
  }, ref) {
4772
- const resolvedId = React29.useId();
5057
+ const resolvedId = React33.useId();
4773
5058
  const inputId = id ?? resolvedId;
4774
5059
  const safeMin = min;
4775
5060
  const safeMax = resolveSliderMax(safeMin, max);
@@ -4778,7 +5063,7 @@ var Slider = React29.forwardRef(function Slider2({
4778
5063
  onChange: onValueChange,
4779
5064
  value
4780
5065
  });
4781
- React29.useEffect(() => {
5066
+ React33.useEffect(() => {
4782
5067
  if (value !== void 0) {
4783
5068
  return;
4784
5069
  }
@@ -4825,14 +5110,14 @@ var Slider = React29.forwardRef(function Slider2({
4825
5110
  setControllableValue(nextValue);
4826
5111
  onChange?.(event);
4827
5112
  };
4828
- return /* @__PURE__ */ jsxs17(
5113
+ return /* @__PURE__ */ jsxs18(
4829
5114
  "div",
4830
5115
  {
4831
5116
  "data-slot": "slider",
4832
5117
  className: cn("grid w-full gap-2", className),
4833
5118
  children: [
4834
- label || showValue ? /* @__PURE__ */ jsxs17("div", { className: "flex items-center justify-between gap-4", children: [
4835
- label ? /* @__PURE__ */ jsx31(
5119
+ label || showValue ? /* @__PURE__ */ jsxs18("div", { className: "flex items-center justify-between gap-4", children: [
5120
+ label ? /* @__PURE__ */ jsx35(
4836
5121
  FieldLabel,
4837
5122
  {
4838
5123
  htmlFor: inputId,
@@ -4843,8 +5128,8 @@ var Slider = React29.forwardRef(function Slider2({
4843
5128
  textClassName: "block min-w-0 text-[color:var(--sofya-text-default)]",
4844
5129
  children: label
4845
5130
  }
4846
- ) : /* @__PURE__ */ jsx31("span", {}),
4847
- showValue ? /* @__PURE__ */ jsx31(
5131
+ ) : /* @__PURE__ */ jsx35("span", {}),
5132
+ showValue ? /* @__PURE__ */ jsx35(
4848
5133
  "div",
4849
5134
  {
4850
5135
  className: cn(
@@ -4862,7 +5147,7 @@ var Slider = React29.forwardRef(function Slider2({
4862
5147
  }
4863
5148
  ) : null
4864
5149
  ] }) : null,
4865
- /* @__PURE__ */ jsxs17(
5150
+ /* @__PURE__ */ jsxs18(
4866
5151
  "div",
4867
5152
  {
4868
5153
  "data-slot": "slider-control",
@@ -4872,7 +5157,7 @@ var Slider = React29.forwardRef(function Slider2({
4872
5157
  ),
4873
5158
  style: controlStyle,
4874
5159
  children: [
4875
- /* @__PURE__ */ jsx31(
5160
+ /* @__PURE__ */ jsx35(
4876
5161
  "input",
4877
5162
  {
4878
5163
  ...props,
@@ -4889,7 +5174,7 @@ var Slider = React29.forwardRef(function Slider2({
4889
5174
  style: inputBoundsStyle
4890
5175
  }
4891
5176
  ),
4892
- /* @__PURE__ */ jsx31(
5177
+ /* @__PURE__ */ jsx35(
4893
5178
  "div",
4894
5179
  {
4895
5180
  "data-slot": "slider-track",
@@ -4900,7 +5185,7 @@ var Slider = React29.forwardRef(function Slider2({
4900
5185
  style: trackBoundsStyle
4901
5186
  }
4902
5187
  ),
4903
- /* @__PURE__ */ jsx31(
5188
+ /* @__PURE__ */ jsx35(
4904
5189
  "div",
4905
5190
  {
4906
5191
  "data-slot": "slider-range",
@@ -4911,7 +5196,7 @@ var Slider = React29.forwardRef(function Slider2({
4911
5196
  style: rangeStyle
4912
5197
  }
4913
5198
  ),
4914
- /* @__PURE__ */ jsx31(
5199
+ /* @__PURE__ */ jsx35(
4915
5200
  "div",
4916
5201
  {
4917
5202
  "data-slot": "slider-thumb",
@@ -4932,10 +5217,10 @@ var Slider = React29.forwardRef(function Slider2({
4932
5217
  Slider.displayName = "Slider";
4933
5218
 
4934
5219
  // src/components/skeleton.tsx
4935
- import * as React30 from "react";
4936
- import { jsx as jsx32 } from "react/jsx-runtime";
4937
- var Skeleton = React30.forwardRef(function Skeleton2({ className, ...props }, ref) {
4938
- return /* @__PURE__ */ jsx32(
5220
+ import * as React34 from "react";
5221
+ import { jsx as jsx36 } from "react/jsx-runtime";
5222
+ var Skeleton = React34.forwardRef(function Skeleton2({ className, ...props }, ref) {
5223
+ return /* @__PURE__ */ jsx36(
4939
5224
  "div",
4940
5225
  {
4941
5226
  ref,
@@ -4950,18 +5235,18 @@ var Skeleton = React30.forwardRef(function Skeleton2({ className, ...props }, re
4950
5235
  Skeleton.displayName = "Skeleton";
4951
5236
 
4952
5237
  // src/components/sonner.tsx
4953
- import * as React31 from "react";
5238
+ import * as React35 from "react";
4954
5239
  import {
4955
5240
  Toaster as SonnerToaster,
4956
5241
  toast
4957
5242
  } from "sonner";
4958
- import { jsx as jsx33 } from "react/jsx-runtime";
5243
+ import { jsx as jsx37 } from "react/jsx-runtime";
4959
5244
  var notificationVariantOptions = ["default", "success", "error", "warning"];
4960
5245
  function ToastStatusIcon({
4961
5246
  iconName,
4962
5247
  className
4963
5248
  }) {
4964
- return /* @__PURE__ */ jsx33(
5249
+ return /* @__PURE__ */ jsx37(
4965
5250
  "span",
4966
5251
  {
4967
5252
  "aria-hidden": "true",
@@ -4969,7 +5254,7 @@ function ToastStatusIcon({
4969
5254
  "inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-full border shadow-sofya-sm",
4970
5255
  className
4971
5256
  ),
4972
- children: /* @__PURE__ */ jsx33(Icon, { name: iconName, size: 16 })
5257
+ children: /* @__PURE__ */ jsx37(Icon, { name: iconName, size: 16 })
4973
5258
  }
4974
5259
  );
4975
5260
  }
@@ -4990,35 +5275,35 @@ var defaultToastClassNames = {
4990
5275
  loading: "border-border bg-card text-foreground"
4991
5276
  };
4992
5277
  var defaultToastIcons = {
4993
- success: /* @__PURE__ */ jsx33(
5278
+ success: /* @__PURE__ */ jsx37(
4994
5279
  ToastStatusIcon,
4995
5280
  {
4996
5281
  iconName: "check",
4997
5282
  className: "border-success/15 bg-success/12 text-success"
4998
5283
  }
4999
5284
  ),
5000
- error: /* @__PURE__ */ jsx33(
5285
+ error: /* @__PURE__ */ jsx37(
5001
5286
  ToastStatusIcon,
5002
5287
  {
5003
5288
  iconName: "x",
5004
5289
  className: "border-destructive/15 bg-destructive/12 text-destructive"
5005
5290
  }
5006
5291
  ),
5007
- warning: /* @__PURE__ */ jsx33(
5292
+ warning: /* @__PURE__ */ jsx37(
5008
5293
  ToastStatusIcon,
5009
5294
  {
5010
5295
  iconName: "question",
5011
5296
  className: "border-warning/20 bg-warning/15 text-foreground"
5012
5297
  }
5013
5298
  ),
5014
- info: /* @__PURE__ */ jsx33(
5299
+ info: /* @__PURE__ */ jsx37(
5015
5300
  ToastStatusIcon,
5016
5301
  {
5017
5302
  iconName: "question",
5018
5303
  className: "border-primary/15 bg-primary/10 text-primary"
5019
5304
  }
5020
5305
  ),
5021
- close: /* @__PURE__ */ jsx33(Icon, { name: "x", size: 12 })
5306
+ close: /* @__PURE__ */ jsx37(Icon, { name: "x", size: 12 })
5022
5307
  };
5023
5308
  function mergeToastClassNames(overrides) {
5024
5309
  return {
@@ -5026,7 +5311,7 @@ function mergeToastClassNames(overrides) {
5026
5311
  ...overrides
5027
5312
  };
5028
5313
  }
5029
- var Toaster = React31.forwardRef(
5314
+ var Toaster = React35.forwardRef(
5030
5315
  function Toaster2({
5031
5316
  className,
5032
5317
  closeButton = true,
@@ -5038,7 +5323,7 @@ var Toaster = React31.forwardRef(
5038
5323
  visibleToasts = 5,
5039
5324
  ...props
5040
5325
  }, ref) {
5041
- return /* @__PURE__ */ jsx33(
5326
+ return /* @__PURE__ */ jsx37(
5042
5327
  SonnerToaster,
5043
5328
  {
5044
5329
  ref,
@@ -5068,9 +5353,9 @@ var Toaster = React31.forwardRef(
5068
5353
  Toaster.displayName = "Toaster";
5069
5354
 
5070
5355
  // src/components/switch.tsx
5071
- import * as React32 from "react";
5356
+ import * as React36 from "react";
5072
5357
  import * as SwitchPrimitives from "@radix-ui/react-switch";
5073
- import { jsx as jsx34, jsxs as jsxs18 } from "react/jsx-runtime";
5358
+ import { jsx as jsx38, jsxs as jsxs19 } from "react/jsx-runtime";
5074
5359
  var switchSizeOptions = ["default", "sm"];
5075
5360
  var switchRootSizeClasses = {
5076
5361
  default: "h-6 w-11",
@@ -5080,7 +5365,7 @@ var switchThumbSizeClasses = {
5080
5365
  default: "h-5 w-5 data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0",
5081
5366
  sm: "h-4 w-4 data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0"
5082
5367
  };
5083
- var Switch = React32.forwardRef(
5368
+ var Switch = React36.forwardRef(
5084
5369
  ({
5085
5370
  "aria-describedby": ariaDescribedBy,
5086
5371
  "aria-labelledby": ariaLabelledBy,
@@ -5095,16 +5380,16 @@ var Switch = React32.forwardRef(
5095
5380
  size,
5096
5381
  ...props
5097
5382
  }, ref) => {
5098
- const generatedId = React32.useId();
5383
+ const generatedId = React36.useId();
5099
5384
  const resolvedId = id ?? generatedId;
5100
5385
  const labelId = label ? `${resolvedId}-label` : void 0;
5101
5386
  const descriptionId = description ? `${resolvedId}-description` : void 0;
5102
5387
  const hasTextContent = label !== void 0 || description !== void 0;
5103
5388
  const resolvedSize = size ?? (hasTextContent ? "sm" : "default");
5104
- const alignClassName = description ? "items-start" : "items-center";
5389
+ const alignClassName2 = description ? "items-start" : "items-center";
5105
5390
  const resolvedAriaDescribedBy = [ariaDescribedBy, descriptionId].filter(Boolean).join(" ") || void 0;
5106
5391
  const resolvedAriaLabelledBy = ariaLabelledBy ?? labelId;
5107
- const switchControl = /* @__PURE__ */ jsx34(
5392
+ const switchControl = /* @__PURE__ */ jsx38(
5108
5393
  SwitchPrimitives.Root,
5109
5394
  {
5110
5395
  id: resolvedId,
@@ -5119,7 +5404,7 @@ var Switch = React32.forwardRef(
5119
5404
  "data-size": resolvedSize,
5120
5405
  ...props,
5121
5406
  ref,
5122
- children: /* @__PURE__ */ jsx34(
5407
+ children: /* @__PURE__ */ jsx38(
5123
5408
  SwitchPrimitives.Thumb,
5124
5409
  {
5125
5410
  className: cn(
@@ -5133,19 +5418,19 @@ var Switch = React32.forwardRef(
5133
5418
  if (!hasTextContent) {
5134
5419
  return switchControl;
5135
5420
  }
5136
- return /* @__PURE__ */ jsxs18(
5421
+ return /* @__PURE__ */ jsxs19(
5137
5422
  "div",
5138
5423
  {
5139
5424
  "data-slot": "switch-container",
5140
5425
  className: selectionControlContainerClasses({
5141
- alignClassName,
5426
+ alignClassName: alignClassName2,
5142
5427
  className: containerClassName,
5143
5428
  disabled
5144
5429
  }),
5145
5430
  children: [
5146
5431
  switchControl,
5147
- /* @__PURE__ */ jsxs18("span", { className: selectionControlContentBaseClasses, children: [
5148
- label ? /* @__PURE__ */ jsx34("label", { htmlFor: resolvedId, className: selectionControlLabelTextBaseClasses, children: /* @__PURE__ */ jsx34(
5432
+ /* @__PURE__ */ jsxs19("span", { className: selectionControlContentBaseClasses, children: [
5433
+ label ? /* @__PURE__ */ jsx38("label", { htmlFor: resolvedId, className: selectionControlLabelTextBaseClasses, children: /* @__PURE__ */ jsx38(
5149
5434
  "span",
5150
5435
  {
5151
5436
  id: labelId,
@@ -5160,7 +5445,7 @@ var Switch = React32.forwardRef(
5160
5445
  })
5161
5446
  }
5162
5447
  ) }) : null,
5163
- description ? /* @__PURE__ */ jsx34(
5448
+ description ? /* @__PURE__ */ jsx38(
5164
5449
  "span",
5165
5450
  {
5166
5451
  id: descriptionId,
@@ -5185,8 +5470,8 @@ Switch.displayName = SwitchPrimitives.Root.displayName;
5185
5470
 
5186
5471
  // src/components/table.tsx
5187
5472
  import { cva as cva8 } from "class-variance-authority";
5188
- import * as React33 from "react";
5189
- import { jsx as jsx35 } from "react/jsx-runtime";
5473
+ import * as React37 from "react";
5474
+ import { jsx as jsx39 } from "react/jsx-runtime";
5190
5475
  var tableCellVariantOptions = ["default", "primary", "muted"];
5191
5476
  var tableStatusToneOptions = [
5192
5477
  "active",
@@ -5236,13 +5521,13 @@ var tableActionButtonVariants = cva8(
5236
5521
  }
5237
5522
  }
5238
5523
  );
5239
- var Table = React33.forwardRef(function Table2({ className, ...props }, ref) {
5240
- return /* @__PURE__ */ jsx35(
5524
+ var Table = React37.forwardRef(function Table2({ className, ...props }, ref) {
5525
+ return /* @__PURE__ */ jsx39(
5241
5526
  "div",
5242
5527
  {
5243
5528
  "data-slot": "table-container",
5244
5529
  className: "relative w-full overflow-x-auto",
5245
- children: /* @__PURE__ */ jsx35(
5530
+ children: /* @__PURE__ */ jsx39(
5246
5531
  "table",
5247
5532
  {
5248
5533
  "data-slot": "table",
@@ -5257,8 +5542,8 @@ var Table = React33.forwardRef(function Table2({ className, ...props }, ref) {
5257
5542
  }
5258
5543
  );
5259
5544
  });
5260
- var TableHeader = React33.forwardRef(function TableHeader2({ className, ...props }, ref) {
5261
- return /* @__PURE__ */ jsx35(
5545
+ var TableHeader = React37.forwardRef(function TableHeader2({ className, ...props }, ref) {
5546
+ return /* @__PURE__ */ jsx39(
5262
5547
  "thead",
5263
5548
  {
5264
5549
  "data-slot": "table-header",
@@ -5271,8 +5556,8 @@ var TableHeader = React33.forwardRef(function TableHeader2({ className, ...props
5271
5556
  }
5272
5557
  );
5273
5558
  });
5274
- var TableBody = React33.forwardRef(function TableBody2({ className, ...props }, ref) {
5275
- return /* @__PURE__ */ jsx35(
5559
+ var TableBody = React37.forwardRef(function TableBody2({ className, ...props }, ref) {
5560
+ return /* @__PURE__ */ jsx39(
5276
5561
  "tbody",
5277
5562
  {
5278
5563
  "data-slot": "table-body",
@@ -5282,8 +5567,8 @@ var TableBody = React33.forwardRef(function TableBody2({ className, ...props },
5282
5567
  }
5283
5568
  );
5284
5569
  });
5285
- var TableFooter = React33.forwardRef(function TableFooter2({ className, ...props }, ref) {
5286
- return /* @__PURE__ */ jsx35(
5570
+ var TableFooter = React37.forwardRef(function TableFooter2({ className, ...props }, ref) {
5571
+ return /* @__PURE__ */ jsx39(
5287
5572
  "tfoot",
5288
5573
  {
5289
5574
  "data-slot": "table-footer",
@@ -5296,8 +5581,8 @@ var TableFooter = React33.forwardRef(function TableFooter2({ className, ...props
5296
5581
  }
5297
5582
  );
5298
5583
  });
5299
- var TableRow = React33.forwardRef(function TableRow2({ className, ...props }, ref) {
5300
- return /* @__PURE__ */ jsx35(
5584
+ var TableRow = React37.forwardRef(function TableRow2({ className, ...props }, ref) {
5585
+ return /* @__PURE__ */ jsx39(
5301
5586
  "tr",
5302
5587
  {
5303
5588
  "data-slot": "table-row",
@@ -5310,8 +5595,8 @@ var TableRow = React33.forwardRef(function TableRow2({ className, ...props }, re
5310
5595
  }
5311
5596
  );
5312
5597
  });
5313
- var TableHead = React33.forwardRef(function TableHead2({ className, children, ...props }, ref) {
5314
- return /* @__PURE__ */ jsx35(
5598
+ var TableHead = React37.forwardRef(function TableHead2({ className, children, ...props }, ref) {
5599
+ return /* @__PURE__ */ jsx39(
5315
5600
  "th",
5316
5601
  {
5317
5602
  "data-slot": "table-head",
@@ -5330,9 +5615,9 @@ var TableHead = React33.forwardRef(function TableHead2({ className, children, ..
5330
5615
  }
5331
5616
  );
5332
5617
  });
5333
- var TableCell = React33.forwardRef(
5618
+ var TableCell = React37.forwardRef(
5334
5619
  function TableCell2({ className, variant, truncate, children, ...props }, ref) {
5335
- return /* @__PURE__ */ jsx35(
5620
+ return /* @__PURE__ */ jsx39(
5336
5621
  "td",
5337
5622
  {
5338
5623
  "data-slot": "table-cell",
@@ -5356,8 +5641,8 @@ var TableCell = React33.forwardRef(
5356
5641
  );
5357
5642
  }
5358
5643
  );
5359
- var TableCaption = React33.forwardRef(function TableCaption2({ className, children, ...props }, ref) {
5360
- return /* @__PURE__ */ jsx35(
5644
+ var TableCaption = React37.forwardRef(function TableCaption2({ className, children, ...props }, ref) {
5645
+ return /* @__PURE__ */ jsx39(
5361
5646
  "caption",
5362
5647
  {
5363
5648
  "data-slot": "table-caption",
@@ -5382,7 +5667,7 @@ function TableStatusBadge({
5382
5667
  children,
5383
5668
  ...props
5384
5669
  }) {
5385
- return /* @__PURE__ */ jsx35(
5670
+ return /* @__PURE__ */ jsx39(
5386
5671
  Badge,
5387
5672
  {
5388
5673
  variant: "pill",
@@ -5397,8 +5682,8 @@ function TableStatusBadge({
5397
5682
  }
5398
5683
  );
5399
5684
  }
5400
- var TableActionButton = React33.forwardRef(function TableActionButton2({ className, tone, type = "button", children, ...props }, ref) {
5401
- return /* @__PURE__ */ jsx35(
5685
+ var TableActionButton = React37.forwardRef(function TableActionButton2({ className, tone, type = "button", children, ...props }, ref) {
5686
+ return /* @__PURE__ */ jsx39(
5402
5687
  Button,
5403
5688
  {
5404
5689
  ref,
@@ -5416,8 +5701,8 @@ var TableActionButton = React33.forwardRef(function TableActionButton2({ classNa
5416
5701
  }
5417
5702
  );
5418
5703
  });
5419
- var TableActions = React33.forwardRef(function TableActions2({ className, ...props }, ref) {
5420
- return /* @__PURE__ */ jsx35(
5704
+ var TableActions = React37.forwardRef(function TableActions2({ className, ...props }, ref) {
5705
+ return /* @__PURE__ */ jsx39(
5421
5706
  "div",
5422
5707
  {
5423
5708
  ref,
@@ -5438,10 +5723,10 @@ TableActionButton.displayName = "TableActionButton";
5438
5723
  TableActions.displayName = "TableActions";
5439
5724
 
5440
5725
  // src/components/tabs.tsx
5441
- import * as React34 from "react";
5726
+ import * as React38 from "react";
5442
5727
  import * as TabsPrimitive from "@radix-ui/react-tabs";
5443
5728
  import { motion as motion3 } from "motion/react";
5444
- import { jsx as jsx36, jsxs as jsxs19 } from "react/jsx-runtime";
5729
+ import { jsx as jsx40, jsxs as jsxs20 } from "react/jsx-runtime";
5445
5730
  function resolveDefaultValue(items, defaultValue) {
5446
5731
  if (defaultValue) {
5447
5732
  return defaultValue;
@@ -5465,13 +5750,13 @@ function Tabs({
5465
5750
  onChange: onValueChange,
5466
5751
  value
5467
5752
  });
5468
- const indicatorLayoutId = React34.useId();
5469
- React34.useEffect(() => {
5753
+ const indicatorLayoutId = React38.useId();
5754
+ React38.useEffect(() => {
5470
5755
  if (value === void 0) {
5471
5756
  setUncontrolledCurrentValue(resolvedDefaultValue);
5472
5757
  }
5473
5758
  }, [resolvedDefaultValue, setUncontrolledCurrentValue, value]);
5474
- return /* @__PURE__ */ jsxs19(
5759
+ return /* @__PURE__ */ jsxs20(
5475
5760
  TabsPrimitive.Root,
5476
5761
  {
5477
5762
  className: cn("w-full", className),
@@ -5479,7 +5764,7 @@ function Tabs({
5479
5764
  value: currentValue,
5480
5765
  ...props,
5481
5766
  children: [
5482
- /* @__PURE__ */ jsx36(
5767
+ /* @__PURE__ */ jsx40(
5483
5768
  TabsPrimitive.List,
5484
5769
  {
5485
5770
  "aria-label": "Subtelas navegaveis",
@@ -5490,7 +5775,7 @@ function Tabs({
5490
5775
  children: items.map((item) => {
5491
5776
  const isUnavailable = item.disabled || item.loading;
5492
5777
  const isActive = item.value === currentValue;
5493
- return /* @__PURE__ */ jsxs19(
5778
+ return /* @__PURE__ */ jsxs20(
5494
5779
  TabsPrimitive.Trigger,
5495
5780
  {
5496
5781
  value: item.value,
@@ -5502,7 +5787,7 @@ function Tabs({
5502
5787
  item.triggerClassName
5503
5788
  ),
5504
5789
  children: [
5505
- isActive ? /* @__PURE__ */ jsx36(
5790
+ isActive ? /* @__PURE__ */ jsx40(
5506
5791
  motion3.span,
5507
5792
  {
5508
5793
  "aria-hidden": "true",
@@ -5512,15 +5797,15 @@ function Tabs({
5512
5797
  transition: { duration: 0.25, ease: "easeInOut" }
5513
5798
  }
5514
5799
  ) : null,
5515
- /* @__PURE__ */ jsxs19("span", { className: "relative z-10 inline-flex items-center gap-2", children: [
5516
- item.loading ? /* @__PURE__ */ jsx36(
5800
+ /* @__PURE__ */ jsxs20("span", { className: "relative z-10 inline-flex items-center gap-2", children: [
5801
+ item.loading ? /* @__PURE__ */ jsx40(
5517
5802
  "span",
5518
5803
  {
5519
5804
  "aria-hidden": "true",
5520
5805
  className: "h-4 w-4 animate-spin rounded-full border-2 border-current border-r-transparent"
5521
5806
  }
5522
5807
  ) : null,
5523
- /* @__PURE__ */ jsx36("span", { children: renderTextContent(item.label, {
5808
+ /* @__PURE__ */ jsx40("span", { children: renderTextContent(item.label, {
5524
5809
  as: "span",
5525
5810
  className: "block text-inherit",
5526
5811
  size: "body"
@@ -5534,7 +5819,7 @@ function Tabs({
5534
5819
  }
5535
5820
  ),
5536
5821
  items.map(
5537
- (item) => item.content !== void 0 ? /* @__PURE__ */ jsx36(
5822
+ (item) => item.content !== void 0 ? /* @__PURE__ */ jsx40(
5538
5823
  TabsPrimitive.Content,
5539
5824
  {
5540
5825
  value: item.value,
@@ -5557,9 +5842,9 @@ function Tabs({
5557
5842
  Tabs.displayName = "Tabs";
5558
5843
 
5559
5844
  // src/components/textarea.tsx
5560
- import * as React35 from "react";
5561
- import { jsx as jsx37 } from "react/jsx-runtime";
5562
- var Textarea = React35.forwardRef(
5845
+ import * as React39 from "react";
5846
+ import { jsx as jsx41 } from "react/jsx-runtime";
5847
+ var Textarea = React39.forwardRef(
5563
5848
  ({
5564
5849
  className,
5565
5850
  containerClassName,
@@ -5569,10 +5854,10 @@ var Textarea = React35.forwardRef(
5569
5854
  rows = 5,
5570
5855
  ...props
5571
5856
  }, ref) => {
5572
- const generatedId = React35.useId();
5857
+ const generatedId = React39.useId();
5573
5858
  const resolvedId = id ?? generatedId;
5574
5859
  const ariaLabel = props["aria-label"] ?? (typeof label === "string" ? label : void 0);
5575
- const control = /* @__PURE__ */ jsx37(
5860
+ const control = /* @__PURE__ */ jsx41(
5576
5861
  "textarea",
5577
5862
  {
5578
5863
  className: cn(
@@ -5586,7 +5871,7 @@ var Textarea = React35.forwardRef(
5586
5871
  "aria-label": ariaLabel
5587
5872
  }
5588
5873
  );
5589
- return /* @__PURE__ */ jsx37(
5874
+ return /* @__PURE__ */ jsx41(
5590
5875
  FieldShell,
5591
5876
  {
5592
5877
  control,
@@ -5601,10 +5886,10 @@ var Textarea = React35.forwardRef(
5601
5886
  Textarea.displayName = "Textarea";
5602
5887
 
5603
5888
  // src/components/toggle.tsx
5604
- import * as React36 from "react";
5889
+ import * as React40 from "react";
5605
5890
  import * as SwitchPrimitives2 from "@radix-ui/react-switch";
5606
- import { jsx as jsx38, jsxs as jsxs20 } from "react/jsx-runtime";
5607
- var Toggle = React36.forwardRef(function Toggle2({
5891
+ import { jsx as jsx42, jsxs as jsxs21 } from "react/jsx-runtime";
5892
+ var Toggle = React40.forwardRef(function Toggle2({
5608
5893
  "aria-describedby": ariaDescribedBy,
5609
5894
  "aria-labelledby": ariaLabelledBy,
5610
5895
  className,
@@ -5617,15 +5902,15 @@ var Toggle = React36.forwardRef(function Toggle2({
5617
5902
  labelClassName,
5618
5903
  ...props
5619
5904
  }, ref) {
5620
- const generatedId = React36.useId();
5905
+ const generatedId = React40.useId();
5621
5906
  const resolvedId = id ?? generatedId;
5622
5907
  const labelId = label ? `${resolvedId}-label` : void 0;
5623
5908
  const descriptionId = description ? `${resolvedId}-description` : void 0;
5624
5909
  const hasTextContent = label !== void 0 || description !== void 0;
5625
- const alignClassName = description ? "items-start" : "items-center";
5910
+ const alignClassName2 = description ? "items-start" : "items-center";
5626
5911
  const resolvedAriaDescribedBy = [ariaDescribedBy, descriptionId].filter(Boolean).join(" ") || void 0;
5627
5912
  const resolvedAriaLabelledBy = ariaLabelledBy ?? labelId;
5628
- const toggleControl = /* @__PURE__ */ jsx38(
5913
+ const toggleControl = /* @__PURE__ */ jsx42(
5629
5914
  SwitchPrimitives2.Root,
5630
5915
  {
5631
5916
  id: resolvedId,
@@ -5639,7 +5924,7 @@ var Toggle = React36.forwardRef(function Toggle2({
5639
5924
  className
5640
5925
  ),
5641
5926
  ...props,
5642
- children: /* @__PURE__ */ jsx38(
5927
+ children: /* @__PURE__ */ jsx42(
5643
5928
  SwitchPrimitives2.Thumb,
5644
5929
  {
5645
5930
  "data-slot": "toggle-thumb",
@@ -5651,19 +5936,19 @@ var Toggle = React36.forwardRef(function Toggle2({
5651
5936
  if (!hasTextContent) {
5652
5937
  return toggleControl;
5653
5938
  }
5654
- return /* @__PURE__ */ jsxs20(
5939
+ return /* @__PURE__ */ jsxs21(
5655
5940
  "div",
5656
5941
  {
5657
5942
  "data-slot": "toggle-container",
5658
5943
  className: selectionControlContainerClasses({
5659
- alignClassName,
5944
+ alignClassName: alignClassName2,
5660
5945
  className: containerClassName,
5661
5946
  disabled
5662
5947
  }),
5663
5948
  children: [
5664
5949
  toggleControl,
5665
- /* @__PURE__ */ jsxs20("span", { className: selectionControlContentBaseClasses, children: [
5666
- label ? /* @__PURE__ */ jsx38("label", { htmlFor: resolvedId, className: selectionControlLabelTextBaseClasses, children: /* @__PURE__ */ jsx38(
5950
+ /* @__PURE__ */ jsxs21("span", { className: selectionControlContentBaseClasses, children: [
5951
+ label ? /* @__PURE__ */ jsx42("label", { htmlFor: resolvedId, className: selectionControlLabelTextBaseClasses, children: /* @__PURE__ */ jsx42(
5667
5952
  "span",
5668
5953
  {
5669
5954
  id: labelId,
@@ -5675,7 +5960,7 @@ var Toggle = React36.forwardRef(function Toggle2({
5675
5960
  })
5676
5961
  }
5677
5962
  ) }) : null,
5678
- description ? /* @__PURE__ */ jsx38(
5963
+ description ? /* @__PURE__ */ jsx42(
5679
5964
  "span",
5680
5965
  {
5681
5966
  id: descriptionId,
@@ -5698,14 +5983,14 @@ var Toggle = React36.forwardRef(function Toggle2({
5698
5983
  Toggle.displayName = "Toggle";
5699
5984
 
5700
5985
  // src/components/tooltip.tsx
5701
- import * as React37 from "react";
5986
+ import * as React41 from "react";
5702
5987
  import * as TooltipPrimitive from "@radix-ui/react-tooltip";
5703
- import { jsx as jsx39 } from "react/jsx-runtime";
5988
+ import { jsx as jsx43 } from "react/jsx-runtime";
5704
5989
  var TooltipProvider = TooltipPrimitive.Provider;
5705
5990
  var Tooltip = TooltipPrimitive.Root;
5706
5991
  var TooltipTrigger = TooltipPrimitive.Trigger;
5707
- var TooltipContent = React37.forwardRef(function TooltipContent2({ className, sideOffset = 8, ...props }, ref) {
5708
- return /* @__PURE__ */ jsx39(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsx39(
5992
+ var TooltipContent = React41.forwardRef(function TooltipContent2({ className, sideOffset = 8, ...props }, ref) {
5993
+ return /* @__PURE__ */ jsx43(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsx43(
5709
5994
  TooltipPrimitive.Content,
5710
5995
  {
5711
5996
  ref,
@@ -5729,13 +6014,13 @@ var TooltipContent = React37.forwardRef(function TooltipContent2({ className, si
5729
6014
  TooltipContent.displayName = TooltipPrimitive.Content.displayName;
5730
6015
 
5731
6016
  // src/theme/provider.tsx
5732
- import * as React38 from "react";
6017
+ import * as React42 from "react";
5733
6018
  import {
5734
6019
  createWhitelabelTheme,
5735
6020
  defaultTheme,
5736
6021
  themeToCssVariables
5737
6022
  } from "@sofya-ds/tokens";
5738
- import { jsx as jsx40 } from "react/jsx-runtime";
6023
+ import { jsx as jsx44 } from "react/jsx-runtime";
5739
6024
  var SOFYA_FONT_LINKS = [
5740
6025
  {
5741
6026
  id: "preconnect-googleapis",
@@ -5755,7 +6040,7 @@ var SOFYA_FONT_LINKS = [
5755
6040
  }
5756
6041
  ];
5757
6042
  function useSofyaFontLinks() {
5758
- React38.useEffect(() => {
6043
+ React42.useEffect(() => {
5759
6044
  if (typeof document === "undefined") {
5760
6045
  return;
5761
6046
  }
@@ -5788,7 +6073,7 @@ function SofyaProvider({
5788
6073
  useSofyaFontLinks();
5789
6074
  const theme = createWhitelabelTheme(overrides ?? {}, preset);
5790
6075
  const cssVariables = themeToCssVariables(theme);
5791
- return /* @__PURE__ */ jsx40(
6076
+ return /* @__PURE__ */ jsx44(
5792
6077
  "div",
5793
6078
  {
5794
6079
  "data-sofya-theme": theme.name,
@@ -5813,9 +6098,13 @@ import {
5813
6098
  resolveTheme,
5814
6099
  sofyaBrandPalette,
5815
6100
  sofyaColorPalette,
6101
+ sofyaGapNames,
6102
+ sofyaMeasureNames,
6103
+ sofyaRhythmNames,
5816
6104
  sofyaSemanticColorHex,
5817
- sofyaSurfaceNames,
5818
- sofyaTextStyleNames,
6105
+ sofyaSpaceNames,
6106
+ sofyaSurfaceNames as sofyaSurfaceNames2,
6107
+ sofyaTextStyleNames as sofyaTextStyleNames2,
5819
6108
  themePresetNames,
5820
6109
  themePresets,
5821
6110
  themeToCssVariables as themeToCssVariables2
@@ -5838,6 +6127,8 @@ export {
5838
6127
  CardHeader,
5839
6128
  CardTitle,
5840
6129
  Checkbox,
6130
+ Cluster,
6131
+ Container,
5841
6132
  Dialog,
5842
6133
  DialogBody,
5843
6134
  DialogCancel,
@@ -5850,6 +6141,7 @@ export {
5850
6141
  DialogPortal,
5851
6142
  DialogTitle,
5852
6143
  DialogTrigger,
6144
+ DocumentCard,
5853
6145
  Dropdown,
5854
6146
  DropdownSearch,
5855
6147
  Empty,
@@ -5859,6 +6151,7 @@ export {
5859
6151
  EmptyMedia,
5860
6152
  EmptyTitle,
5861
6153
  Icon,
6154
+ Inline,
5862
6155
  Input,
5863
6156
  InputOTP,
5864
6157
  InputOTPGroup,
@@ -5883,6 +6176,11 @@ export {
5883
6176
  PopoverTitle,
5884
6177
  PopoverTrigger,
5885
6178
  Progress,
6179
+ ProseDialogBody,
6180
+ ProseDialogContent,
6181
+ ProseDialogDescription,
6182
+ ProseDialogHeader,
6183
+ ProseDialogTitle,
5886
6184
  REGEXP_ONLY_DIGITS,
5887
6185
  RadioGroup3 as RadioGroup,
5888
6186
  RadioGroupItem,
@@ -5891,6 +6189,7 @@ export {
5891
6189
  RadioGroupOptionDescription,
5892
6190
  RadioGroupOptionIndicator,
5893
6191
  RadioGroupOptionLabel,
6192
+ RightRailAction,
5894
6193
  ScrollArea,
5895
6194
  ScrollAreaCorner,
5896
6195
  ScrollAreaScrollbar,
@@ -5910,6 +6209,7 @@ export {
5910
6209
  Slider,
5911
6210
  SofyaProvider,
5912
6211
  Spinner,
6212
+ Stack,
5913
6213
  Surface,
5914
6214
  Switch,
5915
6215
  Table,
@@ -5980,10 +6280,15 @@ export {
5980
6280
  selectSizeOptions,
5981
6281
  sofyaBrandPalette,
5982
6282
  sofyaColorPalette,
6283
+ sofyaGapNames,
6284
+ sofyaMeasureNames,
6285
+ sofyaRhythmNames,
5983
6286
  sofyaSemanticColorHex,
5984
- sofyaSurfaceNames,
5985
- sofyaTextStyleNames,
6287
+ sofyaSpaceNames,
6288
+ sofyaSurfaceNames2 as sofyaSurfaceNames,
6289
+ sofyaTextStyleNames2 as sofyaTextStyleNames,
5986
6290
  spinnerSizeOptions,
6291
+ surfaceVariantOptions,
5987
6292
  switchSizeOptions,
5988
6293
  tableActionToneOptions,
5989
6294
  tableCellVariantOptions,