@betfin/ui 0.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.
- package/dist/chunk-3CAXHUAL.js +23 -0
- package/dist/chunk-3CAXHUAL.js.map +1 -0
- package/dist/chunk-3YCD2QLS.js +113 -0
- package/dist/chunk-3YCD2QLS.js.map +1 -0
- package/dist/chunk-5CXIFF6J.js +46 -0
- package/dist/chunk-5CXIFF6J.js.map +1 -0
- package/dist/chunk-EP6DYU4N.js +26 -0
- package/dist/chunk-EP6DYU4N.js.map +1 -0
- package/dist/chunk-FHYW2QBY.js +21 -0
- package/dist/chunk-FHYW2QBY.js.map +1 -0
- package/dist/chunk-HRFMTZ55.js +49 -0
- package/dist/chunk-HRFMTZ55.js.map +1 -0
- package/dist/chunk-ILNHKDYA.js +107 -0
- package/dist/chunk-ILNHKDYA.js.map +1 -0
- package/dist/chunk-JTVU6ANA.js +37 -0
- package/dist/chunk-JTVU6ANA.js.map +1 -0
- package/dist/chunk-K7JWN6NH.js +21 -0
- package/dist/chunk-K7JWN6NH.js.map +1 -0
- package/dist/chunk-QZIKXMHP.js +131 -0
- package/dist/chunk-QZIKXMHP.js.map +1 -0
- package/dist/chunk-SSC2M625.js +24 -0
- package/dist/chunk-SSC2M625.js.map +1 -0
- package/dist/chunk-TLULUIYC.js +14 -0
- package/dist/chunk-TLULUIYC.js.map +1 -0
- package/dist/chunk-VJ6P5FFS.js +90 -0
- package/dist/chunk-VJ6P5FFS.js.map +1 -0
- package/dist/chunk-Y2TKUANL.js +11 -0
- package/dist/chunk-Y2TKUANL.js.map +1 -0
- package/dist/components/accordion.d.ts +6 -0
- package/dist/components/accordion.js +59 -0
- package/dist/components/accordion.js.map +1 -0
- package/dist/components/alert-dialog.d.ts +18 -0
- package/dist/components/alert-dialog.js +144 -0
- package/dist/components/alert-dialog.js.map +1 -0
- package/dist/components/app-header.d.ts +19 -0
- package/dist/components/app-header.js +17 -0
- package/dist/components/app-header.js.map +1 -0
- package/dist/components/badge.d.ts +7 -0
- package/dist/components/badge.js +47 -0
- package/dist/components/badge.js.map +1 -0
- package/dist/components/bet-value.d.ts +49 -0
- package/dist/components/bet-value.js +12 -0
- package/dist/components/bet-value.js.map +1 -0
- package/dist/components/breadcrumb.d.ts +10 -0
- package/dist/components/breadcrumb.js +65 -0
- package/dist/components/breadcrumb.js.map +1 -0
- package/dist/components/button.d.ts +8 -0
- package/dist/components/button.js +10 -0
- package/dist/components/button.js.map +1 -0
- package/dist/components/calendar.d.ts +10 -0
- package/dist/components/calendar.js +145 -0
- package/dist/components/calendar.js.map +1 -0
- package/dist/components/carousel.d.ts +28 -0
- package/dist/components/carousel.js +153 -0
- package/dist/components/carousel.js.map +1 -0
- package/dist/components/chart.d.ts +39 -0
- package/dist/components/chart.js +219 -0
- package/dist/components/chart.js.map +1 -0
- package/dist/components/checkbox.d.ts +3 -0
- package/dist/components/checkbox.js +26 -0
- package/dist/components/checkbox.js.map +1 -0
- package/dist/components/collapsible.d.ts +5 -0
- package/dist/components/collapsible.js +20 -0
- package/dist/components/collapsible.js.map +1 -0
- package/dist/components/command.d.ts +19 -0
- package/dist/components/command.js +130 -0
- package/dist/components/command.js.map +1 -0
- package/dist/components/context-menu.d.ts +29 -0
- package/dist/components/context-menu.js +186 -0
- package/dist/components/context-menu.js.map +1 -0
- package/dist/components/dialog.d.ts +17 -0
- package/dist/components/dialog.js +28 -0
- package/dist/components/dialog.js.map +1 -0
- package/dist/components/drawer.d.ts +16 -0
- package/dist/components/drawer.js +164 -0
- package/dist/components/drawer.js.map +1 -0
- package/dist/components/dropdown-menu.d.ts +29 -0
- package/dist/components/dropdown-menu.js +207 -0
- package/dist/components/dropdown-menu.js.map +1 -0
- package/dist/components/input-group.d.ts +18 -0
- package/dist/components/input-group.js +22 -0
- package/dist/components/input-group.js.map +1 -0
- package/dist/components/input.d.ts +3 -0
- package/dist/components/input.js +8 -0
- package/dist/components/input.js.map +1 -0
- package/dist/components/loading.d.ts +9 -0
- package/dist/components/loading.js +26 -0
- package/dist/components/loading.js.map +1 -0
- package/dist/components/member-profile.d.ts +79 -0
- package/dist/components/member-profile.js +342 -0
- package/dist/components/member-profile.js.map +1 -0
- package/dist/components/popover.d.ts +9 -0
- package/dist/components/popover.js +52 -0
- package/dist/components/popover.js.map +1 -0
- package/dist/components/progress.d.ts +7 -0
- package/dist/components/progress.js +40 -0
- package/dist/components/progress.js.map +1 -0
- package/dist/components/radio-group.d.ts +5 -0
- package/dist/components/radio-group.js +31 -0
- package/dist/components/radio-group.js.map +1 -0
- package/dist/components/scroll-area.d.ts +4 -0
- package/dist/components/scroll-area.js +42 -0
- package/dist/components/scroll-area.js.map +1 -0
- package/dist/components/select.d.ts +15 -0
- package/dist/components/select.js +136 -0
- package/dist/components/select.js.map +1 -0
- package/dist/components/separator.d.ts +3 -0
- package/dist/components/separator.js +8 -0
- package/dist/components/separator.js.map +1 -0
- package/dist/components/sheet.d.ts +14 -0
- package/dist/components/sheet.js +23 -0
- package/dist/components/sheet.js.map +1 -0
- package/dist/components/sidebar.d.ts +63 -0
- package/dist/components/sidebar.js +536 -0
- package/dist/components/sidebar.js.map +1 -0
- package/dist/components/skeleton.d.ts +2 -0
- package/dist/components/skeleton.js +8 -0
- package/dist/components/skeleton.js.map +1 -0
- package/dist/components/slider.d.ts +3 -0
- package/dist/components/slider.js +45 -0
- package/dist/components/slider.js.map +1 -0
- package/dist/components/sonner.d.ts +3 -0
- package/dist/components/sonner.js +39 -0
- package/dist/components/sonner.js.map +1 -0
- package/dist/components/switch.d.ts +5 -0
- package/dist/components/switch.js +36 -0
- package/dist/components/switch.js.map +1 -0
- package/dist/components/table.d.ts +12 -0
- package/dist/components/table.js +56 -0
- package/dist/components/table.js.map +1 -0
- package/dist/components/tabs.d.ts +10 -0
- package/dist/components/tabs.js +63 -0
- package/dist/components/tabs.js.map +1 -0
- package/dist/components/textarea.d.ts +3 -0
- package/dist/components/textarea.js +8 -0
- package/dist/components/textarea.js.map +1 -0
- package/dist/components/toggle-group.d.ts +11 -0
- package/dist/components/toggle-group.js +80 -0
- package/dist/components/toggle-group.js.map +1 -0
- package/dist/components/toggle.d.ts +8 -0
- package/dist/components/toggle.js +11 -0
- package/dist/components/toggle.js.map +1 -0
- package/dist/components/tooltip.d.ts +6 -0
- package/dist/components/tooltip.js +14 -0
- package/dist/components/tooltip.js.map +1 -0
- package/dist/hooks/use-mobile.d.ts +1 -0
- package/dist/hooks/use-mobile.js +7 -0
- package/dist/hooks/use-mobile.js.map +1 -0
- package/dist/lib/date.d.ts +14 -0
- package/dist/lib/date.js +24 -0
- package/dist/lib/date.js.map +1 -0
- package/dist/lib/format.d.ts +16 -0
- package/dist/lib/format.js +9 -0
- package/dist/lib/format.js.map +1 -0
- package/dist/lib/utils.d.ts +2 -0
- package/dist/lib/utils.js +7 -0
- package/dist/lib/utils.js.map +1 -0
- package/package.json +71 -0
- package/src/styles/globals.css +151 -0
- package/src/styles/theme.css +144 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import {
|
|
2
|
+
cn
|
|
3
|
+
} from "../chunk-Y2TKUANL.js";
|
|
4
|
+
|
|
5
|
+
// src/components/slider.tsx
|
|
6
|
+
import { Slider as SliderPrimitive } from "@base-ui/react/slider";
|
|
7
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
+
function Slider({ className, defaultValue, value, min = 0, max = 100, ...props }) {
|
|
9
|
+
const _values = Array.isArray(value) ? value : Array.isArray(defaultValue) ? defaultValue : [min, max];
|
|
10
|
+
return /* @__PURE__ */ jsx(
|
|
11
|
+
SliderPrimitive.Root,
|
|
12
|
+
{
|
|
13
|
+
className: cn("data-vertical:h-full data-horizontal:w-full", className),
|
|
14
|
+
"data-slot": "slider",
|
|
15
|
+
defaultValue,
|
|
16
|
+
value,
|
|
17
|
+
min,
|
|
18
|
+
max,
|
|
19
|
+
thumbAlignment: "edge",
|
|
20
|
+
...props,
|
|
21
|
+
children: /* @__PURE__ */ jsxs(SliderPrimitive.Control, { className: "relative flex w-full touch-none select-none items-center data-vertical:h-full data-vertical:min-h-40 data-vertical:w-auto data-vertical:flex-col data-disabled:opacity-50", children: [
|
|
22
|
+
/* @__PURE__ */ jsx(
|
|
23
|
+
SliderPrimitive.Track,
|
|
24
|
+
{
|
|
25
|
+
"data-slot": "slider-track",
|
|
26
|
+
className: "relative grow select-none overflow-hidden rounded-full bg-muted data-horizontal:h-1 data-vertical:h-full data-horizontal:w-full data-vertical:w-1",
|
|
27
|
+
children: /* @__PURE__ */ jsx(SliderPrimitive.Indicator, { "data-slot": "slider-range", className: "select-none bg-primary data-horizontal:h-full data-vertical:w-full" })
|
|
28
|
+
}
|
|
29
|
+
),
|
|
30
|
+
Array.from({ length: _values.length }, (_, index) => /* @__PURE__ */ jsx(
|
|
31
|
+
SliderPrimitive.Thumb,
|
|
32
|
+
{
|
|
33
|
+
"data-slot": "slider-thumb",
|
|
34
|
+
className: "relative block size-3 shrink-0 select-none rounded-full border border-ring bg-white ring-ring/50 transition-[color,box-shadow] after:absolute after:-inset-2 hover:ring-3 focus-visible:outline-hidden focus-visible:ring-3 active:ring-3 disabled:pointer-events-none disabled:opacity-50"
|
|
35
|
+
},
|
|
36
|
+
index
|
|
37
|
+
))
|
|
38
|
+
] })
|
|
39
|
+
}
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
export {
|
|
43
|
+
Slider
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=slider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/components/slider.tsx"],"sourcesContent":["import { Slider as SliderPrimitive } from '@base-ui/react/slider';\n\nimport { cn } from '@betfin/ui/lib/utils';\n\nfunction Slider({ className, defaultValue, value, min = 0, max = 100, ...props }: SliderPrimitive.Root.Props) {\n\tconst _values = Array.isArray(value) ? value : Array.isArray(defaultValue) ? defaultValue : [min, max];\n\n\treturn (\n\t\t<SliderPrimitive.Root\n\t\t\tclassName={cn('data-vertical:h-full data-horizontal:w-full', className)}\n\t\t\tdata-slot=\"slider\"\n\t\t\tdefaultValue={defaultValue}\n\t\t\tvalue={value}\n\t\t\tmin={min}\n\t\t\tmax={max}\n\t\t\tthumbAlignment=\"edge\"\n\t\t\t{...props}\n\t\t>\n\t\t\t<SliderPrimitive.Control className=\"relative flex w-full touch-none select-none items-center data-vertical:h-full data-vertical:min-h-40 data-vertical:w-auto data-vertical:flex-col data-disabled:opacity-50\">\n\t\t\t\t<SliderPrimitive.Track\n\t\t\t\t\tdata-slot=\"slider-track\"\n\t\t\t\t\tclassName=\"relative grow select-none overflow-hidden rounded-full bg-muted data-horizontal:h-1 data-vertical:h-full data-horizontal:w-full data-vertical:w-1\"\n\t\t\t\t>\n\t\t\t\t\t<SliderPrimitive.Indicator data-slot=\"slider-range\" className=\"select-none bg-primary data-horizontal:h-full data-vertical:w-full\" />\n\t\t\t\t</SliderPrimitive.Track>\n\t\t\t\t{Array.from({ length: _values.length }, (_, index) => (\n\t\t\t\t\t<SliderPrimitive.Thumb\n\t\t\t\t\t\tdata-slot=\"slider-thumb\"\n\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\tclassName=\"relative block size-3 shrink-0 select-none rounded-full border border-ring bg-white ring-ring/50 transition-[color,box-shadow] after:absolute after:-inset-2 hover:ring-3 focus-visible:outline-hidden focus-visible:ring-3 active:ring-3 disabled:pointer-events-none disabled:opacity-50\"\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t</SliderPrimitive.Control>\n\t\t</SliderPrimitive.Root>\n\t);\n}\n\nexport { Slider };\n"],"mappings":";;;;;AAAA,SAAS,UAAU,uBAAuB;AAkBvC,SAKE,KALF;AAdH,SAAS,OAAO,EAAE,WAAW,cAAc,OAAO,MAAM,GAAG,MAAM,KAAK,GAAG,MAAM,GAA+B;AAC7G,QAAM,UAAU,MAAM,QAAQ,KAAK,IAAI,QAAQ,MAAM,QAAQ,YAAY,IAAI,eAAe,CAAC,KAAK,GAAG;AAErG,SACC;AAAA,IAAC,gBAAgB;AAAA,IAAhB;AAAA,MACA,WAAW,GAAG,+CAA+C,SAAS;AAAA,MACtE,aAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,gBAAe;AAAA,MACd,GAAG;AAAA,MAEJ,+BAAC,gBAAgB,SAAhB,EAAwB,WAAU,6KAClC;AAAA;AAAA,UAAC,gBAAgB;AAAA,UAAhB;AAAA,YACA,aAAU;AAAA,YACV,WAAU;AAAA,YAEV,8BAAC,gBAAgB,WAAhB,EAA0B,aAAU,gBAAe,WAAU,sEAAqE;AAAA;AAAA,QACpI;AAAA,QACC,MAAM,KAAK,EAAE,QAAQ,QAAQ,OAAO,GAAG,CAAC,GAAG,UAC3C;AAAA,UAAC,gBAAgB;AAAA,UAAhB;AAAA,YACA,aAAU;AAAA,YAEV,WAAU;AAAA;AAAA,UADL;AAAA,QAEN,CACA;AAAA,SACF;AAAA;AAAA,EACD;AAEF;","names":[]}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// src/components/sonner.tsx
|
|
4
|
+
import { CircleCheckIcon, InfoIcon, Loader2Icon, OctagonXIcon, TriangleAlertIcon } from "lucide-react";
|
|
5
|
+
import { Toaster as Sonner, toast } from "sonner";
|
|
6
|
+
import { jsx } from "react/jsx-runtime";
|
|
7
|
+
var Toaster = ({ ...props }) => {
|
|
8
|
+
return /* @__PURE__ */ jsx(
|
|
9
|
+
Sonner,
|
|
10
|
+
{
|
|
11
|
+
theme: "dark",
|
|
12
|
+
className: "toaster group",
|
|
13
|
+
icons: {
|
|
14
|
+
success: /* @__PURE__ */ jsx(CircleCheckIcon, { className: "size-4" }),
|
|
15
|
+
info: /* @__PURE__ */ jsx(InfoIcon, { className: "size-4" }),
|
|
16
|
+
warning: /* @__PURE__ */ jsx(TriangleAlertIcon, { className: "size-4" }),
|
|
17
|
+
error: /* @__PURE__ */ jsx(OctagonXIcon, { className: "size-4" }),
|
|
18
|
+
loading: /* @__PURE__ */ jsx(Loader2Icon, { className: "size-4 animate-spin" })
|
|
19
|
+
},
|
|
20
|
+
style: {
|
|
21
|
+
"--normal-bg": "var(--popover)",
|
|
22
|
+
"--normal-text": "var(--popover-foreground)",
|
|
23
|
+
"--normal-border": "var(--border)",
|
|
24
|
+
"--border-radius": "var(--radius)"
|
|
25
|
+
},
|
|
26
|
+
toastOptions: {
|
|
27
|
+
classNames: {
|
|
28
|
+
toast: "cn-toast"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
...props
|
|
32
|
+
}
|
|
33
|
+
);
|
|
34
|
+
};
|
|
35
|
+
export {
|
|
36
|
+
Toaster,
|
|
37
|
+
toast
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=sonner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/components/sonner.tsx"],"sourcesContent":["'use client';\n\nimport { CircleCheckIcon, InfoIcon, Loader2Icon, OctagonXIcon, TriangleAlertIcon } from 'lucide-react';\nimport { Toaster as Sonner, type ToasterProps, toast } from 'sonner';\n\nconst Toaster = ({ ...props }: ToasterProps) => {\n\treturn (\n\t\t<Sonner\n\t\t\ttheme=\"dark\"\n\t\t\tclassName=\"toaster group\"\n\t\t\ticons={{\n\t\t\t\tsuccess: <CircleCheckIcon className=\"size-4\" />,\n\t\t\t\tinfo: <InfoIcon className=\"size-4\" />,\n\t\t\t\twarning: <TriangleAlertIcon className=\"size-4\" />,\n\t\t\t\terror: <OctagonXIcon className=\"size-4\" />,\n\t\t\t\tloading: <Loader2Icon className=\"size-4 animate-spin\" />,\n\t\t\t}}\n\t\t\tstyle={\n\t\t\t\t{\n\t\t\t\t\t'--normal-bg': 'var(--popover)',\n\t\t\t\t\t'--normal-text': 'var(--popover-foreground)',\n\t\t\t\t\t'--normal-border': 'var(--border)',\n\t\t\t\t\t'--border-radius': 'var(--radius)',\n\t\t\t\t} as React.CSSProperties\n\t\t\t}\n\t\t\ttoastOptions={{\n\t\t\t\tclassNames: {\n\t\t\t\t\ttoast: 'cn-toast',\n\t\t\t\t},\n\t\t\t}}\n\t\t\t{...props}\n\t\t/>\n\t);\n};\n\nexport { Toaster, toast };\n"],"mappings":";;;AAEA,SAAS,iBAAiB,UAAU,aAAa,cAAc,yBAAyB;AACxF,SAAS,WAAW,QAA2B,aAAa;AAQ/C;AANb,IAAM,UAAU,CAAC,EAAE,GAAG,MAAM,MAAoB;AAC/C,SACC;AAAA,IAAC;AAAA;AAAA,MACA,OAAM;AAAA,MACN,WAAU;AAAA,MACV,OAAO;AAAA,QACN,SAAS,oBAAC,mBAAgB,WAAU,UAAS;AAAA,QAC7C,MAAM,oBAAC,YAAS,WAAU,UAAS;AAAA,QACnC,SAAS,oBAAC,qBAAkB,WAAU,UAAS;AAAA,QAC/C,OAAO,oBAAC,gBAAa,WAAU,UAAS;AAAA,QACxC,SAAS,oBAAC,eAAY,WAAU,uBAAsB;AAAA,MACvD;AAAA,MACA,OACC;AAAA,QACC,eAAe;AAAA,QACf,iBAAiB;AAAA,QACjB,mBAAmB;AAAA,QACnB,mBAAmB;AAAA,MACpB;AAAA,MAED,cAAc;AAAA,QACb,YAAY;AAAA,UACX,OAAO;AAAA,QACR;AAAA,MACD;AAAA,MACC,GAAG;AAAA;AAAA,EACL;AAEF;","names":[]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import {
|
|
2
|
+
cn
|
|
3
|
+
} from "../chunk-Y2TKUANL.js";
|
|
4
|
+
|
|
5
|
+
// src/components/switch.tsx
|
|
6
|
+
import { Switch as SwitchPrimitive } from "@base-ui/react/switch";
|
|
7
|
+
import { jsx } from "react/jsx-runtime";
|
|
8
|
+
function Switch({
|
|
9
|
+
className,
|
|
10
|
+
size = "default",
|
|
11
|
+
...props
|
|
12
|
+
}) {
|
|
13
|
+
return /* @__PURE__ */ jsx(
|
|
14
|
+
SwitchPrimitive.Root,
|
|
15
|
+
{
|
|
16
|
+
"data-slot": "switch",
|
|
17
|
+
"data-size": size,
|
|
18
|
+
className: cn(
|
|
19
|
+
"peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent outline-none transition-all after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-[size=default]:h-[18.4px] data-[size=sm]:h-[14px] data-[size=default]:w-[32px] data-[size=sm]:w-[24px] data-disabled:cursor-not-allowed data-checked:bg-primary data-unchecked:bg-input data-disabled:opacity-50 dark:data-unchecked:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",
|
|
20
|
+
className
|
|
21
|
+
),
|
|
22
|
+
...props,
|
|
23
|
+
children: /* @__PURE__ */ jsx(
|
|
24
|
+
SwitchPrimitive.Thumb,
|
|
25
|
+
{
|
|
26
|
+
"data-slot": "switch-thumb",
|
|
27
|
+
className: "pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-checked:translate-x-[calc(100%-2px)] group-data-[size=default]/switch:data-unchecked:translate-x-0 group-data-[size=sm]/switch:data-checked:translate-x-[calc(100%-2px)] group-data-[size=sm]/switch:data-unchecked:translate-x-0 dark:data-checked:bg-primary-foreground dark:data-unchecked:bg-foreground"
|
|
28
|
+
}
|
|
29
|
+
)
|
|
30
|
+
}
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
export {
|
|
34
|
+
Switch
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=switch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/components/switch.tsx"],"sourcesContent":["import { Switch as SwitchPrimitive } from '@base-ui/react/switch';\n\nimport { cn } from '@betfin/ui/lib/utils';\n\nfunction Switch({\n\tclassName,\n\tsize = 'default',\n\t...props\n}: SwitchPrimitive.Root.Props & {\n\tsize?: 'sm' | 'default';\n}) {\n\treturn (\n\t\t<SwitchPrimitive.Root\n\t\t\tdata-slot=\"switch\"\n\t\t\tdata-size={size}\n\t\t\tclassName={cn(\n\t\t\t\t'peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent outline-none transition-all after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-[size=default]:h-[18.4px] data-[size=sm]:h-[14px] data-[size=default]:w-[32px] data-[size=sm]:w-[24px] data-disabled:cursor-not-allowed data-checked:bg-primary data-unchecked:bg-input data-disabled:opacity-50 dark:data-unchecked:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<SwitchPrimitive.Thumb\n\t\t\t\tdata-slot=\"switch-thumb\"\n\t\t\t\tclassName=\"pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-checked:translate-x-[calc(100%-2px)] group-data-[size=default]/switch:data-unchecked:translate-x-0 group-data-[size=sm]/switch:data-checked:translate-x-[calc(100%-2px)] group-data-[size=sm]/switch:data-unchecked:translate-x-0 dark:data-checked:bg-primary-foreground dark:data-unchecked:bg-foreground\"\n\t\t\t/>\n\t\t</SwitchPrimitive.Root>\n\t);\n}\n\nexport { Switch };\n"],"mappings":";;;;;AAAA,SAAS,UAAU,uBAAuB;AAqBvC;AAjBH,SAAS,OAAO;AAAA,EACf;AAAA,EACA,OAAO;AAAA,EACP,GAAG;AACJ,GAEG;AACF,SACC;AAAA,IAAC,gBAAgB;AAAA,IAAhB;AAAA,MACA,aAAU;AAAA,MACV,aAAW;AAAA,MACX,WAAW;AAAA,QACV;AAAA,QACA;AAAA,MACD;AAAA,MACC,GAAG;AAAA,MAEJ;AAAA,QAAC,gBAAgB;AAAA,QAAhB;AAAA,UACA,aAAU;AAAA,UACV,WAAU;AAAA;AAAA,MACX;AAAA;AAAA,EACD;AAEF;","names":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type * as React from 'react';
|
|
2
|
+
declare function Table({ className, containerClassName, ...props }: React.ComponentProps<'table'> & {
|
|
3
|
+
containerClassName?: string;
|
|
4
|
+
}): React.JSX.Element;
|
|
5
|
+
declare function TableHeader({ className, ...props }: React.ComponentProps<'thead'>): React.JSX.Element;
|
|
6
|
+
declare function TableBody({ className, ...props }: React.ComponentProps<'tbody'>): React.JSX.Element;
|
|
7
|
+
declare function TableFooter({ className, ...props }: React.ComponentProps<'tfoot'>): React.JSX.Element;
|
|
8
|
+
declare function TableRow({ className, ...props }: React.ComponentProps<'tr'>): React.JSX.Element;
|
|
9
|
+
declare function TableHead({ className, ...props }: React.ComponentProps<'th'>): React.JSX.Element;
|
|
10
|
+
declare function TableCell({ className, ...props }: React.ComponentProps<'td'>): React.JSX.Element;
|
|
11
|
+
declare function TableCaption({ className, ...props }: React.ComponentProps<'caption'>): React.JSX.Element;
|
|
12
|
+
export { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow };
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
cn
|
|
4
|
+
} from "../chunk-Y2TKUANL.js";
|
|
5
|
+
|
|
6
|
+
// src/components/table.tsx
|
|
7
|
+
import { jsx } from "react/jsx-runtime";
|
|
8
|
+
function Table({ className, containerClassName, ...props }) {
|
|
9
|
+
return /* @__PURE__ */ jsx("div", { "data-slot": "table-container", className: cn("relative w-full min-w-0 overflow-x-auto", containerClassName), children: /* @__PURE__ */ jsx("table", { "data-slot": "table", className: cn("w-full caption-bottom text-sm", className), ...props }) });
|
|
10
|
+
}
|
|
11
|
+
function TableHeader({ className, ...props }) {
|
|
12
|
+
return /* @__PURE__ */ jsx("thead", { "data-slot": "table-header", className: cn("[&_tr]:border-b", className), ...props });
|
|
13
|
+
}
|
|
14
|
+
function TableBody({ className, ...props }) {
|
|
15
|
+
return /* @__PURE__ */ jsx("tbody", { "data-slot": "table-body", className: cn("[&_tr:last-child]:border-0", className), ...props });
|
|
16
|
+
}
|
|
17
|
+
function TableFooter({ className, ...props }) {
|
|
18
|
+
return /* @__PURE__ */ jsx("tfoot", { "data-slot": "table-footer", className: cn("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0", className), ...props });
|
|
19
|
+
}
|
|
20
|
+
function TableRow({ className, ...props }) {
|
|
21
|
+
return /* @__PURE__ */ jsx(
|
|
22
|
+
"tr",
|
|
23
|
+
{
|
|
24
|
+
"data-slot": "table-row",
|
|
25
|
+
className: cn("border-b transition-colors hover:bg-muted/50 has-aria-expanded:bg-muted/50 data-[state=selected]:bg-muted", className),
|
|
26
|
+
...props
|
|
27
|
+
}
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
function TableHead({ className, ...props }) {
|
|
31
|
+
return /* @__PURE__ */ jsx(
|
|
32
|
+
"th",
|
|
33
|
+
{
|
|
34
|
+
"data-slot": "table-head",
|
|
35
|
+
className: cn("h-10 whitespace-nowrap px-2 text-left align-middle font-medium text-foreground [&:has([role=checkbox])]:pr-0", className),
|
|
36
|
+
...props
|
|
37
|
+
}
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
function TableCell({ className, ...props }) {
|
|
41
|
+
return /* @__PURE__ */ jsx("td", { "data-slot": "table-cell", className: cn("whitespace-nowrap p-2 align-middle [&:has([role=checkbox])]:pr-0", className), ...props });
|
|
42
|
+
}
|
|
43
|
+
function TableCaption({ className, ...props }) {
|
|
44
|
+
return /* @__PURE__ */ jsx("caption", { "data-slot": "table-caption", className: cn("mt-4 text-muted-foreground text-sm", className), ...props });
|
|
45
|
+
}
|
|
46
|
+
export {
|
|
47
|
+
Table,
|
|
48
|
+
TableBody,
|
|
49
|
+
TableCaption,
|
|
50
|
+
TableCell,
|
|
51
|
+
TableFooter,
|
|
52
|
+
TableHead,
|
|
53
|
+
TableHeader,
|
|
54
|
+
TableRow
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/components/table.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from '@betfin/ui/lib/utils';\nimport type * as React from 'react';\n\nfunction Table({ className, containerClassName, ...props }: React.ComponentProps<'table'> & { containerClassName?: string }) {\n\treturn (\n\t\t<div data-slot=\"table-container\" className={cn('relative w-full min-w-0 overflow-x-auto', containerClassName)}>\n\t\t\t<table data-slot=\"table\" className={cn('w-full caption-bottom text-sm', className)} {...props} />\n\t\t</div>\n\t);\n}\n\nfunction TableHeader({ className, ...props }: React.ComponentProps<'thead'>) {\n\treturn <thead data-slot=\"table-header\" className={cn('[&_tr]:border-b', className)} {...props} />;\n}\n\nfunction TableBody({ className, ...props }: React.ComponentProps<'tbody'>) {\n\treturn <tbody data-slot=\"table-body\" className={cn('[&_tr:last-child]:border-0', className)} {...props} />;\n}\n\nfunction TableFooter({ className, ...props }: React.ComponentProps<'tfoot'>) {\n\treturn <tfoot data-slot=\"table-footer\" className={cn('border-t bg-muted/50 font-medium [&>tr]:last:border-b-0', className)} {...props} />;\n}\n\nfunction TableRow({ className, ...props }: React.ComponentProps<'tr'>) {\n\treturn (\n\t\t<tr\n\t\t\tdata-slot=\"table-row\"\n\t\t\tclassName={cn('border-b transition-colors hover:bg-muted/50 has-aria-expanded:bg-muted/50 data-[state=selected]:bg-muted', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction TableHead({ className, ...props }: React.ComponentProps<'th'>) {\n\treturn (\n\t\t<th\n\t\t\tdata-slot=\"table-head\"\n\t\t\tclassName={cn('h-10 whitespace-nowrap px-2 text-left align-middle font-medium text-foreground [&:has([role=checkbox])]:pr-0', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction TableCell({ className, ...props }: React.ComponentProps<'td'>) {\n\treturn <td data-slot=\"table-cell\" className={cn('whitespace-nowrap p-2 align-middle [&:has([role=checkbox])]:pr-0', className)} {...props} />;\n}\n\nfunction TableCaption({ className, ...props }: React.ComponentProps<'caption'>) {\n\treturn <caption data-slot=\"table-caption\" className={cn('mt-4 text-muted-foreground text-sm', className)} {...props} />;\n}\n\nexport { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow };\n"],"mappings":";;;;;;AAQG;AAHH,SAAS,MAAM,EAAE,WAAW,oBAAoB,GAAG,MAAM,GAAoE;AAC5H,SACC,oBAAC,SAAI,aAAU,mBAAkB,WAAW,GAAG,2CAA2C,kBAAkB,GAC3G,8BAAC,WAAM,aAAU,SAAQ,WAAW,GAAG,iCAAiC,SAAS,GAAI,GAAG,OAAO,GAChG;AAEF;AAEA,SAAS,YAAY,EAAE,WAAW,GAAG,MAAM,GAAkC;AAC5E,SAAO,oBAAC,WAAM,aAAU,gBAAe,WAAW,GAAG,mBAAmB,SAAS,GAAI,GAAG,OAAO;AAChG;AAEA,SAAS,UAAU,EAAE,WAAW,GAAG,MAAM,GAAkC;AAC1E,SAAO,oBAAC,WAAM,aAAU,cAAa,WAAW,GAAG,8BAA8B,SAAS,GAAI,GAAG,OAAO;AACzG;AAEA,SAAS,YAAY,EAAE,WAAW,GAAG,MAAM,GAAkC;AAC5E,SAAO,oBAAC,WAAM,aAAU,gBAAe,WAAW,GAAG,2DAA2D,SAAS,GAAI,GAAG,OAAO;AACxI;AAEA,SAAS,SAAS,EAAE,WAAW,GAAG,MAAM,GAA+B;AACtE,SACC;AAAA,IAAC;AAAA;AAAA,MACA,aAAU;AAAA,MACV,WAAW,GAAG,6GAA6G,SAAS;AAAA,MACnI,GAAG;AAAA;AAAA,EACL;AAEF;AAEA,SAAS,UAAU,EAAE,WAAW,GAAG,MAAM,GAA+B;AACvE,SACC;AAAA,IAAC;AAAA;AAAA,MACA,aAAU;AAAA,MACV,WAAW,GAAG,gHAAgH,SAAS;AAAA,MACtI,GAAG;AAAA;AAAA,EACL;AAEF;AAEA,SAAS,UAAU,EAAE,WAAW,GAAG,MAAM,GAA+B;AACvE,SAAO,oBAAC,QAAG,aAAU,cAAa,WAAW,GAAG,oEAAoE,SAAS,GAAI,GAAG,OAAO;AAC5I;AAEA,SAAS,aAAa,EAAE,WAAW,GAAG,MAAM,GAAoC;AAC/E,SAAO,oBAAC,aAAQ,aAAU,iBAAgB,WAAW,GAAG,sCAAsC,SAAS,GAAI,GAAG,OAAO;AACtH;","names":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Tabs as TabsPrimitive } from '@base-ui/react/tabs';
|
|
2
|
+
import { type VariantProps } from 'class-variance-authority';
|
|
3
|
+
declare function Tabs({ className, orientation, ...props }: TabsPrimitive.Root.Props): import("react").JSX.Element;
|
|
4
|
+
declare const tabsListVariants: (props?: ({
|
|
5
|
+
variant?: "default" | "line" | null | undefined;
|
|
6
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
|
+
declare function TabsList({ className, variant, ...props }: TabsPrimitive.List.Props & VariantProps<typeof tabsListVariants>): import("react").JSX.Element;
|
|
8
|
+
declare function TabsTrigger({ className, ...props }: TabsPrimitive.Tab.Props): import("react").JSX.Element;
|
|
9
|
+
declare function TabsContent({ className, ...props }: TabsPrimitive.Panel.Props): import("react").JSX.Element;
|
|
10
|
+
export { Tabs, TabsContent, TabsList, TabsTrigger, tabsListVariants };
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import {
|
|
2
|
+
cn
|
|
3
|
+
} from "../chunk-Y2TKUANL.js";
|
|
4
|
+
|
|
5
|
+
// src/components/tabs.tsx
|
|
6
|
+
import { Tabs as TabsPrimitive } from "@base-ui/react/tabs";
|
|
7
|
+
import { cva } from "class-variance-authority";
|
|
8
|
+
import { jsx } from "react/jsx-runtime";
|
|
9
|
+
function Tabs({ className, orientation = "horizontal", ...props }) {
|
|
10
|
+
return /* @__PURE__ */ jsx(
|
|
11
|
+
TabsPrimitive.Root,
|
|
12
|
+
{
|
|
13
|
+
"data-slot": "tabs",
|
|
14
|
+
"data-orientation": orientation,
|
|
15
|
+
className: cn("group/tabs flex gap-2 data-horizontal:flex-col", className),
|
|
16
|
+
...props
|
|
17
|
+
}
|
|
18
|
+
);
|
|
19
|
+
}
|
|
20
|
+
var tabsListVariants = cva(
|
|
21
|
+
"group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground data-[variant=line]:rounded-none group-data-horizontal/tabs:h-8 group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col",
|
|
22
|
+
{
|
|
23
|
+
variants: {
|
|
24
|
+
variant: {
|
|
25
|
+
default: "bg-muted",
|
|
26
|
+
line: "gap-1 bg-transparent"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
defaultVariants: {
|
|
30
|
+
variant: "default"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
);
|
|
34
|
+
function TabsList({ className, variant = "default", ...props }) {
|
|
35
|
+
return /* @__PURE__ */ jsx(TabsPrimitive.List, { "data-slot": "tabs-list", "data-variant": variant, className: cn(tabsListVariants({ variant }), className), ...props });
|
|
36
|
+
}
|
|
37
|
+
function TabsTrigger({ className, ...props }) {
|
|
38
|
+
return /* @__PURE__ */ jsx(
|
|
39
|
+
TabsPrimitive.Tab,
|
|
40
|
+
{
|
|
41
|
+
"data-slot": "tabs-trigger",
|
|
42
|
+
className: cn(
|
|
43
|
+
"relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 whitespace-nowrap rounded-md border border-transparent px-1.5 py-0.5 font-medium text-foreground/60 text-sm transition-all hover:text-foreground focus-visible:border-ring focus-visible:outline-1 focus-visible:outline-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 has-data-[icon=inline-end]:pr-1 has-data-[icon=inline-start]:pl-1 aria-disabled:pointer-events-none aria-disabled:opacity-50 group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none dark:text-muted-foreground dark:hover:text-foreground [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",
|
|
44
|
+
"group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent",
|
|
45
|
+
"data-active:bg-background data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 dark:data-active:text-foreground",
|
|
46
|
+
"after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100",
|
|
47
|
+
className
|
|
48
|
+
),
|
|
49
|
+
...props
|
|
50
|
+
}
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
function TabsContent({ className, ...props }) {
|
|
54
|
+
return /* @__PURE__ */ jsx(TabsPrimitive.Panel, { "data-slot": "tabs-content", className: cn("flex-1 text-sm outline-none", className), ...props });
|
|
55
|
+
}
|
|
56
|
+
export {
|
|
57
|
+
Tabs,
|
|
58
|
+
TabsContent,
|
|
59
|
+
TabsList,
|
|
60
|
+
TabsTrigger,
|
|
61
|
+
tabsListVariants
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=tabs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/components/tabs.tsx"],"sourcesContent":["import { Tabs as TabsPrimitive } from '@base-ui/react/tabs';\nimport { cn } from '@betfin/ui/lib/utils';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nfunction Tabs({ className, orientation = 'horizontal', ...props }: TabsPrimitive.Root.Props) {\n\treturn (\n\t\t<TabsPrimitive.Root\n\t\t\tdata-slot=\"tabs\"\n\t\t\tdata-orientation={orientation}\n\t\t\tclassName={cn('group/tabs flex gap-2 data-horizontal:flex-col', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nconst tabsListVariants = cva(\n\t'group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground data-[variant=line]:rounded-none group-data-horizontal/tabs:h-8 group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col',\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tdefault: 'bg-muted',\n\t\t\t\tline: 'gap-1 bg-transparent',\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tvariant: 'default',\n\t\t},\n\t},\n);\n\nfunction TabsList({ className, variant = 'default', ...props }: TabsPrimitive.List.Props & VariantProps<typeof tabsListVariants>) {\n\treturn <TabsPrimitive.List data-slot=\"tabs-list\" data-variant={variant} className={cn(tabsListVariants({ variant }), className)} {...props} />;\n}\n\nfunction TabsTrigger({ className, ...props }: TabsPrimitive.Tab.Props) {\n\treturn (\n\t\t<TabsPrimitive.Tab\n\t\t\tdata-slot=\"tabs-trigger\"\n\t\t\tclassName={cn(\n\t\t\t\t\"relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 whitespace-nowrap rounded-md border border-transparent px-1.5 py-0.5 font-medium text-foreground/60 text-sm transition-all hover:text-foreground focus-visible:border-ring focus-visible:outline-1 focus-visible:outline-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 has-data-[icon=inline-end]:pr-1 has-data-[icon=inline-start]:pl-1 aria-disabled:pointer-events-none aria-disabled:opacity-50 group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none dark:text-muted-foreground dark:hover:text-foreground [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n\t\t\t\t'group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent',\n\t\t\t\t'data-active:bg-background data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 dark:data-active:text-foreground',\n\t\t\t\t'after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction TabsContent({ className, ...props }: TabsPrimitive.Panel.Props) {\n\treturn <TabsPrimitive.Panel data-slot=\"tabs-content\" className={cn('flex-1 text-sm outline-none', className)} {...props} />;\n}\n\nexport { Tabs, TabsContent, TabsList, TabsTrigger, tabsListVariants };\n"],"mappings":";;;;;AAAA,SAAS,QAAQ,qBAAqB;AAEtC,SAAS,WAA8B;AAIrC;AAFF,SAAS,KAAK,EAAE,WAAW,cAAc,cAAc,GAAG,MAAM,GAA6B;AAC5F,SACC;AAAA,IAAC,cAAc;AAAA,IAAd;AAAA,MACA,aAAU;AAAA,MACV,oBAAkB;AAAA,MAClB,WAAW,GAAG,kDAAkD,SAAS;AAAA,MACxE,GAAG;AAAA;AAAA,EACL;AAEF;AAEA,IAAM,mBAAmB;AAAA,EACxB;AAAA,EACA;AAAA,IACC,UAAU;AAAA,MACT,SAAS;AAAA,QACR,SAAS;AAAA,QACT,MAAM;AAAA,MACP;AAAA,IACD;AAAA,IACA,iBAAiB;AAAA,MAChB,SAAS;AAAA,IACV;AAAA,EACD;AACD;AAEA,SAAS,SAAS,EAAE,WAAW,UAAU,WAAW,GAAG,MAAM,GAAqE;AACjI,SAAO,oBAAC,cAAc,MAAd,EAAmB,aAAU,aAAY,gBAAc,SAAS,WAAW,GAAG,iBAAiB,EAAE,QAAQ,CAAC,GAAG,SAAS,GAAI,GAAG,OAAO;AAC7I;AAEA,SAAS,YAAY,EAAE,WAAW,GAAG,MAAM,GAA4B;AACtE,SACC;AAAA,IAAC,cAAc;AAAA,IAAd;AAAA,MACA,aAAU;AAAA,MACV,WAAW;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACD;AAAA,MACC,GAAG;AAAA;AAAA,EACL;AAEF;AAEA,SAAS,YAAY,EAAE,WAAW,GAAG,MAAM,GAA8B;AACxE,SAAO,oBAAC,cAAc,OAAd,EAAoB,aAAU,gBAAe,WAAW,GAAG,+BAA+B,SAAS,GAAI,GAAG,OAAO;AAC1H;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Toggle as TogglePrimitive } from '@base-ui/react/toggle';
|
|
2
|
+
import { ToggleGroup as ToggleGroupPrimitive } from '@base-ui/react/toggle-group';
|
|
3
|
+
import { toggleVariants } from '@betfin/ui/components/toggle';
|
|
4
|
+
import type { VariantProps } from 'class-variance-authority';
|
|
5
|
+
import * as React from 'react';
|
|
6
|
+
declare function ToggleGroup({ className, variant, size, spacing, orientation, children, ...props }: ToggleGroupPrimitive.Props & VariantProps<typeof toggleVariants> & {
|
|
7
|
+
spacing?: number;
|
|
8
|
+
orientation?: 'horizontal' | 'vertical';
|
|
9
|
+
}): React.JSX.Element;
|
|
10
|
+
declare function ToggleGroupItem({ className, children, variant, size, ...props }: TogglePrimitive.Props & VariantProps<typeof toggleVariants>): React.JSX.Element;
|
|
11
|
+
export { ToggleGroup, ToggleGroupItem };
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
toggleVariants
|
|
4
|
+
} from "../chunk-JTVU6ANA.js";
|
|
5
|
+
import {
|
|
6
|
+
cn
|
|
7
|
+
} from "../chunk-Y2TKUANL.js";
|
|
8
|
+
|
|
9
|
+
// src/components/toggle-group.tsx
|
|
10
|
+
import { Toggle as TogglePrimitive } from "@base-ui/react/toggle";
|
|
11
|
+
import { ToggleGroup as ToggleGroupPrimitive } from "@base-ui/react/toggle-group";
|
|
12
|
+
import * as React from "react";
|
|
13
|
+
import { jsx } from "react/jsx-runtime";
|
|
14
|
+
var ToggleGroupContext = React.createContext({
|
|
15
|
+
size: "default",
|
|
16
|
+
variant: "default",
|
|
17
|
+
spacing: 2,
|
|
18
|
+
orientation: "horizontal"
|
|
19
|
+
});
|
|
20
|
+
function ToggleGroup({
|
|
21
|
+
className,
|
|
22
|
+
variant,
|
|
23
|
+
size,
|
|
24
|
+
spacing = 2,
|
|
25
|
+
orientation = "horizontal",
|
|
26
|
+
children,
|
|
27
|
+
...props
|
|
28
|
+
}) {
|
|
29
|
+
const contextValue = React.useMemo(() => ({ variant, size, spacing, orientation }), [variant, size, spacing, orientation]);
|
|
30
|
+
return /* @__PURE__ */ jsx(
|
|
31
|
+
ToggleGroupPrimitive,
|
|
32
|
+
{
|
|
33
|
+
"data-slot": "toggle-group",
|
|
34
|
+
"data-variant": variant,
|
|
35
|
+
"data-size": size,
|
|
36
|
+
"data-spacing": spacing,
|
|
37
|
+
"data-orientation": orientation,
|
|
38
|
+
style: { "--gap": spacing },
|
|
39
|
+
className: cn(
|
|
40
|
+
"group/toggle-group flex w-fit flex-row items-center gap-[--spacing(var(--gap))] rounded-lg data-vertical:flex-col data-vertical:items-stretch data-[size=sm]:rounded-[min(var(--radius-md),10px)]",
|
|
41
|
+
className
|
|
42
|
+
),
|
|
43
|
+
...props,
|
|
44
|
+
children: /* @__PURE__ */ jsx(ToggleGroupContext.Provider, { value: contextValue, children })
|
|
45
|
+
}
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
function ToggleGroupItem({
|
|
49
|
+
className,
|
|
50
|
+
children,
|
|
51
|
+
variant = "default",
|
|
52
|
+
size = "default",
|
|
53
|
+
...props
|
|
54
|
+
}) {
|
|
55
|
+
const context = React.use(ToggleGroupContext);
|
|
56
|
+
return /* @__PURE__ */ jsx(
|
|
57
|
+
TogglePrimitive,
|
|
58
|
+
{
|
|
59
|
+
"data-slot": "toggle-group-item",
|
|
60
|
+
"data-variant": context.variant || variant,
|
|
61
|
+
"data-size": context.size || size,
|
|
62
|
+
"data-spacing": context.spacing,
|
|
63
|
+
className: cn(
|
|
64
|
+
"shrink-0 focus:z-10 focus-visible:z-10 group-data-[spacing=0]/toggle-group:rounded-none group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=outline]:border-t-0 group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=outline]:border-l-0 group-data-[spacing=0]/toggle-group:px-2 group-data-[spacing=0]/toggle-group:has-data-[icon=inline-end]:pr-1.5 group-data-[spacing=0]/toggle-group:has-data-[icon=inline-start]:pl-1.5 group-data-horizontal/toggle-group:data-[spacing=0]:last:rounded-r-lg group-data-vertical/toggle-group:data-[spacing=0]:last:rounded-b-lg group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-t group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-l group-data-vertical/toggle-group:data-[spacing=0]:first:rounded-t-lg group-data-horizontal/toggle-group:data-[spacing=0]:first:rounded-l-lg",
|
|
65
|
+
toggleVariants({
|
|
66
|
+
variant: context.variant || variant,
|
|
67
|
+
size: context.size || size
|
|
68
|
+
}),
|
|
69
|
+
className
|
|
70
|
+
),
|
|
71
|
+
...props,
|
|
72
|
+
children
|
|
73
|
+
}
|
|
74
|
+
);
|
|
75
|
+
}
|
|
76
|
+
export {
|
|
77
|
+
ToggleGroup,
|
|
78
|
+
ToggleGroupItem
|
|
79
|
+
};
|
|
80
|
+
//# sourceMappingURL=toggle-group.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/components/toggle-group.tsx"],"sourcesContent":["'use client';\n\nimport { Toggle as TogglePrimitive } from '@base-ui/react/toggle';\nimport { ToggleGroup as ToggleGroupPrimitive } from '@base-ui/react/toggle-group';\nimport { toggleVariants } from '@betfin/ui/components/toggle';\nimport { cn } from '@betfin/ui/lib/utils';\nimport type { VariantProps } from 'class-variance-authority';\nimport * as React from 'react';\n\nconst ToggleGroupContext = React.createContext<\n\tVariantProps<typeof toggleVariants> & {\n\t\tspacing?: number;\n\t\torientation?: 'horizontal' | 'vertical';\n\t}\n>({\n\tsize: 'default',\n\tvariant: 'default',\n\tspacing: 2,\n\torientation: 'horizontal',\n});\n\nfunction ToggleGroup({\n\tclassName,\n\tvariant,\n\tsize,\n\tspacing = 2,\n\torientation = 'horizontal',\n\tchildren,\n\t...props\n}: ToggleGroupPrimitive.Props &\n\tVariantProps<typeof toggleVariants> & {\n\t\tspacing?: number;\n\t\torientation?: 'horizontal' | 'vertical';\n\t}) {\n\tconst contextValue = React.useMemo(() => ({ variant, size, spacing, orientation }), [variant, size, spacing, orientation]);\n\n\treturn (\n\t\t<ToggleGroupPrimitive\n\t\t\tdata-slot=\"toggle-group\"\n\t\t\tdata-variant={variant}\n\t\t\tdata-size={size}\n\t\t\tdata-spacing={spacing}\n\t\t\tdata-orientation={orientation}\n\t\t\tstyle={{ '--gap': spacing } as React.CSSProperties}\n\t\t\tclassName={cn(\n\t\t\t\t'group/toggle-group flex w-fit flex-row items-center gap-[--spacing(var(--gap))] rounded-lg data-vertical:flex-col data-vertical:items-stretch data-[size=sm]:rounded-[min(var(--radius-md),10px)]',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<ToggleGroupContext.Provider value={contextValue}>{children}</ToggleGroupContext.Provider>\n\t\t</ToggleGroupPrimitive>\n\t);\n}\n\nfunction ToggleGroupItem({\n\tclassName,\n\tchildren,\n\tvariant = 'default',\n\tsize = 'default',\n\t...props\n}: TogglePrimitive.Props & VariantProps<typeof toggleVariants>) {\n\tconst context = React.use(ToggleGroupContext);\n\n\treturn (\n\t\t<TogglePrimitive\n\t\t\tdata-slot=\"toggle-group-item\"\n\t\t\tdata-variant={context.variant || variant}\n\t\t\tdata-size={context.size || size}\n\t\t\tdata-spacing={context.spacing}\n\t\t\tclassName={cn(\n\t\t\t\t'shrink-0 focus:z-10 focus-visible:z-10 group-data-[spacing=0]/toggle-group:rounded-none group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=outline]:border-t-0 group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=outline]:border-l-0 group-data-[spacing=0]/toggle-group:px-2 group-data-[spacing=0]/toggle-group:has-data-[icon=inline-end]:pr-1.5 group-data-[spacing=0]/toggle-group:has-data-[icon=inline-start]:pl-1.5 group-data-horizontal/toggle-group:data-[spacing=0]:last:rounded-r-lg group-data-vertical/toggle-group:data-[spacing=0]:last:rounded-b-lg group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-t group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-l group-data-vertical/toggle-group:data-[spacing=0]:first:rounded-t-lg group-data-horizontal/toggle-group:data-[spacing=0]:first:rounded-l-lg',\n\t\t\t\ttoggleVariants({\n\t\t\t\t\tvariant: context.variant || variant,\n\t\t\t\t\tsize: context.size || size,\n\t\t\t\t}),\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{children}\n\t\t</TogglePrimitive>\n\t);\n}\n\nexport { ToggleGroup, ToggleGroupItem };\n"],"mappings":";;;;;;;;;AAEA,SAAS,UAAU,uBAAuB;AAC1C,SAAS,eAAe,4BAA4B;AAIpD,YAAY,WAAW;AA2CpB;AAzCH,IAAM,qBAA2B,oBAK/B;AAAA,EACD,MAAM;AAAA,EACN,SAAS;AAAA,EACT,SAAS;AAAA,EACT,aAAa;AACd,CAAC;AAED,SAAS,YAAY;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV,cAAc;AAAA,EACd;AAAA,EACA,GAAG;AACJ,GAII;AACH,QAAM,eAAqB,cAAQ,OAAO,EAAE,SAAS,MAAM,SAAS,YAAY,IAAI,CAAC,SAAS,MAAM,SAAS,WAAW,CAAC;AAEzH,SACC;AAAA,IAAC;AAAA;AAAA,MACA,aAAU;AAAA,MACV,gBAAc;AAAA,MACd,aAAW;AAAA,MACX,gBAAc;AAAA,MACd,oBAAkB;AAAA,MAClB,OAAO,EAAE,SAAS,QAAQ;AAAA,MAC1B,WAAW;AAAA,QACV;AAAA,QACA;AAAA,MACD;AAAA,MACC,GAAG;AAAA,MAEJ,8BAAC,mBAAmB,UAAnB,EAA4B,OAAO,cAAe,UAAS;AAAA;AAAA,EAC7D;AAEF;AAEA,SAAS,gBAAgB;AAAA,EACxB;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV,OAAO;AAAA,EACP,GAAG;AACJ,GAAgE;AAC/D,QAAM,UAAgB,UAAI,kBAAkB;AAE5C,SACC;AAAA,IAAC;AAAA;AAAA,MACA,aAAU;AAAA,MACV,gBAAc,QAAQ,WAAW;AAAA,MACjC,aAAW,QAAQ,QAAQ;AAAA,MAC3B,gBAAc,QAAQ;AAAA,MACtB,WAAW;AAAA,QACV;AAAA,QACA,eAAe;AAAA,UACd,SAAS,QAAQ,WAAW;AAAA,UAC5B,MAAM,QAAQ,QAAQ;AAAA,QACvB,CAAC;AAAA,QACD;AAAA,MACD;AAAA,MACC,GAAG;AAAA,MAEH;AAAA;AAAA,EACF;AAEF;","names":[]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Toggle as TogglePrimitive } from '@base-ui/react/toggle';
|
|
2
|
+
import { type VariantProps } from 'class-variance-authority';
|
|
3
|
+
declare const toggleVariants: (props?: ({
|
|
4
|
+
variant?: "default" | "outline" | null | undefined;
|
|
5
|
+
size?: "default" | "lg" | "sm" | null | undefined;
|
|
6
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
|
+
declare function Toggle({ className, variant, size, ...props }: TogglePrimitive.Props & VariantProps<typeof toggleVariants>): import("react").JSX.Element;
|
|
8
|
+
export { Toggle, toggleVariants };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Tooltip as TooltipPrimitive } from '@base-ui/react/tooltip';
|
|
2
|
+
declare function TooltipProvider({ delay, ...props }: TooltipPrimitive.Provider.Props): import("react").JSX.Element;
|
|
3
|
+
declare function Tooltip({ ...props }: TooltipPrimitive.Root.Props): import("react").JSX.Element;
|
|
4
|
+
declare function TooltipTrigger({ ...props }: TooltipPrimitive.Trigger.Props): import("react").JSX.Element;
|
|
5
|
+
declare function TooltipContent({ className, side, sideOffset, align, alignOffset, children, ...props }: TooltipPrimitive.Popup.Props & Pick<TooltipPrimitive.Positioner.Props, 'align' | 'alignOffset' | 'side' | 'sideOffset'>): import("react").JSX.Element;
|
|
6
|
+
export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Tooltip,
|
|
3
|
+
TooltipContent,
|
|
4
|
+
TooltipProvider,
|
|
5
|
+
TooltipTrigger
|
|
6
|
+
} from "../chunk-HRFMTZ55.js";
|
|
7
|
+
import "../chunk-Y2TKUANL.js";
|
|
8
|
+
export {
|
|
9
|
+
Tooltip,
|
|
10
|
+
TooltipContent,
|
|
11
|
+
TooltipProvider,
|
|
12
|
+
TooltipTrigger
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=tooltip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function useIsMobile(): boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** "Feb 12" — month + day. */
|
|
2
|
+
export declare const formatDate: (value: Date | number) => string;
|
|
3
|
+
/** "Feb 12, 2028" — month + day + year. Used for lock/unlock dates. */
|
|
4
|
+
export declare const formatDateYear: (value: Date | number) => string;
|
|
5
|
+
/** "Feb 12, 14:30" — month + day + 24h time. */
|
|
6
|
+
export declare const formatDateTime: (value: Date | number) => string;
|
|
7
|
+
/** "Feb 12, 2028, 14:30" — month + day + year + 24h time. */
|
|
8
|
+
export declare const formatDateTimeYear: (value: Date | number) => string;
|
|
9
|
+
/** "12/02/2028 14:30" — numeric day/month/year + 24h time. Used for chart point tooltips. */
|
|
10
|
+
export declare const formatDateTimeNumeric: (value: Date | number) => string;
|
|
11
|
+
/** "14:30" — 24h time only. */
|
|
12
|
+
export declare const formatTime: (value: Date | number) => string;
|
|
13
|
+
/** "12/02" — day/month, numeric. Used for daily/weekly chart axes. */
|
|
14
|
+
export declare const formatDayMonth: (value: Date | number) => string;
|
package/dist/lib/date.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// src/lib/date.ts
|
|
2
|
+
import { format } from "date-fns";
|
|
3
|
+
var SECONDS_THRESHOLD = 1e12;
|
|
4
|
+
function toDate(value) {
|
|
5
|
+
if (value instanceof Date) return value;
|
|
6
|
+
return new Date(value < SECONDS_THRESHOLD ? value * 1e3 : value);
|
|
7
|
+
}
|
|
8
|
+
var formatDate = (value) => format(toDate(value), "MMM d");
|
|
9
|
+
var formatDateYear = (value) => format(toDate(value), "MMM d, yyyy");
|
|
10
|
+
var formatDateTime = (value) => format(toDate(value), "MMM d, HH:mm");
|
|
11
|
+
var formatDateTimeYear = (value) => format(toDate(value), "MMM d, yyyy, HH:mm");
|
|
12
|
+
var formatDateTimeNumeric = (value) => format(toDate(value), "dd/MM/yyyy HH:mm");
|
|
13
|
+
var formatTime = (value) => format(toDate(value), "HH:mm");
|
|
14
|
+
var formatDayMonth = (value) => format(toDate(value), "dd/MM");
|
|
15
|
+
export {
|
|
16
|
+
formatDate,
|
|
17
|
+
formatDateTime,
|
|
18
|
+
formatDateTimeNumeric,
|
|
19
|
+
formatDateTimeYear,
|
|
20
|
+
formatDateYear,
|
|
21
|
+
formatDayMonth,
|
|
22
|
+
formatTime
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=date.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/lib/date.ts"],"sourcesContent":["import { format } from 'date-fns';\n\n/**\n * Canonical date/time formatting for all apps. Built on date-fns and locked to a\n * 24-hour clock (HH:mm) — never AM/PM. Use these helpers everywhere instead of\n * hand-rolling `toLocaleString`/`toLocaleTimeString` calls.\n *\n * All helpers accept a `Date`, epoch milliseconds, or epoch seconds. Since JS\n * epoch-ms values dwarf any realistic epoch-seconds value, a bare number below\n * the threshold is treated as seconds — matching the on-chain timestamps used\n * across the apps.\n */\nconst SECONDS_THRESHOLD = 1e12; // ~2001 in ms; any real ms timestamp exceeds this.\n\nfunction toDate(value: Date | number): Date {\n\tif (value instanceof Date) return value;\n\treturn new Date(value < SECONDS_THRESHOLD ? value * 1000 : value);\n}\n\n/** \"Feb 12\" — month + day. */\nexport const formatDate = (value: Date | number): string => format(toDate(value), 'MMM d');\n\n/** \"Feb 12, 2028\" — month + day + year. Used for lock/unlock dates. */\nexport const formatDateYear = (value: Date | number): string => format(toDate(value), 'MMM d, yyyy');\n\n/** \"Feb 12, 14:30\" — month + day + 24h time. */\nexport const formatDateTime = (value: Date | number): string => format(toDate(value), 'MMM d, HH:mm');\n\n/** \"Feb 12, 2028, 14:30\" — month + day + year + 24h time. */\nexport const formatDateTimeYear = (value: Date | number): string => format(toDate(value), 'MMM d, yyyy, HH:mm');\n\n/** \"12/02/2028 14:30\" — numeric day/month/year + 24h time. Used for chart point tooltips. */\nexport const formatDateTimeNumeric = (value: Date | number): string => format(toDate(value), 'dd/MM/yyyy HH:mm');\n\n/** \"14:30\" — 24h time only. */\nexport const formatTime = (value: Date | number): string => format(toDate(value), 'HH:mm');\n\n/** \"12/02\" — day/month, numeric. Used for daily/weekly chart axes. */\nexport const formatDayMonth = (value: Date | number): string => format(toDate(value), 'dd/MM');\n"],"mappings":";AAAA,SAAS,cAAc;AAYvB,IAAM,oBAAoB;AAE1B,SAAS,OAAO,OAA4B;AAC3C,MAAI,iBAAiB,KAAM,QAAO;AAClC,SAAO,IAAI,KAAK,QAAQ,oBAAoB,QAAQ,MAAO,KAAK;AACjE;AAGO,IAAM,aAAa,CAAC,UAAiC,OAAO,OAAO,KAAK,GAAG,OAAO;AAGlF,IAAM,iBAAiB,CAAC,UAAiC,OAAO,OAAO,KAAK,GAAG,aAAa;AAG5F,IAAM,iBAAiB,CAAC,UAAiC,OAAO,OAAO,KAAK,GAAG,cAAc;AAG7F,IAAM,qBAAqB,CAAC,UAAiC,OAAO,OAAO,KAAK,GAAG,oBAAoB;AAGvG,IAAM,wBAAwB,CAAC,UAAiC,OAAO,OAAO,KAAK,GAAG,kBAAkB;AAGxG,IAAM,aAAa,CAAC,UAAiC,OAAO,OAAO,KAAK,GAAG,OAAO;AAGlF,IAAM,iBAAiB,CAAC,UAAiC,OAAO,OAAO,KAAK,GAAG,OAAO;","names":[]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface FormatBetOptions {
|
|
2
|
+
/** Decimal places in the compact form (default 2). */
|
|
3
|
+
precision?: number;
|
|
4
|
+
/** Use compact K/M/B notation (default true). Set false for a grouped full number. */
|
|
5
|
+
compact?: boolean;
|
|
6
|
+
/** Token decimals used to convert a bigint to a number (default 18). */
|
|
7
|
+
decimals?: number;
|
|
8
|
+
}
|
|
9
|
+
/** Convert a raw on-chain bigint (18-decimals by default) or a number to a plain number. */
|
|
10
|
+
export declare function toBetNumber(value: number | bigint, decimals?: number): number;
|
|
11
|
+
/**
|
|
12
|
+
* Format a BET amount for display. Accepts a number or a raw on-chain bigint.
|
|
13
|
+
* Compact by default: 12_500 → "12.5K", 4_200_000 → "4.2M", 2.2e10 → "22.16B".
|
|
14
|
+
* Use this everywhere instead of re-writing K/M/B formatters.
|
|
15
|
+
*/
|
|
16
|
+
export declare function formatBet(value: number | bigint, opts?: FormatBetOptions): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|