@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.
Files changed (311) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/README.md +20 -3
  3. package/chunk-3DHJXU45.js +147 -0
  4. package/{chunk-6YXUBP27.js → chunk-5725MFGQ.js} +72 -67
  5. package/{chunk-BKZBWPUH.js → chunk-57QEOCDZ.js} +9 -11
  6. package/{chunk-RTJ76X5U.js → chunk-5KTBSMQU.js} +2 -4
  7. package/{chunk-B2K45IUR.js → chunk-5XTUFBZI.js} +5 -7
  8. package/{chunk-LW3TRU5W.js → chunk-674SRBZK.js} +28 -16
  9. package/{chunk-XZNHT6MO.js → chunk-6VKV36OK.js} +115 -61
  10. package/{chunk-GICKPMJU.js → chunk-73Z7NMQQ.js} +31 -31
  11. package/chunk-7Q76HLRQ.js +128 -0
  12. package/{chunk-JPNWHWAQ.js → chunk-AIMQNLPY.js} +38 -35
  13. package/chunk-BN7FDKCJ.js +164 -0
  14. package/{chunk-3DINAQLL.js → chunk-BR2B4OIT.js} +33 -29
  15. package/{chunk-2HKBZFIK.js → chunk-CGOH5IYX.js} +31 -31
  16. package/chunk-CVNRZ2YV.js +112 -0
  17. package/{chunk-QUF2IPOZ.js → chunk-DPYIBFQD.js} +12 -14
  18. package/chunk-EF5GT4OG.js +87 -0
  19. package/chunk-FAJ3OVL4.js +37 -0
  20. package/{chunk-L6NCCSIP.js → chunk-FB5HTCO2.js} +36 -29
  21. package/chunk-GI2SMFZL.js +55 -0
  22. package/{chunk-B6V4VSGH.js → chunk-GMETYACH.js} +14 -15
  23. package/chunk-HK6WINL6.js +95 -0
  24. package/{chunk-HL42K2NH.js → chunk-IKO3GQFE.js} +17 -17
  25. package/{chunk-DO3TBNSC.js → chunk-ISYKZCPJ.js} +15 -17
  26. package/{chunk-YG7JOOLJ.js → chunk-J7RMFN54.js} +5 -7
  27. package/{chunk-SHDFUXYV.js → chunk-JBKBRAC4.js} +16 -18
  28. package/{chunk-LZMKSFCF.js → chunk-JCXI7VQL.js} +10 -12
  29. package/{chunk-NN6PKJWS.js → chunk-JYOZUQNU.js} +7 -9
  30. package/{chunk-LLHTVIM3.js → chunk-LB37KTJH.js} +7 -9
  31. package/{chunk-NSRTTYQ4.js → chunk-LB7Z6BSK.js} +42 -35
  32. package/{chunk-BNZVTLHV.js → chunk-LFGUJHFF.js} +25 -21
  33. package/{chunk-7TXHCRAG.js → chunk-M2HEVFQ3.js} +8 -10
  34. package/{chunk-SH6NG6VN.js → chunk-NH3EHMIL.js} +6 -8
  35. package/chunk-NL574STL.js +88 -0
  36. package/chunk-NQL6SIIB.js +168 -0
  37. package/chunk-O46O6LFQ.js +25 -0
  38. package/{chunk-YPNKBE5X.js → chunk-OURZQM27.js} +5 -7
  39. package/{chunk-XL75JRUA.js → chunk-OVKPPXK5.js} +42 -22
  40. package/chunk-PD6YPFYN.js +42 -0
  41. package/{chunk-XILQ7GXE.js → chunk-PHNR6ZQ7.js} +11 -13
  42. package/{chunk-BNTPPZCK.js → chunk-PUWSL5XW.js} +37 -39
  43. package/{chunk-A5XEM3GF.js → chunk-RHQHDYTE.js} +34 -36
  44. package/chunk-S7QHBVPX.js +45 -0
  45. package/{chunk-TX3H3QMA.js → chunk-SAYNV7B3.js} +71 -70
  46. package/{chunk-6QMSWITQ.js → chunk-SDOTDMYG.js} +24 -26
  47. package/{chunk-UGRSWP6U.js → chunk-SPGUZMCC.js} +10 -12
  48. package/chunk-SSOFFQ5T.js +74 -0
  49. package/{chunk-AN2RNJLR.js → chunk-SZJIVBOD.js} +16 -16
  50. package/chunk-T6L32XXH.js +107 -0
  51. package/{chunk-QS4N4MNP.js → chunk-TT2N5752.js} +18 -20
  52. package/{chunk-72OCFAPT.js → chunk-UCCNXGLG.js} +22 -21
  53. package/{chunk-KNUWZNFV.js → chunk-UGIVCXGN.js} +4 -6
  54. package/{chunk-H4NU7NPO.js → chunk-UUCVRIVP.js} +62 -61
  55. package/{chunk-P4O6TGDR.js → chunk-UZ4DXU6W.js} +28 -26
  56. package/{chunk-UBNHSZSE.js → chunk-VUOAPWTF.js} +10 -12
  57. package/{chunk-VAGIAREV.js → chunk-W472DBMT.js} +29 -26
  58. package/{chunk-X3PQANZO.js → chunk-W4RDTP6W.js} +47 -46
  59. package/{chunk-CL2II6BX.js → chunk-WLQD5BN2.js} +11 -13
  60. package/{chunk-FDKIX4DC.js → chunk-X2GNMNZQ.js} +7 -9
  61. package/{chunk-PF3YBUKT.js → chunk-X66KTATQ.js} +16 -15
  62. package/{chunk-J3NSDRVH.js → chunk-XETMIETJ.js} +0 -2
  63. package/chunk-XH56JGYC.js +71 -0
  64. package/{chunk-O7F3CIDV.js → chunk-XUOSJMEJ.js} +10 -12
  65. package/chunk-YJK4MGSI.js +86 -0
  66. package/{chunk-YX5VNRJX.js → chunk-YYFAZQ25.js} +0 -2
  67. package/chunk-Z7S2KQZS.js +177 -0
  68. package/chunk-ZBZ3ZQRB.js +195 -0
  69. package/{chunk-Y5AYU7PK.js → chunk-ZHFIWDGF.js} +0 -2
  70. package/components/accordion.js +2 -4
  71. package/components/agent-loading.d.ts +2 -0
  72. package/components/agent-loading.js +2 -4
  73. package/components/agent-picker.js +4 -5
  74. package/components/agent-suggestion.js +5 -6
  75. package/components/announcement-bar.js +6 -7
  76. package/components/attachment.js +4 -5
  77. package/components/avatar.d.ts +16 -0
  78. package/components/avatar.js +4 -6
  79. package/components/badge.js +2 -4
  80. package/components/banner-mesh.js +1 -3
  81. package/components/banner.js +4 -6
  82. package/components/bar-chart.js +10 -11
  83. package/components/breadcrumb.js +5 -6
  84. package/components/button.js +2 -4
  85. package/components/card.js +3 -5
  86. package/components/channel-chart.js +10 -11
  87. package/components/chart.js +9 -10
  88. package/components/checkbox.js +2 -4
  89. package/components/chip.js +2 -4
  90. package/components/citations.d.ts +6 -4
  91. package/components/citations.js +4 -5
  92. package/components/code-block.js +3 -5
  93. package/components/combobox.d.ts +12 -3
  94. package/components/combobox.js +9 -10
  95. package/components/command-menu.d.ts +6 -2
  96. package/components/command-menu.js +5 -6
  97. package/components/context-menu.d.ts +12 -5
  98. package/components/context-menu.js +5 -6
  99. package/components/cookie-consent.js +3 -5
  100. package/components/date-picker.d.ts +26 -14
  101. package/components/date-picker.js +8 -9
  102. package/components/decision-card.js +6 -7
  103. package/components/dialog.d.ts +5 -2
  104. package/components/dialog.js +4 -5
  105. package/components/donut-chart.js +10 -11
  106. package/components/dot.js +2 -4
  107. package/components/dropdown.d.ts +6 -1
  108. package/components/dropdown.js +4 -5
  109. package/components/empty-state.js +2 -4
  110. package/components/file-upload.js +6 -7
  111. package/components/floating.js +1 -3
  112. package/components/form-field.js +2 -4
  113. package/components/hover-card.d.ts +5 -2
  114. package/components/hover-card.js +2 -4
  115. package/components/input-otp.d.ts +4 -2
  116. package/components/input-otp.js +7 -8
  117. package/components/input.js +3 -5
  118. package/components/kbd.js +2 -4
  119. package/components/labels.d.ts +79 -0
  120. package/components/labels.js +1 -0
  121. package/components/line-chart.js +11 -12
  122. package/components/message-actions.js +4 -5
  123. package/components/message.js +7 -8
  124. package/components/number-input.d.ts +4 -2
  125. package/components/number-input.js +7 -8
  126. package/components/pagination.js +4 -6
  127. package/components/popover.d.ts +11 -5
  128. package/components/popover.js +3 -4
  129. package/components/progress.js +2 -4
  130. package/components/prompt-bar.js +5 -6
  131. package/components/radio.js +2 -4
  132. package/components/search-bar.js +3 -5
  133. package/components/segmented-control.d.ts +4 -2
  134. package/components/segmented-control.js +3 -5
  135. package/components/select.d.ts +10 -2
  136. package/components/select.js +6 -7
  137. package/components/sheet.d.ts +4 -2
  138. package/components/sheet.js +5 -6
  139. package/components/sidebar.js +2 -4
  140. package/components/skeleton.js +2 -4
  141. package/components/slider.d.ts +6 -2
  142. package/components/slider.js +7 -8
  143. package/components/sliding-indicator.js +1 -3
  144. package/components/streaming-text.js +2 -4
  145. package/components/switch.js +2 -4
  146. package/components/table.d.ts +16 -5
  147. package/components/table.js +4 -5
  148. package/components/tabs.d.ts +4 -2
  149. package/components/tabs.js +3 -5
  150. package/components/textarea.js +3 -5
  151. package/components/thinking.js +3 -5
  152. package/components/toast.js +4 -5
  153. package/components/toggle.js +2 -4
  154. package/components/tooltip.d.ts +5 -2
  155. package/components/tooltip.js +3 -5
  156. package/index.d.ts +1 -0
  157. package/index.js +67 -231
  158. package/lib/utils.d.ts +8 -1
  159. package/lib/utils.js +1 -3
  160. package/package.json +22 -1
  161. package/styles.css +1 -1
  162. package/theme/create-theme.d.ts +6 -2
  163. package/theme/index.js +1 -0
  164. package/chunk-2HKBZFIK.js.map +0 -1
  165. package/chunk-3DINAQLL.js.map +0 -1
  166. package/chunk-3ERGAHKA.js +0 -179
  167. package/chunk-3ERGAHKA.js.map +0 -1
  168. package/chunk-6C7CGJX2.js +0 -86
  169. package/chunk-6C7CGJX2.js.map +0 -1
  170. package/chunk-6QMSWITQ.js.map +0 -1
  171. package/chunk-6YXUBP27.js.map +0 -1
  172. package/chunk-72OCFAPT.js.map +0 -1
  173. package/chunk-7TXHCRAG.js.map +0 -1
  174. package/chunk-A5XEM3GF.js.map +0 -1
  175. package/chunk-AN2RNJLR.js.map +0 -1
  176. package/chunk-B2K45IUR.js.map +0 -1
  177. package/chunk-B6V4VSGH.js.map +0 -1
  178. package/chunk-BKZBWPUH.js.map +0 -1
  179. package/chunk-BNTPPZCK.js.map +0 -1
  180. package/chunk-BNZVTLHV.js.map +0 -1
  181. package/chunk-CL2II6BX.js.map +0 -1
  182. package/chunk-D7RZNTFC.js +0 -95
  183. package/chunk-D7RZNTFC.js.map +0 -1
  184. package/chunk-DETGJAIC.js +0 -147
  185. package/chunk-DETGJAIC.js.map +0 -1
  186. package/chunk-DO3TBNSC.js.map +0 -1
  187. package/chunk-ESC5JCVQ.js +0 -90
  188. package/chunk-ESC5JCVQ.js.map +0 -1
  189. package/chunk-FDKIX4DC.js.map +0 -1
  190. package/chunk-GICKPMJU.js.map +0 -1
  191. package/chunk-GQA24FYG.js +0 -57
  192. package/chunk-GQA24FYG.js.map +0 -1
  193. package/chunk-H4NU7NPO.js.map +0 -1
  194. package/chunk-H63FYCMY.js +0 -11
  195. package/chunk-H63FYCMY.js.map +0 -1
  196. package/chunk-HL42K2NH.js.map +0 -1
  197. package/chunk-HNQUX43Z.js +0 -109
  198. package/chunk-HNQUX43Z.js.map +0 -1
  199. package/chunk-HRKPV66B.js +0 -32
  200. package/chunk-HRKPV66B.js.map +0 -1
  201. package/chunk-J3NSDRVH.js.map +0 -1
  202. package/chunk-JPNWHWAQ.js.map +0 -1
  203. package/chunk-KNUWZNFV.js.map +0 -1
  204. package/chunk-L6NCCSIP.js.map +0 -1
  205. package/chunk-LLHTVIM3.js.map +0 -1
  206. package/chunk-LW3TRU5W.js.map +0 -1
  207. package/chunk-LZMKSFCF.js.map +0 -1
  208. package/chunk-MR3JDI7E.js +0 -122
  209. package/chunk-MR3JDI7E.js.map +0 -1
  210. package/chunk-NN6PKJWS.js.map +0 -1
  211. package/chunk-NSRTTYQ4.js.map +0 -1
  212. package/chunk-O7F3CIDV.js.map +0 -1
  213. package/chunk-P4O6TGDR.js.map +0 -1
  214. package/chunk-PF3YBUKT.js.map +0 -1
  215. package/chunk-PVOLDO4G.js +0 -47
  216. package/chunk-PVOLDO4G.js.map +0 -1
  217. package/chunk-QS4N4MNP.js.map +0 -1
  218. package/chunk-QUF2IPOZ.js.map +0 -1
  219. package/chunk-RTJ76X5U.js.map +0 -1
  220. package/chunk-SH6NG6VN.js.map +0 -1
  221. package/chunk-SHDFUXYV.js.map +0 -1
  222. package/chunk-TKO44NDI.js +0 -84
  223. package/chunk-TKO44NDI.js.map +0 -1
  224. package/chunk-TVLGZGYN.js +0 -59
  225. package/chunk-TVLGZGYN.js.map +0 -1
  226. package/chunk-TX3H3QMA.js.map +0 -1
  227. package/chunk-UBNHSZSE.js.map +0 -1
  228. package/chunk-UC3ZJWOD.js +0 -73
  229. package/chunk-UC3ZJWOD.js.map +0 -1
  230. package/chunk-UGRSWP6U.js.map +0 -1
  231. package/chunk-VAGIAREV.js.map +0 -1
  232. package/chunk-WTMZT3IT.js +0 -105
  233. package/chunk-WTMZT3IT.js.map +0 -1
  234. package/chunk-WX6BP5ZP.js +0 -39
  235. package/chunk-WX6BP5ZP.js.map +0 -1
  236. package/chunk-X3PQANZO.js.map +0 -1
  237. package/chunk-XILQ7GXE.js.map +0 -1
  238. package/chunk-XL75JRUA.js.map +0 -1
  239. package/chunk-XZNHT6MO.js.map +0 -1
  240. package/chunk-Y5AYU7PK.js.map +0 -1
  241. package/chunk-YG7JOOLJ.js.map +0 -1
  242. package/chunk-YPJYW624.js +0 -195
  243. package/chunk-YPJYW624.js.map +0 -1
  244. package/chunk-YPNKBE5X.js.map +0 -1
  245. package/chunk-YX5VNRJX.js.map +0 -1
  246. package/components/accordion.js.map +0 -1
  247. package/components/agent-loading.js.map +0 -1
  248. package/components/agent-picker.js.map +0 -1
  249. package/components/agent-suggestion.js.map +0 -1
  250. package/components/announcement-bar.js.map +0 -1
  251. package/components/attachment.js.map +0 -1
  252. package/components/avatar.js.map +0 -1
  253. package/components/badge.js.map +0 -1
  254. package/components/banner-mesh.js.map +0 -1
  255. package/components/banner.js.map +0 -1
  256. package/components/bar-chart.js.map +0 -1
  257. package/components/breadcrumb.js.map +0 -1
  258. package/components/button.js.map +0 -1
  259. package/components/card.js.map +0 -1
  260. package/components/channel-chart.js.map +0 -1
  261. package/components/chart.js.map +0 -1
  262. package/components/checkbox.js.map +0 -1
  263. package/components/chip.js.map +0 -1
  264. package/components/citations.js.map +0 -1
  265. package/components/code-block.js.map +0 -1
  266. package/components/combobox.js.map +0 -1
  267. package/components/command-menu.js.map +0 -1
  268. package/components/context-menu.js.map +0 -1
  269. package/components/cookie-consent.js.map +0 -1
  270. package/components/date-picker.js.map +0 -1
  271. package/components/decision-card.js.map +0 -1
  272. package/components/dialog.js.map +0 -1
  273. package/components/donut-chart.js.map +0 -1
  274. package/components/dot.js.map +0 -1
  275. package/components/dropdown.js.map +0 -1
  276. package/components/empty-state.js.map +0 -1
  277. package/components/file-upload.js.map +0 -1
  278. package/components/floating.js.map +0 -1
  279. package/components/form-field.js.map +0 -1
  280. package/components/hover-card.js.map +0 -1
  281. package/components/input-otp.js.map +0 -1
  282. package/components/input.js.map +0 -1
  283. package/components/kbd.js.map +0 -1
  284. package/components/line-chart.js.map +0 -1
  285. package/components/message-actions.js.map +0 -1
  286. package/components/message.js.map +0 -1
  287. package/components/number-input.js.map +0 -1
  288. package/components/pagination.js.map +0 -1
  289. package/components/popover.js.map +0 -1
  290. package/components/progress.js.map +0 -1
  291. package/components/prompt-bar.js.map +0 -1
  292. package/components/radio.js.map +0 -1
  293. package/components/search-bar.js.map +0 -1
  294. package/components/segmented-control.js.map +0 -1
  295. package/components/select.js.map +0 -1
  296. package/components/sheet.js.map +0 -1
  297. package/components/sidebar.js.map +0 -1
  298. package/components/skeleton.js.map +0 -1
  299. package/components/slider.js.map +0 -1
  300. package/components/sliding-indicator.js.map +0 -1
  301. package/components/streaming-text.js.map +0 -1
  302. package/components/switch.js.map +0 -1
  303. package/components/table.js.map +0 -1
  304. package/components/tabs.js.map +0 -1
  305. package/components/textarea.js.map +0 -1
  306. package/components/thinking.js.map +0 -1
  307. package/components/toast.js.map +0 -1
  308. package/components/toggle.js.map +0 -1
  309. package/components/tooltip.js.map +0 -1
  310. package/index.js.map +0 -1
  311. package/lib/utils.js.map +0 -1
