@drjoshcsimmons/scl 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (195) hide show
  1. package/dist/components/ui/alert/alert.d.ts +1 -1
  2. package/dist/components/ui/alert/alert.d.ts.map +1 -1
  3. package/dist/components/ui/badge/badge.d.ts +1 -1
  4. package/dist/components/ui/badge/badge.d.ts.map +1 -1
  5. package/dist/components/ui/button/button.d.ts +1 -1
  6. package/dist/components/ui/button/button.d.ts.map +1 -1
  7. package/dist/components/ui/combobox/combobox.d.ts +31 -0
  8. package/dist/components/ui/combobox/combobox.d.ts.map +1 -0
  9. package/dist/components/ui/combobox/index.d.ts +3 -0
  10. package/dist/components/ui/combobox/index.d.ts.map +1 -0
  11. package/dist/components/ui/command/command.d.ts +85 -0
  12. package/dist/components/ui/command/command.d.ts.map +1 -0
  13. package/dist/components/ui/command/index.d.ts +2 -0
  14. package/dist/components/ui/command/index.d.ts.map +1 -0
  15. package/dist/components/ui/dithered-image/dithered-image.d.ts +6 -2
  16. package/dist/components/ui/dithered-image/dithered-image.d.ts.map +1 -1
  17. package/dist/components/ui/dithered-image/index.d.ts +1 -1
  18. package/dist/components/ui/dithered-image/index.d.ts.map +1 -1
  19. package/dist/components/ui/form/form.d.ts +24 -0
  20. package/dist/components/ui/form/form.d.ts.map +1 -0
  21. package/dist/components/ui/form/index.d.ts +2 -0
  22. package/dist/components/ui/form/index.d.ts.map +1 -0
  23. package/dist/components/ui/progress/progress.d.ts +0 -6
  24. package/dist/components/ui/progress/progress.d.ts.map +1 -1
  25. package/dist/components/ui/scroll-area/scroll-area.d.ts.map +1 -1
  26. package/dist/components/ui/skeleton/skeleton.d.ts +4 -1
  27. package/dist/components/ui/skeleton/skeleton.d.ts.map +1 -1
  28. package/dist/components/ui/statusline/statusline.d.ts.map +1 -1
  29. package/dist/components/ui/terminal-textarea/terminal-textarea.d.ts +0 -5
  30. package/dist/components/ui/terminal-textarea/terminal-textarea.d.ts.map +1 -1
  31. package/dist/index.d.ts +3 -0
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +166 -143
  34. package/dist/index10.js +30 -30
  35. package/dist/index100.js +9 -30
  36. package/dist/index101.js +50 -15
  37. package/dist/index102.js +212 -128
  38. package/dist/index103.js +4 -50
  39. package/dist/index104.js +30 -9
  40. package/dist/index105.js +6 -4
  41. package/dist/index106.js +19 -179
  42. package/dist/index107.js +9 -650
  43. package/dist/index108.js +38 -107
  44. package/dist/index109.js +17 -90
  45. package/dist/index11.js +13 -13
  46. package/dist/index110.js +11 -66
  47. package/dist/index111.js +201 -154
  48. package/dist/index112.js +20 -395
  49. package/dist/index113.js +395 -1675
  50. package/dist/index114.js +2 -278
  51. package/dist/index115.js +49 -128
  52. package/dist/index116.js +65 -32
  53. package/dist/index117.js +2 -1611
  54. package/dist/index118.js +2 -298
  55. package/dist/index119.js +22 -632
  56. package/dist/index12.js +1 -1
  57. package/dist/index120.js +29 -144
  58. package/dist/index121.js +5 -21
  59. package/dist/index122.js +5 -9
  60. package/dist/index123.js +3 -38
  61. package/dist/index124.js +24 -18
  62. package/dist/index125.js +113 -6
  63. package/dist/index126.js +15 -11
  64. package/dist/index127.js +513 -194
  65. package/dist/index128.js +128 -22
  66. package/dist/index129.js +114 -380
  67. package/dist/index13.js +132 -93
  68. package/dist/index130.js +59 -1300
  69. package/dist/index131.js +63 -612
  70. package/dist/index132.js +9 -2
  71. package/dist/index133.js +13 -52
  72. package/dist/index134.js +64 -63
  73. package/dist/index135.js +3 -24
  74. package/dist/index136.js +23 -29
  75. package/dist/index137.js +23 -5
  76. package/dist/index138.js +13 -2
  77. package/dist/index139.js +28 -2
  78. package/dist/index14.js +106 -220
  79. package/dist/index140.js +5 -5
  80. package/dist/index15.js +79 -125
  81. package/dist/index16.js +280 -17
  82. package/dist/index17.js +139 -12
  83. package/dist/index18.js +92 -22
  84. package/dist/index19.js +18 -55
  85. package/dist/index2.js +2 -2
  86. package/dist/index20.js +14 -26
  87. package/dist/index21.js +19 -33
  88. package/dist/index22.js +38 -121
  89. package/dist/index23.js +29 -22
  90. package/dist/index24.js +31 -64
  91. package/dist/index25.js +121 -15
  92. package/dist/index26.js +19 -29
  93. package/dist/index27.js +68 -77
  94. package/dist/index28.js +20 -25
  95. package/dist/index29.js +32 -88
  96. package/dist/index3.js +11 -9
  97. package/dist/index30.js +138 -38
  98. package/dist/index31.js +20 -227
  99. package/dist/index32.js +88 -18
  100. package/dist/index33.js +37 -28
  101. package/dist/index34.js +86 -22
  102. package/dist/index35.js +17 -102
  103. package/dist/index36.js +34 -65
  104. package/dist/index37.js +23 -49
  105. package/dist/index38.js +38 -99
  106. package/dist/index39.js +65 -10
  107. package/dist/index4.js +6 -6
  108. package/dist/index40.js +49 -15
  109. package/dist/index41.js +93 -2256
  110. package/dist/index42.js +10 -32
  111. package/dist/index43.js +15 -18
  112. package/dist/index44.js +2251 -225
  113. package/dist/index45.js +33 -11
  114. package/dist/index46.js +116 -64
  115. package/dist/index47.js +207 -219
  116. package/dist/index48.js +5 -3
  117. package/dist/index49.js +54 -330
  118. package/dist/index5.js +23 -23
  119. package/dist/index50.js +244 -55
  120. package/dist/index51.js +9 -241
  121. package/dist/index52.js +60 -847
  122. package/dist/index53.js +236 -9
  123. package/dist/index54.js +11 -118
  124. package/dist/index55.js +300 -215
  125. package/dist/index56.js +4 -3
  126. package/dist/index57.js +225 -11
  127. package/dist/index58.js +11 -236
  128. package/dist/index59.js +27 -256
  129. package/dist/index6.js +12 -12
  130. package/dist/index60.js +260 -12
  131. package/dist/index61.js +12 -22
  132. package/dist/index62.js +94 -506
  133. package/dist/index63.js +12 -6155
  134. package/dist/index64.js +20 -2631
  135. package/dist/index65.js +16 -296
  136. package/dist/index66.js +232 -663
  137. package/dist/index67.js +125 -825
  138. package/dist/index68.js +159 -23
  139. package/dist/index69.js +241 -315
  140. package/dist/index7.js +22 -22
  141. package/dist/index70.js +72 -4889
  142. package/dist/index71.js +503 -802
  143. package/dist/index72.js +412 -1235
  144. package/dist/index73.js +323 -521
  145. package/dist/index74.js +839 -104
  146. package/dist/index75.js +9 -161
  147. package/dist/index76.js +67 -30
  148. package/dist/index77.js +22 -430
  149. package/dist/index78.js +6 -129
  150. package/dist/index79.js +48 -75
  151. package/dist/index8.js +17 -18
  152. package/dist/index80.js +42 -64
  153. package/dist/index81.js +50 -44
  154. package/dist/index82.js +32 -25
  155. package/dist/index83.js +10 -6
  156. package/dist/index84.js +7 -51
  157. package/dist/index85.js +5 -33
  158. package/dist/index86.js +24 -10
  159. package/dist/index87.js +68 -7
  160. package/dist/index88.js +55 -30
  161. package/dist/index89.js +10 -54
  162. package/dist/index9.js +23 -31
  163. package/dist/index90.js +4 -11
  164. package/dist/index91.js +30 -4
  165. package/dist/index92.js +1 -1
  166. package/dist/index93.js +180 -5
  167. package/dist/index94.js +14 -24
  168. package/dist/index95.js +643 -62
  169. package/dist/index96.js +5 -5
  170. package/dist/index97.js +128 -212
  171. package/dist/index98.js +2 -2
  172. package/dist/index99.js +13 -52
  173. package/dist/tokens/colors.d.ts +26 -86
  174. package/dist/tokens/colors.d.ts.map +1 -1
  175. package/dist/tokens/index.d.ts +12 -84
  176. package/dist/tokens/index.d.ts.map +1 -1
  177. package/package.json +26 -22
  178. package/dist/index141.js +0 -5
  179. package/dist/index142.js +0 -26
  180. package/dist/index143.js +0 -115
  181. package/dist/index144.js +0 -18
  182. package/dist/index145.js +0 -527
  183. package/dist/index146.js +0 -130
  184. package/dist/index147.js +0 -136
  185. package/dist/index148.js +0 -67
  186. package/dist/index149.js +0 -71
  187. package/dist/index150.js +0 -11
  188. package/dist/index151.js +0 -16
  189. package/dist/index152.js +0 -68
  190. package/dist/index153.js +0 -6
  191. package/dist/index154.js +0 -25
  192. package/dist/index155.js +0 -25
  193. package/dist/index156.js +0 -15
  194. package/dist/index157.js +0 -30
  195. package/dist/index158.js +0 -7
