@keboola/design 4.4.0 → 5.0.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.
@@ -1,7 +1,7 @@
1
1
  import { clsx } from 'clsx';
2
2
  import { extendTailwindMerge } from 'tailwind-merge';
3
+ import { keboolaLegacySidebar, keboolaLegacyTopnav } from '@keboola/brand-registry';
3
4
  import { createContext, lazy, Suspense, use, useId, useState, useRef, useEffect, forwardRef, useCallback, useMemo } from 'react';
4
- import { keboolaLegacy } from '@keboola/brand-registry';
5
5
  import { Portal, Content, Root, Trigger } from '@radix-ui/react-tooltip';
6
6
  import { cva } from 'class-variance-authority';
7
7
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
@@ -128,26 +128,58 @@ var init_keyCodes = __esm({
128
128
  };
129
129
  }
130
130
  });
131
- var ThemeContext;
132
- var init_themeContext = __esm({
133
- "src/components/ThemeProvider/themeContext.ts"() {
134
- ThemeContext = createContext(null);
131
+
132
+ // src/components/ThemeProvider/utils.ts
133
+ var createTheme;
134
+ var init_utils = __esm({
135
+ "src/components/ThemeProvider/utils.ts"() {
136
+ createTheme = (brand) => ({
137
+ id: brand.id,
138
+ name: brand.name,
139
+ shell: brand.shell,
140
+ logo: brand.logo
141
+ });
135
142
  }
136
143
  });
137
- var useIsLegacyBrand;
138
- var init_useIsLegacyBrand = __esm({
139
- "src/components/internal/useIsLegacyBrand.ts"() {
140
- init_themeContext();
141
- useIsLegacyBrand = () => {
142
- const context = use(ThemeContext);
143
- return context === null || context.brand.id === keboolaLegacy.id;
144
+ var DEFAULT_COLOR_SCHEME, DEFAULT_BRAND_ID, defaultBrand, defaultTheme;
145
+ var init_defaults = __esm({
146
+ "src/components/ThemeProvider/defaults.ts"() {
147
+ init_utils();
148
+ [keboolaLegacySidebar.id, keboolaLegacyTopnav.id];
149
+ DEFAULT_COLOR_SCHEME = "light";
150
+ DEFAULT_BRAND_ID = "design-system";
151
+ defaultBrand = {
152
+ id: DEFAULT_BRAND_ID,
153
+ name: "Design System",
154
+ shell: "sidebar",
155
+ theme: {}
144
156
  };
157
+ defaultTheme = createTheme(defaultBrand);
158
+ }
159
+ });
160
+ var noop, defaultContext, ArgoDesignContext, useArgoDesign;
161
+ var init_context = __esm({
162
+ "src/components/ThemeProvider/context.tsx"() {
163
+ init_defaults();
164
+ noop = () => void 0;
165
+ defaultContext = {
166
+ scheme: DEFAULT_COLOR_SCHEME,
167
+ resolvedScheme: DEFAULT_COLOR_SCHEME,
168
+ setScheme: noop,
169
+ brandId: defaultTheme.id,
170
+ setBrand: noop,
171
+ themes: [defaultTheme],
172
+ currentTheme: defaultTheme
173
+ };
174
+ createContext(defaultContext);
175
+ ArgoDesignContext = createContext(true);
176
+ useArgoDesign = () => use(ArgoDesignContext);
145
177
  }
146
178
  });
147
179
  var tooltipVariants, TooltipContent;
148
180
  var init_TooltipContent = __esm({
149
181
  "src/components/Tooltip/TooltipContent.tsx"() {
150
- init_useIsLegacyBrand();
182
+ init_context();
151
183
  tooltipVariants = cva(
152
184
  [
153
185
  "tailwindcss-preflight",
@@ -225,8 +257,7 @@ var init_TooltipContent = __esm({
225
257
  placement = "right",
226
258
  ...rest
227
259
  }) => {
228
- const isLegacy = useIsLegacyBrand();
229
- const renderArgo = !isLegacy;
260
+ const renderArgo = useArgoDesign();
230
261
  const handlePointerDownOutside = (event) => {
231
262
  if (keepOpenOnPointerDownOutside) event.preventDefault();
232
263
  onPointerDownOutside?.(event);
@@ -259,7 +290,7 @@ var init_TooltipRoot = __esm({
259
290
  var TooltipTrigger;
260
291
  var init_TooltipTrigger = __esm({
261
292
  "src/components/Tooltip/TooltipTrigger.tsx"() {
262
- init_utils();
293
+ init_utils2();
263
294
  TooltipTrigger = ({
264
295
  ref,
265
296
  children,
@@ -447,7 +478,7 @@ var init_useSHA256 = __esm({
447
478
  });
448
479
 
449
480
  // src/utils/index.ts
450
- var init_utils = __esm({
481
+ var init_utils2 = __esm({
451
482
  "src/utils/index.ts"() {
452
483
  init_classNames();
453
484
  init_copyToClipboard();
@@ -465,7 +496,7 @@ var init_utils = __esm({
465
496
  var HEIGHT_CLASS_NAME, ANIMATION_CLASS_NAME, Skeleton;
466
497
  var init_Skeleton = __esm({
467
498
  "src/components/Skeleton/Skeleton.tsx"() {
468
- init_utils();
499
+ init_utils2();
469
500
  HEIGHT_CLASS_NAME = {
470
501
  xxs: "tw-h-3 tw-rounded",
471
502
  xs: "tw-h-4 tw-rounded",
@@ -491,7 +522,7 @@ var init_Skeleton = __esm({
491
522
  "before:tw-bg-gradient-to-r",
492
523
  "before:tw-from-transparent",
493
524
  "before:tw-to-transparent",
494
- "before:tw-via-neutral-50"
525
+ "before:tw-via-white/40"
495
526
  );
496
527
  Skeleton = ({ height = "md", className, count = 1 }) => {
497
528
  const prefixId = useId();
@@ -510,7 +541,7 @@ var init_Skeleton = __esm({
510
541
  var Keboola;
511
542
  var init_Keboola = __esm({
512
543
  "src/icons/Keboola.tsx"() {
513
- init_utils();
544
+ init_utils2();
514
545
  Keboola = forwardRef(
515
546
  ({ size = 24, color = "currentColor", className, children, ...rest }, ref) => /* @__PURE__ */ jsxs(
516
547
  "svg",
@@ -565,8 +596,8 @@ var init_styles = __esm({
565
596
  "tw-font-medium",
566
597
  "tw-tracking-[1px]",
567
598
  "tw-uppercase",
568
- // border
569
- "tw-rounded-[var(--radius-lg,0.25rem)]",
599
+ // border — legacy (non-argo) chrome uses a fixed radius, not the brand token.
600
+ "tw-rounded",
570
601
  "tw-border",
571
602
  "tw-border-transparent",
572
603
  // styling
@@ -761,14 +792,14 @@ var init_styles = __esm({
761
792
  "hover:tw-text-primary-foreground",
762
793
  "focus:tw-text-primary-foreground",
763
794
  "focus-visible:tw-border-primary",
764
- "focus-visible:tw-ring-primary/50"
795
+ "focus-visible:tw-ring-ring/50"
765
796
  ],
766
797
  secondary: [
767
798
  "tw-bg-primary/10",
768
799
  "tw-text-primary",
769
800
  "hover:not-disabled:tw-bg-primary/20",
770
801
  "focus-visible:tw-border-primary",
771
- "focus-visible:tw-ring-primary/50"
802
+ "focus-visible:tw-ring-ring/50"
772
803
  ],
773
804
  // should be called "destructive" by Figma
774
805
  danger: [
@@ -785,20 +816,22 @@ var init_styles = __esm({
785
816
  // Semantic base text color so the label/icon flips in dark mode
786
817
  // (matches `invisible`); previously unset → inherited a fixed dark color.
787
818
  "tw-text-foreground",
788
- "hover:not-disabled:tw-bg-accent",
789
- "hover:not-disabled:tw-text-accent-foreground",
819
+ // Hover follows the brand primary (translucent tint), matching the
820
+ // `secondary` variant — not the fixed `accent` blue.
821
+ "hover:not-disabled:tw-bg-primary/10",
822
+ "hover:not-disabled:tw-text-primary",
790
823
  "hover:active:tw-bg-background",
791
824
  "focus-visible:!tw-border-primary",
792
- "focus-visible:tw-ring-primary/50"
825
+ "focus-visible:tw-ring-ring/50"
793
826
  ],
794
827
  // should be called "ghost" by Figma
795
828
  invisible: [
796
829
  "tw-bg-transparent",
797
830
  "tw-text-foreground",
798
- "hover:not-disabled:tw-bg-accent",
799
- "hover:not-disabled:tw-text-accent-foreground",
800
- "hover:not-disabled:tw-border-accent",
801
- "focus-visible:tw-ring-primary/50"
831
+ "hover:not-disabled:tw-bg-primary/10",
832
+ "hover:not-disabled:tw-text-primary",
833
+ "hover:not-disabled:tw-border-primary/10",
834
+ "focus-visible:tw-ring-ring/50"
802
835
  ],
803
836
  // should be called "link" by Figma
804
837
  inline: [
@@ -806,7 +839,7 @@ var init_styles = __esm({
806
839
  "tw-text-primary",
807
840
  "hover:tw-underline",
808
841
  "hover:active:tw-bg-transparent",
809
- "focus-visible:tw-ring-primary/50"
842
+ "focus-visible:tw-ring-ring/50"
810
843
  ]
811
844
  },
812
845
  size: {
@@ -833,8 +866,8 @@ var Button;
833
866
  var init_Button = __esm({
834
867
  "src/components/Button/Button.tsx"() {
835
868
  init_icons();
836
- init_utils();
837
- init_useIsLegacyBrand();
869
+ init_utils2();
870
+ init_context();
838
871
  init_styles();
839
872
  Button = ({
840
873
  ref,
@@ -850,8 +883,7 @@ var init_Button = __esm({
850
883
  block = false,
851
884
  ...buttonProps
852
885
  }) => {
853
- const isLegacy = useIsLegacyBrand();
854
- const renderArgo = !isLegacy;
886
+ const renderArgo = useArgoDesign();
855
887
  const Comp = asChild ? Root$2 : "button";
856
888
  const isIconOnly = String(size).startsWith("icon");
857
889
  const classNames = renderArgo ? argoVariants({ variant, size, block, className }) : variants({ size, variant, block, className });
@@ -936,7 +968,7 @@ var init_Button2 = __esm({
936
968
  var Clipboard;
937
969
  var init_Clipboard = __esm({
938
970
  "src/components/Clipboard/Clipboard.tsx"() {
939
- init_utils();
971
+ init_utils2();
940
972
  init_Tooltip2();
941
973
  Clipboard = ({
942
974
  ref,
@@ -1056,7 +1088,7 @@ var init_ZoomableSvg = __esm({
1056
1088
  "src/components/ZoomableSvg/ZoomableSvg.tsx"() {
1057
1089
  init_ClipboardButton2();
1058
1090
  init_icons();
1059
- init_utils();
1091
+ init_utils2();
1060
1092
  init_Button2();
1061
1093
  init_Tooltip2();
1062
1094
  MIN_SCALE = 0.5;
@@ -1242,7 +1274,7 @@ var init_MermaidDiagram = __esm({
1242
1274
  "src/blocks/MermaidDiagram/MermaidDiagram.tsx"() {
1243
1275
  init_Skeleton();
1244
1276
  init_ZoomableSvg2();
1245
- init_utils();
1277
+ init_utils2();
1246
1278
  PRIMARY_FALLBACK_CHANNELS = "31 143 255";
1247
1279
  resolvePrimary = () => {
1248
1280
  const channels = typeof document === "undefined" ? PRIMARY_FALLBACK_CHANNELS : getComputedStyle(document.documentElement).getPropertyValue("--color-primary").trim() || PRIMARY_FALLBACK_CHANNELS;
@@ -1257,9 +1289,9 @@ var init_MermaidDiagram = __esm({
1257
1289
  securityLevel: "strict",
1258
1290
  theme: "base",
1259
1291
  themeVariables: {
1260
- primaryColor: colors.secondary[100],
1292
+ primaryColor: colors.blue[100],
1261
1293
  primaryTextColor: colors.neutral[800],
1262
- primaryBorderColor: colors.secondary[700],
1294
+ primaryBorderColor: colors.blue[700],
1263
1295
  secondaryColor: colors.white,
1264
1296
  secondaryTextColor: colors.neutral[800],
1265
1297
  secondaryBorderColor: colors.neutral[150],
@@ -1268,38 +1300,38 @@ var init_MermaidDiagram = __esm({
1268
1300
  tertiaryBorderColor: colors.warning[500],
1269
1301
  lineColor: colors.neutral[300],
1270
1302
  textColor: colors.neutral[800],
1271
- mainBkg: colors.secondary[100],
1272
- nodeBorder: colors.secondary[700],
1303
+ mainBkg: colors.blue[100],
1304
+ nodeBorder: colors.blue[700],
1273
1305
  clusterBkg: colors.white,
1274
1306
  clusterBorder: colors.neutral[150],
1275
1307
  titleColor: colors.neutral[800],
1276
1308
  edgeLabelBackground: colors.white,
1277
1309
  nodeTextColor: colors.neutral[800],
1278
- actorBorder: colors.secondary[700],
1279
- actorBkg: colors.secondary[100],
1310
+ actorBorder: colors.blue[700],
1311
+ actorBkg: colors.blue[100],
1280
1312
  actorTextColor: colors.neutral[800],
1281
1313
  actorLineColor: colors.neutral[300],
1282
1314
  signalColor: colors.neutral[800],
1283
1315
  signalTextColor: colors.neutral[800],
1284
- labelBoxBkgColor: colors.secondary[100],
1285
- labelBoxBorderColor: colors.secondary[700],
1316
+ labelBoxBkgColor: colors.blue[100],
1317
+ labelBoxBorderColor: colors.blue[700],
1286
1318
  labelTextColor: colors.neutral[800],
1287
1319
  loopTextColor: colors.neutral[800],
1288
1320
  noteBorderColor: colors.warning[500],
1289
1321
  noteBkgColor: colors.warning[100],
1290
1322
  noteTextColor: colors.neutral[800],
1291
- sectionBkgColor: colors.secondary[100],
1323
+ sectionBkgColor: colors.blue[100],
1292
1324
  altSectionBkgColor: colors.white,
1293
1325
  sectionBkgColor2: colors.neutral[100],
1294
- taskBorderColor: colors.secondary[700],
1295
- taskBkgColor: colors.secondary[100],
1326
+ taskBorderColor: colors.blue[700],
1327
+ taskBkgColor: colors.blue[100],
1296
1328
  taskTextColor: colors.neutral[800],
1297
1329
  taskTextDarkColor: colors.neutral[800],
1298
1330
  taskTextLightColor: colors.neutral[800],
1299
1331
  activeTaskBorderColor: resolvePrimary(),
1300
- activeTaskBkgColor: colors.secondary[200],
1301
- doneTaskBorderColor: colors.primary[600],
1302
- doneTaskBkgColor: colors.primary[100],
1332
+ activeTaskBkgColor: colors.blue[200],
1333
+ doneTaskBorderColor: colors.green[600],
1334
+ doneTaskBkgColor: colors.green[100],
1303
1335
  critBorderColor: colors.error[500],
1304
1336
  critBkgColor: colors.error[100],
1305
1337
  fontFamily: "Inter, system-ui, sans-serif",
@@ -1445,7 +1477,7 @@ ${code}
1445
1477
  });
1446
1478
 
1447
1479
  // src/components/MarkdownEditor/MarkdownEditor.tsx
1448
- init_utils();
1480
+ init_utils2();
1449
1481
  var ImageRendererContext = createContext(null);
1450
1482
  var ImageRendererProvider = ImageRendererContext;
1451
1483
  var useImageRenderer = () => use(ImageRendererContext);
@@ -1614,15 +1646,15 @@ var $isMermaidNode = (node) => {
1614
1646
  };
1615
1647
 
1616
1648
  // src/components/Toast/toast.tsx
1617
- init_utils();
1649
+ init_utils2();
1618
1650
 
1619
1651
  // src/components/Toast/ToastRoot.tsx
1620
1652
  init_icons();
1621
- init_utils();
1622
- init_useIsLegacyBrand();
1653
+ init_utils2();
1654
+ init_context();
1623
1655
 
1624
1656
  // src/components/Toast/ToastAction.tsx
1625
- init_utils();
1657
+ init_utils2();
1626
1658
  var ToastAction = ({
1627
1659
  ref,
1628
1660
  className,
@@ -1657,7 +1689,7 @@ var ToastAction = ({
1657
1689
  );
1658
1690
 
1659
1691
  // src/components/Toast/ToastDescription.tsx
1660
- init_utils();
1692
+ init_utils2();
1661
1693
  var ToastDescription = ({
1662
1694
  ref,
1663
1695
  className,
@@ -1683,7 +1715,7 @@ var ToastDescription = ({
1683
1715
 
1684
1716
  // src/components/Toast/ToastDismiss.tsx
1685
1717
  init_icons();
1686
- init_utils();
1718
+ init_utils2();
1687
1719
  var ToastDismiss = ({
1688
1720
  ref,
1689
1721
  className,
@@ -1717,7 +1749,7 @@ var ToastDismiss = ({
1717
1749
  );
1718
1750
 
1719
1751
  // src/components/Toast/ToastDuration.tsx
1720
- init_utils();
1752
+ init_utils2();
1721
1753
  var ToastDuration = ({
1722
1754
  ref,
1723
1755
  duration,
@@ -1754,7 +1786,7 @@ var ToastDuration = ({
1754
1786
  );
1755
1787
 
1756
1788
  // src/components/Toast/ToastTitle.tsx
1757
- init_utils();
1789
+ init_utils2();
1758
1790
  var ToastTitle = ({
1759
1791
  ref,
1760
1792
  className,
@@ -1835,8 +1867,7 @@ var ToastRoot = ({
1835
1867
  loading = false,
1836
1868
  icon: iconProp
1837
1869
  }) => {
1838
- const isLegacy = useIsLegacyBrand();
1839
- const renderArgo = !isLegacy;
1870
+ const renderArgo = useArgoDesign();
1840
1871
  const icon = (() => {
1841
1872
  if (loading) return /* @__PURE__ */ jsx(icons_exports.Loader2, { className: "tw-animate-spin" });
1842
1873
  if (iconProp) return iconProp;
@@ -1917,8 +1948,8 @@ var toast = ({
1917
1948
  toasterId,
1918
1949
  dismissible,
1919
1950
  duration,
1920
- // override defult focus-visible styles to match our design
1921
- className: cn("tw-rounded-lg", "focus-visible:!tw-ring-4", "focus-visible:!tw-ring-primary/50")
1951
+ // override default focus-visible styles to match our design
1952
+ className: cn("tw-rounded-lg", "focus-visible:!tw-ring-4", "focus-visible:!tw-ring-ring/50")
1922
1953
  });
1923
1954
  };
1924
1955
  toast.success = (title, options) => toast({
@@ -2275,14 +2306,14 @@ init_icons();
2275
2306
 
2276
2307
  // src/components/MarkdownEditor/plugins/toolbar/AlignmentDropdown.tsx
2277
2308
  init_icons();
2278
- init_utils();
2309
+ init_utils2();
2279
2310
 
2280
2311
  // src/components/DropdownMenu/DropdownMenu.tsx
2281
- init_useIsLegacyBrand();
2312
+ init_context();
2282
2313
 
2283
2314
  // src/components/DropdownMenu/DropdownMenuCheckboxItem.tsx
2284
2315
  init_icons();
2285
- init_utils();
2316
+ init_utils2();
2286
2317
 
2287
2318
  // src/components/DropdownMenu/DropdownMenuItemIndicator.tsx
2288
2319
  init_icons();
@@ -2308,28 +2339,30 @@ var variants3 = cva(
2308
2339
  "tw-border-solid",
2309
2340
  "tw-border-border",
2310
2341
  "tw-rounded-full",
2311
- "tw-bg-white",
2342
+ "group-data-[variant=default]/dropdown-menu-content:tw-bg-white",
2343
+ "group-data-[variant=argo]/dropdown-menu-content:tw-bg-background",
2312
2344
  '[&_svg:not([class*="tw-size-"])]:tw-size-2',
2313
2345
  "[&_svg]:data-[state=unchecked]:tw-hidden",
2314
2346
  // Lucide Circle is stroke-only — force fill to match the stroke
2315
2347
  // (currentColor) so the indicator reads as a solid dot.
2316
2348
  "[&_svg]:tw-fill-current",
2317
2349
  "group-data-[variant=argo]/dropdown-menu-content:[&_svg]:tw-text-primary",
2318
- "group-data-[variant=default]/dropdown-menu-content:[&_svg]:tw-text-secondary-500"
2350
+ "group-data-[variant=default]/dropdown-menu-content:[&_svg]:tw-text-primary"
2319
2351
  ],
2320
2352
  check: ['[&_svg:not([class*="tw-size-"])]:tw-size-3.5', "[&_svg]:tw-text-primary"],
2321
2353
  checkbox: [
2322
- "[&_svg]:tw-text-white",
2354
+ "[&_svg]:tw-text-primary-foreground",
2323
2355
  "tw-border",
2324
2356
  "tw-border-solid",
2325
- "tw-border-neutral-200",
2326
2357
  "tw-rounded",
2358
+ "group-data-[variant=default]/dropdown-menu-content:tw-border-neutral-200",
2359
+ "group-data-[variant=argo]/dropdown-menu-content:tw-border-input",
2327
2360
  '[&_svg:not([class*="tw-size-"])]:tw-size-3',
2328
2361
  "[&_svg]:data-[state=unchecked]:tw-hidden",
2329
2362
  "group-data-[variant=argo]/dropdown-menu-content:data-[state=checked]:tw-border-primary",
2330
2363
  "group-data-[variant=argo]/dropdown-menu-content:data-[state=checked]:tw-bg-primary",
2331
- "group-data-[variant=default]/dropdown-menu-content:data-[state=checked]:tw-border-secondary-500",
2332
- "group-data-[variant=default]/dropdown-menu-content:data-[state=checked]:tw-bg-secondary-500"
2364
+ "group-data-[variant=default]/dropdown-menu-content:data-[state=checked]:tw-border-primary",
2365
+ "group-data-[variant=default]/dropdown-menu-content:data-[state=checked]:tw-bg-primary"
2333
2366
  ],
2334
2367
  switch: [
2335
2368
  "tw-size-5",
@@ -2338,7 +2371,7 @@ var variants3 = cva(
2338
2371
  '[&_svg:not([class*="tw-size-"])]:tw-size-5',
2339
2372
  "tw-text-neutral-400",
2340
2373
  "data-[state=unchecked]:tw-rotate-180",
2341
- "group-data-[variant=default]/dropdown-menu-content:data-[state=checked]:tw-text-secondary-500",
2374
+ "group-data-[variant=default]/dropdown-menu-content:data-[state=checked]:tw-text-primary",
2342
2375
  "group-data-[variant=argo]/dropdown-menu-content:data-[state=checked]:tw-text-primary"
2343
2376
  ]
2344
2377
  }
@@ -2373,7 +2406,7 @@ var DropdownMenuItemIndicator = ({
2373
2406
  };
2374
2407
 
2375
2408
  // src/components/DropdownMenu/ItemIcon.tsx
2376
- init_utils();
2409
+ init_utils2();
2377
2410
  var ItemIcon = ({ className, children, ...props }) => /* @__PURE__ */ jsx(
2378
2411
  "span",
2379
2412
  {
@@ -2390,7 +2423,7 @@ var ItemIcon = ({ className, children, ...props }) => /* @__PURE__ */ jsx(
2390
2423
  "group-data-[variant=default]/dropdown-menu-content:tw-text-neutral-400",
2391
2424
  "group-data-[variant=argo]/dropdown-menu-content:tw-text-primary",
2392
2425
  "group-data-[variant=argo]/dropdown-menu-content:group-aria-disabled:tw-text-muted-foreground",
2393
- "group-data-[variant=default]/dropdown-menu-content:group-hover:tw-text-secondary-500",
2426
+ "group-data-[variant=default]/dropdown-menu-content:group-hover:tw-text-primary",
2394
2427
  className
2395
2428
  ),
2396
2429
  children
@@ -2398,7 +2431,7 @@ var ItemIcon = ({ className, children, ...props }) => /* @__PURE__ */ jsx(
2398
2431
  );
2399
2432
 
2400
2433
  // src/components/DropdownMenu/styles.ts
2401
- init_utils();
2434
+ init_utils2();
2402
2435
  var itemVariants = cn(
2403
2436
  // reset
2404
2437
  "tailwindcss-preflight",
@@ -2429,15 +2462,16 @@ var itemVariants = cn(
2429
2462
  "group-data-[variant=default]/dropdown-menu-content:hover:tw-text-neutral-900",
2430
2463
  "group-data-[variant=argo]/dropdown-menu-content:tw-rounded-md",
2431
2464
  "group-data-[variant=argo]/dropdown-menu-content:tw-text-popover-foreground",
2432
- "group-data-[variant=argo]/dropdown-menu-content:focus:tw-text-accent-foreground",
2433
- "group-data-[variant=argo]/dropdown-menu-content:focus:tw-bg-accent",
2434
- "group-data-[variant=argo]/dropdown-menu-content:hover:tw-text-accent-foreground",
2435
- "group-data-[variant=argo]/dropdown-menu-content:hover:tw-bg-accent"
2465
+ "group-data-[variant=argo]/dropdown-menu-content:focus:tw-text-primary",
2466
+ "group-data-[variant=argo]/dropdown-menu-content:focus:tw-bg-primary/10",
2467
+ "group-data-[variant=argo]/dropdown-menu-content:hover:tw-text-primary",
2468
+ "group-data-[variant=argo]/dropdown-menu-content:hover:tw-bg-primary/10"
2436
2469
  );
2437
2470
  var contentVariants = cn(
2438
2471
  "tailwindcss-preflight",
2439
2472
  "tw-group/dropdown-menu-content",
2440
- "tw-z-[1040]",
2473
+ // Sit above Modal/Sheet (z-1051), matching the other floating overlays (Popover/Select z-1055)
2474
+ "tw-z-[1055]",
2441
2475
  // positioning
2442
2476
  "tw-flex",
2443
2477
  "tw-flex-col",
@@ -2504,13 +2538,13 @@ var DropdownMenuCheckboxItem = ({
2504
2538
  };
2505
2539
 
2506
2540
  // src/components/DropdownMenu/DropdownMenuContent.tsx
2507
- init_utils();
2541
+ init_utils2();
2508
2542
 
2509
2543
  // src/components/ScrollArea/ScrollArea.tsx
2510
- init_utils();
2544
+ init_utils2();
2511
2545
 
2512
2546
  // src/components/ScrollArea/ScrollBar.tsx
2513
- init_utils();
2547
+ init_utils2();
2514
2548
  var ScrollBar = ({ className, orientation = "vertical", ...props }) => /* @__PURE__ */ jsx(
2515
2549
  ScrollAreaPrimitive2.ScrollAreaScrollbar,
2516
2550
  {
@@ -2615,7 +2649,7 @@ var DropdownMenuContent = ({
2615
2649
 
2616
2650
  // src/components/DropdownMenu/DropdownMenuItem.tsx
2617
2651
  init_icons();
2618
- init_utils();
2652
+ init_utils2();
2619
2653
  var DropdownMenuItem = ({
2620
2654
  ref,
2621
2655
  className,
@@ -2663,7 +2697,7 @@ var DropdownMenuItem = ({
2663
2697
  };
2664
2698
 
2665
2699
  // src/components/DropdownMenu/DropdownMenuItemDescription.tsx
2666
- init_utils();
2700
+ init_utils2();
2667
2701
  var descriptionVariants = cva(
2668
2702
  [
2669
2703
  "tw-box-border",
@@ -2694,7 +2728,7 @@ var DropdownMenuItemDescription = ({
2694
2728
  };
2695
2729
 
2696
2730
  // src/components/DropdownMenu/DropdownMenuLabel.tsx
2697
- init_utils();
2731
+ init_utils2();
2698
2732
  var DropdownMenuLabel = ({ className, ...props }) => {
2699
2733
  return /* @__PURE__ */ jsx(
2700
2734
  DropdownMenuPrimitive3.Label,
@@ -2732,7 +2766,7 @@ var DropdownMenuRadioGroup = ({
2732
2766
 
2733
2767
  // src/components/DropdownMenu/DropdownMenuRadioGroup/DropdownMenuRadioItem.tsx
2734
2768
  init_icons();
2735
- init_utils();
2769
+ init_utils2();
2736
2770
  var DropdownMenuRadioItem = ({
2737
2771
  className,
2738
2772
  children,
@@ -2779,7 +2813,7 @@ var DropdownMenuRadioItem = ({
2779
2813
  };
2780
2814
 
2781
2815
  // src/components/DropdownMenu/DropdownMenuSeparator.tsx
2782
- init_utils();
2816
+ init_utils2();
2783
2817
  var DropdownMenuSeparator = ({ className, ...props }) => /* @__PURE__ */ jsx(
2784
2818
  DropdownMenuPrimitive3.Separator,
2785
2819
  {
@@ -2807,7 +2841,7 @@ var DropdownMenuSeparator = ({ className, ...props }) => /* @__PURE__ */ jsx(
2807
2841
  var DropdownMenuSub = DropdownMenuPrimitive3.Sub;
2808
2842
 
2809
2843
  // src/components/DropdownMenu/DropdownMenuSub/DropdownMenuSubContent.tsx
2810
- init_utils();
2844
+ init_utils2();
2811
2845
  var DropdownMenuSubContent = ({ className, ...props }) => {
2812
2846
  const { variant } = useDropdownMenuContext();
2813
2847
  return /* @__PURE__ */ jsx(DropdownMenuPrimitive3.Portal, { children: /* @__PURE__ */ jsx(
@@ -2822,7 +2856,7 @@ var DropdownMenuSubContent = ({ className, ...props }) => {
2822
2856
 
2823
2857
  // src/components/DropdownMenu/DropdownMenuSub/DropdownMenuSubTrigger.tsx
2824
2858
  init_icons();
2825
- init_utils();
2859
+ init_utils2();
2826
2860
  var DropdownMenuSubTrigger = ({ className, children, ...props }) => {
2827
2861
  return /* @__PURE__ */ jsxs(DropdownMenuPrimitive3.SubTrigger, { className: cn(itemVariants, className), ...props, children: [
2828
2862
  children,
@@ -2831,7 +2865,7 @@ var DropdownMenuSubTrigger = ({ className, children, ...props }) => {
2831
2865
  };
2832
2866
 
2833
2867
  // src/components/DropdownMenu/DropdownMenuTrigger.tsx
2834
- init_utils();
2868
+ init_utils2();
2835
2869
  var DropdownMenuTrigger = ({
2836
2870
  ref,
2837
2871
  className,
@@ -2850,8 +2884,7 @@ var DropdownMenu = ({
2850
2884
  modal = false,
2851
2885
  ...props
2852
2886
  }) => {
2853
- const isLegacy = useIsLegacyBrand();
2854
- const effectiveVariant = !isLegacy ? "argo" : "default";
2887
+ const effectiveVariant = useArgoDesign() ? "argo" : "default";
2855
2888
  const contextValue = useMemo(() => ({ variant: effectiveVariant }), [effectiveVariant]);
2856
2889
  return /* @__PURE__ */ jsx(DropdownMenuContext, { value: contextValue, children: /* @__PURE__ */ jsx(Root$1, { ...props, modal }) });
2857
2890
  };
@@ -2937,7 +2970,7 @@ var AlignmentDropdown = ({
2937
2970
 
2938
2971
  // src/components/MarkdownEditor/plugins/toolbar/BlockTypeDropdown.tsx
2939
2972
  init_icons();
2940
- init_utils();
2973
+ init_utils2();
2941
2974
  init_Tooltip2();
2942
2975
  var BLOCK_TYPE_META = {
2943
2976
  paragraph: { label: "Normal", icon: icons_exports.Type, selectable: true },
@@ -3092,7 +3125,7 @@ var ButtonGroup = ({
3092
3125
  };
3093
3126
 
3094
3127
  // src/components/FormGroup/FormGroup.tsx
3095
- init_utils();
3128
+ init_utils2();
3096
3129
  var FormGroupContext = createContext({
3097
3130
  state: "default"
3098
3131
  });
@@ -3100,11 +3133,11 @@ var FormGroupProvider = FormGroupContext;
3100
3133
  var useFormGroupContext = () => use(FormGroupContext);
3101
3134
 
3102
3135
  // src/components/InputGroup/InputGroup.tsx
3103
- init_utils();
3104
- init_useIsLegacyBrand();
3136
+ init_utils2();
3137
+ init_context();
3105
3138
 
3106
3139
  // src/components/InputGroup/InputGroupAddon.tsx
3107
- init_utils();
3140
+ init_utils2();
3108
3141
  var addonVariants = cva(
3109
3142
  [
3110
3143
  "tw-flex",
@@ -3149,7 +3182,7 @@ var InputGroupAddon = ({
3149
3182
  }) => /* @__PURE__ */ jsx("div", { ...props, "data-align": align, className: cn(addonVariants({ align, className })), children });
3150
3183
 
3151
3184
  // src/components/InputGroup/InputGroupButton.tsx
3152
- init_utils();
3185
+ init_utils2();
3153
3186
  init_Button2();
3154
3187
  var InputGroupButton = ({
3155
3188
  ref,
@@ -3169,7 +3202,7 @@ var InputGroupButton = ({
3169
3202
  );
3170
3203
 
3171
3204
  // src/components/InputGroup/InputGroupInput.tsx
3172
- init_utils();
3205
+ init_utils2();
3173
3206
  var InputGroupInput = ({
3174
3207
  ref,
3175
3208
  className,
@@ -3197,7 +3230,7 @@ var InputGroupInput = ({
3197
3230
  );
3198
3231
 
3199
3232
  // src/components/InputGroup/InputGroupText.tsx
3200
- init_utils();
3233
+ init_utils2();
3201
3234
  var InputGroupText = ({ className, ...props }) => /* @__PURE__ */ jsx(
3202
3235
  "span",
3203
3236
  {
@@ -3216,7 +3249,7 @@ var InputGroupText = ({ className, ...props }) => /* @__PURE__ */ jsx(
3216
3249
  );
3217
3250
 
3218
3251
  // src/components/InputGroup/InputGroupTextArea.tsx
3219
- init_utils();
3252
+ init_utils2();
3220
3253
  var InputGroupTextArea = ({
3221
3254
  ref,
3222
3255
  className,
@@ -3280,8 +3313,9 @@ var inputGroupVariants = cva(
3280
3313
  // positioning
3281
3314
  "tw-flex",
3282
3315
  "tw-items-center",
3283
- // base
3284
- "tw-rounded-[var(--radius-lg,0.25rem)]",
3316
+ // base — legacy (non-argo) chrome uses a fixed radius; argo overrides it with
3317
+ // the brand radius token in the `argo` variant below.
3318
+ "tw-rounded",
3285
3319
  "tw-border",
3286
3320
  "tw-border-solid",
3287
3321
  "tw-border-neutral-200",
@@ -3355,7 +3389,7 @@ var inputGroupVariants = cva(
3355
3389
  state: "default",
3356
3390
  className: [
3357
3391
  "has-[:is(input,textarea):focus]:tw-border-primary",
3358
- "has-[:is(input,textarea):focus]:tw-ring-primary/50"
3392
+ "has-[:is(input,textarea):focus]:tw-ring-ring/50"
3359
3393
  ]
3360
3394
  },
3361
3395
  {
@@ -3370,7 +3404,7 @@ var inputGroupVariants = cva(
3370
3404
  {
3371
3405
  variant: "argo",
3372
3406
  focusVariant: "on",
3373
- className: ["!tw-border-primary", "!tw-ring-primary/50"]
3407
+ className: ["!tw-border-primary", "!tw-ring-ring/50"]
3374
3408
  },
3375
3409
  {
3376
3410
  variant: "argo",
@@ -3399,6 +3433,8 @@ var inputGroupVariants = cva(
3399
3433
  "has-[:is(input,textarea):disabled]:tw-opacity-40"
3400
3434
  ],
3401
3435
  argo: [
3436
+ // argo follows the brand radius token (overrides the static base)
3437
+ "tw-rounded-[var(--radius-lg,0.25rem)]",
3402
3438
  // muted filled input surface — gray, distinct from white containers; not the app-background token
3403
3439
  "tw-bg-muted",
3404
3440
  "tw-border-input",
@@ -3454,8 +3490,8 @@ var InputGroupRoot = ({
3454
3490
  className,
3455
3491
  ...props
3456
3492
  }) => {
3457
- const isLegacy = useIsLegacyBrand();
3458
- const effectiveVariant = !isLegacy ? "argo" : variant;
3493
+ const isArgo = useArgoDesign();
3494
+ const effectiveVariant = isArgo ? "argo" : variant;
3459
3495
  const effectiveSizing = effectiveVariant === "argo" ? "medium" : sizing;
3460
3496
  return /* @__PURE__ */ jsx(
3461
3497
  "div",
@@ -3484,7 +3520,7 @@ InputGroup.Text = InputGroupText;
3484
3520
 
3485
3521
  // src/blocks/ColorInput/ColorInput.tsx
3486
3522
  init_icons();
3487
- init_utils();
3523
+ init_utils2();
3488
3524
  init_icons();
3489
3525
 
3490
3526
  // src/blocks/ColorInput/utils.ts
@@ -3701,7 +3737,7 @@ var helpVariants = cva(["tw-m-0", "tw-text-xs"], {
3701
3737
  state: {
3702
3738
  default: ["tw-text-muted-foreground"],
3703
3739
  error: ["tw-text-destructive"],
3704
- warning: ["tw-text-warning-500"]
3740
+ warning: ["tw-text-warning"]
3705
3741
  }
3706
3742
  }
3707
3743
  });
@@ -3803,10 +3839,10 @@ var FormGroupTextarea = (props) => {
3803
3839
 
3804
3840
  // src/components/Input/Input.tsx
3805
3841
  init_icons();
3806
- init_utils();
3842
+ init_utils2();
3807
3843
 
3808
3844
  // src/components/Input/utils.ts
3809
- init_utils();
3845
+ init_utils2();
3810
3846
  var genInputTestId = (prefix = "") => {
3811
3847
  const ps = createPrefixedString(prefix);
3812
3848
  return {
@@ -3976,7 +4012,7 @@ FormGroup.ColorInput = FormGroupColorInput;
3976
4012
  FormGroup.Textarea = FormGroupTextarea;
3977
4013
 
3978
4014
  // src/components/Label/Label.tsx
3979
- init_utils();
4015
+ init_utils2();
3980
4016
  var Optional = ({ className }) => /* @__PURE__ */ jsx("span", { className: cn("tw-text-muted-foreground", className), children: "(optional)" });
3981
4017
  var Label2 = ({ className, children, id, htmlFor, ...rest }) => {
3982
4018
  return /* @__PURE__ */ jsx(
@@ -3996,7 +4032,7 @@ var Label2 = ({ className, children, id, htmlFor, ...rest }) => {
3996
4032
  Label2.Optional = Optional;
3997
4033
 
3998
4034
  // src/components/MarkdownEditor/plugins/toolbar/ToolbarButton.tsx
3999
- init_utils();
4035
+ init_utils2();
4000
4036
  init_Tooltip2();
4001
4037
  var ToolbarButton = ({
4002
4038
  active,
@@ -4491,7 +4527,7 @@ var MarkdownEditor = ({
4491
4527
  // but a matching negative margin shifts the wrapper outward so the text itself stays
4492
4528
  // aligned with the parent's content edge (i.e. with where static text would render).
4493
4529
  compact ? "tw-px-1.5 tw-py-0.5 -tw-mx-1.5 -tw-my-0.5" : "tw-p-2",
4494
- editable && "tw-cursor-text hover:tw-bg-muted focus-within:tw-ring-2 focus-within:tw-ring-primary/40"
4530
+ editable && "tw-cursor-text hover:tw-bg-muted focus-within:tw-ring-2 focus-within:tw-ring-ring/40"
4495
4531
  ),
4496
4532
  children: /* @__PURE__ */ jsx(
4497
4533
  RichTextPlugin,