@@ -1,5 +1,5 @@
1
- import { KbdGroup } from './chunk-BKZBWPUH.js';
2
- import { cn } from './chunk-H63FYCMY.js';
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-3DINAQLL.js';
2
- import { cn } from './chunk-H63FYCMY.js';
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": "Hidden pages",
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-YPJYW624.js';
2
- import { cn } from './chunk-H63FYCMY.js';
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 -translate-x-full text-right text-xs leading-[18px] text-text-muted",
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-H63FYCMY.js';
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-DO3TBNSC.js';
2
- import { ChartCard, defaultFormat, ChartTooltip } from './chunk-YPJYW624.js';
3
- import { cn } from './chunk-H63FYCMY.js';
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 -translate-x-full text-right text-xs leading-[18px] text-text-muted", fade && "satin-bar-fade"),
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 -translate-1/2 rounded-full border-2 border-chart-3 bg-bg-card",
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 -translate-x-1/2 text-sm leading-(--text-sm--line-height) whitespace-nowrap",
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-YPJYW624.js';
2
- import { cn } from './chunk-H63FYCMY.js';
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 @min-[560px]:grid @min-[560px]:grid-flow-col @min-[560px]:auto-cols-fr @min-[560px]:gap-x-6",
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-HNQUX43Z.js';
2
- import { cn } from './chunk-H63FYCMY.js';
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-H63FYCMY.js';
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