@sofya-ds/react 1.3.2 → 1.3.6

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.cjs CHANGED
@@ -48,6 +48,7 @@ __export(index_exports, {
48
48
  CardTitle: () => CardTitle,
49
49
  Checkbox: () => Checkbox,
50
50
  Dialog: () => Dialog,
51
+ DialogBody: () => DialogBody,
51
52
  DialogCancel: () => DialogCancel,
52
53
  DialogClose: () => DialogClose,
53
54
  DialogContent: () => DialogContent,
@@ -551,7 +552,7 @@ Icon.displayName = "Icon";
551
552
  // src/components/text.tsx
552
553
  var React3 = __toESM(require("react"), 1);
553
554
  var import_jsx_runtime3 = require("react/jsx-runtime");
554
- var textSizeOptions = ["h1", "h2", "h3", "h4", "h5", "body", "tiny"];
555
+ var textSizeOptions = ["h1", "h2", "h3", "h4", "h5", "body", "tiny", "extra-tiny"];
555
556
  var textVariantOptions = ["default", "gradient", "shiny", "split"];
556
557
  var textSplitTypeOptions = ["chars", "words", "words, chars"];
557
558
  var defaultElements = {
@@ -561,7 +562,8 @@ var defaultElements = {
561
562
  h4: "h4",
562
563
  h5: "h5",
563
564
  body: "p",
564
- tiny: "span"
565
+ tiny: "span",
566
+ "extra-tiny": "span"
565
567
  };
566
568
  var textSizeStyles = Object.fromEntries(
567
569
  textSizeOptions.map((size) => [
@@ -1514,7 +1516,7 @@ var buttonVariants = (0, import_class_variance_authority4.cva)(
1514
1516
  language: "border-0 bg-muted bg-cover bg-center bg-no-repeat text-primary-foreground shadow-none hover:brightness-[1.03]",
1515
1517
  secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/85",
1516
1518
  outline: "border border-primary/15 bg-background text-foreground hover:border-primary/30 hover:bg-background active:bg-background",
1517
- ghost: "bg-background text-foreground hover:bg-muted",
1519
+ ghost: "bg-transparent text-foreground hover:bg-muted",
1518
1520
  destructive: "bg-destructive text-destructive-foreground hover:brightness-[1.04]"
1519
1521
  },
1520
1522
  size: {
@@ -1640,7 +1642,7 @@ var Button = React8.forwardRef(
1640
1642
  hasChildren ? renderTextContent(children, {
1641
1643
  as: "span",
1642
1644
  className: "inline-flex items-center text-current",
1643
- size: "body",
1645
+ size: "tiny",
1644
1646
  style: {
1645
1647
  fontWeight: "inherit",
1646
1648
  letterSpacing: "inherit"
@@ -1720,21 +1722,12 @@ var surfaceStyles = {
1720
1722
  "--sofya-surface-shadow-base": "var(--sofya-surface-card-shadow)",
1721
1723
  boxShadow: "var(--sofya-surface-shadow-override, var(--sofya-surface-shadow-base))"
1722
1724
  },
1723
- panel: {
1724
- backgroundColor: "hsl(var(--sofya-surface-panel-background))",
1725
- borderColor: "hsl(var(--sofya-surface-panel-border-color))",
1726
- borderWidth: "var(--sofya-surface-panel-border-width)",
1727
- borderStyle: "solid",
1728
- borderRadius: "var(--sofya-surface-panel-radius)",
1729
- "--sofya-surface-shadow-base": "var(--sofya-surface-panel-shadow)",
1730
- boxShadow: "var(--sofya-surface-shadow-override, var(--sofya-surface-shadow-base))"
1731
- },
1732
1725
  focus: {
1733
1726
  backgroundColor: "hsl(var(--sofya-surface-focus-background))",
1734
1727
  borderColor: "hsl(var(--sofya-surface-focus-border-color))",
1735
1728
  borderWidth: "var(--sofya-surface-focus-border-width)",
1736
1729
  borderStyle: "solid",
1737
- borderRadius: "var(--sofya-surface-focus-radius)",
1730
+ borderRadius: "var(--sofya-surface-card-radius)",
1738
1731
  "--sofya-surface-shadow-base": "var(--sofya-surface-focus-shadow)",
1739
1732
  boxShadow: "var(--sofya-surface-shadow-override, var(--sofya-surface-shadow-base))"
1740
1733
  }
@@ -1758,9 +1751,9 @@ var Surface = SurfaceBase;
1758
1751
 
1759
1752
  // src/components/card.tsx
1760
1753
  var import_jsx_runtime10 = require("react/jsx-runtime");
1761
- var cardVariants = ["card", "panel", "focus"];
1754
+ var cardVariants = ["card", "focus"];
1762
1755
  function Card({ className, variant = "card", ...props }) {
1763
- const hasHoverShadow = variant === "card" || variant === "panel";
1756
+ const hasHoverShadow = variant === "card";
1764
1757
  return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1765
1758
  Surface,
1766
1759
  {
@@ -1959,11 +1952,10 @@ function useControllableState({
1959
1952
  var import_jsx_runtime12 = require("react/jsx-runtime");
1960
1953
  var dropdownVariantOptions = [
1961
1954
  "card",
1962
- "panel",
1963
1955
  "language",
1964
1956
  "selected"
1965
1957
  ];
1966
- var dropdownAppearanceOptions = ["panel", "card"];
1958
+ var dropdownAppearanceOptions = ["card"];
1967
1959
  var dropdownTriggerSizeOptions = ["default", "sm", "lg"];
1968
1960
  var dropdownLanguageItems = [
1969
1961
  { value: "en-US", label: "English", languageLocale: "en-US" },
@@ -1972,7 +1964,6 @@ var dropdownLanguageItems = [
1972
1964
  ];
1973
1965
  var dropdownTriggerToneClasses = {
1974
1966
  card: "text-primary",
1975
- panel: "text-foreground",
1976
1967
  language: "",
1977
1968
  selected: "w-full border-[color:var(--sofya-border-strong)] [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)]"
1978
1969
  };
@@ -1988,16 +1979,12 @@ var dropdownTriggerSizeClasses = {
1988
1979
  lg: "h-12 px-6 py-2"
1989
1980
  },
1990
1981
  language: {
1991
- default: "h-[38px] w-[38px] p-0",
1992
- sm: "h-8 w-8 p-0",
1993
- lg: "h-11 w-11 p-0"
1982
+ default: "h-5 w-5 p-0",
1983
+ sm: "h-[18px] w-[18px] p-0",
1984
+ lg: "h-6 w-6 p-0"
1994
1985
  }
1995
1986
  };
1996
1987
  var dropdownAppearanceClasses = {
1997
- panel: {
1998
- content: "rounded-[10px]",
1999
- trigger: "rounded-[10px]"
2000
- },
2001
1988
  card: {
2002
1989
  content: "rounded-[20px]",
2003
1990
  trigger: "rounded-[20px]"
@@ -2005,13 +1992,11 @@ var dropdownAppearanceClasses = {
2005
1992
  };
2006
1993
  var dropdownContentBaseClasses = {
2007
1994
  card: "border-[color:var(--sofya-border-strong)] text-foreground shadow-[var(--sofya-shadow-soft)]",
2008
- panel: "border-[color:var(--sofya-border-strong)] text-foreground shadow-[var(--sofya-shadow-soft)]",
2009
1995
  language: "w-[224px] min-w-[224px] border-[color:var(--sofya-border-strong)] text-foreground shadow-[var(--sofya-shadow-soft)]",
2010
1996
  selected: "w-[var(--radix-dropdown-menu-trigger-width)] min-w-[var(--radix-dropdown-menu-trigger-width)] border-[color:var(--sofya-border-strong)] text-foreground shadow-[var(--sofya-shadow-soft)]"
2011
1997
  };
2012
1998
  var dropdownItemClasses = {
2013
1999
  card: "text-foreground",
2014
- panel: "text-foreground",
2015
2000
  language: "text-foreground",
2016
2001
  selected: "text-foreground"
2017
2002
  };
@@ -2028,13 +2013,9 @@ function resolveItemLanguageLocale(item) {
2028
2013
  return isButtonLanguageLocale(item.value) ? item.value : void 0;
2029
2014
  }
2030
2015
  function resolveDropdownAppearance({
2031
- appearance,
2032
- variant
2016
+ appearance
2033
2017
  }) {
2034
- if (appearance) {
2035
- return appearance;
2036
- }
2037
- return variant === "card" ? "card" : "panel";
2018
+ return appearance ?? "card";
2038
2019
  }
2039
2020
  function resolveDropdownTriggerSizeFamily(variant) {
2040
2021
  if (variant === "language") {
@@ -2069,8 +2050,8 @@ function LanguageFlagIcon({ locale }) {
2069
2050
  {
2070
2051
  alt: "",
2071
2052
  "aria-hidden": "true",
2072
- src: dropdownLanguageFlagSrc[locale],
2073
- className: "h-[12px] w-[16px] shrink-0 object-cover"
2053
+ src: buttonLanguageFlagSrc[locale],
2054
+ className: "h-[18px] w-[18px] shrink-0 rounded-full object-cover"
2074
2055
  }
2075
2056
  );
2076
2057
  }
@@ -2183,12 +2164,53 @@ function Dropdown({
2183
2164
  {
2184
2165
  value: radioValue,
2185
2166
  onValueChange: setSelectedValue,
2186
- className: "grid gap-2",
2167
+ className: "grid gap-1",
2187
2168
  children: resolvedItems.map((item) => {
2188
2169
  const isSelected = item.value === selectedValue;
2189
2170
  const itemLanguageLocale = resolveItemLanguageLocale(item);
2190
2171
  const indicator = item.indicator ?? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(DefaultDropdownItemIndicator, {});
2191
2172
  const itemIcon = item.icon ?? (variant === "language" && itemLanguageLocale ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(LanguageFlagIcon, { locale: itemLanguageLocale }) : null);
2173
+ if (!usesDefaultListStyle) {
2174
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
2175
+ DropdownMenuPrimitive.RadioItem,
2176
+ {
2177
+ value: item.value,
2178
+ disabled: item.disabled,
2179
+ asChild: true,
2180
+ children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
2181
+ Button,
2182
+ {
2183
+ variant: "ghost",
2184
+ className: cn(
2185
+ "h-auto w-full px-1.5 py-1 font-normal data-[highlighted]:bg-muted [&>span.relative]:w-full",
2186
+ dropdownItemClasses[variant],
2187
+ itemClassName
2188
+ ),
2189
+ children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("span", { className: "flex w-full items-center gap-2.5", children: [
2190
+ itemIcon && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "flex shrink-0 items-center justify-center", children: itemIcon }),
2191
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "min-w-0 flex-1 truncate text-left", children: renderTextContent(item.label, {
2192
+ as: "span",
2193
+ className: "block truncate text-inherit",
2194
+ size: "tiny"
2195
+ }) }),
2196
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
2197
+ "span",
2198
+ {
2199
+ "aria-hidden": "true",
2200
+ className: cn(
2201
+ "flex h-4 w-4 shrink-0 items-center justify-center text-primary transition-opacity duration-sofya ease-sofya",
2202
+ isSelected ? "opacity-100" : "opacity-0"
2203
+ ),
2204
+ children: indicator
2205
+ }
2206
+ )
2207
+ ] })
2208
+ }
2209
+ )
2210
+ },
2211
+ item.value
2212
+ );
2213
+ }
2192
2214
  return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
2193
2215
  DropdownMenuPrimitive.RadioItem,
2194
2216
  {
@@ -2196,11 +2218,11 @@ function Dropdown({
2196
2218
  disabled: item.disabled,
2197
2219
  className: cn(
2198
2220
  "flex w-full cursor-pointer items-center rounded-[4px] [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-[22px] tracking-[var(--sofya-text-body-letter-spacing)] outline-none transition-colors duration-sofya ease-sofya data-[disabled]:pointer-events-none data-[disabled]:opacity-40",
2199
- usesDefaultListStyle ? "px-0 py-0 data-[highlighted]:bg-transparent [&[data-highlighted]_span[data-dropdown-item-body]]:bg-[color:var(--sofya-surface-selected)]" : "px-2 py-2 data-[highlighted]:bg-[color:var(--sofya-surface-hover)]",
2221
+ "px-0 py-0 data-[highlighted]:bg-transparent [&[data-highlighted]_span[data-dropdown-item-body]]:bg-[color:var(--sofya-surface-selected)]",
2200
2222
  dropdownItemClasses[variant],
2201
2223
  itemClassName
2202
2224
  ),
2203
- children: usesDefaultListStyle ? /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
2225
+ children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
2204
2226
  "span",
2205
2227
  {
2206
2228
  "data-dropdown-item-body": true,
@@ -2213,7 +2235,7 @@ function Dropdown({
2213
2235
  /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "truncate", children: renderTextContent(item.label, {
2214
2236
  as: "span",
2215
2237
  className: "block truncate text-inherit",
2216
- size: "body"
2238
+ size: "tiny"
2217
2239
  }) }),
2218
2240
  isSelected ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
2219
2241
  "span",
@@ -2225,28 +2247,7 @@ function Dropdown({
2225
2247
  ) : null
2226
2248
  ]
2227
2249
  }
2228
- ) : /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [
2229
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("span", { className: "flex min-w-0 flex-1 items-center gap-2", children: [
2230
- itemIcon ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "flex shrink-0 items-center justify-center", children: itemIcon }) : null,
2231
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "truncate", children: renderTextContent(item.label, {
2232
- as: "span",
2233
- className: "block truncate text-inherit",
2234
- size: "body"
2235
- }) })
2236
- ] }),
2237
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
2238
- "span",
2239
- {
2240
- "aria-hidden": "true",
2241
- className: cn(
2242
- "flex h-4 w-4 shrink-0 items-center justify-center transition-opacity duration-sofya ease-sofya",
2243
- variant === "language" && "text-primary",
2244
- isSelected ? "opacity-100" : "opacity-0"
2245
- ),
2246
- children: indicator
2247
- }
2248
- )
2249
- ] })
2250
+ )
2250
2251
  },
2251
2252
  item.value
2252
2253
  );
@@ -2268,6 +2269,9 @@ var Dialog = DialogPrimitive.Root;
2268
2269
  var DialogTrigger = DialogPrimitive.Trigger;
2269
2270
  var DialogPortal = DialogPrimitive.Portal;
2270
2271
  var DialogClose = DialogPrimitive.Close;
2272
+ var DialogInternalContext = React13.createContext({
2273
+ showCloseButton: true
2274
+ });
2271
2275
  var DialogOverlay = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
2272
2276
  DialogPrimitive.Overlay,
2273
2277
  {
@@ -2285,15 +2289,15 @@ var DialogContent = React13.forwardRef(
2285
2289
  className,
2286
2290
  children,
2287
2291
  cardClassName,
2288
- cardVariant = "panel",
2289
2292
  overlayClassName,
2290
2293
  showCloseButton = true,
2294
+ variant = "card",
2291
2295
  ...props
2292
2296
  }, ref) => {
2293
2297
  const dialogCardStyle = {
2294
2298
  "--sofya-surface-shadow-override": "var(--sofya-shadow-lg)"
2295
2299
  };
2296
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(DialogPortal, { children: [
2300
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DialogInternalContext.Provider, { value: { showCloseButton }, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(DialogPortal, { children: [
2297
2301
  /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DialogOverlay, { className: overlayClassName }),
2298
2302
  /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "sofya-dialog-positioner fixed inset-0 z-50 flex items-center justify-center p-4", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
2299
2303
  DialogPrimitive.Content,
@@ -2304,54 +2308,68 @@ var DialogContent = React13.forwardRef(
2304
2308
  className
2305
2309
  ),
2306
2310
  ...props,
2307
- children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
2311
+ children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
2308
2312
  Card,
2309
2313
  {
2310
- variant: cardVariant,
2314
+ variant,
2311
2315
  className: cn(
2312
- "relative flex max-h-[inherit] min-h-0 w-full flex-col overflow-y-auto overflow-x-hidden border-border bg-card",
2316
+ "flex max-h-[inherit] min-h-0 w-full flex-col gap-6 overflow-y-auto overflow-x-hidden p-6",
2313
2317
  cardClassName
2314
2318
  ),
2315
2319
  style: dialogCardStyle,
2316
- children: [
2317
- children,
2318
- showCloseButton ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DialogPrimitive.Close, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
2319
- Button,
2320
- {
2321
- type: "button",
2322
- variant: "ghost",
2323
- size: "icon",
2324
- "aria-label": "Close",
2325
- leftIcon: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Icon, { name: "x", size: 18 }),
2326
- className: "absolute right-4 top-4 z-10 text-muted-foreground hover:text-foreground"
2327
- }
2328
- ) }) : null
2329
- ]
2320
+ children
2330
2321
  }
2331
2322
  )
2332
2323
  }
2333
2324
  ) })
2334
- ] });
2325
+ ] }) });
2335
2326
  }
