@factorialco/f0-react 12.11.0 → 12.12.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 (62) hide show
  1. package/dist/{ArchiveThumbnail-cs8kx5Zf.js → ArchiveThumbnail-b34U-zTc.js} +7 -7
  2. package/dist/{ArchiveViewer-BXUH8Lm5.js → ArchiveViewer-BpmryW7A.js} +15 -15
  3. package/dist/{ChatPostComposerDialog-CGil1xkf.js → ChatPostComposerDialog-Cr207fXs.js} +3 -3
  4. package/dist/{CoachmarkProvider-cZnuTk79.js → CoachmarkProvider-CsytVD-X.js} +20090 -20267
  5. package/dist/{CodeThumbnail-Dcer4AyK.js → CodeThumbnail-8NiQ3uzU.js} +1 -1
  6. package/dist/{CodeViewer-DFBwdIFm.js → CodeViewer-BNZqt-5s.js} +6 -6
  7. package/dist/{DocumentToolbar-vZEyzJ89.js → DocumentToolbar-DUe9R1rU.js} +5 -5
  8. package/dist/{DocxViewer-DQV5Kv1n.js → DocxViewer-BUMy2iL7.js} +3 -3
  9. package/dist/{F0AiProcessingOverlay-DjGkQ2Nc.js → F0AiProcessingOverlay-CiUTeBwG.js} +328 -328
  10. package/dist/F0Alert-Ca8sBfXN.js +102 -0
  11. package/dist/F0AudioPlayer-BefDLQA2.js +1083 -0
  12. package/dist/F0AudioPlayer-CNb4kXOk.js +3 -0
  13. package/dist/{F0Button-FXkThQ9H.js → F0Button-d91IgOnc.js} +3 -3
  14. package/dist/{F0CanvasPanel-BgDo2LWP.js → F0CanvasPanel-BOo_mxBl.js} +8500 -8235
  15. package/dist/F0DocumentViewer-CaYAO9ok.js +3 -0
  16. package/dist/{F0DocumentViewer-BXifXzUW.js → F0DocumentViewer-h0XY5tgT.js} +30 -19
  17. package/dist/{F0Icon-Cj0USbCF.js → F0Icon-DmCBV0gK.js} +1 -1
  18. package/dist/{F0Map-Dwev4u-_.js → F0Map-b1uYlF_H.js} +504 -504
  19. package/dist/F0SegmentedControl-DXoAzTmH.js +103 -0
  20. package/dist/{F0Select-BWWdEd7l.js → F0Select-BZ20yXKy.js} +8284 -8333
  21. package/dist/{F0VideoPlayer-BmCmHG87.js → F0VideoPlayer-D85XCpqh.js} +306 -350
  22. package/dist/F0VideoPlayer-_zLFiEIp.js +1 -0
  23. package/dist/{HtmlThumbnail-BAgkBH2r.js → HtmlThumbnail-BJuJkuvu.js} +1 -1
  24. package/dist/{HtmlViewer-FRfNoxhP.js → HtmlViewer-DxOnMV30.js} +27 -27
  25. package/dist/{F0Text-DMZW7dhN.js → LayoutGroup-BGb5jMxE.js} +29 -37
  26. package/dist/{Map-BxGPElF2.js → Map-BOMgctnS.js} +17 -17
  27. package/dist/{PdfThumbnail-CpGZz5Kq.js → PdfThumbnail-98PDy4ud.js} +1 -1
  28. package/dist/{PdfViewer-C81MK43i.js → PdfViewer-nBnKrTYD.js} +13 -13
  29. package/dist/{SandboxedHtmlFrame-B6YWhgyg.js → SandboxedHtmlFrame-B95lWsIP.js} +2 -2
  30. package/dist/{SheetViewer-DPGpMNqq.js → SheetViewer-CD9SHbXJ.js} +5 -5
  31. package/dist/{TextViewer-BH42AeG8.js → TextViewer-DxRBCXzV.js} +4 -4
  32. package/dist/ai.d.ts +3 -3
  33. package/dist/ai.js +4 -4
  34. package/dist/component-status.js +1 -1
  35. package/dist/dist-CFY0KELA.js +55 -0
  36. package/dist/dist-DtILhk4w.js +253 -0
  37. package/dist/{dist-D-MJbPvE.js → dist-zvwuNflP.js} +1 -1
  38. package/dist/experimental.d.ts +2 -2
  39. package/dist/experimental.js +5941 -5745
  40. package/dist/{exports-C0yM5usu.d.ts → exports-cxvNeHfV.d.ts} +1 -1
  41. package/dist/f0.d.ts +4 -4
  42. package/dist/f0.js +1835 -2906
  43. package/dist/{highlight-CyebkDAD.js → highlight-CqFL-_MG.js} +1 -1
  44. package/dist/{i18n-provider-BBhzYHef.js → i18n-provider-Bdgo-LeP.js} +1 -1
  45. package/dist/{i18n-provider-defaults-BUagKwGN.js → i18n-provider-defaults-B9vdZZeS.js} +3 -0
  46. package/dist/{i18n-provider-defaults-CTDMMs-y.d.ts → i18n-provider-defaults-DyPn8R7T.d.ts} +3 -0
  47. package/dist/i18n-provider-defaults.d.ts +1 -1
  48. package/dist/i18n-provider-defaults.js +1 -1
  49. package/dist/{index-CduxMW5L.d.ts → index-DF8ubeg6.d.ts} +1 -1
  50. package/dist/localized-BrUgGMzm.js +46 -0
  51. package/dist/{maplibre-g-8NG-3q.js → maplibre-Ip4Qe9dM.js} +1 -1
  52. package/dist/{pdfWorker-D5NB2V5s.js → pdfWorker-DMjHHAyP.js} +1 -1
  53. package/dist/{popover-CQztsDta.js → popover-ics24JxK.js} +1 -1
  54. package/dist/scrollarea-cxaFAWG5.js +691 -0
  55. package/dist/{skeleton-DqejhQgn.js → skeleton-AC0Fb8zj.js} +1 -1
  56. package/dist/styles.css +1 -1
  57. package/dist/{toolbarStyles-0IygMI4H.js → toolbarStyles-lTj_42zD.js} +1 -1
  58. package/dist/{types-DlwD3i9z.d.ts → types-geibVrTM.d.ts} +2 -2
  59. package/dist/{useData-Dkq5W4r6.js → useData-BYkiGUHX.js} +4606 -5288
  60. package/package.json +1 -1
  61. package/dist/F0DocumentViewer-DWuIFBHu.js +0 -3
  62. package/dist/F0VideoPlayer-C8oYUUZM.js +0 -1
