@uisatin/ui 0.1.1 → 0.3.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/CHANGELOG.md +33 -0
- package/README.md +20 -3
- package/chunk-3DHJXU45.js +147 -0
- package/{chunk-6YXUBP27.js → chunk-5725MFGQ.js} +72 -67
- package/{chunk-BKZBWPUH.js → chunk-57QEOCDZ.js} +9 -11
- package/{chunk-RTJ76X5U.js → chunk-5KTBSMQU.js} +2 -4
- package/{chunk-B2K45IUR.js → chunk-5XTUFBZI.js} +5 -7
- package/{chunk-LW3TRU5W.js → chunk-674SRBZK.js} +28 -16
- package/{chunk-XZNHT6MO.js → chunk-6VKV36OK.js} +115 -61
- package/{chunk-GICKPMJU.js → chunk-73Z7NMQQ.js} +31 -31
- package/chunk-7Q76HLRQ.js +128 -0
- package/{chunk-JPNWHWAQ.js → chunk-AIMQNLPY.js} +38 -35
- package/chunk-BN7FDKCJ.js +164 -0
- package/{chunk-3DINAQLL.js → chunk-BR2B4OIT.js} +33 -29
- package/{chunk-2HKBZFIK.js → chunk-CGOH5IYX.js} +31 -31
- package/chunk-CVNRZ2YV.js +112 -0
- package/{chunk-QUF2IPOZ.js → chunk-DPYIBFQD.js} +12 -14
- package/chunk-EF5GT4OG.js +87 -0
- package/chunk-FAJ3OVL4.js +37 -0
- package/{chunk-L6NCCSIP.js → chunk-FB5HTCO2.js} +36 -29
- package/chunk-GI2SMFZL.js +55 -0
- package/{chunk-B6V4VSGH.js → chunk-GMETYACH.js} +14 -15
- package/chunk-HK6WINL6.js +95 -0
- package/{chunk-HL42K2NH.js → chunk-IKO3GQFE.js} +17 -17
- package/{chunk-DO3TBNSC.js → chunk-ISYKZCPJ.js} +15 -17
- package/{chunk-YG7JOOLJ.js → chunk-J7RMFN54.js} +5 -7
- package/{chunk-SHDFUXYV.js → chunk-JBKBRAC4.js} +16 -18
- package/{chunk-LZMKSFCF.js → chunk-JCXI7VQL.js} +10 -12
- package/{chunk-NN6PKJWS.js → chunk-JYOZUQNU.js} +7 -9
- package/{chunk-LLHTVIM3.js → chunk-LB37KTJH.js} +7 -9
- package/{chunk-NSRTTYQ4.js → chunk-LB7Z6BSK.js} +42 -35
- package/{chunk-BNZVTLHV.js → chunk-LFGUJHFF.js} +25 -21
- package/{chunk-7TXHCRAG.js → chunk-M2HEVFQ3.js} +8 -10
- package/{chunk-SH6NG6VN.js → chunk-NH3EHMIL.js} +6 -8
- package/chunk-NL574STL.js +88 -0
- package/chunk-NQL6SIIB.js +168 -0
- package/chunk-O46O6LFQ.js +25 -0
- package/{chunk-YPNKBE5X.js → chunk-OURZQM27.js} +5 -7
- package/{chunk-XL75JRUA.js → chunk-OVKPPXK5.js} +42 -22
- package/chunk-PD6YPFYN.js +42 -0
- package/{chunk-XILQ7GXE.js → chunk-PHNR6ZQ7.js} +11 -13
- package/{chunk-BNTPPZCK.js → chunk-PUWSL5XW.js} +37 -39
- package/{chunk-A5XEM3GF.js → chunk-RHQHDYTE.js} +34 -36
- package/chunk-S7QHBVPX.js +45 -0
- package/{chunk-TX3H3QMA.js → chunk-SAYNV7B3.js} +71 -70
- package/{chunk-6QMSWITQ.js → chunk-SDOTDMYG.js} +24 -26
- package/{chunk-UGRSWP6U.js → chunk-SPGUZMCC.js} +10 -12
- package/chunk-SSOFFQ5T.js +74 -0
- package/{chunk-AN2RNJLR.js → chunk-SZJIVBOD.js} +16 -16
- package/chunk-T6L32XXH.js +107 -0
- package/{chunk-QS4N4MNP.js → chunk-TT2N5752.js} +18 -20
- package/{chunk-72OCFAPT.js → chunk-UCCNXGLG.js} +22 -21
- package/{chunk-KNUWZNFV.js → chunk-UGIVCXGN.js} +4 -6
- package/{chunk-H4NU7NPO.js → chunk-UUCVRIVP.js} +62 -61
- package/{chunk-P4O6TGDR.js → chunk-UZ4DXU6W.js} +28 -26
- package/{chunk-UBNHSZSE.js → chunk-VUOAPWTF.js} +10 -12
- package/{chunk-VAGIAREV.js → chunk-W472DBMT.js} +29 -26
- package/{chunk-X3PQANZO.js → chunk-W4RDTP6W.js} +47 -46
- package/{chunk-CL2II6BX.js → chunk-WLQD5BN2.js} +11 -13
- package/{chunk-FDKIX4DC.js → chunk-X2GNMNZQ.js} +7 -9
- package/{chunk-PF3YBUKT.js → chunk-X66KTATQ.js} +16 -15
- package/{chunk-J3NSDRVH.js → chunk-XETMIETJ.js} +0 -2
- package/chunk-XH56JGYC.js +71 -0
- package/{chunk-O7F3CIDV.js → chunk-XUOSJMEJ.js} +10 -12
- package/chunk-YJK4MGSI.js +86 -0
- package/{chunk-YX5VNRJX.js → chunk-YYFAZQ25.js} +0 -2
- package/chunk-Z7S2KQZS.js +177 -0
- package/chunk-ZBZ3ZQRB.js +195 -0
- package/{chunk-Y5AYU7PK.js → chunk-ZHFIWDGF.js} +0 -2
- package/components/accordion.js +2 -4
- package/components/agent-loading.d.ts +2 -0
- package/components/agent-loading.js +2 -4
- package/components/agent-picker.js +4 -5
- package/components/agent-suggestion.js +5 -6
- package/components/announcement-bar.js +6 -7
- package/components/attachment.js +4 -5
- package/components/avatar.d.ts +16 -0
- package/components/avatar.js +4 -6
- package/components/badge.js +2 -4
- package/components/banner-mesh.js +1 -3
- package/components/banner.js +4 -6
- package/components/bar-chart.js +10 -11
- package/components/breadcrumb.js +5 -6
- package/components/button.js +2 -4
- package/components/card.js +3 -5
- package/components/channel-chart.js +10 -11
- package/components/chart.js +9 -10
- package/components/checkbox.js +2 -4
- package/components/chip.js +2 -4
- package/components/citations.d.ts +6 -4
- package/components/citations.js +4 -5
- package/components/code-block.js +3 -5
- package/components/combobox.d.ts +12 -3
- package/components/combobox.js +9 -10
- package/components/command-menu.d.ts +6 -2
- package/components/command-menu.js +5 -6
- package/components/context-menu.d.ts +12 -5
- package/components/context-menu.js +5 -6
- package/components/cookie-consent.js +3 -5
- package/components/date-picker.d.ts +26 -14
- package/components/date-picker.js +8 -9
- package/components/decision-card.js +6 -7
- package/components/dialog.d.ts +5 -2
- package/components/dialog.js +4 -5
- package/components/donut-chart.js +10 -11
- package/components/dot.js +2 -4
- package/components/dropdown.d.ts +6 -1
- package/components/dropdown.js +4 -5
- package/components/empty-state.js +2 -4
- package/components/file-upload.js +6 -7
- package/components/floating.js +1 -3
- package/components/form-field.js +2 -4
- package/components/hover-card.d.ts +5 -2
- package/components/hover-card.js +2 -4
- package/components/input-otp.d.ts +4 -2
- package/components/input-otp.js +7 -8
- package/components/input.js +3 -5
- package/components/kbd.js +2 -4
- package/components/labels.d.ts +79 -0
- package/components/labels.js +1 -0
- package/components/line-chart.js +11 -12
- package/components/message-actions.js +4 -5
- package/components/message.js +7 -8
- package/components/number-input.d.ts +4 -2
- package/components/number-input.js +7 -8
- package/components/pagination.js +4 -6
- package/components/popover.d.ts +11 -5
- package/components/popover.js +3 -4
- package/components/progress.js +2 -4
- package/components/prompt-bar.js +5 -6
- package/components/radio.js +2 -4
- package/components/search-bar.js +3 -5
- package/components/segmented-control.d.ts +4 -2
- package/components/segmented-control.js +3 -5
- package/components/select.d.ts +10 -2
- package/components/select.js +6 -7
- package/components/sheet.d.ts +4 -2
- package/components/sheet.js +5 -6
- package/components/sidebar.js +2 -4
- package/components/skeleton.js +2 -4
- package/components/slider.d.ts +6 -2
- package/components/slider.js +7 -8
- package/components/sliding-indicator.js +1 -3
- package/components/streaming-text.js +2 -4
- package/components/switch.js +2 -4
- package/components/table.d.ts +16 -5
- package/components/table.js +4 -5
- package/components/tabs.d.ts +4 -2
- package/components/tabs.js +3 -5
- package/components/textarea.js +3 -5
- package/components/thinking.js +3 -5
- package/components/toast.js +4 -5
- package/components/toggle.js +2 -4
- package/components/tooltip.d.ts +5 -2
- package/components/tooltip.js +3 -5
- package/index.d.ts +1 -0
- package/index.js +67 -231
- package/lib/utils.d.ts +8 -1
- package/lib/utils.js +1 -3
- package/package.json +22 -1
- package/styles.css +1 -1
- package/theme/create-theme.d.ts +6 -2
- package/theme/index.js +1 -0
- package/chunk-2HKBZFIK.js.map +0 -1
- package/chunk-3DINAQLL.js.map +0 -1
- package/chunk-3ERGAHKA.js +0 -179
- package/chunk-3ERGAHKA.js.map +0 -1
- package/chunk-6C7CGJX2.js +0 -86
- package/chunk-6C7CGJX2.js.map +0 -1
- package/chunk-6QMSWITQ.js.map +0 -1
- package/chunk-6YXUBP27.js.map +0 -1
- package/chunk-72OCFAPT.js.map +0 -1
- package/chunk-7TXHCRAG.js.map +0 -1
- package/chunk-A5XEM3GF.js.map +0 -1
- package/chunk-AN2RNJLR.js.map +0 -1
- package/chunk-B2K45IUR.js.map +0 -1
- package/chunk-B6V4VSGH.js.map +0 -1
- package/chunk-BKZBWPUH.js.map +0 -1
- package/chunk-BNTPPZCK.js.map +0 -1
- package/chunk-BNZVTLHV.js.map +0 -1
- package/chunk-CL2II6BX.js.map +0 -1
- package/chunk-D7RZNTFC.js +0 -95
- package/chunk-D7RZNTFC.js.map +0 -1
- package/chunk-DETGJAIC.js +0 -147
- package/chunk-DETGJAIC.js.map +0 -1
- package/chunk-DO3TBNSC.js.map +0 -1
- package/chunk-ESC5JCVQ.js +0 -90
- package/chunk-ESC5JCVQ.js.map +0 -1
- package/chunk-FDKIX4DC.js.map +0 -1
- package/chunk-GICKPMJU.js.map +0 -1
- package/chunk-GQA24FYG.js +0 -57
- package/chunk-GQA24FYG.js.map +0 -1
- package/chunk-H4NU7NPO.js.map +0 -1
- package/chunk-H63FYCMY.js +0 -11
- package/chunk-H63FYCMY.js.map +0 -1
- package/chunk-HL42K2NH.js.map +0 -1
- package/chunk-HNQUX43Z.js +0 -109
- package/chunk-HNQUX43Z.js.map +0 -1
- package/chunk-HRKPV66B.js +0 -32
- package/chunk-HRKPV66B.js.map +0 -1
- package/chunk-J3NSDRVH.js.map +0 -1
- package/chunk-JPNWHWAQ.js.map +0 -1
- package/chunk-KNUWZNFV.js.map +0 -1
- package/chunk-L6NCCSIP.js.map +0 -1
- package/chunk-LLHTVIM3.js.map +0 -1
- package/chunk-LW3TRU5W.js.map +0 -1
- package/chunk-LZMKSFCF.js.map +0 -1
- package/chunk-MR3JDI7E.js +0 -122
- package/chunk-MR3JDI7E.js.map +0 -1
- package/chunk-NN6PKJWS.js.map +0 -1
- package/chunk-NSRTTYQ4.js.map +0 -1
- package/chunk-O7F3CIDV.js.map +0 -1
- package/chunk-P4O6TGDR.js.map +0 -1
- package/chunk-PF3YBUKT.js.map +0 -1
- package/chunk-PVOLDO4G.js +0 -47
- package/chunk-PVOLDO4G.js.map +0 -1
- package/chunk-QS4N4MNP.js.map +0 -1
- package/chunk-QUF2IPOZ.js.map +0 -1
- package/chunk-RTJ76X5U.js.map +0 -1
- package/chunk-SH6NG6VN.js.map +0 -1
- package/chunk-SHDFUXYV.js.map +0 -1
- package/chunk-TKO44NDI.js +0 -84
- package/chunk-TKO44NDI.js.map +0 -1
- package/chunk-TVLGZGYN.js +0 -59
- package/chunk-TVLGZGYN.js.map +0 -1
- package/chunk-TX3H3QMA.js.map +0 -1
- package/chunk-UBNHSZSE.js.map +0 -1
- package/chunk-UC3ZJWOD.js +0 -73
- package/chunk-UC3ZJWOD.js.map +0 -1
- package/chunk-UGRSWP6U.js.map +0 -1
- package/chunk-VAGIAREV.js.map +0 -1
- package/chunk-WTMZT3IT.js +0 -105
- package/chunk-WTMZT3IT.js.map +0 -1
- package/chunk-WX6BP5ZP.js +0 -39
- package/chunk-WX6BP5ZP.js.map +0 -1
- package/chunk-X3PQANZO.js.map +0 -1
- package/chunk-XILQ7GXE.js.map +0 -1
- package/chunk-XL75JRUA.js.map +0 -1
- package/chunk-XZNHT6MO.js.map +0 -1
- package/chunk-Y5AYU7PK.js.map +0 -1
- package/chunk-YG7JOOLJ.js.map +0 -1
- package/chunk-YPJYW624.js +0 -195
- package/chunk-YPJYW624.js.map +0 -1
- package/chunk-YPNKBE5X.js.map +0 -1
- package/chunk-YX5VNRJX.js.map +0 -1
- package/components/accordion.js.map +0 -1
- package/components/agent-loading.js.map +0 -1
- package/components/agent-picker.js.map +0 -1
- package/components/agent-suggestion.js.map +0 -1
- package/components/announcement-bar.js.map +0 -1
- package/components/attachment.js.map +0 -1
- package/components/avatar.js.map +0 -1
- package/components/badge.js.map +0 -1
- package/components/banner-mesh.js.map +0 -1
- package/components/banner.js.map +0 -1
- package/components/bar-chart.js.map +0 -1
- package/components/breadcrumb.js.map +0 -1
- package/components/button.js.map +0 -1
- package/components/card.js.map +0 -1
- package/components/channel-chart.js.map +0 -1
- package/components/chart.js.map +0 -1
- package/components/checkbox.js.map +0 -1
- package/components/chip.js.map +0 -1
- package/components/citations.js.map +0 -1
- package/components/code-block.js.map +0 -1
- package/components/combobox.js.map +0 -1
- package/components/command-menu.js.map +0 -1
- package/components/context-menu.js.map +0 -1
- package/components/cookie-consent.js.map +0 -1
- package/components/date-picker.js.map +0 -1
- package/components/decision-card.js.map +0 -1
- package/components/dialog.js.map +0 -1
- package/components/donut-chart.js.map +0 -1
- package/components/dot.js.map +0 -1
- package/components/dropdown.js.map +0 -1
- package/components/empty-state.js.map +0 -1
- package/components/file-upload.js.map +0 -1
- package/components/floating.js.map +0 -1
- package/components/form-field.js.map +0 -1
- package/components/hover-card.js.map +0 -1
- package/components/input-otp.js.map +0 -1
- package/components/input.js.map +0 -1
- package/components/kbd.js.map +0 -1
- package/components/line-chart.js.map +0 -1
- package/components/message-actions.js.map +0 -1
- package/components/message.js.map +0 -1
- package/components/number-input.js.map +0 -1
- package/components/pagination.js.map +0 -1
- package/components/popover.js.map +0 -1
- package/components/progress.js.map +0 -1
- package/components/prompt-bar.js.map +0 -1
- package/components/radio.js.map +0 -1
- package/components/search-bar.js.map +0 -1
- package/components/segmented-control.js.map +0 -1
- package/components/select.js.map +0 -1
- package/components/sheet.js.map +0 -1
- package/components/sidebar.js.map +0 -1
- package/components/skeleton.js.map +0 -1
- package/components/slider.js.map +0 -1
- package/components/sliding-indicator.js.map +0 -1
- package/components/streaming-text.js.map +0 -1
- package/components/switch.js.map +0 -1
- package/components/table.js.map +0 -1
- package/components/tabs.js.map +0 -1
- package/components/textarea.js.map +0 -1
- package/components/thinking.js.map +0 -1
- package/components/toast.js.map +0 -1
- package/components/toggle.js.map +0 -1
- package/components/tooltip.js.map +0 -1
- package/index.js.map +0 -1
- package/lib/utils.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { KbdGroup } from './chunk-
|
|
2
|
-
import { cn } from './chunk-
|
|
1
|
+
import { KbdGroup } from './chunk-57QEOCDZ.js';
|
|
2
|
+
import { cn } from './chunk-O46O6LFQ.js';
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { Tooltip as Tooltip$1 } from 'radix-ui';
|
|
5
5
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
@@ -14,15 +14,15 @@ function TooltipBubble({
|
|
|
14
14
|
return /* @__PURE__ */ jsxs(
|
|
15
15
|
"div",
|
|
16
16
|
{
|
|
17
|
+
...props,
|
|
17
18
|
"data-slot": "tooltip",
|
|
18
19
|
className: cn(
|
|
19
|
-
"flex items-center gap-2 bg-text-default py-1 pl-2.5 text-sm leading-(--text-sm--line-height) font-medium whitespace-nowrap text-bg-canvas",
|
|
20
|
-
"[box-shadow:0_8px_12px_0_var(--effect-shadow-md),0_1px_1.5px_0_var(--effect-shadow-ambient),inset_0_1px_0_0_var(--effect-highlight-top)]",
|
|
21
|
-
shape === "rounded" ? "rounded-pill" : "rounded-lg",
|
|
22
|
-
shortcut ? "pr-1.5" : "pr-2.5",
|
|
20
|
+
"sa:flex sa:items-center sa:gap-2 sa:bg-text-default sa:py-1 sa:pl-2.5 sa:text-sm sa:leading-(--sa-text-sm--line-height) sa:font-medium sa:whitespace-nowrap sa:text-bg-canvas",
|
|
21
|
+
"sa:[box-shadow:0_8px_12px_0_var(--effect-shadow-md),0_1px_1.5px_0_var(--effect-shadow-ambient),inset_0_1px_0_0_var(--effect-highlight-top)]",
|
|
22
|
+
shape === "sa:rounded" ? "sa:rounded-pill" : "sa:rounded-lg",
|
|
23
|
+
shortcut ? "sa:pr-1.5" : "sa:pr-2.5",
|
|
23
24
|
className
|
|
24
25
|
),
|
|
25
|
-
...props,
|
|
26
26
|
children: [
|
|
27
27
|
/* @__PURE__ */ jsx("span", { children: label }),
|
|
28
28
|
shortcut && /* @__PURE__ */ jsx(KbdGroup, { keys: shortcut, tone: "inverse" })
|
|
@@ -42,7 +42,8 @@ function Tooltip({
|
|
|
42
42
|
defaultOpen = false,
|
|
43
43
|
onOpenChange,
|
|
44
44
|
container,
|
|
45
|
-
className
|
|
45
|
+
className,
|
|
46
|
+
...props
|
|
46
47
|
}) {
|
|
47
48
|
const [inner, setInner] = React.useState(defaultOpen);
|
|
48
49
|
const open = openProp ?? inner;
|
|
@@ -66,17 +67,15 @@ function Tooltip({
|
|
|
66
67
|
sideOffset: 8,
|
|
67
68
|
collisionPadding: 8,
|
|
68
69
|
className: cn(
|
|
69
|
-
"z-50 transition-[opacity,translate] duration-(--duration-fast) ease-(--ease-out)",
|
|
70
|
-
"starting:opacity-0",
|
|
71
|
-
"data-[side=top]:starting:translate-y-1 data-[side=bottom]:starting:-translate-y-1",
|
|
72
|
-
"data-[side=left]:starting:translate-x-1 data-[side=right]:starting:-translate-x-1"
|
|
70
|
+
"sa:z-50 sa:transition-[opacity,translate] sa:duration-(--sa-duration-fast) sa:ease-(--sa-ease-out)",
|
|
71
|
+
"sa:starting:opacity-0",
|
|
72
|
+
"sa:data-[side=top]:starting:translate-y-1 sa:data-[side=bottom]:starting:-translate-y-1",
|
|
73
|
+
"sa:data-[side=left]:starting:translate-x-1 sa:data-[side=right]:starting:-translate-x-1"
|
|
73
74
|
),
|
|
74
|
-
children: /* @__PURE__ */ jsx(TooltipBubble, { label, shortcut, shape, className })
|
|
75
|
+
children: /* @__PURE__ */ jsx(TooltipBubble, { ...props, label, shortcut, shape, className })
|
|
75
76
|
}
|
|
76
77
|
) })
|
|
77
78
|
] }) });
|
|
78
79
|
}
|
|
79
80
|
|
|
80
81
|
export { Tooltip, TooltipBubble };
|
|
81
|
-
//# sourceMappingURL=chunk-B6V4VSGH.js.map
|
|
82
|
-
//# sourceMappingURL=chunk-B6V4VSGH.js.map
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { bannerMesh } from './chunk-YYFAZQ25.js';
|
|
2
|
+
import { Button } from './chunk-T6L32XXH.js';
|
|
3
|
+
import { useSatinLabels } from './chunk-SSOFFQ5T.js';
|
|
4
|
+
import { cn } from './chunk-O46O6LFQ.js';
|
|
5
|
+
import 'react';
|
|
6
|
+
import { ArrowRight, Xmark } from 'iconoir-react';
|
|
7
|
+
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
8
|
+
|
|
9
|
+
function AnnouncementBar({
|
|
10
|
+
action,
|
|
11
|
+
onDismiss,
|
|
12
|
+
dismissLabel = "Dismiss announcement",
|
|
13
|
+
sticky,
|
|
14
|
+
tone = "primary",
|
|
15
|
+
background = "plain",
|
|
16
|
+
shimmer = false,
|
|
17
|
+
children,
|
|
18
|
+
className,
|
|
19
|
+
...props
|
|
20
|
+
}) {
|
|
21
|
+
const labels = useSatinLabels();
|
|
22
|
+
const toneClass = {
|
|
23
|
+
primary: "sa:bg-action-primary-bg sa:text-action-primary-fg",
|
|
24
|
+
inverse: "sa:bg-action-inverse-bg sa:text-text-on-inverse",
|
|
25
|
+
default: "sa:bg-bg-card sa:text-text-default sa:[box-shadow:inset_0_1px_0_var(--border-subtle),inset_0_-1px_0_var(--border-subtle)]"
|
|
26
|
+
}[tone];
|
|
27
|
+
const closeClass = {
|
|
28
|
+
primary: "sa:text-action-primary-fg sa:opacity-70 sa:hover:bg-action-primary-bg-hover sa:hover:opacity-100",
|
|
29
|
+
inverse: "sa:text-text-on-inverse sa:opacity-70 sa:hover:bg-action-inverse-bg-hover sa:hover:opacity-100",
|
|
30
|
+
default: "sa:text-text-muted sa:hover:bg-bg-hover sa:hover:text-text-default"
|
|
31
|
+
}[tone];
|
|
32
|
+
const label = action && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
33
|
+
action.label,
|
|
34
|
+
/* @__PURE__ */ jsx(ArrowRight, { "aria-hidden": true })
|
|
35
|
+
] });
|
|
36
|
+
return /* @__PURE__ */ jsxs(
|
|
37
|
+
"div",
|
|
38
|
+
{
|
|
39
|
+
role: "region",
|
|
40
|
+
"aria-label": labels.announcement,
|
|
41
|
+
"data-slot": "announcement-bar",
|
|
42
|
+
"data-tone": tone,
|
|
43
|
+
className: cn(
|
|
44
|
+
"sa:relative sa:isolate sa:flex sa:min-h-11 sa:w-full sa:items-center sa:justify-center sa:px-12 sa:py-2 sa:text-base",
|
|
45
|
+
toneClass,
|
|
46
|
+
shimmer && "satin-sheen",
|
|
47
|
+
sticky === "top" && "sa:sticky sa:top-0 sa:z-40",
|
|
48
|
+
sticky === "bottom" && "sa:sticky sa:bottom-0 sa:z-40",
|
|
49
|
+
className
|
|
50
|
+
),
|
|
51
|
+
...props,
|
|
52
|
+
children: [
|
|
53
|
+
background === "mesh" && tone === "default" && /* @__PURE__ */ jsx(
|
|
54
|
+
"img",
|
|
55
|
+
{
|
|
56
|
+
src: bannerMesh.horizontal.one.light,
|
|
57
|
+
alt: "",
|
|
58
|
+
"aria-hidden": true,
|
|
59
|
+
className: "sa:pointer-events-none sa:absolute sa:inset-0 sa:-z-10 sa:size-full sa:max-w-none sa:object-cover sa:mix-blend-multiply"
|
|
60
|
+
}
|
|
61
|
+
),
|
|
62
|
+
background === "mesh" && /* @__PURE__ */ jsx(
|
|
63
|
+
"img",
|
|
64
|
+
{
|
|
65
|
+
src: bannerMesh.horizontal.one.dark,
|
|
66
|
+
alt: "",
|
|
67
|
+
"aria-hidden": true,
|
|
68
|
+
className: "sa:pointer-events-none sa:absolute sa:inset-0 sa:-z-10 sa:size-full sa:max-w-none sa:object-cover sa:mix-blend-screen"
|
|
69
|
+
}
|
|
70
|
+
),
|
|
71
|
+
/* @__PURE__ */ jsxs("div", { className: "sa:flex sa:flex-wrap sa:items-center sa:justify-center sa:gap-x-3 sa:gap-y-1 sa:text-center", children: [
|
|
72
|
+
/* @__PURE__ */ jsx("p", { className: "sa:m-0", children }),
|
|
73
|
+
action && (action.href ? /* @__PURE__ */ jsx(Button, { asChild: true, variant: "secondary", size: "xs", className: "sa:shrink-0 sa:no-underline", children: /* @__PURE__ */ jsx("a", { href: action.href, onClick: action.onClick, children: label }) }) : /* @__PURE__ */ jsx(Button, { variant: "secondary", size: "xs", className: "sa:shrink-0", onClick: action.onClick, children: label }))
|
|
74
|
+
] }),
|
|
75
|
+
onDismiss && /* @__PURE__ */ jsx(
|
|
76
|
+
"button",
|
|
77
|
+
{
|
|
78
|
+
type: "button",
|
|
79
|
+
"aria-label": dismissLabel,
|
|
80
|
+
onClick: onDismiss,
|
|
81
|
+
className: cn(
|
|
82
|
+
"sa:absolute sa:top-1/2 sa:right-3 sa:grid sa:size-7 sa:-translate-y-1/2 sa:place-items-center sa:rounded-md sa:outline-none",
|
|
83
|
+
closeClass,
|
|
84
|
+
"sa:transition-[opacity,background-color] sa:duration-(--sa-duration-fast) sa:ease-(--sa-ease-out)",
|
|
85
|
+
"sa:focus-visible:opacity-100 sa:focus-visible:[box-shadow:0_0_0_2px_var(--action-focus-ring)]"
|
|
86
|
+
),
|
|
87
|
+
children: /* @__PURE__ */ jsx(Xmark, { "aria-hidden": true, className: "sa:size-4 sa:[stroke-width:1.875]" })
|
|
88
|
+
}
|
|
89
|
+
)
|
|
90
|
+
]
|
|
91
|
+
}
|
|
92
|
+
);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
export { AnnouncementBar };
|
|
@@ -1,19 +1,21 @@
|
|
|
1
|
-
import { DropdownMenu, DropdownMenuItem } from './chunk-
|
|
2
|
-
import {
|
|
1
|
+
import { DropdownMenu, DropdownMenuItem } from './chunk-BR2B4OIT.js';
|
|
2
|
+
import { useSatinLabels } from './chunk-SSOFFQ5T.js';
|
|
3
|
+
import { cn } from './chunk-O46O6LFQ.js';
|
|
3
4
|
import * as React from 'react';
|
|
4
5
|
import { MoreHoriz, NavArrowRight } from 'iconoir-react';
|
|
5
6
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
6
7
|
|
|
7
8
|
var itemClass = cn(
|
|
8
|
-
"inline-flex h-6 items-center gap-2 rounded-md px-1 text-sm leading-5 whitespace-nowrap text-text-muted",
|
|
9
|
-
"[&_svg]:size-3.5 [&_svg]:shrink-0 [&_svg]:[stroke-width:1.875]",
|
|
10
|
-
"transition-colors duration-(--duration-fast) ease-(--ease-out) outline-none focus-visible:shadow-border-focus"
|
|
9
|
+
"sa:inline-flex sa:h-6 sa:items-center sa:gap-2 sa:rounded-md sa:px-1 sa:text-sm sa:leading-5 sa:whitespace-nowrap sa:text-text-muted",
|
|
10
|
+
"sa:[&_svg]:size-3.5 sa:[&_svg]:shrink-0 sa:[&_svg]:[stroke-width:1.875]",
|
|
11
|
+
"sa:transition-colors sa:duration-(--sa-duration-fast) sa:ease-(--sa-ease-out) sa:outline-none sa:focus-visible:shadow-border-focus"
|
|
11
12
|
);
|
|
12
|
-
var linkClass = "cursor-pointer hover:text-text-default";
|
|
13
|
+
var linkClass = "sa:cursor-pointer sa:hover:text-text-default";
|
|
13
14
|
function Separator() {
|
|
14
|
-
return /* @__PURE__ */ jsx("li", { role: "presentation", "aria-hidden": true, className: "flex text-text-subtle [&_svg]:size-3.5 [&_svg]:[stroke-width:1.875]", children: /* @__PURE__ */ jsx(NavArrowRight, {}) });
|
|
15
|
+
return /* @__PURE__ */ jsx("li", { role: "presentation", "aria-hidden": true, className: "sa:flex sa:text-text-subtle sa:[&_svg]:size-3.5 sa:[&_svg]:[stroke-width:1.875]", children: /* @__PURE__ */ jsx(NavArrowRight, {}) });
|
|
15
16
|
}
|
|
16
17
|
function Breadcrumb({ items, maxItems, className, "aria-label": ariaLabel = "Breadcrumb", ...props }) {
|
|
18
|
+
const labels = useSatinLabels();
|
|
17
19
|
const fold = maxItems != null && maxItems >= 2 && items.length > maxItems;
|
|
18
20
|
const head = fold ? items.slice(0, 1) : items;
|
|
19
21
|
const hidden = fold ? items.slice(1, items.length - (maxItems - 1)) : [];
|
|
@@ -22,30 +24,30 @@ function Breadcrumb({ items, maxItems, className, "aria-label": ariaLabel = "Bre
|
|
|
22
24
|
const crumb = (item, index) => {
|
|
23
25
|
const current = index === last;
|
|
24
26
|
const content = item.icon ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
25
|
-
/* @__PURE__ */ jsx("span", { "aria-hidden": true, className: "grid size-3.5 shrink-0 place-items-center", children: item.icon }),
|
|
26
|
-
/* @__PURE__ */ jsx("span", { className: item.hideLabel ? "sr-only" : void 0, children: item.label })
|
|
27
|
+
/* @__PURE__ */ jsx("span", { "aria-hidden": true, className: "sa:grid sa:size-3.5 sa:shrink-0 sa:place-items-center", children: item.icon }),
|
|
28
|
+
/* @__PURE__ */ jsx("span", { className: item.hideLabel ? "sa:sr-only" : void 0, children: item.label })
|
|
27
29
|
] }) : item.label;
|
|
28
|
-
const el = current ? /* @__PURE__ */ jsx("span", { "aria-current": "page", className: cn(itemClass, "font-medium text-text-default"), children: content }) : item.href ? /* @__PURE__ */ jsx("a", { href: item.href, onClick: item.onSelect, className: cn(itemClass, linkClass), children: content }) : item.onSelect ? /* @__PURE__ */ jsx("button", { type: "button", onClick: item.onSelect, className: cn(itemClass, linkClass), children: content }) : /* @__PURE__ */ jsx("span", { className: itemClass, children: content });
|
|
29
|
-
return /* @__PURE__ */ jsx("li", { className: "flex", children: el });
|
|
30
|
+
const el = current ? /* @__PURE__ */ jsx("span", { "aria-current": "page", className: cn(itemClass, "sa:font-medium sa:text-text-default"), children: content }) : item.href ? /* @__PURE__ */ jsx("a", { href: item.href, onClick: item.onSelect, className: cn(itemClass, linkClass), children: content }) : item.onSelect ? /* @__PURE__ */ jsx("button", { type: "button", onClick: item.onSelect, className: cn(itemClass, linkClass), children: content }) : /* @__PURE__ */ jsx("span", { className: itemClass, children: content });
|
|
31
|
+
return /* @__PURE__ */ jsx("li", { className: "sa:flex", children: el });
|
|
30
32
|
};
|
|
31
|
-
return /* @__PURE__ */ jsx("nav", { "data-slot": "breadcrumb", "aria-label": ariaLabel, className, ...props, children: /* @__PURE__ */ jsxs("ol", { className: "flex flex-wrap items-center gap-1", children: [
|
|
33
|
+
return /* @__PURE__ */ jsx("nav", { "data-slot": "breadcrumb", "aria-label": ariaLabel, className, ...props, children: /* @__PURE__ */ jsxs("ol", { className: "sa:flex sa:flex-wrap sa:items-center sa:gap-1", children: [
|
|
32
34
|
head.map((item, i) => /* @__PURE__ */ jsxs(React.Fragment, { children: [
|
|
33
35
|
i > 0 && /* @__PURE__ */ jsx(Separator, {}),
|
|
34
36
|
crumb(item, i)
|
|
35
37
|
] }, `h${i}`)),
|
|
36
38
|
fold && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
37
39
|
/* @__PURE__ */ jsx(Separator, {}),
|
|
38
|
-
/* @__PURE__ */ jsx("li", { className: "flex", children: /* @__PURE__ */ jsx(
|
|
40
|
+
/* @__PURE__ */ jsx("li", { className: "sa:flex", children: /* @__PURE__ */ jsx(
|
|
39
41
|
DropdownMenu,
|
|
40
42
|
{
|
|
41
|
-
"aria-label":
|
|
43
|
+
"aria-label": labels.hiddenPages,
|
|
42
44
|
align: "start",
|
|
43
45
|
trigger: /* @__PURE__ */ jsx(
|
|
44
46
|
"button",
|
|
45
47
|
{
|
|
46
48
|
type: "button",
|
|
47
49
|
"aria-label": `Show ${hidden.length} more`,
|
|
48
|
-
className: cn(itemClass, linkClass, "w-6 justify-center px-0 hover:bg-bg-hover [&_svg]:size-4"),
|
|
50
|
+
className: cn(itemClass, linkClass, "sa:w-6 sa:justify-center sa:px-0 sa:hover:bg-bg-hover sa:[&_svg]:size-4"),
|
|
49
51
|
children: /* @__PURE__ */ jsx(MoreHoriz, { "aria-hidden": true })
|
|
50
52
|
}
|
|
51
53
|
),
|
|
@@ -72,5 +74,3 @@ function Breadcrumb({ items, maxItems, className, "aria-label": ariaLabel = "Bre
|
|
|
72
74
|
}
|
|
73
75
|
|
|
74
76
|
export { Breadcrumb };
|
|
75
|
-
//# sourceMappingURL=chunk-HL42K2NH.js.map
|
|
76
|
-
//# sourceMappingURL=chunk-HL42K2NH.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ChartCard, defaultFormat, ChartTooltip, ChartLegendRow } from './chunk-
|
|
2
|
-
import { cn } from './chunk-
|
|
1
|
+
import { ChartCard, defaultFormat, ChartTooltip, ChartLegendRow } from './chunk-ZBZ3ZQRB.js';
|
|
2
|
+
import { cn } from './chunk-O46O6LFQ.js';
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
5
5
|
|
|
@@ -32,12 +32,12 @@ function BarCard({
|
|
|
32
32
|
const ticks = [4, 3, 2, 1, 0].map((i) => max / 4 * i);
|
|
33
33
|
const sum = data.reduce((n, d) => n + d.value, 0);
|
|
34
34
|
return /* @__PURE__ */ jsxs(ChartCard, { total: total ?? defaultFormat(sum), ...props, children: [
|
|
35
|
-
/* @__PURE__ */ jsx("div", { className: "pt-2", children: /* @__PURE__ */ jsxs("div", { className: "relative flex h-[206px] items-end gap-2 pl-8", onPointerLeave: () => setHovered(null), children: [
|
|
35
|
+
/* @__PURE__ */ jsx("div", { className: "sa:pt-2", children: /* @__PURE__ */ jsxs("div", { className: "sa:relative sa:flex sa:h-[206px] sa:items-end sa:gap-2 sa:pl-8", onPointerLeave: () => setHovered(null), children: [
|
|
36
36
|
ticks.slice(0, 4).map((_, i) => /* @__PURE__ */ jsx(
|
|
37
37
|
"span",
|
|
38
38
|
{
|
|
39
39
|
"aria-hidden": true,
|
|
40
|
-
className: "absolute right-0 left-8 h-px border-t border-dashed border-border-subtle",
|
|
40
|
+
className: "sa:absolute sa:right-0 sa:left-8 sa:h-px sa:border-t sa:border-dashed sa:border-border-subtle",
|
|
41
41
|
style: { top: TRACK / 4 * i }
|
|
42
42
|
},
|
|
43
43
|
i
|
|
@@ -47,7 +47,7 @@ function BarCard({
|
|
|
47
47
|
{
|
|
48
48
|
"aria-hidden": true,
|
|
49
49
|
className: cn(
|
|
50
|
-
"absolute left-6 w-6
|
|
50
|
+
"sa:absolute sa:left-6 sa:w-6 sa:-translate-x-full sa:text-right sa:text-xs sa:leading-[18px] sa:text-text-muted",
|
|
51
51
|
regrow && "satin-bar-fade"
|
|
52
52
|
),
|
|
53
53
|
style: { top: TRACK / 4 * i - 9 },
|
|
@@ -55,7 +55,7 @@ function BarCard({
|
|
|
55
55
|
},
|
|
56
56
|
`${redraw.n}-${i}`
|
|
57
57
|
)),
|
|
58
|
-
/* @__PURE__ */ jsx("ul", { className: "contents", "aria-label": props.title, children: data.map((d, i) => {
|
|
58
|
+
/* @__PURE__ */ jsx("ul", { className: "sa:contents", "aria-label": props.title, children: data.map((d, i) => {
|
|
59
59
|
const isActive = active === i;
|
|
60
60
|
const dimmed = active !== null && !isActive;
|
|
61
61
|
const height = d.value / max * TRACK;
|
|
@@ -67,9 +67,9 @@ function BarCard({
|
|
|
67
67
|
onPointerEnter: () => setHovered(i),
|
|
68
68
|
onFocus: () => setHovered(i),
|
|
69
69
|
onBlur: () => setHovered(null),
|
|
70
|
-
className: "relative flex min-w-0 flex-1 flex-col items-center gap-1.5 rounded-md focus-visible:outline-none",
|
|
70
|
+
className: "sa:relative sa:flex sa:min-w-0 sa:flex-1 sa:flex-col sa:items-center sa:gap-1.5 sa:rounded-md sa:focus-visible:outline-none",
|
|
71
71
|
children: [
|
|
72
|
-
/* @__PURE__ */ jsxs("div", { className: "relative flex w-full flex-col items-center justify-end gap-1.5", style: { height: TRACK }, children: [
|
|
72
|
+
/* @__PURE__ */ jsxs("div", { className: "sa:relative sa:flex sa:w-full sa:flex-col sa:items-center sa:justify-end sa:gap-1.5", style: { height: TRACK }, children: [
|
|
73
73
|
isActive && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
74
74
|
/* @__PURE__ */ jsx(
|
|
75
75
|
ChartTooltip,
|
|
@@ -79,17 +79,17 @@ function BarCard({
|
|
|
79
79
|
value: `${formatValue(d.value)}${unit ? ` ${unit}` : ""}`
|
|
80
80
|
}
|
|
81
81
|
),
|
|
82
|
-
/* @__PURE__ */ jsx("span", { ref: setAnchor, className: "text-sm leading-(--text-sm--line-height) font-medium text-text-default", children: formatValue(d.value) })
|
|
82
|
+
/* @__PURE__ */ jsx("span", { ref: setAnchor, className: "sa:text-sm sa:leading-(--sa-text-sm--line-height) sa:font-medium sa:text-text-default", children: formatValue(d.value) })
|
|
83
83
|
] }),
|
|
84
84
|
/* @__PURE__ */ jsx(
|
|
85
85
|
"span",
|
|
86
86
|
{
|
|
87
87
|
"aria-hidden": true,
|
|
88
88
|
className: cn(
|
|
89
|
-
"w-full rounded-md transition-[background-color,outline-color] duration-(--duration-fast) ease-(--ease-out)",
|
|
89
|
+
"sa:w-full sa:rounded-md sa:transition-[background-color,outline-color] sa:duration-(--sa-duration-fast) sa:ease-(--sa-ease-out)",
|
|
90
90
|
// Dimmed bars stay a tint of chart/3 on the card, so the brand colour never reaches them.
|
|
91
|
-
dimmed ? "bg-[color-mix(in_oklab,var(--chart-3)_30%,var(--bg-card))]" : "bg-chart-3",
|
|
92
|
-
isActive && "outline outline-offset-2 outline-chart-3",
|
|
91
|
+
dimmed ? "sa:bg-[color-mix(in_oklab,var(--sa-chart-3)_30%,var(--bg-card))]" : "sa:bg-chart-3",
|
|
92
|
+
isActive && "sa:outline sa:outline-offset-2 sa:outline-chart-3",
|
|
93
93
|
regrow && "satin-bar-regrow"
|
|
94
94
|
),
|
|
95
95
|
style: { height }
|
|
@@ -100,8 +100,8 @@ function BarCard({
|
|
|
100
100
|
"span",
|
|
101
101
|
{
|
|
102
102
|
className: cn(
|
|
103
|
-
"text-sm leading-(--text-sm--line-height) font-medium whitespace-nowrap",
|
|
104
|
-
isActive ? "text-text-default" : "text-text-muted",
|
|
103
|
+
"sa:text-sm sa:leading-(--sa-text-sm--line-height) sa:font-medium sa:whitespace-nowrap",
|
|
104
|
+
isActive ? "sa:text-text-default" : "sa:text-text-muted",
|
|
105
105
|
regrow && "satin-bar-fade"
|
|
106
106
|
),
|
|
107
107
|
children: d.label
|
|
@@ -116,7 +116,7 @@ function BarCard({
|
|
|
116
116
|
legend && /* @__PURE__ */ jsx(
|
|
117
117
|
ChartLegendRow,
|
|
118
118
|
{
|
|
119
|
-
color: "var(--chart-3)",
|
|
119
|
+
color: "var(--sa-chart-3)",
|
|
120
120
|
label: legend.label,
|
|
121
121
|
value: legend.value ?? formatValue(sum),
|
|
122
122
|
note: legend.note
|
|
@@ -126,5 +126,3 @@ function BarCard({
|
|
|
126
126
|
}
|
|
127
127
|
|
|
128
128
|
export { BarCard, niceMax };
|
|
129
|
-
//# sourceMappingURL=chunk-DO3TBNSC.js.map
|
|
130
|
-
//# sourceMappingURL=chunk-DO3TBNSC.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cn } from './chunk-
|
|
1
|
+
import { cn } from './chunk-O46O6LFQ.js';
|
|
2
2
|
import 'react';
|
|
3
3
|
import { jsx } from 'react/jsx-runtime';
|
|
4
4
|
|
|
@@ -11,10 +11,10 @@ function Skeleton({ shape = "text", animated = false, width, height, className,
|
|
|
11
11
|
"data-shape": shape,
|
|
12
12
|
"data-animated": animated || void 0,
|
|
13
13
|
className: cn(
|
|
14
|
-
"satin-skeleton relative shrink-0 overflow-hidden bg-bg-muted",
|
|
15
|
-
shape === "text" && "h-3 w-60 max-w-full rounded-sm",
|
|
16
|
-
shape === "circle" && "size-8 rounded-full",
|
|
17
|
-
shape === "rect" && "h-30 w-60 max-w-full rounded-lg",
|
|
14
|
+
"satin-skeleton sa:relative sa:shrink-0 sa:overflow-hidden sa:bg-bg-muted",
|
|
15
|
+
shape === "text" && "sa:h-3 sa:w-60 sa:max-w-full sa:rounded-sm",
|
|
16
|
+
shape === "circle" && "sa:size-8 sa:rounded-full",
|
|
17
|
+
shape === "rect" && "sa:h-30 sa:w-60 sa:max-w-full sa:rounded-lg",
|
|
18
18
|
className
|
|
19
19
|
),
|
|
20
20
|
style: { width, height, ...style },
|
|
@@ -24,5 +24,3 @@ function Skeleton({ shape = "text", animated = false, width, height, className,
|
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
export { Skeleton };
|
|
27
|
-
//# sourceMappingURL=chunk-YG7JOOLJ.js.map
|
|
28
|
-
//# sourceMappingURL=chunk-YG7JOOLJ.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { niceMax } from './chunk-
|
|
2
|
-
import { ChartCard, defaultFormat, ChartTooltip } from './chunk-
|
|
3
|
-
import { cn } from './chunk-
|
|
1
|
+
import { niceMax } from './chunk-ISYKZCPJ.js';
|
|
2
|
+
import { ChartCard, defaultFormat, ChartTooltip } from './chunk-ZBZ3ZQRB.js';
|
|
3
|
+
import { cn } from './chunk-O46O6LFQ.js';
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
6
6
|
|
|
@@ -71,13 +71,13 @@ function LineCard({
|
|
|
71
71
|
setHovered(Math.max(0, Math.min(n - 1, Math.round(f * (n - 1)))));
|
|
72
72
|
};
|
|
73
73
|
const fmt = (v) => `${formatValue(v)}${unit ? ` ${unit}` : ""}`;
|
|
74
|
-
return /* @__PURE__ */ jsx(ChartCard, { total: total ?? defaultFormat(sum), ...props, children: /* @__PURE__ */ jsxs("div", { className: "relative pt-2 pl-8", children: [
|
|
74
|
+
return /* @__PURE__ */ jsx(ChartCard, { total: total ?? defaultFormat(sum), ...props, children: /* @__PURE__ */ jsxs("div", { className: "sa:relative sa:pt-2 sa:pl-8", children: [
|
|
75
75
|
ticks.map((t, i) => /* @__PURE__ */ jsxs(React.Fragment, { children: [
|
|
76
76
|
i < 4 && /* @__PURE__ */ jsx(
|
|
77
77
|
"span",
|
|
78
78
|
{
|
|
79
79
|
"aria-hidden": true,
|
|
80
|
-
className: "absolute right-0 left-8 h-px border-t border-dashed border-border-subtle",
|
|
80
|
+
className: "sa:absolute sa:right-0 sa:left-8 sa:h-px sa:border-t sa:border-dashed sa:border-border-subtle",
|
|
81
81
|
style: { top: 8 + TRACK / 4 * i }
|
|
82
82
|
}
|
|
83
83
|
),
|
|
@@ -85,7 +85,7 @@ function LineCard({
|
|
|
85
85
|
"span",
|
|
86
86
|
{
|
|
87
87
|
"aria-hidden": true,
|
|
88
|
-
className: cn("absolute left-6 w-6
|
|
88
|
+
className: cn("sa:absolute sa:left-6 sa:w-6 sa:-translate-x-full sa:text-right sa:text-xs sa:leading-[18px] sa:text-text-muted", fade && "satin-bar-fade"),
|
|
89
89
|
style: { top: 8 + TRACK / 4 * i - 9 },
|
|
90
90
|
children: formatValue(t)
|
|
91
91
|
},
|
|
@@ -98,7 +98,7 @@ function LineCard({
|
|
|
98
98
|
role: "group",
|
|
99
99
|
"aria-label": `${props.title}, ${n} points`,
|
|
100
100
|
tabIndex: 0,
|
|
101
|
-
className: "relative rounded-md outline-none focus-visible:[box-shadow:0_0_0_2px_var(--action-focus-ring)]",
|
|
101
|
+
className: "sa:relative sa:rounded-md sa:outline-none sa:focus-visible:[box-shadow:0_0_0_2px_var(--action-focus-ring)]",
|
|
102
102
|
style: { height: TRACK },
|
|
103
103
|
onPointerMove: pick,
|
|
104
104
|
onPointerLeave: () => setHovered(null),
|
|
@@ -116,12 +116,12 @@ function LineCard({
|
|
|
116
116
|
"aria-hidden": true,
|
|
117
117
|
viewBox: `0 0 100 ${TRACK}`,
|
|
118
118
|
preserveAspectRatio: "none",
|
|
119
|
-
className: cn("absolute inset-0 size-full overflow-visible", fade && "satin-bar-fade"),
|
|
119
|
+
className: cn("sa:absolute sa:inset-0 sa:size-full sa:overflow-visible", fade && "satin-bar-fade"),
|
|
120
120
|
children: [
|
|
121
121
|
area && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
122
122
|
/* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsxs("linearGradient", { id: gradientId, x1: "0", x2: "0", y1: "0", y2: "1", children: [
|
|
123
|
-
/* @__PURE__ */ jsx("stop", { offset: "0", stopColor: "var(--chart-3)", stopOpacity: "0.28" }),
|
|
124
|
-
/* @__PURE__ */ jsx("stop", { offset: "1", stopColor: "var(--chart-3)", stopOpacity: "0" })
|
|
123
|
+
/* @__PURE__ */ jsx("stop", { offset: "0", stopColor: "var(--sa-chart-3)", stopOpacity: "0.28" }),
|
|
124
|
+
/* @__PURE__ */ jsx("stop", { offset: "1", stopColor: "var(--sa-chart-3)", stopOpacity: "0" })
|
|
125
125
|
] }) }),
|
|
126
126
|
/* @__PURE__ */ jsx("path", { d: `${line} L 100 ${TRACK} L 0 ${TRACK} Z`, fill: `url(#${gradientId})` })
|
|
127
127
|
] }),
|
|
@@ -142,7 +142,7 @@ function LineCard({
|
|
|
142
142
|
{
|
|
143
143
|
d: line,
|
|
144
144
|
fill: "none",
|
|
145
|
-
stroke: "var(--chart-3)",
|
|
145
|
+
stroke: "var(--sa-chart-3)",
|
|
146
146
|
strokeWidth: 2,
|
|
147
147
|
strokeLinecap: "round",
|
|
148
148
|
strokeLinejoin: "round",
|
|
@@ -159,23 +159,23 @@ function LineCard({
|
|
|
159
159
|
{
|
|
160
160
|
ref: setAnchor,
|
|
161
161
|
"aria-hidden": true,
|
|
162
|
-
className: "pointer-events-none absolute size-2
|
|
162
|
+
className: "sa:pointer-events-none sa:absolute sa:size-2 sa:-translate-1/2 sa:rounded-full sa:border-2 sa:border-chart-3 sa:bg-bg-card",
|
|
163
163
|
style: { left: `${x(active)}%`, top: y(data[active].value) }
|
|
164
164
|
}
|
|
165
165
|
),
|
|
166
166
|
/* @__PURE__ */ jsx(ChartTooltip, { anchor, sideOffset: 6, label: data[active].tooltipLabel ?? data[active].label, value: fmt(data[active].value) }),
|
|
167
|
-
/* @__PURE__ */ jsx("span", { className: "sr-only", "aria-live": "polite", children: `${data[active].tooltipLabel ?? data[active].label}: ${fmt(data[active].value)}` })
|
|
167
|
+
/* @__PURE__ */ jsx("span", { className: "sa:sr-only", "aria-live": "polite", children: `${data[active].tooltipLabel ?? data[active].label}: ${fmt(data[active].value)}` })
|
|
168
168
|
] })
|
|
169
169
|
]
|
|
170
170
|
}
|
|
171
171
|
),
|
|
172
|
-
/* @__PURE__ */ jsx("div", { "aria-hidden": true, className: "relative mt-1.5 h-5", children: data.map(
|
|
172
|
+
/* @__PURE__ */ jsx("div", { "aria-hidden": true, className: "sa:relative sa:mt-1.5 sa:h-5", children: data.map(
|
|
173
173
|
(d, i) => showLabel(i) ? /* @__PURE__ */ jsx(
|
|
174
174
|
"span",
|
|
175
175
|
{
|
|
176
176
|
className: cn(
|
|
177
|
-
"absolute
|
|
178
|
-
i === active ? "font-medium text-text-default" : "text-text-muted",
|
|
177
|
+
"sa:absolute sa:-translate-x-1/2 sa:text-sm sa:leading-(--sa-text-sm--line-height) sa:whitespace-nowrap",
|
|
178
|
+
i === active ? "sa:font-medium sa:text-text-default" : "sa:text-text-muted",
|
|
179
179
|
fade && "satin-bar-fade"
|
|
180
180
|
),
|
|
181
181
|
style: { left: `${x(i)}%` },
|
|
@@ -191,5 +191,3 @@ function AreaCard(props) {
|
|
|
191
191
|
}
|
|
192
192
|
|
|
193
193
|
export { AreaCard, LineCard };
|
|
194
|
-
//# sourceMappingURL=chunk-SHDFUXYV.js.map
|
|
195
|
-
//# sourceMappingURL=chunk-SHDFUXYV.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ChartCard, ChartTooltip, defaultFormat, ChartLegendRow } from './chunk-
|
|
2
|
-
import { cn } from './chunk-
|
|
1
|
+
import { ChartCard, ChartTooltip, defaultFormat, ChartLegendRow } from './chunk-ZBZ3ZQRB.js';
|
|
2
|
+
import { cn } from './chunk-O46O6LFQ.js';
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
5
5
|
|
|
@@ -16,12 +16,12 @@ function ChannelCard({
|
|
|
16
16
|
const active = hovered ?? highlight ?? null;
|
|
17
17
|
const sum = data.reduce((n, d) => n + d.value, 0);
|
|
18
18
|
const last = data.length - 1;
|
|
19
|
-
return /* @__PURE__ */ jsx(ChartCard, { total: total ?? formatValue(sum), ...props, children: /* @__PURE__ */ jsxs("div", { className: "relative flex flex-col gap-4", onPointerLeave: () => setHovered(null), children: [
|
|
19
|
+
return /* @__PURE__ */ jsx(ChartCard, { total: total ?? formatValue(sum), ...props, children: /* @__PURE__ */ jsxs("div", { className: "sa:relative sa:flex sa:flex-col sa:gap-4", onPointerLeave: () => setHovered(null), children: [
|
|
20
20
|
/* @__PURE__ */ jsx(
|
|
21
21
|
"div",
|
|
22
22
|
{
|
|
23
23
|
"aria-hidden": true,
|
|
24
|
-
className: "relative grid h-3.5 gap-x-0.5",
|
|
24
|
+
className: "sa:relative sa:grid sa:h-3.5 sa:gap-x-0.5",
|
|
25
25
|
style: { gridTemplateColumns: data.map((d) => `minmax(0, ${Math.max(d.value, 0)}fr)`).join(" ") },
|
|
26
26
|
children: data.map((d, i) => /* @__PURE__ */ jsx(
|
|
27
27
|
"span",
|
|
@@ -29,10 +29,10 @@ function ChannelCard({
|
|
|
29
29
|
ref: active === i ? setAnchor : void 0,
|
|
30
30
|
onPointerEnter: () => setHovered(i),
|
|
31
31
|
className: cn(
|
|
32
|
-
"relative rounded-[1.5px] transition-opacity duration-(--duration-fast) ease-(--ease-out)",
|
|
33
|
-
i === 0 && "rounded-l-[4px]",
|
|
34
|
-
i === last && "rounded-r-[4px]",
|
|
35
|
-
active !== null && active !== i && "opacity-15"
|
|
32
|
+
"sa:relative sa:rounded-[1.5px] sa:transition-opacity sa:duration-(--sa-duration-fast) sa:ease-(--sa-ease-out)",
|
|
33
|
+
i === 0 && "sa:rounded-l-[4px]",
|
|
34
|
+
i === last && "sa:rounded-r-[4px]",
|
|
35
|
+
active !== null && active !== i && "sa:opacity-15"
|
|
36
36
|
),
|
|
37
37
|
style: { background: seriesColor(i) },
|
|
38
38
|
children: active === i && /* @__PURE__ */ jsx(ChartTooltip, { anchor, sideOffset: 8, label: d.tooltipLabel ?? d.label, value: formatValue(d.value) })
|
|
@@ -44,7 +44,7 @@ function ChannelCard({
|
|
|
44
44
|
/* @__PURE__ */ jsx(
|
|
45
45
|
"ul",
|
|
46
46
|
{
|
|
47
|
-
className: "flex flex-col gap-0.5
|
|
47
|
+
className: "sa:flex sa:flex-col sa:gap-0.5 sa:@min-[560px]:grid sa:@min-[560px]:grid-flow-col sa:@min-[560px]:auto-cols-fr sa:@min-[560px]:gap-x-6",
|
|
48
48
|
style: { gridTemplateRows: `repeat(${Math.ceil(data.length / 2)}, auto)` },
|
|
49
49
|
"aria-label": props.title,
|
|
50
50
|
children: data.map((d, i) => /* @__PURE__ */ jsx(
|
|
@@ -55,7 +55,7 @@ function ChannelCard({
|
|
|
55
55
|
onFocus: () => setHovered(i),
|
|
56
56
|
onBlur: () => setHovered(null),
|
|
57
57
|
"aria-label": `${d.label}: ${formatValue(d.value)}, ${Math.round(d.value / (sum || 1) * 100)}%`,
|
|
58
|
-
className: "rounded-md focus-visible:outline-none focus-visible:[box-shadow:0_0_0_2px_var(--action-focus-ring)]",
|
|
58
|
+
className: "sa:rounded-md sa:focus-visible:outline-none sa:focus-visible:[box-shadow:0_0_0_2px_var(--action-focus-ring)]",
|
|
59
59
|
children: /* @__PURE__ */ jsx(
|
|
60
60
|
ChartLegendRow,
|
|
61
61
|
{
|
|
@@ -75,5 +75,3 @@ function ChannelCard({
|
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
export { ChannelCard };
|
|
78
|
-
//# sourceMappingURL=chunk-LZMKSFCF.js.map
|
|
79
|
-
//# sourceMappingURL=chunk-LZMKSFCF.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Button } from './chunk-
|
|
2
|
-
import { cn } from './chunk-
|
|
1
|
+
import { Button } from './chunk-T6L32XXH.js';
|
|
2
|
+
import { cn } from './chunk-O46O6LFQ.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
5
5
|
|
|
@@ -22,15 +22,15 @@ function CookieConsent({
|
|
|
22
22
|
"data-slot": "cookie-consent",
|
|
23
23
|
"aria-label": ariaLabel,
|
|
24
24
|
className: cn(
|
|
25
|
-
"flex w-fit max-w-full flex-wrap items-center gap-x-5 gap-y-3 rounded-3xl border border-border-subtle bg-bg-popover px-5 py-4 [box-shadow:0_1px_3px_0_var(--effect-shadow-ambient),0_16px_40px_-12px_var(--effect-shadow-lg)]",
|
|
26
|
-
floating && "fixed inset-x-4 bottom-4 z-50 mx-auto max-w-[calc(100vw-32px)]",
|
|
25
|
+
"sa:flex sa:w-fit sa:max-w-full sa:flex-wrap sa:items-center sa:gap-x-5 sa:gap-y-3 sa:rounded-3xl sa:border sa:border-border-subtle sa:bg-bg-popover sa:px-5 sa:py-4 sa:[box-shadow:0_1px_3px_0_var(--effect-shadow-ambient),0_16px_40px_-12px_var(--effect-shadow-lg)]",
|
|
26
|
+
floating && "sa:fixed sa:inset-x-4 sa:bottom-4 sa:z-50 sa:mx-auto sa:max-w-[calc(100vw-32px)]",
|
|
27
27
|
className
|
|
28
28
|
),
|
|
29
29
|
...props,
|
|
30
30
|
children: [
|
|
31
|
-
/* @__PURE__ */ jsx("p", { className: "m-0 w-[280px] max-w-full min-w-0 shrink text-base text-text-muted", children }),
|
|
32
|
-
/* @__PURE__ */ jsxs("div", { className: "ml-auto flex shrink-0 items-center gap-2", children: [
|
|
33
|
-
onCustomize && /* @__PURE__ */ jsx(Button, { variant: "tertiary", size: "lg", shape: "rounded", className: "text-text-muted", onClick: onCustomize, children: customizeLabel }),
|
|
31
|
+
/* @__PURE__ */ jsx("p", { className: "sa:m-0 sa:w-[280px] sa:max-w-full sa:min-w-0 sa:shrink sa:text-base sa:text-text-muted", children }),
|
|
32
|
+
/* @__PURE__ */ jsxs("div", { className: "sa:ml-auto sa:flex sa:shrink-0 sa:items-center sa:gap-2", children: [
|
|
33
|
+
onCustomize && /* @__PURE__ */ jsx(Button, { variant: "tertiary", size: "lg", shape: "rounded", className: "sa:text-text-muted", onClick: onCustomize, children: customizeLabel }),
|
|
34
34
|
/* @__PURE__ */ jsx(Button, { variant: "secondary", size: "lg", shape: "rounded", onClick: onReject, children: rejectLabel }),
|
|
35
35
|
/* @__PURE__ */ jsx(Button, { variant: "primary", size: "lg", shape: "rounded", onClick: onAccept, children: acceptLabel })
|
|
36
36
|
] })
|
|
@@ -40,5 +40,3 @@ function CookieConsent({
|
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
export { CookieConsent };
|
|
43
|
-
//# sourceMappingURL=chunk-NN6PKJWS.js.map
|
|
44
|
-
//# sourceMappingURL=chunk-NN6PKJWS.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { cn } from './chunk-
|
|
1
|
+
import { cn } from './chunk-O46O6LFQ.js';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { RadioGroup as RadioGroup$1 } from 'radix-ui';
|
|
4
4
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
5
5
|
|
|
6
6
|
function RadioGroup({ className, ...props }) {
|
|
7
|
-
return /* @__PURE__ */ jsx(RadioGroup$1.Root, { "data-slot": "radio-group", className: cn("grid gap-3", className), ...props });
|
|
7
|
+
return /* @__PURE__ */ jsx(RadioGroup$1.Root, { "data-slot": "radio-group", className: cn("sa:grid sa:gap-3", className), ...props });
|
|
8
8
|
}
|
|
9
9
|
function Radio({ className, label, description, placement = "left", id, disabled, ...props }) {
|
|
10
10
|
const autoId = React.useId();
|
|
@@ -19,7 +19,7 @@ function Radio({ className, label, description, placement = "left", id, disabled
|
|
|
19
19
|
"aria-labelledby": labelId,
|
|
20
20
|
"aria-describedby": descriptionId,
|
|
21
21
|
disabled,
|
|
22
|
-
className: cn("peer satin-radio", className),
|
|
22
|
+
className: cn("sa:peer satin-radio", className),
|
|
23
23
|
...props,
|
|
24
24
|
children: /* @__PURE__ */ jsx(RadioGroup$1.Indicator, { className: "satin-radio-dot" })
|
|
25
25
|
}
|
|
@@ -32,12 +32,12 @@ function Radio({ className, label, description, placement = "left", id, disabled
|
|
|
32
32
|
{
|
|
33
33
|
htmlFor: radioId,
|
|
34
34
|
"data-slot": "radio-field",
|
|
35
|
-
className: cn("flex cursor-pointer items-start gap-2 has-disabled:cursor-not-allowed has-data-disabled:cursor-not-allowed [&>:first-child]:mt-0.5", placement === "right" && "flex-row-reverse justify-between"),
|
|
35
|
+
className: cn("sa:flex sa:cursor-pointer sa:items-start sa:gap-2 sa:has-disabled:cursor-not-allowed sa:has-data-disabled:cursor-not-allowed sa:[&>:first-child]:mt-0.5", placement === "right" && "sa:flex-row-reverse sa:justify-between"),
|
|
36
36
|
children: [
|
|
37
37
|
circle,
|
|
38
|
-
/* @__PURE__ */ jsxs("div", { className: "grid min-w-0 gap-0.5 text-base text-text-default peer-data-disabled:text-text-subtle peer-data-disabled:*:text-text-subtle", children: [
|
|
39
|
-
label && /* @__PURE__ */ jsx("span", { id: labelId, className: "block leading-5 font-medium", children: label }),
|
|
40
|
-
description && /* @__PURE__ */ jsx("span", { id: descriptionId, className: "block leading-5 text-text-muted", children: description })
|
|
38
|
+
/* @__PURE__ */ jsxs("div", { className: "sa:grid sa:min-w-0 sa:gap-0.5 sa:text-base sa:text-text-default sa:peer-data-disabled:text-text-subtle sa:peer-data-disabled:*:text-text-subtle", children: [
|
|
39
|
+
label && /* @__PURE__ */ jsx("span", { id: labelId, className: "sa:block sa:leading-5 sa:font-medium", children: label }),
|
|
40
|
+
description && /* @__PURE__ */ jsx("span", { id: descriptionId, className: "sa:block sa:leading-5 sa:text-text-muted", children: description })
|
|
41
41
|
] })
|
|
42
42
|
]
|
|
43
43
|
}
|
|
@@ -46,5 +46,3 @@ function Radio({ className, label, description, placement = "left", id, disabled
|
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
export { Radio, RadioGroup };
|
|
49
|
-
//# sourceMappingURL=chunk-LLHTVIM3.js.map
|
|
50
|
-
//# sourceMappingURL=chunk-LLHTVIM3.js.map
|