package/dist/index71.js CHANGED
@@ -1,831 +1,532 @@
1
- import { EditorSelection as a, countColumn as K, Text as le, StateField as Je, findClusterBreak as M, Facet as ce, Annotation as se, Transaction as U, StateEffect as ie, ChangeSet as Ge, ChangeDesc as Fe, combineConfig as ze } from "./index64.js";
2
- import { EditorView as E, Direction as qe } from "./index63.js";
3
- import { IndentContext as ue, getIndentation as fe, indentString as R, syntaxTree as $, matchBrackets as x, getIndentUnit as G, indentUnit as He } from "./index72.js";
4
- import { NodeProp as F } from "./index113.js";
5
- const Ke = (e) => {
6
- let { state: t } = e, r = t.doc.lineAt(t.selection.main.from), n = Q(e.state, r.from);
7
- return n.line ? $e(e) : n.block ? Qe(e) : !1;
8
- };
9
- function W(e, t) {
10
- return ({ state: r, dispatch: n }) => {
11
- if (r.readOnly)
12
- return !1;
13
- let l = e(t, r);
14
- return l ? (n(r.update(l)), !0) : !1;
15
- };
16
- }
17
- const $e = /* @__PURE__ */ W(
18
- Ze,
19
- 0
20
- /* CommentOption.Toggle */
21
- ), We = /* @__PURE__ */ W(
22
- ae,
23
- 0
24
- /* CommentOption.Toggle */
25
- ), Qe = /* @__PURE__ */ W(
26
- (e, t) => ae(e, t, Ye(t)),
27
- 0
28
- /* CommentOption.Toggle */
29
- );
30
- function Q(e, t) {
31
- let r = e.languageDataAt("commentTokens", t, 1);
32
- return r.length ? r[0] : {};
33
- }
34
- const L = 50;
35
- function Xe(e, { open: t, close: r }, n, l) {
36
- let o = e.sliceDoc(n - L, n), c = e.sliceDoc(l, l + L), s = /\s*$/.exec(o)[0].length, i = /^\s*/.exec(c)[0].length, f = o.length - s;
37
- if (o.slice(f - t.length, f) == t && c.slice(i, i + r.length) == r)
38
- return {
39
- open: { pos: n - s, margin: s && 1 },
40
- close: { pos: l + i, margin: i && 1 }
41
- };
42
- let u, h;
43
- l - n <= 2 * L ? u = h = e.sliceDoc(n, l) : (u = e.sliceDoc(n, n + L), h = e.sliceDoc(l - L, l));
44
- let p = /^\s*/.exec(u)[0].length, T = /\s*$/.exec(h)[0].length, C = h.length - T - r.length;
45
- return u.slice(p, p + t.length) == t && h.slice(C, C + r.length) == r ? {
46
- open: {
47
- pos: n + p + t.length,
48
- margin: /\s/.test(u.charAt(p + t.length)) ? 1 : 0
49
- },
50
- close: {
51
- pos: l - T - r.length,
52
- margin: /\s/.test(h.charAt(C - 1)) ? 1 : 0
53
- }
54
- } : null;
55
- }
56
- function Ye(e) {
57
- let t = [];
58
- for (let r of e.selection.ranges) {
59
- let n = e.doc.lineAt(r.from), l = r.to <= n.to ? n : e.doc.lineAt(r.to);
60
- l.from > n.from && l.from == r.to && (l = r.to == n.to + 1 ? n : e.doc.lineAt(r.to - 1));
61
- let o = t.length - 1;
62
- o >= 0 && t[o].to > n.from ? t[o].to = l.to : t.push({ from: n.from + /^\s*/.exec(n.text)[0].length, to: l.to });
63
- }
64
- return t;
65
- }
66
- function ae(e, t, r = t.selection.ranges) {
67
- let n = r.map((o) => Q(t, o.from).block);
68
- if (!n.every((o) => o))
69
- return null;
70
- let l = r.map((o, c) => Xe(t, n[c], o.from, o.to));
71
- if (e != 2 && !l.every((o) => o))
72
- return { changes: t.changes(r.map((o, c) => l[c] ? [] : [{ from: o.from, insert: n[c].open + " " }, { from: o.to, insert: " " + n[c].close }])) };
73
- if (e != 1 && l.some((o) => o)) {
74
- let o = [];
75
- for (let c = 0, s; c < l.length; c++)
76
- if (s = l[c]) {
77
- let i = n[c], { open: f, close: u } = s;
78
- o.push({ from: f.pos - i.open.length, to: f.pos + f.margin }, { from: u.pos - u.margin, to: u.pos + i.close.length });
1
+ import * as c from "react";
2
+ import { Primitive as L } from "./index82.js";
3
+ import { Presence as I } from "./index87.js";
4
+ import { createContextScope as te } from "./index76.js";
5
+ import { useComposedRefs as A } from "./index77.js";
6
+ import { useCallbackRef as C } from "./index89.js";
7
+ import { useDirection as ne } from "./index84.js";
8
+ import { useLayoutEffect as le } from "./index90.js";
9
+ import { clamp as ce } from "./index103.js";
10
+ import { composeEventHandlers as R } from "./index78.js";
11
+ import { jsx as b, jsxs as ie, Fragment as se } from "react/jsx-runtime";
12
+ function ae(e, t) {
13
+ return c.useReducer((r, l) => t[r][l] ?? r, e);
14
+ }
15
+ var V = "ScrollArea", [j] = te(V), [de, v] = j(V), q = c.forwardRef(
16
+ (e, t) => {
17
+ const {
18
+ __scopeScrollArea: r,
19
+ type: l = "hover",
20
+ dir: o,
21
+ scrollHideDelay: n = 600,
22
+ ...i
23
+ } = e, [s, a] = c.useState(null), [f, d] = c.useState(null), [h, u] = c.useState(null), [S, p] = c.useState(null), [y, M] = c.useState(null), [P, _] = c.useState(0), [U, D] = c.useState(0), [W, x] = c.useState(!1), [H, z] = c.useState(!1), m = A(t, (E) => a(E)), w = ne(o);
24
+ return /* @__PURE__ */ b(
25
+ de,
26
+ {
27
+ scope: r,
28
+ type: l,
29
+ dir: w,
30
+ scrollHideDelay: n,
31
+ scrollArea: s,
32
+ viewport: f,
33
+ onViewportChange: d,
34
+ content: h,
35
+ onContentChange: u,
36
+ scrollbarX: S,
37
+ onScrollbarXChange: p,
38
+ scrollbarXEnabled: W,
39
+ onScrollbarXEnabledChange: x,
40
+ scrollbarY: y,
41
+ onScrollbarYChange: M,
42
+ scrollbarYEnabled: H,
43
+ onScrollbarYEnabledChange: z,
44
+ onCornerWidthChange: _,
45
+ onCornerHeightChange: D,
46
+ children: /* @__PURE__ */ b(
47
+ L.div,
48
+ {
49
+ dir: w,
50
+ ...i,
51
+ ref: m,
52
+ style: {
53
+ position: "relative",
54
+ // Pass corner sizes as CSS vars to reduce re-renders of context consumers
55
+ "--radix-scroll-area-corner-width": P + "px",
56
+ "--radix-scroll-area-corner-height": U + "px",
57
+ ...e.style
58
+ }
59
+ }
60
+ )
79
61
  }
80
- return { changes: o };
62
+ );
81
63
  }
82
- return null;
83
- }
84
- function Ze(e, t, r = t.selection.ranges) {
85
- let n = [], l = -1;
86
- for (let { from: o, to: c } of r) {
87
- let s = n.length, i = 1e9, f = Q(t, o).line;
88
- if (f) {
89
- for (let u = o; u <= c; ) {
90
- let h = t.doc.lineAt(u);
91
- if (h.from > l && (o == c || c > h.from)) {
92
- l = h.from;
93
- let p = /^\s*/.exec(h.text)[0].length, T = p == h.length, C = h.text.slice(p, p + f.length) == f ? p : -1;
94
- p < h.text.length && p < i && (i = p), n.push({ line: h, comment: C, token: f, indent: p, empty: T, single: !1 });
64
+ );
65
+ q.displayName = V;
66
+ var $ = "ScrollAreaViewport", G = c.forwardRef(
67
+ (e, t) => {
68
+ const { __scopeScrollArea: r, children: l, nonce: o, ...n } = e, i = v($, r), s = c.useRef(null), a = A(t, s, i.onViewportChange);
69
+ return /* @__PURE__ */ ie(se, { children: [
70
+ /* @__PURE__ */ b(
71
+ "style",
72
+ {
73
+ dangerouslySetInnerHTML: {
74
+ __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}"
75
+ },
76
+ nonce: o
95
77
  }
96
- u = h.to + 1;
97
- }
98
- if (i < 1e9)
99
- for (let u = s; u < n.length; u++)
100
- n[u].indent < n[u].line.text.length && (n[u].indent = i);
101
- n.length == s + 1 && (n[s].single = !0);
102
- }
103
- }
104
- if (e != 2 && n.some((o) => o.comment < 0 && (!o.empty || o.single))) {
105
- let o = [];
106
- for (let { line: s, token: i, indent: f, empty: u, single: h } of n)
107
- (h || !u) && o.push({ from: s.from + f, insert: i + " " });
108
- let c = t.changes(o);
109
- return { changes: c, selection: t.selection.map(c, 1) };
110
- } else if (e != 1 && n.some((o) => o.comment >= 0)) {
111
- let o = [];
112
- for (let { line: c, comment: s, token: i } of n)
113
- if (s >= 0) {
114
- let f = c.from + s, u = f + i.length;
115
- c.text[u - c.from] == " " && u++, o.push({ from: f, to: u });
116
- }
117
- return { changes: o };
78
+ ),
79
+ /* @__PURE__ */ b(
80
+ L.div,
81
+ {
82
+ "data-radix-scroll-area-viewport": "",
83
+ ...n,
84
+ ref: a,
85
+ style: {
86
+ /**
87
+ * We don't support `visible` because the intention is to have at least one scrollbar
88
+ * if this component is used and `visible` will behave like `auto` in that case
89
+ * https://developer.mozilla.org/en-US/docs/Web/CSS/overflow#description
90
+ *
91
+ * We don't handle `auto` because the intention is for the native implementation
92
+ * to be hidden if using this component. We just want to ensure the node is scrollable
93
+ * so could have used either `scroll` or `auto` here. We picked `scroll` to prevent
94
+ * the browser from having to work out whether to render native scrollbars or not,
95
+ * we tell it to with the intention of hiding them in CSS.
96
+ */
97
+ overflowX: i.scrollbarXEnabled ? "scroll" : "hidden",
98
+ overflowY: i.scrollbarYEnabled ? "scroll" : "hidden",
99
+ ...e.style
100
+ },
101
+ children: /* @__PURE__ */ b("div", { ref: i.onContentChange, style: { minWidth: "100%", display: "table" }, children: l })
102
+ }
103
+ )
104
+ ] });
118
105
  }
119
- return null;
120
- }
121
- const z = /* @__PURE__ */ se.define(), je = /* @__PURE__ */ se.define(), we = /* @__PURE__ */ ce.define(), _e = /* @__PURE__ */ ce.define({
122
- combine(e) {
123
- return ze(e, {
124
- minDepth: 100,
125
- newGroupDelay: 500,
126
- joinToEvent: (t, r) => r
127
- }, {
128
- minDepth: Math.max,
129
- newGroupDelay: Math.min,
130
- joinToEvent: (t, r) => (n, l) => t(n, l) || r(n, l)
131
- });
106
+ );
107
+ G.displayName = $;
108
+ var g = "ScrollAreaScrollbar", ue = c.forwardRef(
109
+ (e, t) => {
110
+ const { forceMount: r, ...l } = e, o = v(g, e.__scopeScrollArea), { onScrollbarXEnabledChange: n, onScrollbarYEnabledChange: i } = o, s = e.orientation === "horizontal";
111
+ return c.useEffect(() => (s ? n(!0) : i(!0), () => {
112
+ s ? n(!1) : i(!1);
113
+ }), [s, n, i]), o.type === "hover" ? /* @__PURE__ */ b(fe, { ...l, ref: t, forceMount: r }) : o.type === "scroll" ? /* @__PURE__ */ b(he, { ...l, ref: t, forceMount: r }) : o.type === "auto" ? /* @__PURE__ */ b(J, { ...l, ref: t, forceMount: r }) : o.type === "always" ? /* @__PURE__ */ b(k, { ...l, ref: t }) : null;
132
114
  }
133
- }), et = /* @__PURE__ */ Je.define({
134
- create() {
135
- return B.empty;
136
- },
137
- update(e, t) {
138
- let r = t.state.facet(_e), n = t.annotation(z);
139
- if (n) {
140
- let i = m.fromTransaction(t, n.selection), f = n.side, u = f == 0 ? e.undone : e.done;
141
- return i ? u = I(u, u.length, r.minDepth, i) : u = de(u, t.startState.selection), new B(f == 0 ? n.rest : u, f == 0 ? u : n.rest);
115
+ );
116
+ ue.displayName = g;
117
+ var fe = c.forwardRef((e, t) => {
118
+ const { forceMount: r, ...l } = e, o = v(g, e.__scopeScrollArea), [n, i] = c.useState(!1);
119
+ return c.useEffect(() => {
120
+ const s = o.scrollArea;
121
+ let a = 0;
122
+ if (s) {
123
+ const f = () => {
124
+ window.clearTimeout(a), i(!0);
125
+ }, d = () => {
126
+ a = window.setTimeout(() => i(!1), o.scrollHideDelay);
127
+ };
128
+ return s.addEventListener("pointerenter", f), s.addEventListener("pointerleave", d), () => {
129
+ window.clearTimeout(a), s.removeEventListener("pointerenter", f), s.removeEventListener("pointerleave", d);
130
+ };
142
131
  }
143
- let l = t.annotation(je);
144
- if ((l == "full" || l == "before") && (e = e.isolate()), t.annotation(U.addToHistory) === !1)
145
- return t.changes.empty ? e : e.addMapping(t.changes.desc);
146
- let o = m.fromTransaction(t), c = t.annotation(U.time), s = t.annotation(U.userEvent);
147
- return o ? e = e.addChanges(o, c, s, r, t) : t.selection && (e = e.addSelection(t.startState.selection, c, s, r.newGroupDelay)), (l == "full" || l == "after") && (e = e.isolate()), e;
148
- },
149
- toJSON(e) {
150
- return { done: e.done.map((t) => t.toJSON()), undone: e.undone.map((t) => t.toJSON()) };
151
- },
152
- fromJSON(e) {
153
- return new B(e.done.map(m.fromJSON), e.undone.map(m.fromJSON));
154
- }
155
- });
156
- function v(e, t) {
157
- return function({ state: r, dispatch: n }) {
158
- if (!t && r.readOnly)
159
- return !1;
160
- let l = r.field(et, !1);
161
- if (!l)
162
- return !1;
163
- let o = l.pop(e, r, t);
164
- return o ? (n(o), !0) : !1;
165
- };
166
- }
167
- const tt = /* @__PURE__ */ v(0, !1), Z = /* @__PURE__ */ v(1, !1), nt = /* @__PURE__ */ v(0, !0), rt = /* @__PURE__ */ v(1, !0);
168
- class m {
169
- constructor(t, r, n, l, o) {
170
- this.changes = t, this.effects = r, this.mapped = n, this.startSelection = l, this.selectionsAfter = o;
171
- }
172
- setSelAfter(t) {
173
- return new m(this.changes, this.effects, this.mapped, this.startSelection, t);
174
- }
175
- toJSON() {
176
- var t, r, n;
177
- return {
178
- changes: (t = this.changes) === null || t === void 0 ? void 0 : t.toJSON(),
179
- mapped: (r = this.mapped) === null || r === void 0 ? void 0 : r.toJSON(),
180
- startSelection: (n = this.startSelection) === null || n === void 0 ? void 0 : n.toJSON(),
181
- selectionsAfter: this.selectionsAfter.map((l) => l.toJSON())
182
- };
183
- }
184
- static fromJSON(t) {
185
- return new m(t.changes && Ge.fromJSON(t.changes), [], t.mapped && Fe.fromJSON(t.mapped), t.startSelection && a.fromJSON(t.startSelection), t.selectionsAfter.map(a.fromJSON));
186
- }
187
- // This does not check `addToHistory` and such, it assumes the
188
- // transaction needs to be converted to an item. Returns null when
189
- // there are no changes or effects in the transaction.
190
- static fromTransaction(t, r) {
191
- let n = g;
192
- for (let l of t.startState.facet(we)) {
193
- let o = l(t);
194
- o.length && (n = n.concat(o));
132
+ }, [o.scrollArea, o.scrollHideDelay]), /* @__PURE__ */ b(I, { present: r || n, children: /* @__PURE__ */ b(
133
+ J,
134
+ {
135
+ "data-state": n ? "visible" : "hidden",
136
+ ...l,
137
+ ref: t
195
138
  }
196
- return !n.length && t.changes.empty ? null : new m(t.changes.invert(t.startState.doc), n, void 0, r || t.startState.selection, g);
197
- }
198
- static selection(t) {
199
- return new m(void 0, g, void 0, void 0, t);
200
- }
201
- }
202
- function I(e, t, r, n) {
203
- let l = t + 1 > r + 20 ? t - r - 1 : 0, o = e.slice(l, t);
204
- return o.push(n), o;
205
- }
206
- function ot(e, t) {
207
- let r = [], n = !1;
208
- return e.iterChangedRanges((l, o) => r.push(l, o)), t.iterChangedRanges((l, o, c, s) => {
209
- for (let i = 0; i < r.length; ) {
210
- let f = r[i++], u = r[i++];
211
- s >= f && c <= u && (n = !0);
139
+ ) });
140
+ }), he = c.forwardRef((e, t) => {
141
+ const { forceMount: r, ...l } = e, o = v(g, e.__scopeScrollArea), n = e.orientation === "horizontal", i = Y(() => a("SCROLL_END"), 100), [s, a] = ae("hidden", {
142
+ hidden: {
143
+ SCROLL: "scrolling"
144
+ },
145
+ scrolling: {
146
+ SCROLL_END: "idle",
147
+ POINTER_ENTER: "interacting"
148
+ },
149
+ interacting: {
150
+ SCROLL: "interacting",
151
+ POINTER_LEAVE: "idle"
152
+ },
153
+ idle: {
154
+ HIDE: "hidden",
155
+ SCROLL: "scrolling",
156
+ POINTER_ENTER: "interacting"
212
157
  }
213
- }), n;
214
- }
215
- function lt(e, t) {
216
- return e.ranges.length == t.ranges.length && e.ranges.filter((r, n) => r.empty != t.ranges[n].empty).length === 0;
217
- }
218
- function he(e, t) {
219
- return e.length ? t.length ? e.concat(t) : e : t;
220
- }
221
- const g = [], ct = 200;
222
- function de(e, t) {
223
- if (e.length) {
224
- let r = e[e.length - 1], n = r.selectionsAfter.slice(Math.max(0, r.selectionsAfter.length - ct));
225
- return n.length && n[n.length - 1].eq(t) ? e : (n.push(t), I(e, e.length - 1, 1e9, r.setSelAfter(n)));
226
- } else
227
- return [m.selection([t])];
228
- }
229
- function st(e) {
230
- let t = e[e.length - 1], r = e.slice();
231
- return r[e.length - 1] = t.setSelAfter(t.selectionsAfter.slice(0, t.selectionsAfter.length - 1)), r;
232
- }
233
- function J(e, t) {
234
- if (!e.length)
235
- return e;
236
- let r = e.length, n = g;
237
- for (; r; ) {
238
- let l = it(e[r - 1], t, n);
239
- if (l.changes && !l.changes.empty || l.effects.length) {
240
- let o = e.slice(0, r);
241
- return o[r - 1] = l, o;
242
- } else
243
- t = l.mapped, r--, n = l.selectionsAfter;
244
- }
245
- return n.length ? [m.selection(n)] : g;
246
- }
247
- function it(e, t, r) {
248
- let n = he(e.selectionsAfter.length ? e.selectionsAfter.map((s) => s.map(t)) : g, r);
249
- if (!e.changes)
250
- return m.selection(n);
251
- let l = e.changes.map(t), o = t.mapDesc(e.changes, !0), c = e.mapped ? e.mapped.composeDesc(o) : o;
252
- return new m(l, ie.mapEffects(e.effects, t), c, e.startSelection.map(o), n);
253
- }
254
- const ut = /^(input\.type|delete)($|\.)/;
255
- class B {
256
- constructor(t, r, n = 0, l = void 0) {
257
- this.done = t, this.undone = r, this.prevTime = n, this.prevUserEvent = l;
258
- }
259
- isolate() {
260
- return this.prevTime ? new B(this.done, this.undone) : this;
261
- }
262
- addChanges(t, r, n, l, o) {
263
- let c = this.done, s = c[c.length - 1];
264
- return s && s.changes && !s.changes.empty && t.changes && (!n || ut.test(n)) && (!s.selectionsAfter.length && r - this.prevTime < l.newGroupDelay && l.joinToEvent(o, ot(s.changes, t.changes)) || // For compose (but not compose.start) events, always join with previous event
265
- n == "input.type.compose") ? c = I(c, c.length - 1, l.minDepth, new m(t.changes.compose(s.changes), he(ie.mapEffects(t.effects, s.changes), s.effects), s.mapped, s.startSelection, g)) : c = I(c, c.length, l.minDepth, t), new B(c, g, r, n);
266
- }
267
- addSelection(t, r, n, l) {
268
- let o = this.done.length ? this.done[this.done.length - 1].selectionsAfter : g;
269
- return o.length > 0 && r - this.prevTime < l && n == this.prevUserEvent && n && /^select($|\.)/.test(n) && lt(o[o.length - 1], t) ? this : new B(de(this.done, t), this.undone, r, n);
270
- }
271
- addMapping(t) {
272
- return new B(J(this.done, t), J(this.undone, t), this.prevTime, this.prevUserEvent);
273
- }
274
- pop(t, r, n) {
275
- let l = t == 0 ? this.done : this.undone;
276
- if (l.length == 0)
277
- return null;
278
- let o = l[l.length - 1], c = o.selectionsAfter[0] || r.selection;
279
- if (n && o.selectionsAfter.length)
280
- return r.update({
281
- selection: o.selectionsAfter[o.selectionsAfter.length - 1],
282
- annotations: z.of({ side: t, rest: st(l), selection: c }),
283
- userEvent: t == 0 ? "select.undo" : "select.redo",
284
- scrollIntoView: !0
285
- });
286
- if (o.changes) {
287
- let s = l.length == 1 ? g : l.slice(0, l.length - 1);
288
- return o.mapped && (s = J(s, o.mapped)), r.update({
289
- changes: o.changes,
290
- selection: o.startSelection,
291
- effects: o.effects,
292
- annotations: z.of({ side: t, rest: s, selection: c }),
293
- filter: !1,
294
- userEvent: t == 0 ? "undo" : "redo",
295
- scrollIntoView: !0
296
- });
297
- } else
298
- return null;
299
- }
300
- }
301
- B.empty = /* @__PURE__ */ new B(g, g);
302
- const un = [
303
- { key: "Mod-z", run: tt, preventDefault: !0 },
304
- { key: "Mod-y", mac: "Mod-Shift-z", run: Z, preventDefault: !0 },
305
- { linux: "Ctrl-Shift-z", run: Z, preventDefault: !0 },
306
- { key: "Mod-u", run: nt, preventDefault: !0 },
307
- { key: "Alt-u", mac: "Mod-Shift-u", run: rt, preventDefault: !0 }
308
- ];
309
- function D(e, t) {
310
- return a.create(e.ranges.map(t), e.mainIndex);
311
- }
312
- function k(e, t) {
313
- return e.update({ selection: t, scrollIntoView: !0, userEvent: "select" });
314
- }
315
- function A({ state: e, dispatch: t }, r) {
316
- let n = D(e.selection, r);
317
- return n.eq(e.selection, !0) ? !1 : (t(k(e, n)), !0);
318
- }
319
- function V(e, t) {
320
- return a.cursor(t ? e.to : e.from);
321
- }
322
- function X(e, t) {
323
- return A(e, (r) => r.empty ? e.moveByChar(r, t) : V(r, t));
324
- }
325
- function d(e) {
326
- return e.textDirectionAt(e.state.selection.main.head) == qe.LTR;
327
- }
328
- const me = (e) => X(e, !d(e)), pe = (e) => X(e, d(e)), fn = (e) => X(e, !1);
329
- function ge(e, t) {
330
- return A(e, (r) => r.empty ? e.moveByGroup(r, t) : V(r, t));
331
- }
332
- const ft = (e) => ge(e, !d(e)), at = (e) => ge(e, d(e));
333
- function ht(e, t, r) {
334
- if (t.type.prop(r))
335
- return !0;
336
- let n = t.to - t.from;
337
- return n && (n > 2 || /[^\s,.;:]/.test(e.sliceDoc(t.from, t.to))) || t.firstChild;
338
- }
339
- function N(e, t, r) {
340
- let n = $(e).resolveInner(t.head), l = r ? F.closedBy : F.openedBy;
341
- for (let i = t.head; ; ) {
342
- let f = r ? n.childAfter(i) : n.childBefore(i);
343
- if (!f)
344
- break;
345
- ht(e, f, l) ? n = f : i = r ? f.to : f.from;
346
- }
347
- let o = n.type.prop(l), c, s;
348
- return o && (c = r ? x(e, n.from, 1) : x(e, n.to, -1)) && c.matched ? s = r ? c.end.to : c.end.from : s = r ? n.to : n.from, a.cursor(s, r ? -1 : 1);
349
- }
350
- const dt = (e) => A(e, (t) => N(e.state, t, !d(e))), mt = (e) => A(e, (t) => N(e.state, t, d(e)));
351
- function ye(e, t) {
352
- return A(e, (r) => {
353
- if (!r.empty)
354
- return V(r, t);
355
- let n = e.moveVertically(r, t);
356
- return n.head != r.head ? n : e.moveToLineBoundary(r, t);
357
158
  });
358
- }
359
- const ke = (e) => ye(e, !1), Ae = (e) => ye(e, !0);
360
- function Be(e) {
361
- let t = e.scrollDOM.clientHeight < e.scrollDOM.scrollHeight - 2, r = 0, n = 0, l;
362
- if (t) {
363
- for (let o of e.state.facet(E.scrollMargins)) {
364
- let c = o(e);
365
- c != null && c.top && (r = Math.max(c == null ? void 0 : c.top, r)), c != null && c.bottom && (n = Math.max(c == null ? void 0 : c.bottom, n));
159
+ return c.useEffect(() => {
160
+ if (s === "idle") {
161
+ const f = window.setTimeout(() => a("HIDE"), o.scrollHideDelay);
162
+ return () => window.clearTimeout(f);
163
+ }
164
+ }, [s, o.scrollHideDelay, a]), c.useEffect(() => {
165
+ const f = o.viewport, d = n ? "scrollLeft" : "scrollTop";
166
+ if (f) {
167
+ let h = f[d];
168
+ const u = () => {
169
+ const S = f[d];
170
+ h !== S && (a("SCROLL"), i()), h = S;
171
+ };
172
+ return f.addEventListener("scroll", u), () => f.removeEventListener("scroll", u);
173
+ }
174
+ }, [o.viewport, n, a, i]), /* @__PURE__ */ b(I, { present: r || s !== "hidden", children: /* @__PURE__ */ b(
175
+ k,
176
+ {
177
+ "data-state": s === "hidden" ? "hidden" : "visible",
178
+ ...l,
179
+ ref: t,
180
+ onPointerEnter: R(e.onPointerEnter, () => a("POINTER_ENTER")),
181
+ onPointerLeave: R(e.onPointerLeave, () => a("POINTER_LEAVE"))
366
182
  }
367
- l = e.scrollDOM.clientHeight - r - n;
368
- } else
369
- l = (e.dom.ownerDocument.defaultView || window).innerHeight;
370
- return {
371
- marginTop: r,
372
- marginBottom: n,
373
- selfScroll: t,
374
- height: Math.max(e.defaultLineHeight, l - 5)
183
+ ) });
184
+ }), J = c.forwardRef((e, t) => {
185
+ const r = v(g, e.__scopeScrollArea), { forceMount: l, ...o } = e, [n, i] = c.useState(!1), s = e.orientation === "horizontal", a = Y(() => {
186
+ if (r.viewport) {
187
+ const f = r.viewport.offsetWidth < r.viewport.scrollWidth, d = r.viewport.offsetHeight < r.viewport.scrollHeight;
188
+ i(s ? f : d);
189
+ }
190
+ }, 10);
191
+ return T(r.viewport, a), T(r.content, a), /* @__PURE__ */ b(I, { present: l || n, children: /* @__PURE__ */ b(
192
+ k,
193
+ {
194
+ "data-state": n ? "visible" : "hidden",
195
+ ...o,
196
+ ref: t
197
+ }
198
+ ) });
199
+ }), k = c.forwardRef((e, t) => {
200
+ const { orientation: r = "vertical", ...l } = e, o = v(g, e.__scopeScrollArea), n = c.useRef(null), i = c.useRef(0), [s, a] = c.useState({
201
+ content: 0,
202
+ viewport: 0,
203
+ scrollbar: { size: 0, paddingStart: 0, paddingEnd: 0 }
204
+ }), f = ee(s.viewport, s.content), d = {
205
+ ...l,
206
+ sizes: s,
207
+ onSizesChange: a,
208
+ hasThumb: f > 0 && f < 1,
209
+ onThumbChange: (u) => n.current = u,
210
+ onThumbPointerUp: () => i.current = 0,
211
+ onThumbPointerDown: (u) => i.current = u
375
212
  };
376
- }
377
- function Se(e, t) {
378
- let r = Be(e), { state: n } = e, l = D(n.selection, (c) => c.empty ? e.moveVertically(c, t, r.height) : V(c, t));
379
- if (l.eq(n.selection))
380
- return !1;
381
- let o;
382
- if (r.selfScroll) {
383
- let c = e.coordsAtPos(n.selection.main.head), s = e.scrollDOM.getBoundingClientRect(), i = s.top + r.marginTop, f = s.bottom - r.marginBottom;
384
- c && c.top > i && c.bottom < f && (o = E.scrollIntoView(l.main.head, { y: "start", yMargin: c.top - i }));
385
- }
386
- return e.dispatch(k(n, l), { effects: o }), !0;
387
- }
388
- const j = (e) => Se(e, !1), q = (e) => Se(e, !0);
389
- function S(e, t, r) {
390
- let n = e.lineBlockAt(t.head), l = e.moveToLineBoundary(t, r);
391
- if (l.head == t.head && l.head != (r ? n.to : n.from) && (l = e.moveToLineBoundary(t, r, !1)), !r && l.head == n.from && n.length) {
392
- let o = /^\s*/.exec(e.state.sliceDoc(n.from, Math.min(n.from + 100, n.to)))[0].length;
393
- o && t.head != n.from + o && (l = a.cursor(n.from + o));
213
+ function h(u, S) {
214
+ return ge(u, i.current, s, S);
394
215
  }
395
- return l;
396
- }
397
- const pt = (e) => A(e, (t) => S(e, t, !0)), gt = (e) => A(e, (t) => S(e, t, !1)), yt = (e) => A(e, (t) => S(e, t, !d(e))), kt = (e) => A(e, (t) => S(e, t, d(e))), At = (e) => A(e, (t) => a.cursor(e.lineBlockAt(t.head).from, 1)), Bt = (e) => A(e, (t) => a.cursor(e.lineBlockAt(t.head).to, -1));
398
- function St(e, t, r) {
399
- let n = !1, l = D(e.selection, (o) => {
400
- let c = x(e, o.head, -1) || x(e, o.head, 1) || o.head > 0 && x(e, o.head - 1, 1) || o.head < e.doc.length && x(e, o.head + 1, -1);
401
- if (!c || !c.end)
402
- return o;
403
- n = !0;
404
- let s = c.start.from == o.head ? c.end.to : c.end.from;
405
- return a.cursor(s);
406
- });
407
- return n ? (t(k(e, l)), !0) : !1;
408
- }
409
- const xt = ({ state: e, dispatch: t }) => St(e, t);
410
- function y(e, t) {
411
- let r = D(e.state.selection, (n) => {
412
- let l = t(n);
413
- return a.range(n.anchor, l.head, l.goalColumn, l.bidiLevel || void 0);
414
- });
415
- return r.eq(e.state.selection) ? !1 : (e.dispatch(k(e.state, r)), !0);
416
- }
417
- function xe(e, t) {
418
- return y(e, (r) => e.moveByChar(r, t));
419
- }
420
- const De = (e) => xe(e, !d(e)), Ce = (e) => xe(e, d(e));
421
- function Le(e, t) {
422
- return y(e, (r) => e.moveByGroup(r, t));
423
- }
424
- const Dt = (e) => Le(e, !d(e)), Ct = (e) => Le(e, d(e)), Lt = (e) => y(e, (t) => N(e.state, t, !d(e))), Mt = (e) => y(e, (t) => N(e.state, t, d(e)));
425
- function Me(e, t) {
426
- return y(e, (r) => e.moveVertically(r, t));
427
- }
428
- const Ee = (e) => Me(e, !1), Oe = (e) => Me(e, !0);
429
- function Te(e, t) {
430
- return y(e, (r) => e.moveVertically(r, t, Be(e).height));
431
- }
432
- const w = (e) => Te(e, !1), _ = (e) => Te(e, !0), Et = (e) => y(e, (t) => S(e, t, !0)), Ot = (e) => y(e, (t) => S(e, t, !1)), Tt = (e) => y(e, (t) => S(e, t, !d(e))), bt = (e) => y(e, (t) => S(e, t, d(e))), Rt = (e) => y(e, (t) => a.cursor(e.lineBlockAt(t.head).from)), It = (e) => y(e, (t) => a.cursor(e.lineBlockAt(t.head).to)), ee = ({ state: e, dispatch: t }) => (t(k(e, { anchor: 0 })), !0), te = ({ state: e, dispatch: t }) => (t(k(e, { anchor: e.doc.length })), !0), ne = ({ state: e, dispatch: t }) => (t(k(e, { anchor: e.selection.main.anchor, head: 0 })), !0), re = ({ state: e, dispatch: t }) => (t(k(e, { anchor: e.selection.main.anchor, head: e.doc.length })), !0), vt = ({ state: e, dispatch: t }) => (t(e.update({ selection: { anchor: 0, head: e.doc.length }, userEvent: "select" })), !0), Vt = ({ state: e, dispatch: t }) => {
433
- let r = P(e).map(({ from: n, to: l }) => a.range(n, Math.min(l + 1, e.doc.length)));
434
- return t(e.update({ selection: a.create(r), userEvent: "select" })), !0;
435
- }, Nt = ({ state: e, dispatch: t }) => {
436
- let r = D(e.selection, (n) => {
437
- let l = $(e), o = l.resolveStack(n.from, 1);
438
- if (n.empty) {
439
- let c = l.resolveStack(n.from, -1);
440
- c.node.from >= o.node.from && c.node.to <= o.node.to && (o = c);
216
+ return r === "horizontal" ? /* @__PURE__ */ b(
217
+ be,
218
+ {
219
+ ...d,
220
+ ref: t,
221
+ onThumbPositionChange: () => {
222
+ if (o.viewport && n.current) {
223
+ const u = o.viewport.scrollLeft, S = F(u, s, o.dir);
224
+ n.current.style.transform = `translate3d(${S}px, 0, 0)`;
225
+ }
226
+ },
227
+ onWheelScroll: (u) => {
228
+ o.viewport && (o.viewport.scrollLeft = u);
229
+ },
230
+ onDragScroll: (u) => {
231
+ o.viewport && (o.viewport.scrollLeft = h(u, o.dir));
232
+ }
441
233
  }
442
- for (let c = o; c; c = c.next) {
443
- let { node: s } = c;
444
- if ((s.from < n.from && s.to >= n.to || s.to > n.to && s.from <= n.from) && c.next)
445
- return a.range(s.to, s.from);
234
+ ) : r === "vertical" ? /* @__PURE__ */ b(
235
+ Se,
236
+ {
237
+ ...d,
238
+ ref: t,
239
+ onThumbPositionChange: () => {
240
+ if (o.viewport && n.current) {
241
+ const u = o.viewport.scrollTop, S = F(u, s);
242
+ n.current.style.transform = `translate3d(0, ${S}px, 0)`;
243
+ }
244
+ },
245
+ onWheelScroll: (u) => {
246
+ o.viewport && (o.viewport.scrollTop = u);
247
+ },
248
+ onDragScroll: (u) => {
249
+ o.viewport && (o.viewport.scrollTop = h(u));
250
+ }
446
251
  }
447
- return n;
448
- });
449
- return r.eq(e.selection) ? !1 : (t(k(e, r)), !0);
450
- };
451
- function be(e, t) {
452
- let { state: r } = e, n = r.selection, l = r.selection.ranges.slice();
453
- for (let o of r.selection.ranges) {
454
- let c = r.doc.lineAt(o.head);
455
- if (t ? c.to < e.state.doc.length : c.from > 0)
456
- for (let s = o; ; ) {
457
- let i = e.moveVertically(s, t);
458
- if (i.head < c.from || i.head > c.to) {
459
- l.some((f) => f.head == i.head) || l.push(i);
460
- break;
461
- } else {
462
- if (i.head == s.head)
463
- break;
464
- s = i;
252
+ ) : null;
253
+ }), be = c.forwardRef((e, t) => {
254
+ const { sizes: r, onSizesChange: l, ...o } = e, n = v(g, e.__scopeScrollArea), [i, s] = c.useState(), a = c.useRef(null), f = A(t, a, n.onScrollbarXChange);
255
+ return c.useEffect(() => {
256
+ a.current && s(getComputedStyle(a.current));
257
+ }, [a]), /* @__PURE__ */ b(
258
+ Q,
259
+ {
260
+ "data-orientation": "horizontal",
261
+ ...o,
262
+ ref: f,
263
+ sizes: r,
264
+ style: {
265
+ bottom: 0,
266
+ left: n.dir === "rtl" ? "var(--radix-scroll-area-corner-width)" : 0,
267
+ right: n.dir === "ltr" ? "var(--radix-scroll-area-corner-width)" : 0,
268
+ "--radix-scroll-area-thumb-width": X(r) + "px",
269
+ ...e.style
270
+ },
271
+ onThumbPointerDown: (d) => e.onThumbPointerDown(d.x),
272
+ onDragScroll: (d) => e.onDragScroll(d.x),
273
+ onWheelScroll: (d, h) => {
274
+ if (n.viewport) {
275
+ const u = n.viewport.scrollLeft + d.deltaX;
276
+ e.onWheelScroll(u), oe(u, h) && d.preventDefault();
465
277
  }
278
+ },
279
+ onResize: () => {
280
+ a.current && n.viewport && i && l({
281
+ content: n.viewport.scrollWidth,
282
+ viewport: n.viewport.offsetWidth,
283
+ scrollbar: {
284
+ size: a.current.clientWidth,
285
+ paddingStart: O(i.paddingLeft),
286
+ paddingEnd: O(i.paddingRight)
287
+ }
288
+ });
289
+ }
290
+ }
291
+ );
292
+ }), Se = c.forwardRef((e, t) => {
293
+ const { sizes: r, onSizesChange: l, ...o } = e, n = v(g, e.__scopeScrollArea), [i, s] = c.useState(), a = c.useRef(null), f = A(t, a, n.onScrollbarYChange);
294
+ return c.useEffect(() => {
295
+ a.current && s(getComputedStyle(a.current));
296
+ }, [a]), /* @__PURE__ */ b(
297
+ Q,
298
+ {
299
+ "data-orientation": "vertical",
300
+ ...o,
301
+ ref: f,
302
+ sizes: r,
303
+ style: {
304
+ top: 0,
305
+ right: n.dir === "ltr" ? 0 : void 0,
306
+ left: n.dir === "rtl" ? 0 : void 0,
307
+ bottom: "var(--radix-scroll-area-corner-height)",
308
+ "--radix-scroll-area-thumb-height": X(r) + "px",
309
+ ...e.style
310
+ },
311
+ onThumbPointerDown: (d) => e.onThumbPointerDown(d.y),
312
+ onDragScroll: (d) => e.onDragScroll(d.y),
313
+ onWheelScroll: (d, h) => {
314
+ if (n.viewport) {
315
+ const u = n.viewport.scrollTop + d.deltaY;
316
+ e.onWheelScroll(u), oe(u, h) && d.preventDefault();
317
+ }
318
+ },
319
+ onResize: () => {
320
+ a.current && n.viewport && i && l({
321
+ content: n.viewport.scrollHeight,
322
+ viewport: n.viewport.offsetHeight,
323
+ scrollbar: {
324
+ size: a.current.clientHeight,
325
+ paddingStart: O(i.paddingTop),
326
+ paddingEnd: O(i.paddingBottom)
327
+ }
328
+ });
466
329
  }
467
- }
468
- return l.length == n.ranges.length ? !1 : (e.dispatch(k(r, a.create(l, l.length - 1))), !0);
469
- }
470
- const Pt = (e) => be(e, !1), Ut = (e) => be(e, !0), Jt = ({ state: e, dispatch: t }) => {
471
- let r = e.selection, n = null;
472
- return r.ranges.length > 1 ? n = a.create([r.main]) : r.main.empty || (n = a.create([a.cursor(r.main.head)])), n ? (t(k(e, n)), !0) : !1;
473
- };
474
- function O(e, t) {
475
- if (e.state.readOnly)
476
- return !1;
477
- let r = "delete.selection", { state: n } = e, l = n.changeByRange((o) => {
478
- let { from: c, to: s } = o;
479
- if (c == s) {
480
- let i = t(o);
481
- i < c ? (r = "delete.backward", i = b(e, i, !1)) : i > c && (r = "delete.forward", i = b(e, i, !0)), c = Math.min(c, i), s = Math.max(s, i);
482
- } else
483
- c = b(e, c, !1), s = b(e, s, !0);
484
- return c == s ? { range: o } : { changes: { from: c, to: s }, range: a.cursor(c, c < o.head ? -1 : 1) };
485
- });
486
- return l.changes.empty ? !1 : (e.dispatch(n.update(l, {
487
- scrollIntoView: !0,
488
- userEvent: r,
489
- effects: r == "delete.selection" ? E.announce.of(n.phrase("Selection deleted")) : void 0
490
- })), !0);
491
- }
492
- function b(e, t, r) {
493
- if (e instanceof E)
494
- for (let n of e.state.facet(E.atomicRanges).map((l) => l(e)))
495
- n.between(t, t, (l, o) => {
496
- l < t && o > t && (t = r ? o : l);
497
- });
498
- return t;
499
- }
500
- const Re = (e, t, r) => O(e, (n) => {
501
- let l = n.from, { state: o } = e, c = o.doc.lineAt(l), s, i;
502
- if (r && !t && l > c.from && l < c.from + 200 && !/[^ \t]/.test(s = c.text.slice(0, l - c.from))) {
503
- if (s[s.length - 1] == " ")
504
- return l - 1;
505
- let f = K(s, o.tabSize), u = f % G(o) || G(o);
506
- for (let h = 0; h < u && s[s.length - 1 - h] == " "; h++)
507
- l--;
508
- i = l;
509
- } else
510
- i = M(c.text, l - c.from, t, t) + c.from, i == l && c.number != (t ? o.doc.lines : 1) ? i += t ? 1 : -1 : !t && /[\ufe00-\ufe0f]/.test(c.text.slice(i - c.from, l - c.from)) && (i = M(c.text, i - c.from, !1, !1) + c.from);
511
- return i;
512
- }), H = (e) => Re(e, !1, !0), Ie = (e) => Re(e, !0, !1), ve = (e, t) => O(e, (r) => {
513
- let n = r.head, { state: l } = e, o = l.doc.lineAt(n), c = l.charCategorizer(n);
514
- for (let s = null; ; ) {
515
- if (n == (t ? o.to : o.from)) {
516
- n == r.head && o.number != (t ? l.doc.lines : 1) && (n += t ? 1 : -1);
517
- break;
518
330
  }
519
- let i = M(o.text, n - o.from, t) + o.from, f = o.text.slice(Math.min(n, i) - o.from, Math.max(n, i) - o.from), u = c(f);
520
- if (s != null && u != s)
521
- break;
522
- (f != " " || n != r.head) && (s = u), n = i;
331
+ );
332
+ }), [me, K] = j(g), Q = c.forwardRef((e, t) => {
333
+ const {
334
+ __scopeScrollArea: r,
335
+ sizes: l,
336
+ hasThumb: o,
337
+ onThumbChange: n,
338
+ onThumbPointerUp: i,
339
+ onThumbPointerDown: s,
340
+ onThumbPositionChange: a,
341
+ onDragScroll: f,
342
+ onWheelScroll: d,
343
+ onResize: h,
344
+ ...u
345
+ } = e, S = v(g, r), [p, y] = c.useState(null), M = A(t, (m) => y(m)), P = c.useRef(null), _ = c.useRef(""), U = S.viewport, D = l.content - l.viewport, W = C(d), x = C(a), H = Y(h, 10);
346
+ function z(m) {
347
+ if (P.current) {
348
+ const w = m.clientX - P.current.left, E = m.clientY - P.current.top;
349
+ f({ x: w, y: E });
350
+ }
523
351
  }
524
- return n;
525
- }), Ve = (e) => ve(e, !1), Gt = (e) => ve(e, !0), Ft = (e) => O(e, (t) => {
526
- let r = e.lineBlockAt(t.head).to;
527
- return t.head < r ? r : Math.min(e.state.doc.length, t.head + 1);
528
- }), zt = (e) => O(e, (t) => {
529
- let r = e.moveToLineBoundary(t, !1).head;
530
- return t.head > r ? r : Math.max(0, t.head - 1);
531
- }), qt = (e) => O(e, (t) => {
532
- let r = e.moveToLineBoundary(t, !0).head;
533
- return t.head < r ? r : Math.min(e.state.doc.length, t.head + 1);
534
- }), Ht = ({ state: e, dispatch: t }) => {
535
- if (e.readOnly)
536
- return !1;
537
- let r = e.changeByRange((n) => ({
538
- changes: { from: n.from, to: n.to, insert: le.of(["", ""]) },
539
- range: a.cursor(n.from)
540
- }));
541
- return t(e.update(r, { scrollIntoView: !0, userEvent: "input" })), !0;
542
- }, Kt = ({ state: e, dispatch: t }) => {
543
- if (e.readOnly)
544
- return !1;
545
- let r = e.changeByRange((n) => {
546
- if (!n.empty || n.from == 0 || n.from == e.doc.length)
547
- return { range: n };
548
- let l = n.from, o = e.doc.lineAt(l), c = l == o.from ? l - 1 : M(o.text, l - o.from, !1) + o.from, s = l == o.to ? l + 1 : M(o.text, l - o.from, !0) + o.from;
549
- return {
550
- changes: { from: c, to: s, insert: e.doc.slice(l, s).append(e.doc.slice(c, l)) },
551
- range: a.cursor(s)
352
+ return c.useEffect(() => {
353
+ const m = (w) => {
354
+ const E = w.target;
355
+ (p == null ? void 0 : p.contains(E)) && W(w, D);
552
356
  };
553
- });
554
- return r.changes.empty ? !1 : (t(e.update(r, { scrollIntoView: !0, userEvent: "move.character" })), !0);
555
- };
556
- function P(e) {
557
- let t = [], r = -1;
558
- for (let n of e.selection.ranges) {
559
- let l = e.doc.lineAt(n.from), o = e.doc.lineAt(n.to);
560
- if (!n.empty && n.to == o.from && (o = e.doc.lineAt(n.to - 1)), r >= l.number) {
561
- let c = t[t.length - 1];
562
- c.to = o.to, c.ranges.push(n);
563
- } else
564
- t.push({ from: l.from, to: o.to, ranges: [n] });
565
- r = o.number + 1;
566
- }
567
- return t;
568
- }
569
- function Ne(e, t, r) {
570
- if (e.readOnly)
571
- return !1;
572
- let n = [], l = [];
573
- for (let o of P(e)) {
574
- if (r ? o.to == e.doc.length : o.from == 0)
575
- continue;
576
- let c = e.doc.lineAt(r ? o.to + 1 : o.from - 1), s = c.length + 1;
577
- if (r) {
578
- n.push({ from: o.to, to: c.to }, { from: o.from, insert: c.text + e.lineBreak });
579
- for (let i of o.ranges)
580
- l.push(a.range(Math.min(e.doc.length, i.anchor + s), Math.min(e.doc.length, i.head + s)));
581
- } else {
582
- n.push({ from: c.from, to: o.from }, { from: o.to, insert: e.lineBreak + c.text });
583
- for (let i of o.ranges)
584
- l.push(a.range(i.anchor - s, i.head - s));
357
+ return document.addEventListener("wheel", m, { passive: !1 }), () => document.removeEventListener("wheel", m, { passive: !1 });
358
+ }, [U, p, D, W]), c.useEffect(x, [l, x]), T(p, H), T(S.content, H), /* @__PURE__ */ b(
359
+ me,
360
+ {
361
+ scope: r,
362
+ scrollbar: p,
363
+ hasThumb: o,
364
+ onThumbChange: C(n),
365
+ onThumbPointerUp: C(i),
366
+ onThumbPositionChange: x,
367
+ onThumbPointerDown: C(s),
368
+ children: /* @__PURE__ */ b(
369
+ L.div,
370
+ {
371
+ ...u,
372
+ ref: M,
373
+ style: { position: "absolute", ...u.style },
374
+ onPointerDown: R(e.onPointerDown, (m) => {
375
+ m.button === 0 && (m.target.setPointerCapture(m.pointerId), P.current = p.getBoundingClientRect(), _.current = document.body.style.webkitUserSelect, document.body.style.webkitUserSelect = "none", S.viewport && (S.viewport.style.scrollBehavior = "auto"), z(m));
376
+ }),
377
+ onPointerMove: R(e.onPointerMove, z),
378
+ onPointerUp: R(e.onPointerUp, (m) => {
379
+ const w = m.target;
380
+ w.hasPointerCapture(m.pointerId) && w.releasePointerCapture(m.pointerId), document.body.style.webkitUserSelect = _.current, S.viewport && (S.viewport.style.scrollBehavior = ""), P.current = null;
381
+ })
382
+ }
383
+ )
585
384
  }
385
+ );
386
+ }), N = "ScrollAreaThumb", pe = c.forwardRef(
387
+ (e, t) => {
388
+ const { forceMount: r, ...l } = e, o = K(N, e.__scopeScrollArea);
389
+ return /* @__PURE__ */ b(I, { present: r || o.hasThumb, children: /* @__PURE__ */ b(ve, { ref: t, ...l }) });
586
390
  }
587
- return n.length ? (t(e.update({
588
- changes: n,
589
- scrollIntoView: !0,
590
- selection: a.create(l, e.selection.mainIndex),
591
- userEvent: "move.line"
592
- })), !0) : !1;
593
- }
594
- const $t = ({ state: e, dispatch: t }) => Ne(e, t, !1), Wt = ({ state: e, dispatch: t }) => Ne(e, t, !0);
595
- function Pe(e, t, r) {
596
- if (e.readOnly)
597
- return !1;
598
- let n = [];
599
- for (let o of P(e))
600
- r ? n.push({ from: o.from, insert: e.doc.slice(o.from, o.to) + e.lineBreak }) : n.push({ from: o.to, insert: e.lineBreak + e.doc.slice(o.from, o.to) });
601
- let l = e.changes(n);
602
- return t(e.update({
603
- changes: l,
604
- selection: e.selection.map(l, r ? 1 : -1),
605
- scrollIntoView: !0,
606
- userEvent: "input.copyline"
607
- })), !0;
608
- }
609
- const Qt = ({ state: e, dispatch: t }) => Pe(e, t, !1), Xt = ({ state: e, dispatch: t }) => Pe(e, t, !0), Yt = (e) => {
610
- if (e.state.readOnly)
611
- return !1;
612
- let { state: t } = e, r = t.changes(P(t).map(({ from: l, to: o }) => (l > 0 ? l-- : o < t.doc.length && o++, { from: l, to: o }))), n = D(t.selection, (l) => {
613
- let o;
614
- if (e.lineWrapping) {
615
- let c = e.lineBlockAt(l.head), s = e.coordsAtPos(l.head, l.assoc || 1);
616
- s && (o = c.bottom + e.documentTop - s.bottom + e.defaultLineHeight / 2);
391
+ ), ve = c.forwardRef(
392
+ (e, t) => {
393
+ const { __scopeScrollArea: r, style: l, ...o } = e, n = v(N, r), i = K(N, r), { onThumbPositionChange: s } = i, a = A(
394
+ t,
395
+ (h) => i.onThumbChange(h)
396
+ ), f = c.useRef(void 0), d = Y(() => {
397
+ f.current && (f.current(), f.current = void 0);
398
+ }, 100);
399
+ return c.useEffect(() => {
400
+ const h = n.viewport;
401
+ if (h) {
402
+ const u = () => {
403
+ if (d(), !f.current) {
404
+ const S = Pe(h, s);
405
+ f.current = S, s();
406
+ }
407
+ };
408
+ return s(), h.addEventListener("scroll", u), () => h.removeEventListener("scroll", u);
409
+ }
410
+ }, [n.viewport, d, s]), /* @__PURE__ */ b(
411
+ L.div,
412
+ {
413
+ "data-state": i.hasThumb ? "visible" : "hidden",
414
+ ...o,
415
+ ref: a,
416
+ style: {
417
+ width: "var(--radix-scroll-area-thumb-width)",
418
+ height: "var(--radix-scroll-area-thumb-height)",
419
+ ...l
420
+ },
421
+ onPointerDownCapture: R(e.onPointerDownCapture, (h) => {
422
+ const S = h.target.getBoundingClientRect(), p = h.clientX - S.left, y = h.clientY - S.top;
423
+ i.onThumbPointerDown({ x: p, y });
424
+ }),
425
+ onPointerUp: R(e.onPointerUp, i.onThumbPointerUp)
426
+ }
427
+ );
428
+ }
429
+ );
430
+ pe.displayName = N;
431
+ var B = "ScrollAreaCorner", Z = c.forwardRef(
432
+ (e, t) => {
433
+ const r = v(B, e.__scopeScrollArea), l = !!(r.scrollbarX && r.scrollbarY);
434
+ return r.type !== "scroll" && l ? /* @__PURE__ */ b(we, { ...e, ref: t }) : null;
435
+ }
436
+ );
437
+ Z.displayName = B;
438
+ var we = c.forwardRef((e, t) => {
439
+ const { __scopeScrollArea: r, ...l } = e, o = v(B, r), [n, i] = c.useState(0), [s, a] = c.useState(0), f = !!(n && s);
440
+ return T(o.scrollbarX, () => {
441
+ var h;
442
+ const d = ((h = o.scrollbarX) == null ? void 0 : h.offsetHeight) || 0;
443
+ o.onCornerHeightChange(d), a(d);
444
+ }), T(o.scrollbarY, () => {
445
+ var h;
446
+ const d = ((h = o.scrollbarY) == null ? void 0 : h.offsetWidth) || 0;
447
+ o.onCornerWidthChange(d), i(d);
448
+ }), f ? /* @__PURE__ */ b(
449
+ L.div,
450
+ {
451
+ ...l,
452
+ ref: t,
453
+ style: {
454
+ width: n,
455
+ height: s,
456
+ position: "absolute",
457
+ right: o.dir === "ltr" ? 0 : void 0,
458
+ left: o.dir === "rtl" ? 0 : void 0,
459
+ bottom: 0,
460
+ ...e.style
461
+ }
617
462
  }
618
- return e.moveVertically(l, !0, o);
619
- }).map(r);
620
- return e.dispatch({ changes: r, selection: n, scrollIntoView: !0, userEvent: "delete.line" }), !0;
621
- };
622
- function Zt(e, t) {
623
- if (/\(\)|\[\]|\{\}/.test(e.sliceDoc(t - 1, t + 1)))
624
- return { from: t, to: t };
625
- let r = $(e).resolveInner(t), n = r.childBefore(t), l = r.childAfter(t), o;
626
- return n && l && n.to <= t && l.from >= t && (o = n.type.prop(F.closedBy)) && o.indexOf(l.name) > -1 && e.doc.lineAt(n.to).from == e.doc.lineAt(l.from).from && !/\S/.test(e.sliceDoc(n.to, l.from)) ? { from: n.to, to: l.from } : null;
627
- }
628
- const oe = /* @__PURE__ */ Ue(!1), jt = /* @__PURE__ */ Ue(!0);
629
- function Ue(e) {
630
- return ({ state: t, dispatch: r }) => {
631
- if (t.readOnly)
632
- return !1;
633
- let n = t.changeByRange((l) => {
634
- let { from: o, to: c } = l, s = t.doc.lineAt(o), i = !e && o == c && Zt(t, o);
635
- e && (o = c = (c <= s.to ? s : t.doc.lineAt(c)).to);
636
- let f = new ue(t, { simulateBreak: o, simulateDoubleBreak: !!i }), u = fe(f, o);
637
- for (u == null && (u = K(/^\s*/.exec(t.doc.lineAt(o).text)[0], t.tabSize)); c < s.to && /\s/.test(s.text[c - s.from]); )
638
- c++;
639
- i ? { from: o, to: c } = i : o > s.from && o < s.from + 100 && !/\S/.test(s.text.slice(0, o)) && (o = s.from);
640
- let h = ["", R(t, u)];
641
- return i && h.push(R(t, f.lineIndent(s.from, -1))), {
642
- changes: { from: o, to: c, insert: le.of(h) },
643
- range: a.cursor(o + 1 + h[1].length)
644
- };
645
- });
646
- return r(t.update(n, { scrollIntoView: !0, userEvent: "input" })), !0;
463
+ ) : null;
464
+ });
465
+ function O(e) {
466
+ return e ? parseInt(e, 10) : 0;
467
+ }
468
+ function ee(e, t) {
469
+ const r = e / t;
470
+ return isNaN(r) ? 0 : r;
471
+ }
472
+ function X(e) {
473
+ const t = ee(e.viewport, e.content), r = e.scrollbar.paddingStart + e.scrollbar.paddingEnd, l = (e.scrollbar.size - r) * t;
474
+ return Math.max(l, 18);
475
+ }
476
+ function ge(e, t, r, l = "ltr") {
477
+ const o = X(r), n = o / 2, i = t || n, s = o - i, a = r.scrollbar.paddingStart + i, f = r.scrollbar.size - r.scrollbar.paddingEnd - s, d = r.content - r.viewport, h = l === "ltr" ? [0, d] : [d * -1, 0];
478
+ return re([a, f], h)(e);
479
+ }
480
+ function F(e, t, r = "ltr") {
481
+ const l = X(t), o = t.scrollbar.paddingStart + t.scrollbar.paddingEnd, n = t.scrollbar.size - o, i = t.content - t.viewport, s = n - l, a = r === "ltr" ? [0, i] : [i * -1, 0], f = ce(e, a);
482
+ return re([0, i], [0, s])(f);
483
+ }
484
+ function re(e, t) {
485
+ return (r) => {
486
+ if (e[0] === e[1] || t[0] === t[1]) return t[0];
487
+ const l = (t[1] - t[0]) / (e[1] - e[0]);
488
+ return t[0] + l * (r - e[0]);
647
489
  };
648
490
  }
491
+ function oe(e, t) {
492
+ return e > 0 && e < t;
493
+ }
494
+ var Pe = (e, t = () => {
495
+ }) => {
496
+ let r = { left: e.scrollLeft, top: e.scrollTop }, l = 0;
497
+ return function o() {
498
+ const n = { left: e.scrollLeft, top: e.scrollTop }, i = r.left !== n.left, s = r.top !== n.top;
499
+ (i || s) && t(), r = n, l = window.requestAnimationFrame(o);
500
+ }(), () => window.cancelAnimationFrame(l);
501
+ };
649
502
  function Y(e, t) {
650
- let r = -1;
651
- return e.changeByRange((n) => {
652
- let l = [];
653
- for (let c = n.from; c <= n.to; ) {
654
- let s = e.doc.lineAt(c);
655
- s.number > r && (n.empty || n.to > s.from) && (t(s, l, n), r = s.number), c = s.to + 1;
503
+ const r = C(e), l = c.useRef(0);
504
+ return c.useEffect(() => () => window.clearTimeout(l.current), []), c.useCallback(() => {
505
+ window.clearTimeout(l.current), l.current = window.setTimeout(r, t);
506
+ }, [r, t]);
507
+ }
508
+ function T(e, t) {
509
+ const r = C(t);
510
+ le(() => {
511
+ let l = 0;
512
+ if (e) {
513
+ const o = new ResizeObserver(() => {
514
+ cancelAnimationFrame(l), l = window.requestAnimationFrame(r);
515
+ });
516
+ return o.observe(e), () => {
517
+ window.cancelAnimationFrame(l), o.unobserve(e);
518
+ };
656
519
  }
657
- let o = e.changes(l);
658
- return {
659
- changes: l,
660
- range: a.range(o.mapPos(n.anchor, 1), o.mapPos(n.head, 1))
661
- };
662
- });
520
+ }, [e, r]);
663
521
  }
664
- const wt = ({ state: e, dispatch: t }) => {
665
- if (e.readOnly)
666
- return !1;
667
- let r = /* @__PURE__ */ Object.create(null), n = new ue(e, { overrideIndentation: (o) => {
668
- let c = r[o];
669
- return c ?? -1;
670
- } }), l = Y(e, (o, c, s) => {
671
- let i = fe(n, o.from);
672
- if (i == null)
673
- return;
674
- /\S/.test(o.text) || (i = 0);
675
- let f = /^\s*/.exec(o.text)[0], u = R(e, i);
676
- (f != u || s.from < o.from + f.length) && (r[o.from] = i, c.push({ from: o.from, to: o.from + f.length, insert: u }));
677
- });
678
- return l.changes.empty || t(e.update(l, { userEvent: "indent" })), !0;
679
- }, _t = ({ state: e, dispatch: t }) => e.readOnly ? !1 : (t(e.update(Y(e, (r, n) => {
680
- n.push({ from: r.from, insert: e.facet(He) });
681
- }), { userEvent: "input.indent" })), !0), en = ({ state: e, dispatch: t }) => e.readOnly ? !1 : (t(e.update(Y(e, (r, n) => {
682
- let l = /^\s*/.exec(r.text)[0];
683
- if (!l)
684
- return;
685
- let o = K(l, e.tabSize), c = 0, s = R(e, Math.max(0, o - G(e)));
686
- for (; c < l.length && c < s.length && l.charCodeAt(c) == s.charCodeAt(c); )
687
- c++;
688
- n.push({ from: r.from + c, to: r.from + l.length, insert: s.slice(c) });
689
- }), { userEvent: "delete.dedent" })), !0), tn = (e) => (e.setTabFocusMode(), !0), nn = [
690
- { key: "Ctrl-b", run: me, shift: De, preventDefault: !0 },
691
- { key: "Ctrl-f", run: pe, shift: Ce },
692
- { key: "Ctrl-p", run: ke, shift: Ee },
693
- { key: "Ctrl-n", run: Ae, shift: Oe },
694
- { key: "Ctrl-a", run: At, shift: Rt },
695
- { key: "Ctrl-e", run: Bt, shift: It },
696
- { key: "Ctrl-d", run: Ie },
697
- { key: "Ctrl-h", run: H },
698
- { key: "Ctrl-k", run: Ft },
699
- { key: "Ctrl-Alt-h", run: Ve },
700
- { key: "Ctrl-o", run: Ht },
701
- { key: "Ctrl-t", run: Kt },
702
- { key: "Ctrl-v", run: q }
703
- ], rn = /* @__PURE__ */ [
704
- { key: "ArrowLeft", run: me, shift: De, preventDefault: !0 },
705
- { key: "Mod-ArrowLeft", mac: "Alt-ArrowLeft", run: ft, shift: Dt, preventDefault: !0 },
706
- { mac: "Cmd-ArrowLeft", run: yt, shift: Tt, preventDefault: !0 },
707
- { key: "ArrowRight", run: pe, shift: Ce, preventDefault: !0 },
708
- { key: "Mod-ArrowRight", mac: "Alt-ArrowRight", run: at, shift: Ct, preventDefault: !0 },
709
- { mac: "Cmd-ArrowRight", run: kt, shift: bt, preventDefault: !0 },
710
- { key: "ArrowUp", run: ke, shift: Ee, preventDefault: !0 },
711
- { mac: "Cmd-ArrowUp", run: ee, shift: ne },
712
- { mac: "Ctrl-ArrowUp", run: j, shift: w },
713
- { key: "ArrowDown", run: Ae, shift: Oe, preventDefault: !0 },
714
- { mac: "Cmd-ArrowDown", run: te, shift: re },
715
- { mac: "Ctrl-ArrowDown", run: q, shift: _ },
716
- { key: "PageUp", run: j, shift: w },
717
- { key: "PageDown", run: q, shift: _ },
718
- { key: "Home", run: gt, shift: Ot, preventDefault: !0 },
719
- { key: "Mod-Home", run: ee, shift: ne },
720
- { key: "End", run: pt, shift: Et, preventDefault: !0 },
721
- { key: "Mod-End", run: te, shift: re },
722
- { key: "Enter", run: oe, shift: oe },
723
- { key: "Mod-a", run: vt },
724
- { key: "Backspace", run: H, shift: H, preventDefault: !0 },
725
- { key: "Delete", run: Ie, preventDefault: !0 },
726
- { key: "Mod-Backspace", mac: "Alt-Backspace", run: Ve, preventDefault: !0 },
727
- { key: "Mod-Delete", mac: "Alt-Delete", run: Gt, preventDefault: !0 },
728
- { mac: "Mod-Backspace", run: zt, preventDefault: !0 },
729
- { mac: "Mod-Delete", run: qt, preventDefault: !0 }
730
- ].concat(/* @__PURE__ */ nn.map((e) => ({ mac: e.key, run: e.run, shift: e.shift }))), an = /* @__PURE__ */ [
731
- { key: "Alt-ArrowLeft", mac: "Ctrl-ArrowLeft", run: dt, shift: Lt },
732
- { key: "Alt-ArrowRight", mac: "Ctrl-ArrowRight", run: mt, shift: Mt },
733
- { key: "Alt-ArrowUp", run: $t },
734
- { key: "Shift-Alt-ArrowUp", run: Qt },
735
- { key: "Alt-ArrowDown", run: Wt },
736
- { key: "Shift-Alt-ArrowDown", run: Xt },
737
- { key: "Mod-Alt-ArrowUp", run: Pt },
738
- { key: "Mod-Alt-ArrowDown", run: Ut },
739
- { key: "Escape", run: Jt },
740
- { key: "Mod-Enter", run: jt },
741
- { key: "Alt-l", mac: "Ctrl-l", run: Vt },
742
- { key: "Mod-i", run: Nt, preventDefault: !0 },
743
- { key: "Mod-[", run: en },
744
- { key: "Mod-]", run: _t },
745
- { key: "Mod-Alt-\\", run: wt },
746
- { key: "Shift-Mod-k", run: Yt },
747
- { key: "Shift-Mod-\\", run: xt },
748
- { key: "Mod-/", run: Ke },
749
- { key: "Alt-A", run: We },
750
- { key: "Ctrl-m", mac: "Shift-Alt-m", run: tn }
751
- ].concat(rn);
522
+ var He = q, ze = G, Ne = Z;
752
523
  export {
753
- Pt as addCursorAbove,
754
- Ut as addCursorBelow,
755
- Xt as copyLineDown,
756
- Qt as copyLineUp,
757
- fn as cursorCharBackward,
758
- me as cursorCharLeft,
759
- pe as cursorCharRight,
760
- te as cursorDocEnd,
761
- ee as cursorDocStart,
762
- ft as cursorGroupLeft,
763
- at as cursorGroupRight,
764
- gt as cursorLineBoundaryBackward,
765
- pt as cursorLineBoundaryForward,
766
- yt as cursorLineBoundaryLeft,
767
- kt as cursorLineBoundaryRight,
768
- Ae as cursorLineDown,
769
- Bt as cursorLineEnd,
770
- At as cursorLineStart,
771
- ke as cursorLineUp,
772
- xt as cursorMatchingBracket,
773
- q as cursorPageDown,
774
- j as cursorPageUp,
775
- dt as cursorSyntaxLeft,
776
- mt as cursorSyntaxRight,
777
- an as defaultKeymap,
778
- H as deleteCharBackward,
779
- Ie as deleteCharForward,
780
- Ve as deleteGroupBackward,
781
- Gt as deleteGroupForward,
782
- Yt as deleteLine,
783
- zt as deleteLineBoundaryBackward,
784
- qt as deleteLineBoundaryForward,
785
- Ft as deleteToLineEnd,
786
- nn as emacsStyleKeymap,
787
- un as historyKeymap,
788
- en as indentLess,
789
- _t as indentMore,
790
- wt as indentSelection,
791
- jt as insertBlankLine,
792
- oe as insertNewlineAndIndent,
793
- we as invertedEffects,
794
- je as isolateHistory,
795
- Wt as moveLineDown,
796
- $t as moveLineUp,
797
- Z as redo,
798
- rt as redoSelection,
799
- vt as selectAll,
800
- De as selectCharLeft,
801
- Ce as selectCharRight,
802
- re as selectDocEnd,
803
- ne as selectDocStart,
804
- Dt as selectGroupLeft,
805
- Ct as selectGroupRight,
806
- Vt as selectLine,
807
- Ot as selectLineBoundaryBackward,
808
- Et as selectLineBoundaryForward,
809
- Tt as selectLineBoundaryLeft,
810
- bt as selectLineBoundaryRight,
811
- Oe as selectLineDown,
812
- It as selectLineEnd,
813
- Rt as selectLineStart,
814
- Ee as selectLineUp,
815
- _ as selectPageDown,
816
- w as selectPageUp,
817
- Nt as selectParentSyntax,
818
- Lt as selectSyntaxLeft,
819
- Mt as selectSyntaxRight,
820
- Jt as simplifySelection,
821
- Ht as splitLine,
822
- rn as standardKeymap,
823
- We as toggleBlockComment,
824
- Qe as toggleBlockCommentByLine,
825
- Ke as toggleComment,
826
- $e as toggleLineComment,
827
- tn as toggleTabFocusMode,
828
- Kt as transposeChars,
829
- tt as undo,
830
- nt as undoSelection
524
+ Ne as Corner,
525
+ He as Root,
526
+ q as ScrollArea,
527
+ Z as ScrollAreaCorner,
528
+ ue as ScrollAreaScrollbar,
529
+ pe as ScrollAreaThumb,
530
+ G as ScrollAreaViewport,
531
+ ze as Viewport
831
532
  };