2336
2327
  );
2337
2328
  DialogContent.displayName = DialogPrimitive.Content.displayName;
2338
- function DialogHeader({ className, ...props }) {
2339
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: cn("grid gap-2 px-6 pt-6 pr-16 text-left", className), ...props });
2329
+ function DialogHeader({ className, children, ...props }) {
2330
+ const { showCloseButton } = React13.useContext(DialogInternalContext);
2331
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
2332
+ "div",
2333
+ {
2334
+ className: cn("flex w-full items-start justify-between gap-4", className),
2335
+ ...props,
2336
+ children: [
2337
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "flex min-w-0 flex-1 flex-col gap-2 text-left", children }),
2338
+ showCloseButton ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DialogPrimitive.Close, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
2339
+ Button,
2340
+ {
2341
+ type: "button",
2342
+ variant: "ghost",
2343
+ size: "icon",
2344
+ "aria-label": "Close",
2345
+ leftIcon: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Icon, { name: "x", size: 18 }),
2346
+ className: "shrink-0 text-muted-foreground hover:text-foreground"
2347
+ }
2348
+ ) }) : null
2349
+ ]
2350
+ }
2351
+ );
2352
+ }
2353
+ function DialogBody({ className, ...props }) {
2354
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
2355
+ "div",
2356
+ {
2357
+ className: cn("flex flex-col gap-4", className),
2358
+ ...props
2359
+ }
2360
+ );
2340
2361
  }
