@trading-game/design-intelligence-layer 0.12.4 → 0.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -227,12 +227,12 @@ var buttonVariants = cva2(
227
227
  variants: {
228
228
  variant: {
229
229
  // Primary brand blue (#2323FF)
230
- primary: "bg-primary text-on-prominent-static-inverse hover:bg-primary-hover",
230
+ primary: "bg-primary text-on-primary hover:bg-primary-hover",
231
231
  // Primary Inverse — white bg + blue text; for use on dark/coloured surfaces
232
- "primary-inverse": "bg-on-prominent-static-inverse text-primary hover:bg-on-prominent-static-inverse/80",
232
+ "primary-inverse": "bg-primary-inverse text-on-primary-inverse hover:bg-primary-inverse/80",
233
233
  secondary: "bg-transparent border-[1.5px] border-border-prominent text-on-prominent hover:bg-secondary-hover",
234
234
  // Secondary Inverse — white border + white text; for use on dark/coloured surfaces
235
- "secondary-inverse": "bg-transparent border-[1.5px] border-on-prominent-static-inverse text-on-prominent-static-inverse hover:bg-on-prominent-static-inverse/10",
235
+ "secondary-inverse": "bg-transparent border-[1.5px] border-primary-inverse text-on-prominent-inverse hover:bg-primary-inverse/10",
236
236
  tertiary: "bg-transparent text-primary hover:bg-primary/[0.08]"
237
237
  },
238
238
  size: {
@@ -542,7 +542,7 @@ function AvatarBadge(_a) {
542
542
  __spreadValues({
543
543
  "data-slot": "avatar-badge",
544
544
  className: cn(
545
- "absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full bg-primary text-on-prominent-static-inverse ring-2 ring-prominent select-none",
545
+ "absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full bg-primary text-on-primary ring-2 ring-prominent select-none",
546
546
  "group-data-[size=sm]/avatar:size-2 group-data-[size=sm]/avatar:[&>svg]:hidden",
547
547
  "group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2",
548
548
  "group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2",
@@ -593,16 +593,16 @@ var badgeVariants = cva3(
593
593
  variants: {
594
594
  variant: {
595
595
  // Default (solid)
596
- default: "bg-primary text-on-prominent-static-inverse [a&]:hover:bg-primary/90",
597
- "default-success": "bg-semantic-win text-on-prominent-static-inverse [a&]:hover:bg-semantic-win/90",
598
- "default-fail": "bg-semantic-loss text-on-prominent-static-inverse [a&]:hover:bg-semantic-loss/90",
599
- "default-warning": "bg-semantic-warning text-on-prominent-static-inverse [a&]:hover:bg-semantic-warning/90",
596
+ default: "bg-primary text-on-primary [a&]:hover:bg-primary/90",
597
+ "default-success": "bg-semantic-win text-on-semantic-win [a&]:hover:bg-semantic-win/90",
598
+ "default-fail": "bg-semantic-loss text-on-semantic-loss [a&]:hover:bg-semantic-loss/90",
599
+ "default-warning": "bg-semantic-warning text-on-semantic-warning [a&]:hover:bg-semantic-warning/90",
600
600
  // Fill (tint)
601
601
  fill: "bg-primary/10 border-transparent text-primary",
602
602
  "fill-success": "bg-semantic-win/10 border-transparent text-semantic-win",
603
603
  "fill-fail": "bg-semantic-loss/10 border-transparent text-semantic-loss",
604
604
  "fill-warning": "bg-semantic-warning/10 border-transparent text-semantic-warning",
605
- "fill-credit": "bg-semantic-credit/16 border-transparent text-semantic-credit-text !text-xs !font-semibold",
605
+ "fill-boost": "bg-semantic-boost/16 border-transparent text-on-semantic-boost !text-xs !font-semibold",
606
606
  // Ghost (transparent)
607
607
  ghost: "bg-transparent border-transparent text-primary [a&]:hover:bg-secondary-hover [a&]:hover:text-primary",
608
608
  "ghost-success": "bg-transparent border-transparent text-semantic-win [a&]:hover:bg-semantic-win/10 [a&]:hover:text-semantic-win",
@@ -1491,7 +1491,7 @@ function Checkbox(_a) {
1491
1491
  __spreadProps(__spreadValues({
1492
1492
  "data-slot": "checkbox",
1493
1493
  className: cn(
1494
- "peer size-4 shrink-0 rounded-[2px] border border-input shadow-xs transition-shadow outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-on-prominent-static-inverse",
1494
+ "peer size-4 shrink-0 rounded-[2px] border border-input shadow-xs transition-shadow outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-on-primary",
1495
1495
  className
1496
1496
  )
1497
1497
  }, props), {
@@ -1549,7 +1549,7 @@ var inputVariants = cva4(
1549
1549
  [
1550
1550
  "w-full min-w-0 rounded-sm border border-border-subtle bg-white/5",
1551
1551
  "text-on-prominent font-body shadow-xs transition-[color,box-shadow] outline-none",
1552
- "selection:bg-primary selection:text-on-prominent-static-inverse",
1552
+ "selection:bg-primary selection:text-on-primary",
1553
1553
  "file:inline-flex file:border-0 file:bg-transparent file:font-medium file:text-on-prominent",
1554
1554
  "placeholder:text-on-subtle",
1555
1555
  "disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",
@@ -4109,7 +4109,7 @@ function NativeSelect(_a) {
4109
4109
  "data-slot": "native-select",
4110
4110
  "data-size": size,
4111
4111
  className: cn(
4112
- "h-9 w-full min-w-0 appearance-none rounded-md border border-input bg-transparent px-3 py-2 pr-9 text-sm shadow-xs transition-[color,box-shadow] outline-none selection:bg-primary selection:text-on-prominent-static-inverse placeholder:text-on-subtle disabled:pointer-events-none disabled:cursor-not-allowed data-[size=sm]:h-8 data-[size=sm]:py-1",
4112
+ "h-9 w-full min-w-0 appearance-none rounded-md border border-input bg-transparent px-3 py-2 pr-9 text-sm shadow-xs transition-[color,box-shadow] outline-none selection:bg-primary selection:text-on-primary placeholder:text-on-subtle disabled:pointer-events-none disabled:cursor-not-allowed data-[size=sm]:h-8 data-[size=sm]:py-1",
4113
4113
  "focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50",
4114
4114
  className
4115
4115
  )
@@ -5034,7 +5034,7 @@ function SheetDescription(_a) {
5034
5034
  }
5035
5035
 
5036
5036
  // components/ui/sidebar.tsx
5037
- import * as React9 from "react";
5037
+ import * as React10 from "react";
5038
5038
  import { cva as cva12 } from "class-variance-authority";
5039
5039
  import { PanelLeftIcon } from "lucide-react";
5040
5040
  import { Slot as Slot8 } from "radix-ui";
@@ -5070,8 +5070,10 @@ function Skeleton(_a) {
5070
5070
  }
5071
5071
 
5072
5072
  // components/ui/tooltip.tsx
5073
+ import * as React9 from "react";
5073
5074
  import { Tooltip as TooltipPrimitive } from "radix-ui";
5074
5075
  import { jsx as jsx49, jsxs as jsxs23 } from "react/jsx-runtime";
5076
+ var TooltipModeContext = React9.createContext("tooltip");
5075
5077
  function TooltipProvider(_a) {
5076
5078
  var _b = _a, {
5077
5079
  delayDuration = 0
@@ -5087,36 +5089,71 @@ function TooltipProvider(_a) {
5087
5089
  );
5088
5090
  }
5089
5091
  function Tooltip2(_a) {
5090
- var props = __objRest(_a, []);
5091
- return /* @__PURE__ */ jsx49(TooltipPrimitive.Root, __spreadValues({ "data-slot": "tooltip" }, props));
5092
+ var _b = _a, {
5093
+ children
5094
+ } = _b, props = __objRest(_b, [
5095
+ "children"
5096
+ ]);
5097
+ const isMobile = useIsMobile();
5098
+ const mode = isMobile ? "drawer" : "tooltip";
5099
+ if (mode === "drawer") {
5100
+ return /* @__PURE__ */ jsx49(TooltipModeContext.Provider, { value: "drawer", children: /* @__PURE__ */ jsx49(Drawer, { children }) });
5101
+ }
5102
+ return /* @__PURE__ */ jsx49(TooltipModeContext.Provider, { value: "tooltip", children: /* @__PURE__ */ jsx49(TooltipPrimitive.Root, __spreadProps(__spreadValues({ "data-slot": "tooltip" }, props), { children })) });
5092
5103
  }
5093
5104
  function TooltipTrigger(_a) {
5094
- var props = __objRest(_a, []);
5095
- return /* @__PURE__ */ jsx49(TooltipPrimitive.Trigger, __spreadValues({ "data-slot": "tooltip-trigger" }, props));
5105
+ var _b = _a, {
5106
+ children
5107
+ } = _b, props = __objRest(_b, [
5108
+ "children"
5109
+ ]);
5110
+ const mode = React9.useContext(TooltipModeContext);
5111
+ if (mode === "drawer") {
5112
+ return /* @__PURE__ */ jsx49(DrawerTrigger, __spreadProps(__spreadValues({ "data-slot": "tooltip-trigger" }, props), { children }));
5113
+ }
5114
+ return /* @__PURE__ */ jsx49(TooltipPrimitive.Trigger, __spreadProps(__spreadValues({ "data-slot": "tooltip-trigger" }, props), { children }));
5096
5115
  }
5097
5116
  function TooltipContent(_a) {
5098
5117
  var _b = _a, {
5099
5118
  className,
5100
5119
  sideOffset = 6,
5120
+ variant = "default",
5121
+ title = "Title",
5122
+ closeLabel = "Label",
5101
5123
  children
5102
5124
  } = _b, props = __objRest(_b, [
5103
5125
  "className",
5104
5126
  "sideOffset",
5127
+ "variant",
5128
+ "title",
5129
+ "closeLabel",
5105
5130
  "children"
5106
5131
  ]);
5132
+ const mode = React9.useContext(TooltipModeContext);
5133
+ if (mode === "drawer") {
5134
+ return /* @__PURE__ */ jsxs23(DrawerContent, { "data-slot": "tooltip-content", "data-variant": variant, children: [
5135
+ /* @__PURE__ */ jsx49(DrawerTitle, { className: "px-5 pt-2 text-left text-base font-bold text-on-prominent", children: title }),
5136
+ /* @__PURE__ */ jsx49("div", { className: cn("px-5 pt-2 pb-2 text-sm font-medium text-on-prominent", className), children }),
5137
+ /* @__PURE__ */ jsx49(DrawerFooter, { children: /* @__PURE__ */ jsx49(DrawerClose, { asChild: true, children: /* @__PURE__ */ jsx49(Button, { variant: "primary", size: "md", children: closeLabel }) }) })
5138
+ ] });
5139
+ }
5140
+ const surfaceClasses = variant === "inverse" ? "bg-prominent text-on-prominent shadow-sm" : "bg-primary text-on-primary";
5141
+ const arrowClasses = variant === "inverse" ? "fill-prominent" : "fill-primary";
5107
5142
  return /* @__PURE__ */ jsx49(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs23(
5108
5143
  TooltipPrimitive.Content,
5109
5144
  __spreadProps(__spreadValues({
5110
5145
  "data-slot": "tooltip-content",
5146
+ "data-variant": variant,
5111
5147
  sideOffset,
5112
5148
  className: cn(
5113
- "z-50 w-fit origin-(--radix-tooltip-content-transform-origin) animate-in rounded-md bg-primary border-0 px-3 py-1.5 text-xs font-medium text-balance text-on-prominent-static-inverse fade-in-0 zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
5149
+ "z-50 w-fit origin-(--radix-tooltip-content-transform-origin) animate-in rounded-md border-0 px-3 py-1.5 text-sm font-medium text-balance fade-in-0 zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
5150
+ surfaceClasses,
5114
5151
  className
5115
5152
  )
5116
5153
  }, props), {
5117
5154
  children: [
5118
5155
  children,
5119
- /* @__PURE__ */ jsx49(TooltipPrimitive.Arrow, { className: "fill-primary" })
5156
+ /* @__PURE__ */ jsx49(TooltipPrimitive.Arrow, { className: arrowClasses })
5120
5157
  ]
5121
5158
  })
5122
5159
  ) });
@@ -5130,9 +5167,9 @@ var SIDEBAR_WIDTH = "16rem";
5130
5167
  var SIDEBAR_WIDTH_MOBILE = "18rem";
5131
5168
  var SIDEBAR_WIDTH_ICON = "3rem";
5132
5169
  var SIDEBAR_KEYBOARD_SHORTCUT = "b";
5133
- var SidebarContext = React9.createContext(null);
5170
+ var SidebarContext = React10.createContext(null);
5134
5171
  function useSidebar() {
5135
- const context = React9.useContext(SidebarContext);
5172
+ const context = React10.useContext(SidebarContext);
5136
5173
  if (!context) {
5137
5174
  throw new Error("useSidebar must be used within a SidebarProvider.");
5138
5175
  }
@@ -5155,10 +5192,10 @@ function SidebarProvider(_a) {
5155
5192
  "children"
5156
5193
  ]);
5157
5194
  const isMobile = useIsMobile();
5158
- const [openMobile, setOpenMobile] = React9.useState(false);
5159
- const [_open, _setOpen] = React9.useState(defaultOpen);
5195
+ const [openMobile, setOpenMobile] = React10.useState(false);
5196
+ const [_open, _setOpen] = React10.useState(defaultOpen);
5160
5197
  const open = openProp != null ? openProp : _open;
5161
- const setOpen = React9.useCallback(
5198
+ const setOpen = React10.useCallback(
5162
5199
  (value) => {
5163
5200
  const openState = typeof value === "function" ? value(open) : value;
5164
5201
  if (setOpenProp) {
@@ -5170,10 +5207,10 @@ function SidebarProvider(_a) {
5170
5207
  },
5171
5208
  [setOpenProp, open]
5172
5209
  );
5173
- const toggleSidebar = React9.useCallback(() => {
5210
+ const toggleSidebar = React10.useCallback(() => {
5174
5211
  return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
5175
5212
  }, [isMobile, setOpen, setOpenMobile]);
5176
- React9.useEffect(() => {
5213
+ React10.useEffect(() => {
5177
5214
  const handleKeyDown = (event) => {
5178
5215
  if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
5179
5216
  event.preventDefault();
@@ -5184,7 +5221,7 @@ function SidebarProvider(_a) {
5184
5221
  return () => window.removeEventListener("keydown", handleKeyDown);
5185
5222
  }, [toggleSidebar]);
5186
5223
  const state = open ? "expanded" : "collapsed";
5187
- const contextValue = React9.useMemo(
5224
+ const contextValue = React10.useMemo(
5188
5225
  () => ({
5189
5226
  state,
5190
5227
  open,
@@ -5762,7 +5799,7 @@ function SidebarMenuSubButton(_a) {
5762
5799
  }
5763
5800
 
5764
5801
  // components/ui/slider.tsx
5765
- import * as React10 from "react";
5802
+ import * as React11 from "react";
5766
5803
  import { Slider as SliderPrimitive } from "radix-ui";
5767
5804
  import { jsx as jsx51, jsxs as jsxs25 } from "react/jsx-runtime";
5768
5805
  function Slider(_a) {
@@ -5779,7 +5816,7 @@ function Slider(_a) {
5779
5816
  "min",
5780
5817
  "max"
5781
5818
  ]);
5782
- const _values = React10.useMemo(
5819
+ const _values = React11.useMemo(
5783
5820
  () => Array.isArray(value) ? value : Array.isArray(defaultValue) ? defaultValue : [min, max],
5784
5821
  [value, defaultValue, min, max]
5785
5822
  );
@@ -5828,7 +5865,7 @@ function Slider(_a) {
5828
5865
  );
5829
5866
  }
5830
5867
 
5831
- // components/ui/sonner.tsx
5868
+ // components/ui/toast.tsx
5832
5869
  import {
5833
5870
  CircleCheckIcon,
5834
5871
  InfoIcon,
@@ -5837,7 +5874,7 @@ import {
5837
5874
  TriangleAlertIcon
5838
5875
  } from "lucide-react";
5839
5876
  import { useTheme } from "next-themes";
5840
- import { Toaster as Sonner } from "sonner";
5877
+ import { Toaster as Sonner, toast } from "sonner";
5841
5878
  import { jsx as jsx52 } from "react/jsx-runtime";
5842
5879
  var Toaster = (_a) => {
5843
5880
  var props = __objRest(_a, []);
@@ -5860,15 +5897,15 @@ var Toaster = (_a) => {
5860
5897
  },
5861
5898
  toastOptions: {
5862
5899
  classNames: {
5863
- toast: "!bg-[var(--on-prominent)] !border-none",
5864
- title: "!text-[var(--on-prominent-static-inverse)] !font-display !font-bold",
5865
- description: "!text-[var(--on-prominent-static-inverse)] !opacity-60 !font-body",
5866
- actionButton: "!bg-[var(--primary)] !text-[var(--on-prominent-static-inverse)]"
5900
+ toast: "!bg-[var(--prominent-inverse)] !border-none",
5901
+ title: "!text-[var(--on-prominent-inverse)] !font-display !font-bold",
5902
+ description: "!text-[var(--on-prominent-inverse)] !opacity-60 !font-body",
5903
+ actionButton: "!bg-[var(--primary-inverse)] !text-[var(--on-primary-inverse)]"
5867
5904
  }
5868
5905
  },
5869
5906
  style: {
5870
- "--normal-bg": "var(--on-prominent)",
5871
- "--normal-text": "var(--on-prominent-static-inverse)",
5907
+ "--normal-bg": "var(--prominent-inverse)",
5908
+ "--normal-text": "var(--on-prominent-inverse)",
5872
5909
  "--normal-border": "transparent",
5873
5910
  "--border-radius": "var(--radius)"
5874
5911
  }
@@ -5877,7 +5914,7 @@ var Toaster = (_a) => {
5877
5914
  };
5878
5915
 
5879
5916
  // components/ui/stepper.tsx
5880
- import * as React11 from "react";
5917
+ import * as React12 from "react";
5881
5918
  import { Minus, Plus } from "lucide-react";
5882
5919
  import { jsx as jsx53, jsxs as jsxs26 } from "react/jsx-runtime";
5883
5920
  function clamp(value, min, max) {
@@ -5913,16 +5950,16 @@ function Stepper({
5913
5950
  }) {
5914
5951
  const { container, buttonSize, iconClass } = stepperSizeConfig[size];
5915
5952
  const isControlled = controlledValue !== void 0;
5916
- const [internalValue, setInternalValue] = React11.useState(
5953
+ const [internalValue, setInternalValue] = React12.useState(
5917
5954
  clamp(defaultValue, min, max)
5918
5955
  );
5919
5956
  const currentValue = isControlled ? controlledValue : internalValue;
5920
5957
  const decimalPlaces = getDecimalPlaces(step);
5921
- const [displayString, setDisplayString] = React11.useState(
5958
+ const [displayString, setDisplayString] = React12.useState(
5922
5959
  formatValue(currentValue, decimalPlaces)
5923
5960
  );
5924
- const [isFocused, setIsFocused] = React11.useState(false);
5925
- React11.useEffect(() => {
5961
+ const [isFocused, setIsFocused] = React12.useState(false);
5962
+ React12.useEffect(() => {
5926
5963
  if (!isFocused) {
5927
5964
  setDisplayString(formatValue(currentValue, decimalPlaces));
5928
5965
  }
@@ -6280,7 +6317,7 @@ function TabsContent(_a) {
6280
6317
  }
6281
6318
 
6282
6319
  // components/ui/ticket-card.tsx
6283
- import { ArrowRight as ArrowRight2, TicketPlus } from "lucide-react";
6320
+ import { ArrowRight as ArrowRight2, Info, Rocket } from "lucide-react";
6284
6321
  import { Fragment as Fragment3, jsx as jsx57, jsxs as jsxs27 } from "react/jsx-runtime";
6285
6322
  function TicketCard({
6286
6323
  className,
@@ -6344,14 +6381,14 @@ function TicketCard({
6344
6381
  }
6345
6382
  }
6346
6383
  ),
6347
- /* @__PURE__ */ jsx57(ArrowRight2, { className: "size-4 text-on-prominent-static-inverse" }),
6348
- /* @__PURE__ */ jsx57("span", { className: "text-sm font-semibold text-on-prominent-static-inverse", children: stubLabel })
6384
+ /* @__PURE__ */ jsx57(ArrowRight2, { className: "size-4 text-on-primary" }),
6385
+ /* @__PURE__ */ jsx57("span", { className: "text-sm font-semibold text-on-primary", children: stubLabel })
6349
6386
  ]
6350
6387
  }
6351
6388
  )
6352
6389
  ] }) });
6353
6390
  }
6354
- function CreditTicketCard({
6391
+ function BoostTicketCard({
6355
6392
  className,
6356
6393
  icon,
6357
6394
  label,
@@ -6360,8 +6397,9 @@ function CreditTicketCard({
6360
6397
  stubLabel,
6361
6398
  onStubClick,
6362
6399
  stubDisabled = false,
6363
- creditAmount = "0.00",
6364
- creditCurrency = "USDT",
6400
+ boostAmount = "0.00",
6401
+ boostCurrency = "USDT",
6402
+ boostInfo,
6365
6403
  compact = false
6366
6404
  }) {
6367
6405
  return /* @__PURE__ */ jsx57("div", { className: cn("flex w-full flex-col gap-2", className), children: /* @__PURE__ */ jsxs27("div", { className: "relative flex w-full items-stretch justify-between rounded-sm bg-subtle", children: [
@@ -6378,12 +6416,24 @@ function CreditTicketCard({
6378
6416
  ] })
6379
6417
  ] })
6380
6418
  ] }),
6381
- /* @__PURE__ */ jsxs27(Badge, { variant: "fill-credit", size: "sm", className: "!gap-1 !font-medium !tracking-normal", children: [
6382
- /* @__PURE__ */ jsx57(TicketPlus, { className: "!size-3.5", strokeWidth: 2 }),
6383
- "Credit: ",
6384
- creditAmount,
6419
+ /* @__PURE__ */ jsxs27(Badge, { variant: "fill-boost", size: "sm", className: "!gap-1 !font-medium !tracking-normal", children: [
6420
+ /* @__PURE__ */ jsx57(Rocket, { className: "!size-3.5", strokeWidth: 2 }),
6421
+ "Boost: ",
6422
+ boostAmount,
6385
6423
  " ",
6386
- creditCurrency
6424
+ boostCurrency,
6425
+ boostInfo && /* @__PURE__ */ jsx57(TooltipProvider, { children: /* @__PURE__ */ jsxs27(Tooltip2, { children: [
6426
+ /* @__PURE__ */ jsx57(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx57(
6427
+ "button",
6428
+ {
6429
+ type: "button",
6430
+ "aria-label": "More info about boost",
6431
+ className: "inline-flex shrink-0 items-center justify-center rounded-full text-on-semantic-boost outline-none transition-opacity hover:opacity-70 focus-visible:opacity-70 focus-visible:ring-2 focus-visible:ring-on-semantic-boost/40 cursor-pointer",
6432
+ children: /* @__PURE__ */ jsx57(Info, { className: "!size-3.5", strokeWidth: 2 })
6433
+ }
6434
+ ) }),
6435
+ /* @__PURE__ */ jsx57(TooltipContent, { side: "top", variant: "inverse", className: "max-w-xs whitespace-normal", children: boostInfo })
6436
+ ] }) })
6387
6437
  ] })
6388
6438
  ] })
6389
6439
  ] }),
@@ -6424,8 +6474,8 @@ function CreditTicketCard({
6424
6474
  }
6425
6475
  }
6426
6476
  ),
6427
- /* @__PURE__ */ jsx57(ArrowRight2, { className: "size-4 text-on-prominent-static-inverse" }),
6428
- /* @__PURE__ */ jsx57("span", { className: "text-sm font-semibold text-on-prominent-static-inverse", children: stubLabel })
6477
+ /* @__PURE__ */ jsx57(ArrowRight2, { className: "size-4 text-on-primary" }),
6478
+ /* @__PURE__ */ jsx57("span", { className: "text-sm font-semibold text-on-primary", children: stubLabel })
6429
6479
  ]
6430
6480
  }
6431
6481
  )
@@ -6477,10 +6527,10 @@ function Toggle(_a) {
6477
6527
  }
6478
6528
 
6479
6529
  // components/ui/toggle-group.tsx
6480
- import * as React12 from "react";
6530
+ import * as React13 from "react";
6481
6531
  import { ToggleGroup as ToggleGroupPrimitive } from "radix-ui";
6482
6532
  import { jsx as jsx59 } from "react/jsx-runtime";
6483
- var ToggleGroupContext = React12.createContext({
6533
+ var ToggleGroupContext = React13.createContext({
6484
6534
  size: "default",
6485
6535
  variant: "default",
6486
6536
  spacing: 0
@@ -6528,7 +6578,7 @@ function ToggleGroupItem(_a) {
6528
6578
  "variant",
6529
6579
  "size"
6530
6580
  ]);
6531
- const context = React12.useContext(ToggleGroupContext);
6581
+ const context = React13.useContext(ToggleGroupContext);
6532
6582
  return /* @__PURE__ */ jsx59(
6533
6583
  ToggleGroupPrimitive.Item,
6534
6584
  __spreadProps(__spreadValues({
@@ -6578,6 +6628,7 @@ export {
6578
6628
  AvatarGroupCount,
6579
6629
  AvatarImage,
6580
6630
  Badge,
6631
+ BoostTicketCard,
6581
6632
  Breadcrumb,
6582
6633
  BreadcrumbEllipsis,
6583
6634
  BreadcrumbItem,
@@ -6649,7 +6700,6 @@ export {
6649
6700
  ContextMenuSubContent,
6650
6701
  ContextMenuSubTrigger,
6651
6702
  ContextMenuTrigger,
6652
- CreditTicketCard,
6653
6703
  Dialog,
6654
6704
  DialogClose,
6655
6705
  DialogContent,
@@ -6865,6 +6915,7 @@ export {
6865
6915
  navigationButtonVariants,
6866
6916
  navigationMenuTriggerStyle,
6867
6917
  tabsListVariants,
6918
+ toast,
6868
6919
  toggleVariants,
6869
6920
  useComboboxAnchor,
6870
6921
  useDirection,