@keboola/design 4.4.0 → 5.1.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.
@@ -2,8 +2,8 @@
2
2
 
3
3
  var clsx = require('clsx');
4
4
  var tailwindMerge = require('tailwind-merge');
5
- var react = require('react');
6
5
  var brandRegistry = require('@keboola/brand-registry');
6
+ var react = require('react');
7
7
  var reactTooltip = require('@radix-ui/react-tooltip');
8
8
  var classVarianceAuthority = require('class-variance-authority');
9
9
  var jsxRuntime = require('react/jsx-runtime');
@@ -157,26 +157,58 @@ var init_keyCodes = __esm({
157
157
  };
158
158
  }
159
159
  });
160
- var ThemeContext;
161
- var init_themeContext = __esm({
162
- "src/components/ThemeProvider/themeContext.ts"() {
163
- ThemeContext = react.createContext(null);
160
+
161
+ // src/components/ThemeProvider/utils.ts
162
+ var createTheme;
163
+ var init_utils = __esm({
164
+ "src/components/ThemeProvider/utils.ts"() {
165
+ createTheme = (brand) => ({
166
+ id: brand.id,
167
+ name: brand.name,
168
+ shell: brand.shell,
169
+ logo: brand.logo
170
+ });
171
+ }
172
+ });
173
+ var DEFAULT_COLOR_SCHEME, DEFAULT_BRAND_ID, defaultBrand, defaultTheme;
174
+ var init_defaults = __esm({
175
+ "src/components/ThemeProvider/defaults.ts"() {
176
+ init_utils();
177
+ [brandRegistry.keboolaLegacySidebar.id, brandRegistry.keboolaLegacyTopnav.id];
178
+ DEFAULT_COLOR_SCHEME = "light";
179
+ DEFAULT_BRAND_ID = "design-system";
180
+ defaultBrand = {
181
+ id: DEFAULT_BRAND_ID,
182
+ name: "Design System",
183
+ shell: "sidebar",
184
+ theme: {}
185
+ };
186
+ defaultTheme = createTheme(defaultBrand);
164
187
  }
165
188
  });
166
- var useIsLegacyBrand;
167
- var init_useIsLegacyBrand = __esm({
168
- "src/components/internal/useIsLegacyBrand.ts"() {
169
- init_themeContext();
170
- useIsLegacyBrand = () => {
171
- const context = react.use(ThemeContext);
172
- return context === null || context.brand.id === brandRegistry.keboolaLegacy.id;
189
+ var noop, defaultContext, ArgoDesignContext, useArgoDesign;
190
+ var init_context = __esm({
191
+ "src/components/ThemeProvider/context.tsx"() {
192
+ init_defaults();
193
+ noop = () => void 0;
194
+ defaultContext = {
195
+ scheme: DEFAULT_COLOR_SCHEME,
196
+ resolvedScheme: DEFAULT_COLOR_SCHEME,
197
+ setScheme: noop,
198
+ brandId: defaultTheme.id,
199
+ setBrand: noop,
200
+ themes: [defaultTheme],
201
+ currentTheme: defaultTheme
173
202
  };
203
+ react.createContext(defaultContext);
204
+ ArgoDesignContext = react.createContext(true);
205
+ useArgoDesign = () => react.use(ArgoDesignContext);
174
206
  }
175
207
  });
176
208
  var tooltipVariants, TooltipContent;
177
209
  var init_TooltipContent = __esm({
178
210
  "src/components/Tooltip/TooltipContent.tsx"() {
179
- init_useIsLegacyBrand();
211
+ init_context();
180
212
  tooltipVariants = classVarianceAuthority.cva(
181
213
  [
182
214
  "tailwindcss-preflight",
@@ -254,8 +286,7 @@ var init_TooltipContent = __esm({
254
286
  placement = "right",
255
287
  ...rest
256
288
  }) => {
257
- const isLegacy = useIsLegacyBrand();
258
- const renderArgo = !isLegacy;
289
+ const renderArgo = useArgoDesign();
259
290
  const handlePointerDownOutside = (event) => {
260
291
  if (keepOpenOnPointerDownOutside) event.preventDefault();
261
292
  onPointerDownOutside?.(event);
@@ -288,7 +319,7 @@ var init_TooltipRoot = __esm({
288
319
  var TooltipTrigger;
289
320
  var init_TooltipTrigger = __esm({
290
321
  "src/components/Tooltip/TooltipTrigger.tsx"() {
291
- init_utils();
322
+ init_utils2();
292
323
  TooltipTrigger = ({
293
324
  ref,
294
325
  children,
@@ -476,7 +507,7 @@ var init_useSHA256 = __esm({
476
507
  });
477
508
 
478
509
  // src/utils/index.ts
479
- var init_utils = __esm({
510
+ var init_utils2 = __esm({
480
511
  "src/utils/index.ts"() {
481
512
  init_classNames();
482
513
  init_copyToClipboard();
@@ -494,7 +525,7 @@ var init_utils = __esm({
494
525
  var HEIGHT_CLASS_NAME, ANIMATION_CLASS_NAME, Skeleton;
495
526
  var init_Skeleton = __esm({
496
527
  "src/components/Skeleton/Skeleton.tsx"() {
497
- init_utils();
528
+ init_utils2();
498
529
  HEIGHT_CLASS_NAME = {
499
530
  xxs: "tw-h-3 tw-rounded",
500
531
  xs: "tw-h-4 tw-rounded",
@@ -509,7 +540,7 @@ var init_Skeleton = __esm({
509
540
  "tw-relative",
510
541
  "tw-overflow-hidden",
511
542
  "tw-pointer-events-none",
512
- "tw-bg-muted",
543
+ "tw-bg-skeleton",
513
544
  // before
514
545
  'before:tw-content-[""]',
515
546
  "before:tw-opacity-100",
@@ -520,7 +551,7 @@ var init_Skeleton = __esm({
520
551
  "before:tw-bg-gradient-to-r",
521
552
  "before:tw-from-transparent",
522
553
  "before:tw-to-transparent",
523
- "before:tw-via-neutral-50"
554
+ "before:tw-via-white/40"
524
555
  );
525
556
  Skeleton = ({ height = "md", className, count = 1 }) => {
526
557
  const prefixId = react.useId();
@@ -539,7 +570,7 @@ var init_Skeleton = __esm({
539
570
  var Keboola;
540
571
  var init_Keboola = __esm({
541
572
  "src/icons/Keboola.tsx"() {
542
- init_utils();
573
+ init_utils2();
543
574
  Keboola = react.forwardRef(
544
575
  ({ size = 24, color = "currentColor", className, children, ...rest }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
545
576
  "svg",
@@ -594,8 +625,8 @@ var init_styles = __esm({
594
625
  "tw-font-medium",
595
626
  "tw-tracking-[1px]",
596
627
  "tw-uppercase",
597
- // border
598
- "tw-rounded-[var(--radius-lg,0.25rem)]",
628
+ // border — legacy (non-argo) chrome uses a fixed radius, not the brand token.
629
+ "tw-rounded",
599
630
  "tw-border",
600
631
  "tw-border-transparent",
601
632
  // styling
@@ -790,14 +821,14 @@ var init_styles = __esm({
790
821
  "hover:tw-text-primary-foreground",
791
822
  "focus:tw-text-primary-foreground",
792
823
  "focus-visible:tw-border-primary",
793
- "focus-visible:tw-ring-primary/50"
824
+ "focus-visible:tw-ring-ring/50"
794
825
  ],
795
826
  secondary: [
796
827
  "tw-bg-primary/10",
797
828
  "tw-text-primary",
798
829
  "hover:not-disabled:tw-bg-primary/20",
799
830
  "focus-visible:tw-border-primary",
800
- "focus-visible:tw-ring-primary/50"
831
+ "focus-visible:tw-ring-ring/50"
801
832
  ],
802
833
  // should be called "destructive" by Figma
803
834
  danger: [
@@ -814,20 +845,22 @@ var init_styles = __esm({
814
845
  // Semantic base text color so the label/icon flips in dark mode
815
846
  // (matches `invisible`); previously unset → inherited a fixed dark color.
816
847
  "tw-text-foreground",
817
- "hover:not-disabled:tw-bg-accent",
818
- "hover:not-disabled:tw-text-accent-foreground",
848
+ // Hover follows the brand primary (translucent tint), matching the
849
+ // `secondary` variant — not the fixed `accent` blue.
850
+ "hover:not-disabled:tw-bg-primary/10",
851
+ "hover:not-disabled:tw-text-primary",
819
852
  "hover:active:tw-bg-background",
820
853
  "focus-visible:!tw-border-primary",
821
- "focus-visible:tw-ring-primary/50"
854
+ "focus-visible:tw-ring-ring/50"
822
855
  ],
823
856
  // should be called "ghost" by Figma
824
857
  invisible: [
825
858
  "tw-bg-transparent",
826
859
  "tw-text-foreground",
827
- "hover:not-disabled:tw-bg-accent",
828
- "hover:not-disabled:tw-text-accent-foreground",
829
- "hover:not-disabled:tw-border-accent",
830
- "focus-visible:tw-ring-primary/50"
860
+ "hover:not-disabled:tw-bg-primary/10",
861
+ "hover:not-disabled:tw-text-primary",
862
+ "hover:not-disabled:tw-border-primary/10",
863
+ "focus-visible:tw-ring-ring/50"
831
864
  ],
832
865
  // should be called "link" by Figma
833
866
  inline: [
@@ -835,7 +868,7 @@ var init_styles = __esm({
835
868
  "tw-text-primary",
836
869
  "hover:tw-underline",
837
870
  "hover:active:tw-bg-transparent",
838
- "focus-visible:tw-ring-primary/50"
871
+ "focus-visible:tw-ring-ring/50"
839
872
  ]
840
873
  },
841
874
  size: {
@@ -862,8 +895,8 @@ var Button;
862
895
  var init_Button = __esm({
863
896
  "src/components/Button/Button.tsx"() {
864
897
  init_icons();
865
- init_utils();
866
- init_useIsLegacyBrand();
898
+ init_utils2();
899
+ init_context();
867
900
  init_styles();
868
901
  Button = ({
869
902
  ref,
@@ -879,8 +912,7 @@ var init_Button = __esm({
879
912
  block = false,
880
913
  ...buttonProps
881
914
  }) => {
882
- const isLegacy = useIsLegacyBrand();
883
- const renderArgo = !isLegacy;
915
+ const renderArgo = useArgoDesign();
884
916
  const Comp = asChild ? reactSlot.Root : "button";
885
917
  const isIconOnly = String(size).startsWith("icon");
886
918
  const classNames = renderArgo ? argoVariants({ variant, size, block, className }) : variants({ size, variant, block, className });
@@ -965,7 +997,7 @@ var init_Button2 = __esm({
965
997
  var Clipboard;
966
998
  var init_Clipboard = __esm({
967
999
  "src/components/Clipboard/Clipboard.tsx"() {
968
- init_utils();
1000
+ init_utils2();
969
1001
  init_Tooltip2();
970
1002
  Clipboard = ({
971
1003
  ref,
@@ -1085,7 +1117,7 @@ var init_ZoomableSvg = __esm({
1085
1117
  "src/components/ZoomableSvg/ZoomableSvg.tsx"() {
1086
1118
  init_ClipboardButton2();
1087
1119
  init_icons();
1088
- init_utils();
1120
+ init_utils2();
1089
1121
  init_Button2();
1090
1122
  init_Tooltip2();
1091
1123
  MIN_SCALE = 0.5;
@@ -1271,7 +1303,7 @@ var init_MermaidDiagram = __esm({
1271
1303
  "src/blocks/MermaidDiagram/MermaidDiagram.tsx"() {
1272
1304
  init_Skeleton();
1273
1305
  init_ZoomableSvg2();
1274
- init_utils();
1306
+ init_utils2();
1275
1307
  PRIMARY_FALLBACK_CHANNELS = "31 143 255";
1276
1308
  resolvePrimary = () => {
1277
1309
  const channels = typeof document === "undefined" ? PRIMARY_FALLBACK_CHANNELS : getComputedStyle(document.documentElement).getPropertyValue("--color-primary").trim() || PRIMARY_FALLBACK_CHANNELS;
@@ -1286,9 +1318,9 @@ var init_MermaidDiagram = __esm({
1286
1318
  securityLevel: "strict",
1287
1319
  theme: "base",
1288
1320
  themeVariables: {
1289
- primaryColor: colors__default.default.secondary[100],
1321
+ primaryColor: colors__default.default.blue[100],
1290
1322
  primaryTextColor: colors__default.default.neutral[800],
1291
- primaryBorderColor: colors__default.default.secondary[700],
1323
+ primaryBorderColor: colors__default.default.blue[700],
1292
1324
  secondaryColor: colors__default.default.white,
1293
1325
  secondaryTextColor: colors__default.default.neutral[800],
1294
1326
  secondaryBorderColor: colors__default.default.neutral[150],
@@ -1297,38 +1329,38 @@ var init_MermaidDiagram = __esm({
1297
1329
  tertiaryBorderColor: colors__default.default.warning[500],
1298
1330
  lineColor: colors__default.default.neutral[300],
1299
1331
  textColor: colors__default.default.neutral[800],
1300
- mainBkg: colors__default.default.secondary[100],
1301
- nodeBorder: colors__default.default.secondary[700],
1332
+ mainBkg: colors__default.default.blue[100],
1333
+ nodeBorder: colors__default.default.blue[700],
1302
1334
  clusterBkg: colors__default.default.white,
1303
1335
  clusterBorder: colors__default.default.neutral[150],
1304
1336
  titleColor: colors__default.default.neutral[800],
1305
1337
  edgeLabelBackground: colors__default.default.white,
1306
1338
  nodeTextColor: colors__default.default.neutral[800],
1307
- actorBorder: colors__default.default.secondary[700],
1308
- actorBkg: colors__default.default.secondary[100],
1339
+ actorBorder: colors__default.default.blue[700],
1340
+ actorBkg: colors__default.default.blue[100],
1309
1341
  actorTextColor: colors__default.default.neutral[800],
1310
1342
  actorLineColor: colors__default.default.neutral[300],
1311
1343
  signalColor: colors__default.default.neutral[800],
1312
1344
  signalTextColor: colors__default.default.neutral[800],
1313
- labelBoxBkgColor: colors__default.default.secondary[100],
1314
- labelBoxBorderColor: colors__default.default.secondary[700],
1345
+ labelBoxBkgColor: colors__default.default.blue[100],
1346
+ labelBoxBorderColor: colors__default.default.blue[700],
1315
1347
  labelTextColor: colors__default.default.neutral[800],
1316
1348
  loopTextColor: colors__default.default.neutral[800],
1317
1349
  noteBorderColor: colors__default.default.warning[500],
1318
1350
  noteBkgColor: colors__default.default.warning[100],
1319
1351
  noteTextColor: colors__default.default.neutral[800],
1320
- sectionBkgColor: colors__default.default.secondary[100],
1352
+ sectionBkgColor: colors__default.default.blue[100],
1321
1353
  altSectionBkgColor: colors__default.default.white,
1322
1354
  sectionBkgColor2: colors__default.default.neutral[100],
1323
- taskBorderColor: colors__default.default.secondary[700],
1324
- taskBkgColor: colors__default.default.secondary[100],
1355
+ taskBorderColor: colors__default.default.blue[700],
1356
+ taskBkgColor: colors__default.default.blue[100],
1325
1357
  taskTextColor: colors__default.default.neutral[800],
1326
1358
  taskTextDarkColor: colors__default.default.neutral[800],
1327
1359
  taskTextLightColor: colors__default.default.neutral[800],
1328
1360
  activeTaskBorderColor: resolvePrimary(),
1329
- activeTaskBkgColor: colors__default.default.secondary[200],
1330
- doneTaskBorderColor: colors__default.default.primary[600],
1331
- doneTaskBkgColor: colors__default.default.primary[100],
1361
+ activeTaskBkgColor: colors__default.default.blue[200],
1362
+ doneTaskBorderColor: colors__default.default.green[600],
1363
+ doneTaskBkgColor: colors__default.default.green[100],
1332
1364
  critBorderColor: colors__default.default.error[500],
1333
1365
  critBkgColor: colors__default.default.error[100],
1334
1366
  fontFamily: "Inter, system-ui, sans-serif",
@@ -1474,7 +1506,7 @@ ${code}
1474
1506
  });
1475
1507
 
1476
1508
  // src/components/MarkdownEditor/MarkdownEditor.tsx
1477
- init_utils();
1509
+ init_utils2();
1478
1510
  var ImageRendererContext = react.createContext(null);
1479
1511
  var ImageRendererProvider = ImageRendererContext;
1480
1512
  var useImageRenderer = () => react.use(ImageRendererContext);
@@ -1643,15 +1675,15 @@ var $isMermaidNode = (node) => {
1643
1675
  };
1644
1676
 
1645
1677
  // src/components/Toast/toast.tsx
1646
- init_utils();
1678
+ init_utils2();
1647
1679
 
1648
1680
  // src/components/Toast/ToastRoot.tsx
1649
1681
  init_icons();
1650
- init_utils();
1651
- init_useIsLegacyBrand();
1682
+ init_utils2();
1683
+ init_context();
1652
1684
 
1653
1685
  // src/components/Toast/ToastAction.tsx
1654
- init_utils();
1686
+ init_utils2();
1655
1687
  var ToastAction = ({
1656
1688
  ref,
1657
1689
  className,
@@ -1686,7 +1718,7 @@ var ToastAction = ({
1686
1718
  );
1687
1719
 
1688
1720
  // src/components/Toast/ToastDescription.tsx
1689
- init_utils();
1721
+ init_utils2();
1690
1722
  var ToastDescription = ({
1691
1723
  ref,
1692
1724
  className,
@@ -1712,7 +1744,7 @@ var ToastDescription = ({
1712
1744
 
1713
1745
  // src/components/Toast/ToastDismiss.tsx
1714
1746
  init_icons();
1715
- init_utils();
1747
+ init_utils2();
1716
1748
  var ToastDismiss = ({
1717
1749
  ref,
1718
1750
  className,
@@ -1746,7 +1778,7 @@ var ToastDismiss = ({
1746
1778
  );
1747
1779
 
1748
1780
  // src/components/Toast/ToastDuration.tsx
1749
- init_utils();
1781
+ init_utils2();
1750
1782
  var ToastDuration = ({
1751
1783
  ref,
1752
1784
  duration,
@@ -1783,7 +1815,7 @@ var ToastDuration = ({
1783
1815
  );
1784
1816
 
1785
1817
  // src/components/Toast/ToastTitle.tsx
1786
- init_utils();
1818
+ init_utils2();
1787
1819
  var ToastTitle = ({
1788
1820
  ref,
1789
1821
  className,
@@ -1864,8 +1896,7 @@ var ToastRoot = ({
1864
1896
  loading = false,
1865
1897
  icon: iconProp
1866
1898
  }) => {
1867
- const isLegacy = useIsLegacyBrand();
1868
- const renderArgo = !isLegacy;
1899
+ const renderArgo = useArgoDesign();
1869
1900
  const icon = (() => {
1870
1901
  if (loading) return /* @__PURE__ */ jsxRuntime.jsx(icons_exports.Loader2, { className: "tw-animate-spin" });
1871
1902
  if (iconProp) return iconProp;
@@ -1946,8 +1977,8 @@ var toast = ({
1946
1977
  toasterId,
1947
1978
  dismissible,
1948
1979
  duration,
1949
- // override defult focus-visible styles to match our design
1950
- className: cn("tw-rounded-lg", "focus-visible:!tw-ring-4", "focus-visible:!tw-ring-primary/50")
1980
+ // override default focus-visible styles to match our design
1981
+ className: cn("tw-rounded-lg", "focus-visible:!tw-ring-4", "focus-visible:!tw-ring-ring/50")
1951
1982
  });
1952
1983
  };
1953
1984
  toast.success = (title, options) => toast({
@@ -2304,14 +2335,14 @@ init_icons();
2304
2335
 
2305
2336
  // src/components/MarkdownEditor/plugins/toolbar/AlignmentDropdown.tsx
2306
2337
  init_icons();
2307
- init_utils();
2338
+ init_utils2();
2308
2339
 
2309
2340
  // src/components/DropdownMenu/DropdownMenu.tsx
2310
- init_useIsLegacyBrand();
2341
+ init_context();
2311
2342
 
2312
2343
  // src/components/DropdownMenu/DropdownMenuCheckboxItem.tsx
2313
2344
  init_icons();
2314
- init_utils();
2345
+ init_utils2();
2315
2346
 
2316
2347
  // src/components/DropdownMenu/DropdownMenuItemIndicator.tsx
2317
2348
  init_icons();
@@ -2337,28 +2368,30 @@ var variants3 = classVarianceAuthority.cva(
2337
2368
  "tw-border-solid",
2338
2369
  "tw-border-border",
2339
2370
  "tw-rounded-full",
2340
- "tw-bg-white",
2371
+ "group-data-[variant=default]/dropdown-menu-content:tw-bg-white",
2372
+ "group-data-[variant=argo]/dropdown-menu-content:tw-bg-background",
2341
2373
  '[&_svg:not([class*="tw-size-"])]:tw-size-2',
2342
2374
  "[&_svg]:data-[state=unchecked]:tw-hidden",
2343
2375
  // Lucide Circle is stroke-only — force fill to match the stroke
2344
2376
  // (currentColor) so the indicator reads as a solid dot.
2345
2377
  "[&_svg]:tw-fill-current",
2346
2378
  "group-data-[variant=argo]/dropdown-menu-content:[&_svg]:tw-text-primary",
2347
- "group-data-[variant=default]/dropdown-menu-content:[&_svg]:tw-text-secondary-500"
2379
+ "group-data-[variant=default]/dropdown-menu-content:[&_svg]:tw-text-primary"
2348
2380
  ],
2349
2381
  check: ['[&_svg:not([class*="tw-size-"])]:tw-size-3.5', "[&_svg]:tw-text-primary"],
2350
2382
  checkbox: [
2351
- "[&_svg]:tw-text-white",
2383
+ "[&_svg]:tw-text-primary-foreground",
2352
2384
  "tw-border",
2353
2385
  "tw-border-solid",
2354
- "tw-border-neutral-200",
2355
2386
  "tw-rounded",
2387
+ "group-data-[variant=default]/dropdown-menu-content:tw-border-neutral-200",
2388
+ "group-data-[variant=argo]/dropdown-menu-content:tw-border-input",
2356
2389
  '[&_svg:not([class*="tw-size-"])]:tw-size-3',
2357
2390
  "[&_svg]:data-[state=unchecked]:tw-hidden",
2358
2391
  "group-data-[variant=argo]/dropdown-menu-content:data-[state=checked]:tw-border-primary",
2359
2392
  "group-data-[variant=argo]/dropdown-menu-content:data-[state=checked]:tw-bg-primary",
2360
- "group-data-[variant=default]/dropdown-menu-content:data-[state=checked]:tw-border-secondary-500",
2361
- "group-data-[variant=default]/dropdown-menu-content:data-[state=checked]:tw-bg-secondary-500"
2393
+ "group-data-[variant=default]/dropdown-menu-content:data-[state=checked]:tw-border-primary",
2394
+ "group-data-[variant=default]/dropdown-menu-content:data-[state=checked]:tw-bg-primary"
2362
2395
  ],
2363
2396
  switch: [
2364
2397
  "tw-size-5",
@@ -2367,7 +2400,7 @@ var variants3 = classVarianceAuthority.cva(
2367
2400
  '[&_svg:not([class*="tw-size-"])]:tw-size-5',
2368
2401
  "tw-text-neutral-400",
2369
2402
  "data-[state=unchecked]:tw-rotate-180",
2370
- "group-data-[variant=default]/dropdown-menu-content:data-[state=checked]:tw-text-secondary-500",
2403
+ "group-data-[variant=default]/dropdown-menu-content:data-[state=checked]:tw-text-primary",
2371
2404
  "group-data-[variant=argo]/dropdown-menu-content:data-[state=checked]:tw-text-primary"
2372
2405
  ]
2373
2406
  }
@@ -2402,7 +2435,7 @@ var DropdownMenuItemIndicator = ({
2402
2435
  };
2403
2436
 
2404
2437
  // src/components/DropdownMenu/ItemIcon.tsx
2405
- init_utils();
2438
+ init_utils2();
2406
2439
  var ItemIcon = ({ className, children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
2407
2440
  "span",
2408
2441
  {
@@ -2419,7 +2452,7 @@ var ItemIcon = ({ className, children, ...props }) => /* @__PURE__ */ jsxRuntime
2419
2452
  "group-data-[variant=default]/dropdown-menu-content:tw-text-neutral-400",
2420
2453
  "group-data-[variant=argo]/dropdown-menu-content:tw-text-primary",
2421
2454
  "group-data-[variant=argo]/dropdown-menu-content:group-aria-disabled:tw-text-muted-foreground",
2422
- "group-data-[variant=default]/dropdown-menu-content:group-hover:tw-text-secondary-500",
2455
+ "group-data-[variant=default]/dropdown-menu-content:group-hover:tw-text-primary",
2423
2456
  className
2424
2457
  ),
2425
2458
  children
@@ -2427,7 +2460,7 @@ var ItemIcon = ({ className, children, ...props }) => /* @__PURE__ */ jsxRuntime
2427
2460
  );
2428
2461
 
2429
2462
  // src/components/DropdownMenu/styles.ts
2430
- init_utils();
2463
+ init_utils2();
2431
2464
  var itemVariants = cn(
2432
2465
  // reset
2433
2466
  "tailwindcss-preflight",
@@ -2458,15 +2491,16 @@ var itemVariants = cn(
2458
2491
  "group-data-[variant=default]/dropdown-menu-content:hover:tw-text-neutral-900",
2459
2492
  "group-data-[variant=argo]/dropdown-menu-content:tw-rounded-md",
2460
2493
  "group-data-[variant=argo]/dropdown-menu-content:tw-text-popover-foreground",
2461
- "group-data-[variant=argo]/dropdown-menu-content:focus:tw-text-accent-foreground",
2462
- "group-data-[variant=argo]/dropdown-menu-content:focus:tw-bg-accent",
2463
- "group-data-[variant=argo]/dropdown-menu-content:hover:tw-text-accent-foreground",
2464
- "group-data-[variant=argo]/dropdown-menu-content:hover:tw-bg-accent"
2494
+ "group-data-[variant=argo]/dropdown-menu-content:focus:tw-text-primary",
2495
+ "group-data-[variant=argo]/dropdown-menu-content:focus:tw-bg-primary/10",
2496
+ "group-data-[variant=argo]/dropdown-menu-content:hover:tw-text-primary",
2497
+ "group-data-[variant=argo]/dropdown-menu-content:hover:tw-bg-primary/10"
2465
2498
  );
2466
2499
  var contentVariants = cn(
2467
2500
  "tailwindcss-preflight",
2468
2501
  "tw-group/dropdown-menu-content",
2469
- "tw-z-[1040]",
2502
+ // Sit above Modal/Sheet (z-1051), matching the other floating overlays (Popover/Select z-1055)
2503
+ "tw-z-[1055]",
2470
2504
  // positioning
2471
2505
  "tw-flex",
2472
2506
  "tw-flex-col",
@@ -2533,13 +2567,13 @@ var DropdownMenuCheckboxItem = ({
2533
2567
  };
2534
2568
 
2535
2569
  // src/components/DropdownMenu/DropdownMenuContent.tsx
2536
- init_utils();
2570
+ init_utils2();
2537
2571
 
2538
2572
  // src/components/ScrollArea/ScrollArea.tsx
2539
- init_utils();
2573
+ init_utils2();
2540
2574
 
2541
2575
  // src/components/ScrollArea/ScrollBar.tsx
2542
- init_utils();
2576
+ init_utils2();
2543
2577
  var ScrollBar = ({ className, orientation = "vertical", ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
2544
2578
  ScrollAreaPrimitive2__namespace.ScrollAreaScrollbar,
2545
2579
  {
@@ -2644,7 +2678,7 @@ var DropdownMenuContent = ({
2644
2678
 
2645
2679
  // src/components/DropdownMenu/DropdownMenuItem.tsx
2646
2680
  init_icons();
2647
- init_utils();
2681
+ init_utils2();
2648
2682
  var DropdownMenuItem = ({
2649
2683
  ref,
2650
2684
  className,
@@ -2692,7 +2726,7 @@ var DropdownMenuItem = ({
2692
2726
  };
2693
2727
 
2694
2728
  // src/components/DropdownMenu/DropdownMenuItemDescription.tsx
2695
- init_utils();
2729
+ init_utils2();
2696
2730
  var descriptionVariants = classVarianceAuthority.cva(
2697
2731
  [
2698
2732
  "tw-box-border",
@@ -2723,7 +2757,7 @@ var DropdownMenuItemDescription = ({
2723
2757
  };
2724
2758
 
2725
2759
  // src/components/DropdownMenu/DropdownMenuLabel.tsx
2726
- init_utils();
2760
+ init_utils2();
2727
2761
  var DropdownMenuLabel = ({ className, ...props }) => {
2728
2762
  return /* @__PURE__ */ jsxRuntime.jsx(
2729
2763
  DropdownMenuPrimitive3__namespace.Label,
@@ -2761,7 +2795,7 @@ var DropdownMenuRadioGroup = ({
2761
2795
 
2762
2796
  // src/components/DropdownMenu/DropdownMenuRadioGroup/DropdownMenuRadioItem.tsx
2763
2797
  init_icons();
2764
- init_utils();
2798
+ init_utils2();
2765
2799
  var DropdownMenuRadioItem = ({
2766
2800
  className,
2767
2801
  children,
@@ -2808,7 +2842,7 @@ var DropdownMenuRadioItem = ({
2808
2842
  };
2809
2843
 
2810
2844
  // src/components/DropdownMenu/DropdownMenuSeparator.tsx
2811
- init_utils();
2845
+ init_utils2();
2812
2846
  var DropdownMenuSeparator = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
2813
2847
  DropdownMenuPrimitive3__namespace.Separator,
2814
2848
  {
@@ -2836,7 +2870,7 @@ var DropdownMenuSeparator = ({ className, ...props }) => /* @__PURE__ */ jsxRunt
2836
2870
  var DropdownMenuSub = DropdownMenuPrimitive3__namespace.Sub;
2837
2871
 
2838
2872
  // src/components/DropdownMenu/DropdownMenuSub/DropdownMenuSubContent.tsx
2839
- init_utils();
2873
+ init_utils2();
2840
2874
  var DropdownMenuSubContent = ({ className, ...props }) => {
2841
2875
  const { variant } = useDropdownMenuContext();
2842
2876
  return /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive3__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -2851,7 +2885,7 @@ var DropdownMenuSubContent = ({ className, ...props }) => {
2851
2885
 
2852
2886
  // src/components/DropdownMenu/DropdownMenuSub/DropdownMenuSubTrigger.tsx
2853
2887
  init_icons();
2854
- init_utils();
2888
+ init_utils2();
2855
2889
  var DropdownMenuSubTrigger = ({ className, children, ...props }) => {
2856
2890
  return /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuPrimitive3__namespace.SubTrigger, { className: cn(itemVariants, className), ...props, children: [
2857
2891
  children,
@@ -2860,7 +2894,7 @@ var DropdownMenuSubTrigger = ({ className, children, ...props }) => {
2860
2894
  };
2861
2895
 
2862
2896
  // src/components/DropdownMenu/DropdownMenuTrigger.tsx
2863
- init_utils();
2897
+ init_utils2();
2864
2898
  var DropdownMenuTrigger = ({
2865
2899
  ref,
2866
2900
  className,
@@ -2879,8 +2913,7 @@ var DropdownMenu = ({
2879
2913
  modal = false,
2880
2914
  ...props
2881
2915
  }) => {
2882
- const isLegacy = useIsLegacyBrand();
2883
- const effectiveVariant = !isLegacy ? "argo" : "default";
2916
+ const effectiveVariant = useArgoDesign() ? "argo" : "default";
2884
2917
  const contextValue = react.useMemo(() => ({ variant: effectiveVariant }), [effectiveVariant]);
2885
2918
  return /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuContext, { value: contextValue, children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive3.Root, { ...props, modal }) });
2886
2919
  };
@@ -2966,7 +2999,7 @@ var AlignmentDropdown = ({
2966
2999
 
2967
3000
  // src/components/MarkdownEditor/plugins/toolbar/BlockTypeDropdown.tsx
2968
3001
  init_icons();
2969
- init_utils();
3002
+ init_utils2();
2970
3003
  init_Tooltip2();
2971
3004
  var BLOCK_TYPE_META = {
2972
3005
  paragraph: { label: "Normal", icon: icons_exports.Type, selectable: true },
@@ -3121,7 +3154,7 @@ var ButtonGroup = ({
3121
3154
  };
3122
3155
 
3123
3156
  // src/components/FormGroup/FormGroup.tsx
3124
- init_utils();
3157
+ init_utils2();
3125
3158
  var FormGroupContext = react.createContext({
3126
3159
  state: "default"
3127
3160
  });
@@ -3129,11 +3162,11 @@ var FormGroupProvider = FormGroupContext;
3129
3162
  var useFormGroupContext = () => react.use(FormGroupContext);
3130
3163
 
3131
3164
  // src/components/InputGroup/InputGroup.tsx
3132
- init_utils();
3133
- init_useIsLegacyBrand();
3165
+ init_utils2();
3166
+ init_context();
3134
3167
 
3135
3168
  // src/components/InputGroup/InputGroupAddon.tsx
3136
- init_utils();
3169
+ init_utils2();
3137
3170
  var addonVariants = classVarianceAuthority.cva(
3138
3171
  [
3139
3172
  "tw-flex",
@@ -3178,7 +3211,7 @@ var InputGroupAddon = ({
3178
3211
  }) => /* @__PURE__ */ jsxRuntime.jsx("div", { ...props, "data-align": align, className: cn(addonVariants({ align, className })), children });
3179
3212
 
3180
3213
  // src/components/InputGroup/InputGroupButton.tsx
3181
- init_utils();
3214
+ init_utils2();
3182
3215
  init_Button2();
3183
3216
  var InputGroupButton = ({
3184
3217
  ref,
@@ -3198,7 +3231,7 @@ var InputGroupButton = ({
3198
3231
  );
3199
3232
 
3200
3233
  // src/components/InputGroup/InputGroupInput.tsx
3201
- init_utils();
3234
+ init_utils2();
3202
3235
  var InputGroupInput = ({
3203
3236
  ref,
3204
3237
  className,
@@ -3226,7 +3259,7 @@ var InputGroupInput = ({
3226
3259
  );
3227
3260
 
3228
3261
  // src/components/InputGroup/InputGroupText.tsx
3229
- init_utils();
3262
+ init_utils2();
3230
3263
  var InputGroupText = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
3231
3264
  "span",
3232
3265
  {
@@ -3245,7 +3278,7 @@ var InputGroupText = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx
3245
3278
  );
3246
3279
 
3247
3280
  // src/components/InputGroup/InputGroupTextArea.tsx
3248
- init_utils();
3281
+ init_utils2();
3249
3282
  var InputGroupTextArea = ({
3250
3283
  ref,
3251
3284
  className,
@@ -3309,8 +3342,9 @@ var inputGroupVariants = classVarianceAuthority.cva(
3309
3342
  // positioning
3310
3343
  "tw-flex",
3311
3344
  "tw-items-center",
3312
- // base
3313
- "tw-rounded-[var(--radius-lg,0.25rem)]",
3345
+ // base — legacy (non-argo) chrome uses a fixed radius; argo overrides it with
3346
+ // the brand radius token in the `argo` variant below.
3347
+ "tw-rounded",
3314
3348
  "tw-border",
3315
3349
  "tw-border-solid",
3316
3350
  "tw-border-neutral-200",
@@ -3384,7 +3418,7 @@ var inputGroupVariants = classVarianceAuthority.cva(
3384
3418
  state: "default",
3385
3419
  className: [
3386
3420
  "has-[:is(input,textarea):focus]:tw-border-primary",
3387
- "has-[:is(input,textarea):focus]:tw-ring-primary/50"
3421
+ "has-[:is(input,textarea):focus]:tw-ring-ring/50"
3388
3422
  ]
3389
3423
  },
3390
3424
  {
@@ -3399,7 +3433,7 @@ var inputGroupVariants = classVarianceAuthority.cva(
3399
3433
  {
3400
3434
  variant: "argo",
3401
3435
  focusVariant: "on",
3402
- className: ["!tw-border-primary", "!tw-ring-primary/50"]
3436
+ className: ["!tw-border-primary", "!tw-ring-ring/50"]
3403
3437
  },
3404
3438
  {
3405
3439
  variant: "argo",
@@ -3428,6 +3462,8 @@ var inputGroupVariants = classVarianceAuthority.cva(
3428
3462
  "has-[:is(input,textarea):disabled]:tw-opacity-40"
3429
3463
  ],
3430
3464
  argo: [
3465
+ // argo follows the brand radius token (overrides the static base)
3466
+ "tw-rounded-[var(--radius-lg,0.25rem)]",
3431
3467
  // muted filled input surface — gray, distinct from white containers; not the app-background token
3432
3468
  "tw-bg-muted",
3433
3469
  "tw-border-input",
@@ -3483,8 +3519,8 @@ var InputGroupRoot = ({
3483
3519
  className,
3484
3520
  ...props
3485
3521
  }) => {
3486
- const isLegacy = useIsLegacyBrand();
3487
- const effectiveVariant = !isLegacy ? "argo" : variant;
3522
+ const isArgo = useArgoDesign();
3523
+ const effectiveVariant = isArgo ? "argo" : variant;
3488
3524
  const effectiveSizing = effectiveVariant === "argo" ? "medium" : sizing;
3489
3525
  return /* @__PURE__ */ jsxRuntime.jsx(
3490
3526
  "div",
@@ -3513,7 +3549,7 @@ InputGroup.Text = InputGroupText;
3513
3549
 
3514
3550
  // src/blocks/ColorInput/ColorInput.tsx
3515
3551
  init_icons();
3516
- init_utils();
3552
+ init_utils2();
3517
3553
  init_icons();
3518
3554
 
3519
3555
  // src/blocks/ColorInput/utils.ts
@@ -3730,7 +3766,7 @@ var helpVariants = classVarianceAuthority.cva(["tw-m-0", "tw-text-xs"], {
3730
3766
  state: {
3731
3767
  default: ["tw-text-muted-foreground"],
3732
3768
  error: ["tw-text-destructive"],
3733
- warning: ["tw-text-warning-500"]
3769
+ warning: ["tw-text-warning"]
3734
3770
  }
3735
3771
  }
3736
3772
  });
@@ -3832,10 +3868,10 @@ var FormGroupTextarea = (props) => {
3832
3868
 
3833
3869
  // src/components/Input/Input.tsx
3834
3870
  init_icons();
3835
- init_utils();
3871
+ init_utils2();
3836
3872
 
3837
3873
  // src/components/Input/utils.ts
3838
- init_utils();
3874
+ init_utils2();
3839
3875
  var genInputTestId = (prefix = "") => {
3840
3876
  const ps = createPrefixedString(prefix);
3841
3877
  return {
@@ -4005,7 +4041,7 @@ FormGroup.ColorInput = FormGroupColorInput;
4005
4041
  FormGroup.Textarea = FormGroupTextarea;
4006
4042
 
4007
4043
  // src/components/Label/Label.tsx
4008
- init_utils();
4044
+ init_utils2();
4009
4045
  var Optional = ({ className }) => /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("tw-text-muted-foreground", className), children: "(optional)" });
4010
4046
  var Label2 = ({ className, children, id, htmlFor, ...rest }) => {
4011
4047
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -4025,7 +4061,7 @@ var Label2 = ({ className, children, id, htmlFor, ...rest }) => {
4025
4061
  Label2.Optional = Optional;
4026
4062
 
4027
4063
  // src/components/MarkdownEditor/plugins/toolbar/ToolbarButton.tsx
4028
- init_utils();
4064
+ init_utils2();
4029
4065
  init_Tooltip2();
4030
4066
  var ToolbarButton = ({
4031
4067
  active,
@@ -4520,7 +4556,7 @@ var MarkdownEditor = ({
4520
4556
  // but a matching negative margin shifts the wrapper outward so the text itself stays
4521
4557
  // aligned with the parent's content edge (i.e. with where static text would render).
4522
4558
  compact ? "tw-px-1.5 tw-py-0.5 -tw-mx-1.5 -tw-my-0.5" : "tw-p-2",
4523
- editable && "tw-cursor-text hover:tw-bg-muted focus-within:tw-ring-2 focus-within:tw-ring-primary/40"
4559
+ editable && "tw-cursor-text hover:tw-bg-muted focus-within:tw-ring-2 focus-within:tw-ring-ring/40"
4524
4560
  ),
4525
4561
  children: /* @__PURE__ */ jsxRuntime.jsx(
4526
4562
  LexicalRichTextPlugin.RichTextPlugin,