2341
2362
  function DialogFooter({ className, ...props }) {
2342
2363
  return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
2343
2364
  "div",
2344
2365
  {
2345
- className: cn(
2346
- "flex flex-col-reverse gap-4 px-6 pb-6 pt-4 sm:flex-row sm:justify-end",
2347
- className
2348
- ),
2366
+ className: cn("flex items-center justify-end gap-2", className),
2349
2367
  ...props
2350
2368
  }
2351
2369
  );
2352
2370
  }
2353
2371
  var DialogCancel = React13.forwardRef(
2354
- ({ type = "button", variant = "outline", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DialogPrimitive.Close, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Button, { ref, type, variant, ...props }) })
2372
+ ({ type = "button", variant = "ghost", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DialogPrimitive.Close, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Button, { ref, type, variant, ...props }) })
2355
2373
  );
2356
2374
  DialogCancel.displayName = "DialogCancel";
2357
2375
  var DialogTitle = React13.forwardRef(({ children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
@@ -2363,7 +2381,7 @@ var DialogTitle = React13.forwardRef(({ children, className, ...props }, ref) =>
2363
2381
  children: renderTextContent(children, {
2364
2382
  as: "span",
2365
2383
  className: "block text-card-foreground",
2366
- size: "h4"
2384
+ size: "h3"
2367
2385
  })
2368
2386
  }
2369
2387
  ));
@@ -2871,7 +2889,7 @@ var UploadInputControl = React15.forwardRef(function UploadInputControl2({
2871
2889
  {
2872
2890
  "aria-disabled": disabled || void 0,
2873
2891
  className: cn(
2874
- "flex w-full flex-col items-center justify-center gap-2 overflow-clip rounded-[20px] border-2 border-dashed border-[color:var(--sofya-border-soft)] bg-[color:var(--sofya-tone-default-background)] px-4 py-4 text-center transition-[border-color,background-color,box-shadow,color] duration-sofya ease-sofya",
2892
+ "flex w-full flex-col items-center justify-center gap-2 overflow-clip rounded-[20px] border-2 border-dashed border-[color:var(--sofya-border-soft)] bg-transparent px-2 pt-2 pb-4 text-center transition-[border-color,background-color,box-shadow,color] duration-sofya ease-sofya",
2875
2893
  !disabled && "cursor-pointer hover:border-[color:var(--sofya-border-hover)] hover:bg-[color:var(--sofya-surface-hover)] focus-visible:border-transparent focus-visible:ring-2 focus-visible:ring-[color:var(--sofya-focus-ring-soft)] focus-within:border-transparent focus-within:ring-2 focus-within:ring-[color:var(--sofya-focus-ring-soft)] active:border-transparent active:ring-2 active:ring-[color:var(--sofya-focus-ring-soft)]",
2876
2894
  isDragActive && "border-[color:var(--sofya-border-hover)] bg-[color:var(--sofya-surface-selected)] shadow-[var(--sofya-shadow-dropzone-focus)]",
2877
2895
  disabled && "cursor-not-allowed opacity-60",
@@ -2898,7 +2916,7 @@ var UploadInputControl = React15.forwardRef(function UploadInputControl2({
2898
2916
  resolvedDescription ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { className: "text-[color:var(--sofya-text-subtle)]", children: renderTextContent(resolvedDescription, {
2899
2917
  as: "span",
2900
2918
  className: "block text-[color:var(--sofya-text-subtle)]",
2901
- size: "tiny"
2919
+ size: "extra-tiny"
2902
2920
  }) }) : null
2903
2921
  ]
2904
2922
  }
@@ -2914,7 +2932,7 @@ var UploadInputControl = React15.forwardRef(function UploadInputControl2({
2914
2932
  animate: prefersReducedMotion ? { opacity: 1 } : { opacity: 1, y: 0 },
2915
2933
  exit: prefersReducedMotion ? { opacity: 0 } : { opacity: 0, y: -6 },
2916
2934
  transition: uploadListItemTransition,
2917
- children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(Card, { variant: "panel", className: "flex items-center gap-4 p-4", children: [
2935
+ children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(Card, { variant: "card", className: "flex items-center gap-4 p-4", children: [
2918
2936
  /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { className: "flex size-11 shrink-0 items-center justify-center rounded-full bg-[color:var(--sofya-surface-hover)] text-primary", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
2919
2937
  UploadFileTypeGlyph,
2920
2938
  {
@@ -5182,6 +5200,7 @@ var import_tokens2 = require("@sofya-ds/tokens");
5182
5200
  CardTitle,
5183
5201
  Checkbox,
5184
5202
  Dialog,
5203
+ DialogBody,
5185
5204
  DialogCancel,
5186
5205
  DialogClose,
5187
5206
  DialogContent,