@@ -0,0 +1,691 @@
1
+ import { L as e } from "./tooltip-BX4dSfeL.js";
2
+ import { i as t, r as n } from "./F0Button-d91IgOnc.js";
3
+ import { o as r } from "./F0Icon-DmCBV0gK.js";
4
+ import { E as i, O as a, T as o, b as s, p as c, w as l, y as u } from "./popover-ics24JxK.js";
5
+ import * as d from "react";
6
+ import { createElement as f, forwardRef as p, useEffect as m, useRef as h } from "react";
7
+ import { Fragment as g, jsx as _, jsxs as v } from "react/jsx-runtime";
8
+ //#region src/elements/Text/variants.ts
9
+ var y = r({
10
+ base: "text-base text-f1-foreground",
11
+ variants: {
12
+ variant: {
13
+ heading: "text-lg font-semibold",
14
+ body: "",
15
+ description: "text-f1-foreground-secondary",
16
+ small: "text-sm font-medium text-f1-foreground-secondary",
17
+ inverse: "text-f1-foreground-inverse",
18
+ code: "text-f1-foreground-secondary",
19
+ label: "font-medium",
20
+ "heading-large": "text-2xl font-semibold",
21
+ "label-input": "font-medium text-f1-foreground-secondary",
22
+ selected: "font-medium text-f1-foreground-selected",
23
+ warning: "text-f1-foreground-warning",
24
+ critical: "text-f1-foreground-critical",
25
+ positive: "text-f1-foreground-positive",
26
+ info: "text-f1-foreground-info",
27
+ "warning-strong": "font-semibold text-f1-foreground-warning",
28
+ "critical-strong": "font-semibold text-f1-foreground-critical",
29
+ "positive-strong": "font-semibold text-f1-foreground-positive",
30
+ "info-strong": "font-semibold text-f1-foreground-info"
31
+ },
32
+ align: {
33
+ left: "text-left",
34
+ center: "text-center",
35
+ right: "text-right"
36
+ }
37
+ },
38
+ defaultVariants: {
39
+ variant: "body",
40
+ align: "left"
41
+ }
42
+ }), b = {
43
+ "heading-large": "h1",
44
+ heading: "h2",
45
+ body: "p",
46
+ description: "p",
47
+ label: "p",
48
+ "label-input": "label",
49
+ small: "p",
50
+ selected: "p",
51
+ inverse: "p",
52
+ warning: "p",
53
+ critical: "p",
54
+ positive: "p",
55
+ info: "p",
56
+ "warning-strong": "p",
57
+ "critical-strong": "p",
58
+ "positive-strong": "p",
59
+ "info-strong": "p",
60
+ code: "code"
61
+ }, x = p(({ content: r, variant: i, align: a, className: o, as: s, ellipsis: c, noEllipsisTooltip: l, markdown: u, required: d, ...p }, m) => {
62
+ let h = s ?? b[i ?? "body"], g = d ? /* @__PURE__ */ _("span", {
63
+ className: "text-f1-foreground-critical",
64
+ "aria-hidden": "true",
65
+ children: " *"
66
+ }) : null;
67
+ if (c !== void 0) {
68
+ let t = typeof c == "number" ? c : 1;
69
+ return g ? f(h, {
70
+ ...p,
71
+ className: e(y({
72
+ variant: i,
73
+ align: a
74
+ }), o, "inline-flex gap-0.5"),
75
+ ref: m
76
+ }, /* @__PURE__ */ _(n, {
77
+ lines: t,
78
+ noTooltip: l,
79
+ tag: "span",
80
+ className: "min-w-0",
81
+ markdown: u,
82
+ children: r
83
+ }), g) : /* @__PURE__ */ _(n, {
84
+ ref: m,
85
+ lines: t,
86
+ noTooltip: l,
87
+ tag: h,
88
+ className: e(y({
89
+ variant: i,
90
+ align: a
91
+ }), o),
92
+ markdown: u,
93
+ ...p,
94
+ children: r
95
+ });
96
+ }
97
+ if (u) {
98
+ let n = t(r);
99
+ return g ? f(h, {
100
+ ...p,
101
+ className: e(y({
102
+ variant: i,
103
+ align: a
104
+ }), o),
105
+ ref: m
106
+ }, /* @__PURE__ */ _("span", { dangerouslySetInnerHTML: { __html: n } }), g) : f(h, {
107
+ ...p,
108
+ className: e(y({
109
+ variant: i,
110
+ align: a
111
+ }), o),
112
+ ref: m,
113
+ dangerouslySetInnerHTML: { __html: n }
114
+ });
115
+ }
116
+ return f(h, {
117
+ ...p,
118
+ className: e(y({
119
+ variant: i,
120
+ align: a
121
+ }), o),
122
+ ref: m
123
+ }, r, g);
124
+ });
125
+ x.displayName = "Text";
126
+ //#endregion
127
+ //#region ../../node_modules/.pnpm/@radix-ui+react-direction@1.1.0_@types+react@18.3.18_react@18.3.1/node_modules/@radix-ui/react-direction/dist/index.mjs
128
+ var S = d.createContext(void 0);
129
+ function C(e) {
130
+ let t = d.useContext(S);
131
+ return e || t || "ltr";
132
+ }
133
+ //#endregion
134
+ //#region ../../node_modules/.pnpm/@radix-ui+number@1.1.0/node_modules/@radix-ui/number/dist/index.mjs
135
+ function w(e, [t, n]) {
136
+ return Math.min(n, Math.max(t, e));
137
+ }
138
+ //#endregion
139
+ //#region ../../node_modules/.pnpm/@radix-ui+react-scroll-area@1.2.2_@types+react-dom@18.3.1_@types+react@18.3.18_react-do_d1c2e430632c5110d1500ba7deeafccd/node_modules/@radix-ui/react-scroll-area/dist/index.mjs
140
+ function T(e, t) {
141
+ return d.useReducer((e, n) => t[e][n] ?? e, e);
142
+ }
143
+ var E = "ScrollArea", [D, O] = a(E), [k, A] = D(E), j = d.forwardRef((e, t) => {
144
+ let { __scopeScrollArea: n, type: r = "hover", dir: i, scrollHideDelay: a = 600, ...o } = e, [c, u] = d.useState(null), [f, p] = d.useState(null), [m, h] = d.useState(null), [g, v] = d.useState(null), [y, b] = d.useState(null), [x, S] = d.useState(0), [w, T] = d.useState(0), [E, D] = d.useState(!1), [O, A] = d.useState(!1), j = l(t, (e) => u(e)), M = C(i);
145
+ return /* @__PURE__ */ _(k, {
146
+ scope: n,
147
+ type: r,
148
+ dir: M,
149
+ scrollHideDelay: a,
150
+ scrollArea: c,
151
+ viewport: f,
152
+ onViewportChange: p,
153
+ content: m,
154
+ onContentChange: h,
155
+ scrollbarX: g,
156
+ onScrollbarXChange: v,
157
+ scrollbarXEnabled: E,
158
+ onScrollbarXEnabledChange: D,
159
+ scrollbarY: y,
160
+ onScrollbarYChange: b,
161
+ scrollbarYEnabled: O,
162
+ onScrollbarYEnabledChange: A,
163
+ onCornerWidthChange: S,
164
+ onCornerHeightChange: T,
165
+ children: /* @__PURE__ */ _(s.div, {
166
+ dir: M,
167
+ ...o,
168
+ ref: j,
169
+ style: {
170
+ position: "relative",
171
+ "--radix-scroll-area-corner-width": x + "px",
172
+ "--radix-scroll-area-corner-height": w + "px",
173
+ ...e.style
174
+ }
175
+ })
176
+ });
177
+ });
178
+ j.displayName = E;
179
+ var M = "ScrollAreaViewport", N = d.forwardRef((e, t) => {
180
+ let { __scopeScrollArea: n, children: r, nonce: i, ...a } = e, o = A(M, n), c = d.useRef(null), u = l(t, c, o.onViewportChange);
181
+ return /* @__PURE__ */ v(g, { children: [/* @__PURE__ */ _("style", {
182
+ dangerouslySetInnerHTML: { __html: "[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}" },
183
+ nonce: i
184
+ }), /* @__PURE__ */ _(s.div, {
185
+ "data-radix-scroll-area-viewport": "",
186
+ ...a,
187
+ ref: u,
188
+ style: {
189
+ overflowX: o.scrollbarXEnabled ? "scroll" : "hidden",
190
+ overflowY: o.scrollbarYEnabled ? "scroll" : "hidden",
191
+ ...e.style
192
+ },
193
+ children: /* @__PURE__ */ _("div", {
194
+ ref: o.onContentChange,
195
+ style: {
196
+ minWidth: "100%",
197
+ display: "table"
198
+ },
199
+ children: r
200
+ })
201
+ })] });
202
+ });
203
+ N.displayName = M;
204
+ var P = "ScrollAreaScrollbar", F = d.forwardRef((e, t) => {
205
+ let { forceMount: n, ...r } = e, i = A(P, e.__scopeScrollArea), { onScrollbarXEnabledChange: a, onScrollbarYEnabledChange: o } = i, s = e.orientation === "horizontal";
206
+ return d.useEffect(() => (s ? a(!0) : o(!0), () => {
207
+ s ? a(!1) : o(!1);
208
+ }), [
209
+ s,
210
+ a,
211
+ o
212
+ ]), i.type === "hover" ? /* @__PURE__ */ _(ee, {
213
+ ...r,
214
+ ref: t,
215
+ forceMount: n
216
+ }) : i.type === "scroll" ? /* @__PURE__ */ _(te, {
217
+ ...r,
218
+ ref: t,
219
+ forceMount: n
220
+ }) : i.type === "auto" ? /* @__PURE__ */ _(ne, {
221
+ ...r,
222
+ ref: t,
223
+ forceMount: n
224
+ }) : i.type === "always" ? /* @__PURE__ */ _(I, {
225
+ ...r,
226
+ ref: t
227
+ }) : null;
228
+ });
229
+ F.displayName = P;
230
+ var ee = d.forwardRef((e, t) => {
231
+ let { forceMount: n, ...r } = e, i = A(P, e.__scopeScrollArea), [a, o] = d.useState(!1);
232
+ return d.useEffect(() => {
233
+ let e = i.scrollArea, t = 0;
234
+ if (e) {
235
+ let n = () => {
236
+ window.clearTimeout(t), o(!0);
237
+ }, r = () => {
238
+ t = window.setTimeout(() => o(!1), i.scrollHideDelay);
239
+ };
240
+ return e.addEventListener("pointerenter", n), e.addEventListener("pointerleave", r), () => {
241
+ window.clearTimeout(t), e.removeEventListener("pointerenter", n), e.removeEventListener("pointerleave", r);
242
+ };
243
+ }
244
+ }, [i.scrollArea, i.scrollHideDelay]), /* @__PURE__ */ _(c, {
245
+ present: n || a,
246
+ children: /* @__PURE__ */ _(ne, {
247
+ "data-state": a ? "visible" : "hidden",
248
+ ...r,
249
+ ref: t
250
+ })
251
+ });
252
+ }), te = d.forwardRef((e, t) => {
253
+ let { forceMount: n, ...r } = e, i = A(P, e.__scopeScrollArea), a = e.orientation === "horizontal", o = Y(() => l("SCROLL_END"), 100), [s, l] = T("hidden", {
254
+ hidden: { SCROLL: "scrolling" },
255
+ scrolling: {
256
+ SCROLL_END: "idle",
257
+ POINTER_ENTER: "interacting"
258
+ },
259
+ interacting: {
260
+ SCROLL: "interacting",
261
+ POINTER_LEAVE: "idle"
262
+ },
263
+ idle: {
264
+ HIDE: "hidden",
265
+ SCROLL: "scrolling",
266
+ POINTER_ENTER: "interacting"
267
+ }
268
+ });
269
+ return d.useEffect(() => {
270
+ if (s === "idle") {
271
+ let e = window.setTimeout(() => l("HIDE"), i.scrollHideDelay);
272
+ return () => window.clearTimeout(e);
273
+ }
274
+ }, [
275
+ s,
276
+ i.scrollHideDelay,
277
+ l
278
+ ]), d.useEffect(() => {
279
+ let e = i.viewport, t = a ? "scrollLeft" : "scrollTop";
280
+ if (e) {
281
+ let n = e[t], r = () => {
282
+ let r = e[t];
283
+ n !== r && (l("SCROLL"), o()), n = r;
284
+ };
285
+ return e.addEventListener("scroll", r), () => e.removeEventListener("scroll", r);
286
+ }
287
+ }, [
288
+ i.viewport,
289
+ a,
290
+ l,
291
+ o
292
+ ]), /* @__PURE__ */ _(c, {
293
+ present: n || s !== "hidden",
294
+ children: /* @__PURE__ */ _(I, {
295
+ "data-state": s === "hidden" ? "hidden" : "visible",
296
+ ...r,
297
+ ref: t,
298
+ onPointerEnter: u(e.onPointerEnter, () => l("POINTER_ENTER")),
299
+ onPointerLeave: u(e.onPointerLeave, () => l("POINTER_LEAVE"))
300
+ })
301
+ });
302
+ }), ne = d.forwardRef((e, t) => {
303
+ let n = A(P, e.__scopeScrollArea), { forceMount: r, ...i } = e, [a, o] = d.useState(!1), s = e.orientation === "horizontal", l = Y(() => {
304
+ if (n.viewport) {
305
+ let e = n.viewport.offsetWidth < n.viewport.scrollWidth, t = n.viewport.offsetHeight < n.viewport.scrollHeight;
306
+ o(s ? e : t);
307
+ }
308
+ }, 10);
309
+ return X(n.viewport, l), X(n.content, l), /* @__PURE__ */ _(c, {
310
+ present: r || a,
311
+ children: /* @__PURE__ */ _(I, {
312
+ "data-state": a ? "visible" : "hidden",
313
+ ...i,
314
+ ref: t
315
+ })
316
+ });
317
+ }), I = d.forwardRef((e, t) => {
318
+ let { orientation: n = "vertical", ...r } = e, i = A(P, e.__scopeScrollArea), a = d.useRef(null), o = d.useRef(0), [s, c] = d.useState({
319
+ content: 0,
320
+ viewport: 0,
321
+ scrollbar: {
322
+ size: 0,
323
+ paddingStart: 0,
324
+ paddingEnd: 0
325
+ }
326
+ }), l = W(s.viewport, s.content), u = {
327
+ ...r,
328
+ sizes: s,
329
+ onSizesChange: c,
330
+ hasThumb: l > 0 && l < 1,
331
+ onThumbChange: (e) => a.current = e,
332
+ onThumbPointerUp: () => o.current = 0,
333
+ onThumbPointerDown: (e) => o.current = e
334
+ };
335
+ function f(e, t) {
336
+ return ce(e, o.current, s, t);
337
+ }
338
+ return n === "horizontal" ? /* @__PURE__ */ _(re, {
339
+ ...u,
340
+ ref: t,
341
+ onThumbPositionChange: () => {
342
+ if (i.viewport && a.current) {
343
+ let e = i.viewport.scrollLeft, t = K(e, s, i.dir);
344
+ a.current.style.transform = `translate3d(${t}px, 0, 0)`;
345
+ }
346
+ },
347
+ onWheelScroll: (e) => {
348
+ i.viewport && (i.viewport.scrollLeft = e);
349
+ },
350
+ onDragScroll: (e) => {
351
+ i.viewport && (i.viewport.scrollLeft = f(e, i.dir));
352
+ }
353
+ }) : n === "vertical" ? /* @__PURE__ */ _(ie, {
354
+ ...u,
355
+ ref: t,
356
+ onThumbPositionChange: () => {
357
+ if (i.viewport && a.current) {
358
+ let e = i.viewport.scrollTop, t = K(e, s);
359
+ a.current.style.transform = `translate3d(0, ${t}px, 0)`;
360
+ }
361
+ },
362
+ onWheelScroll: (e) => {
363
+ i.viewport && (i.viewport.scrollTop = e);
364
+ },
365
+ onDragScroll: (e) => {
366
+ i.viewport && (i.viewport.scrollTop = f(e));
367
+ }
368
+ }) : null;
369
+ }), re = d.forwardRef((e, t) => {
370
+ let { sizes: n, onSizesChange: r, ...i } = e, a = A(P, e.__scopeScrollArea), [o, s] = d.useState(), c = d.useRef(null), u = l(t, c, a.onScrollbarXChange);
371
+ return d.useEffect(() => {
372
+ c.current && s(getComputedStyle(c.current));
373
+ }, [c]), /* @__PURE__ */ _(R, {
374
+ "data-orientation": "horizontal",
375
+ ...i,
376
+ ref: u,
377
+ sizes: n,
378
+ style: {
379
+ bottom: 0,
380
+ left: a.dir === "rtl" ? "var(--radix-scroll-area-corner-width)" : 0,
381
+ right: a.dir === "ltr" ? "var(--radix-scroll-area-corner-width)" : 0,
382
+ "--radix-scroll-area-thumb-width": G(n) + "px",
383
+ ...e.style
384
+ },
385
+ onThumbPointerDown: (t) => e.onThumbPointerDown(t.x),
386
+ onDragScroll: (t) => e.onDragScroll(t.x),
387
+ onWheelScroll: (t, n) => {
388
+ if (a.viewport) {
389
+ let r = a.viewport.scrollLeft + t.deltaX;
390
+ e.onWheelScroll(r), J(r, n) && t.preventDefault();
391
+ }
392
+ },
393
+ onResize: () => {
394
+ c.current && a.viewport && o && r({
395
+ content: a.viewport.scrollWidth,
396
+ viewport: a.viewport.offsetWidth,
397
+ scrollbar: {
398
+ size: c.current.clientWidth,
399
+ paddingStart: U(o.paddingLeft),
400
+ paddingEnd: U(o.paddingRight)
401
+ }
402
+ });
403
+ }
404
+ });
405
+ }), ie = d.forwardRef((e, t) => {
406
+ let { sizes: n, onSizesChange: r, ...i } = e, a = A(P, e.__scopeScrollArea), [o, s] = d.useState(), c = d.useRef(null), u = l(t, c, a.onScrollbarYChange);
407
+ return d.useEffect(() => {
408
+ c.current && s(getComputedStyle(c.current));
409
+ }, [c]), /* @__PURE__ */ _(R, {
410
+ "data-orientation": "vertical",
411
+ ...i,
412
+ ref: u,
413
+ sizes: n,
414
+ style: {
415
+ top: 0,
416
+ right: a.dir === "ltr" ? 0 : void 0,
417
+ left: a.dir === "rtl" ? 0 : void 0,
418
+ bottom: "var(--radix-scroll-area-corner-height)",
419
+ "--radix-scroll-area-thumb-height": G(n) + "px",
420
+ ...e.style
421
+ },
422
+ onThumbPointerDown: (t) => e.onThumbPointerDown(t.y),
423
+ onDragScroll: (t) => e.onDragScroll(t.y),
424
+ onWheelScroll: (t, n) => {
425
+ if (a.viewport) {
426
+ let r = a.viewport.scrollTop + t.deltaY;
427
+ e.onWheelScroll(r), J(r, n) && t.preventDefault();
428
+ }
429
+ },
430
+ onResize: () => {
431
+ c.current && a.viewport && o && r({
432
+ content: a.viewport.scrollHeight,
433
+ viewport: a.viewport.offsetHeight,
434
+ scrollbar: {
435
+ size: c.current.clientHeight,
436
+ paddingStart: U(o.paddingTop),
437
+ paddingEnd: U(o.paddingBottom)
438
+ }
439
+ });
440
+ }
441
+ });
442
+ }), [ae, L] = D(P), R = d.forwardRef((e, t) => {
443
+ let { __scopeScrollArea: n, sizes: r, hasThumb: a, onThumbChange: o, onThumbPointerUp: c, onThumbPointerDown: f, onThumbPositionChange: p, onDragScroll: m, onWheelScroll: h, onResize: g, ...v } = e, y = A(P, n), [b, x] = d.useState(null), S = l(t, (e) => x(e)), C = d.useRef(null), w = d.useRef(""), T = y.viewport, E = r.content - r.viewport, D = i(h), O = i(p), k = Y(g, 10);
444
+ function j(e) {
445
+ if (C.current) {
446
+ let t = e.clientX - C.current.left, n = e.clientY - C.current.top;
447
+ m({
448
+ x: t,
449
+ y: n
450
+ });
451
+ }
452
+ }
453
+ return d.useEffect(() => {
454
+ let e = (e) => {
455
+ let t = e.target;
456
+ b?.contains(t) && D(e, E);
457
+ };
458
+ return document.addEventListener("wheel", e, { passive: !1 }), () => document.removeEventListener("wheel", e, { passive: !1 });
459
+ }, [
460
+ T,
461
+ b,
462
+ E,
463
+ D
464
+ ]), d.useEffect(O, [r, O]), X(b, k), X(y.content, k), /* @__PURE__ */ _(ae, {
465
+ scope: n,
466
+ scrollbar: b,
467
+ hasThumb: a,
468
+ onThumbChange: i(o),
469
+ onThumbPointerUp: i(c),
470
+ onThumbPositionChange: O,
471
+ onThumbPointerDown: i(f),
472
+ children: /* @__PURE__ */ _(s.div, {
473
+ ...v,
474
+ ref: S,
475
+ style: {
476
+ position: "absolute",
477
+ ...v.style
478
+ },
479
+ onPointerDown: u(e.onPointerDown, (e) => {
480
+ e.button === 0 && (e.target.setPointerCapture(e.pointerId), C.current = b.getBoundingClientRect(), w.current = document.body.style.webkitUserSelect, document.body.style.webkitUserSelect = "none", y.viewport && (y.viewport.style.scrollBehavior = "auto"), j(e));
481
+ }),
482
+ onPointerMove: u(e.onPointerMove, j),
483
+ onPointerUp: u(e.onPointerUp, (e) => {
484
+ let t = e.target;
485
+ t.hasPointerCapture(e.pointerId) && t.releasePointerCapture(e.pointerId), document.body.style.webkitUserSelect = w.current, y.viewport && (y.viewport.style.scrollBehavior = ""), C.current = null;
486
+ })
487
+ })
488
+ });
489
+ }), z = "ScrollAreaThumb", B = d.forwardRef((e, t) => {
490
+ let { forceMount: n, ...r } = e, i = L(z, e.__scopeScrollArea);
491
+ return /* @__PURE__ */ _(c, {
492
+ present: n || i.hasThumb,
493
+ children: /* @__PURE__ */ _(oe, {
494
+ ref: t,
495
+ ...r
496
+ })
497
+ });
498
+ }), oe = d.forwardRef((e, t) => {
499
+ let { __scopeScrollArea: n, style: r, ...i } = e, a = A(z, n), o = L(z, n), { onThumbPositionChange: c } = o, f = l(t, (e) => o.onThumbChange(e)), p = d.useRef(void 0), m = Y(() => {
500
+ p.current &&= (p.current(), void 0);
501
+ }, 100);
502
+ return d.useEffect(() => {
503
+ let e = a.viewport;
504
+ if (e) {
505
+ let t = () => {
506
+ if (m(), !p.current) {
507
+ let t = le(e, c);
508
+ p.current = t, c();
509
+ }
510
+ };
511
+ return c(), e.addEventListener("scroll", t), () => e.removeEventListener("scroll", t);
512
+ }
513
+ }, [
514
+ a.viewport,
515
+ m,
516
+ c
517
+ ]), /* @__PURE__ */ _(s.div, {
518
+ "data-state": o.hasThumb ? "visible" : "hidden",
519
+ ...i,
520
+ ref: f,
521
+ style: {
522
+ width: "var(--radix-scroll-area-thumb-width)",
523
+ height: "var(--radix-scroll-area-thumb-height)",
524
+ ...r
525
+ },
526
+ onPointerDownCapture: u(e.onPointerDownCapture, (e) => {
527
+ let t = e.target.getBoundingClientRect(), n = e.clientX - t.left, r = e.clientY - t.top;
528
+ o.onThumbPointerDown({
529
+ x: n,
530
+ y: r
531
+ });
532
+ }),
533
+ onPointerUp: u(e.onPointerUp, o.onThumbPointerUp)
534
+ });
535
+ });
536
+ B.displayName = z;
537
+ var V = "ScrollAreaCorner", H = d.forwardRef((e, t) => {
538
+ let n = A(V, e.__scopeScrollArea), r = !!(n.scrollbarX && n.scrollbarY);
539
+ return n.type !== "scroll" && r ? /* @__PURE__ */ _(se, {
540
+ ...e,
541
+ ref: t
542
+ }) : null;
543
+ });
544
+ H.displayName = V;
545
+ var se = d.forwardRef((e, t) => {
546
+ let { __scopeScrollArea: n, ...r } = e, i = A(V, n), [a, o] = d.useState(0), [c, l] = d.useState(0), u = !!(a && c);
547
+ return X(i.scrollbarX, () => {
548
+ let e = i.scrollbarX?.offsetHeight || 0;
549
+ i.onCornerHeightChange(e), l(e);
550
+ }), X(i.scrollbarY, () => {
551
+ let e = i.scrollbarY?.offsetWidth || 0;
552
+ i.onCornerWidthChange(e), o(e);
553
+ }), u ? /* @__PURE__ */ _(s.div, {
554
+ ...r,
555
+ ref: t,
556
+ style: {
557
+ width: a,
558
+ height: c,
559
+ position: "absolute",
560
+ right: i.dir === "ltr" ? 0 : void 0,
561
+ left: i.dir === "rtl" ? 0 : void 0,
562
+ bottom: 0,
563
+ ...e.style
564
+ }
565
+ }) : null;
566
+ });
567
+ function U(e) {
568
+ return e ? parseInt(e, 10) : 0;
569
+ }
570
+ function W(e, t) {
571
+ let n = e / t;
572
+ return isNaN(n) ? 0 : n;
573
+ }
574
+ function G(e) {
575
+ let t = W(e.viewport, e.content), n = e.scrollbar.paddingStart + e.scrollbar.paddingEnd, r = (e.scrollbar.size - n) * t;
576
+ return Math.max(r, 18);
577
+ }
578
+ function ce(e, t, n, r = "ltr") {
579
+ let i = G(n), a = i / 2, o = t || a, s = i - o, c = n.scrollbar.paddingStart + o, l = n.scrollbar.size - n.scrollbar.paddingEnd - s, u = n.content - n.viewport, d = r === "ltr" ? [0, u] : [u * -1, 0];
580
+ return q([c, l], d)(e);
581
+ }
582
+ function K(e, t, n = "ltr") {
583
+ let r = G(t), i = t.scrollbar.paddingStart + t.scrollbar.paddingEnd, a = t.scrollbar.size - i, o = t.content - t.viewport, s = a - r, c = w(e, n === "ltr" ? [0, o] : [o * -1, 0]);
584
+ return q([0, o], [0, s])(c);
585
+ }
586
+ function q(e, t) {
587
+ return (n) => {
588
+ if (e[0] === e[1] || t[0] === t[1]) return t[0];
589
+ let r = (t[1] - t[0]) / (e[1] - e[0]);
590
+ return t[0] + r * (n - e[0]);
591
+ };
592
+ }
593
+ function J(e, t) {
594
+ return e > 0 && e < t;
595
+ }
596
+ var le = (e, t = () => {}) => {
597
+ let n = {
598
+ left: e.scrollLeft,
599
+ top: e.scrollTop
600
+ }, r = 0;
601
+ return (function i() {
602
+ let a = {
603
+ left: e.scrollLeft,
604
+ top: e.scrollTop
605
+ }, o = n.left !== a.left, s = n.top !== a.top;
606
+ (o || s) && t(), n = a, r = window.requestAnimationFrame(i);
607
+ })(), () => window.cancelAnimationFrame(r);
608
+ };
609
+ function Y(e, t) {
610
+ let n = i(e), r = d.useRef(0);
611
+ return d.useEffect(() => () => window.clearTimeout(r.current), []), d.useCallback(() => {
612
+ window.clearTimeout(r.current), r.current = window.setTimeout(n, t);
613
+ }, [n, t]);
614
+ }
615
+ function X(e, t) {
616
+ let n = i(t);
617
+ o(() => {
618
+ let t = 0;
619
+ if (e) {
620
+ let r = new ResizeObserver(() => {
621
+ cancelAnimationFrame(t), t = window.requestAnimationFrame(n);
622
+ });
623
+ return r.observe(e), () => {
624
+ window.cancelAnimationFrame(t), r.unobserve(e);
625
+ };
626
+ }
627
+ }, [e, n]);
628
+ }
629
+ var Z = j, ue = N, de = H, Q = p(({ className: t, children: n, showBar: r = !0, viewportRef: i, onScrollTop: a, onScrollBottom: o, focusableViewport: s = !0, scrollMargin: c = 0, ...l }, u) => {
630
+ let d = h(null), f = i ?? d;
631
+ return m(() => {
632
+ let e = (e) => {
633
+ let { scrollTop: t, scrollHeight: n, clientHeight: r } = e.target;
634
+ t - c <= 0 && a && a(), t + r + c >= n && o && o();
635
+ }, t = f.current;
636
+ return t?.addEventListener("scroll", e), () => {
637
+ t?.removeEventListener("scroll", e);
638
+ };
639
+ }, [
640
+ f.current,
641
+ o,
642
+ a,
643
+ c
644
+ ]), /* @__PURE__ */ v(Z, {
645
+ ref: u,
646
+ className: e("relative overflow-hidden", t),
647
+ scrollHideDelay: 200,
648
+ ...l,
649
+ children: [
650
+ /* @__PURE__ */ _(ue, {
651
+ ref: f,
652
+ className: "size-full snap-none rounded-[inherit] [&>div]:!block",
653
+ tabIndex: s ? 0 : void 0,
654
+ "data-scroll-container": !0,
655
+ children: n
656
+ }),
657
+ /* @__PURE__ */ _($, {
658
+ orientation: "vertical",
659
+ showBar: r
660
+ }),
661
+ /* @__PURE__ */ _($, {
662
+ orientation: "horizontal",
663
+ showBar: r
664
+ }),
665
+ /* @__PURE__ */ _(de, {})
666
+ ]
667
+ });
668
+ });
669
+ Q.displayName = "ScrollAreaImpl";
670
+ var fe = p((e, t) => /* @__PURE__ */ _(Q, {
671
+ ref: t,
672
+ ...e,
673
+ focusableViewport: !0
674
+ }));
675
+ fe.displayName = Z.displayName;
676
+ var pe = p((e, t) => /* @__PURE__ */ _(Q, {
677
+ ref: t,
678
+ ...e,
679
+ focusableViewport: !1
680
+ }));
681
+ pe.displayName = Z.displayName;
682
+ var $ = p(({ className: t, orientation: n = "vertical", showBar: r = !0, ...i }, a) => /* @__PURE__ */ _(F, {
683
+ ref: a,
684
+ orientation: n,
685
+ className: e("group/scrollbar z-50 flex touch-none select-none p-[1px]", "transition-opacity data-[state=hidden]:pointer-events-none data-[state=visible]:pointer-events-auto data-[state=hidden]:opacity-0 data-[state=visible]:opacity-100", n === "vertical" && "h-full w-2", n === "horizontal" && "h-2 flex-col", t),
686
+ ...i,
687
+ children: r ? /* @__PURE__ */ _(B, { className: "relative flex-1 rounded-full bg-f1-background-inverse opacity-30 transition-opacity group-hover/scrollbar:opacity-50" }) : null
688
+ }));
689
+ $.displayName = F.displayName;
690
+ //#endregion
691
+ export { Z as a, x as c, de as i, y as l, fe as n, ue as o, $ as r, C as s, pe as t };
@@ -1,4 +1,4 @@
1
- import { l as e } from "./i18n-provider-BBhzYHef.js";
1
+ import { l as e } from "./i18n-provider-Bdgo-LeP.js";
2
2
  import { L as t } from "./tooltip-BX4dSfeL.js";
3
3
  import { forwardRef as n, memo as r } from "react";
4
4
  import { jsx as i } from "react/jsx-runtime";