alinea 2.0.0-preview.0 → 2.0.0-preview.2

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 (237) hide show
  1. package/dist/.init/content/pages/welcome.json +1 -1
  2. package/dist/LICENSES.md +134 -80
  3. package/dist/adapter/next/DevRemote.d.ts +3 -0
  4. package/dist/adapter/next/DevRemote.js +37 -0
  5. package/dist/adapter/next/ForwardCredentials.d.ts +1 -0
  6. package/dist/adapter/next/ForwardCredentials.js +17 -0
  7. package/dist/adapter/next/cms.js +86 -38
  8. package/dist/adapter/next/context.d.ts +1 -1
  9. package/dist/adapter/next/context.js +11 -3
  10. package/dist/adapter/next/handler.d.ts +2 -0
  11. package/dist/adapter/next/handler.js +23 -16
  12. package/dist/adapter/next/with-alinea.js +18 -16
  13. package/dist/backend/Handler.d.ts +14 -13
  14. package/dist/backend/Handler.js +70 -36
  15. package/dist/backend/resolver/ParsePreview.d.ts +8 -4
  16. package/dist/backend/resolver/ParsePreview.js +40 -43
  17. package/dist/backend/router/Router.d.ts +1 -0
  18. package/dist/backend/router/Router.js +21 -15
  19. package/dist/bundled.d.ts +369 -99
  20. package/dist/chunks/chunk-6UT4N4CO.js +919 -0
  21. package/dist/chunks/{chunk-LUBOGJCG.js → chunk-6V4TAD2N.js} +1 -1
  22. package/dist/chunks/{chunk-TL7ZW6BX.js → chunk-A3XXZBOQ.js} +2535 -2999
  23. package/dist/chunks/chunk-AC5ATYI3.js +1434 -0
  24. package/dist/chunks/{chunk-7ORQ7BYK.js → chunk-KMLLLZ6X.js} +202 -269
  25. package/dist/chunks/{chunk-IWN3T3FL.js → chunk-O7XWTMCB.js} +1 -1
  26. package/dist/chunks/{chunk-53DZYORR.js → chunk-PAYSVIYI.js} +76 -176
  27. package/dist/chunks/{chunk-YK3OSMDM.js → chunk-S4AU6SRS.js} +188 -158
  28. package/dist/chunks/{chunk-EQ3TDHYD.js → chunk-UVOEM4AH.js} +6 -3
  29. package/dist/chunks/{chunk-I7X64JTZ.js → chunk-VXZM6V4P.js} +4 -4
  30. package/dist/cli/Generate.js +3 -13
  31. package/dist/cli/Serve.js +7 -3
  32. package/dist/cli/bin.js +8 -5
  33. package/dist/cli/generate/CompileConfig.js +3 -2
  34. package/dist/cli/generate/CopyStaticFiles.js +2 -3
  35. package/dist/cli/generate/DevDB.d.ts +1 -1
  36. package/dist/cli/generate/DevDB.js +3 -5
  37. package/dist/cli/serve/CreateLocalServer.d.ts +1 -1
  38. package/dist/cli/serve/CreateLocalServer.js +3 -2
  39. package/dist/cli/serve/DevServer.d.ts +3 -2
  40. package/dist/cli/serve/DevServer.js +60 -3
  41. package/dist/cli/serve/ServeContext.d.ts +1 -0
  42. package/dist/cli/serve/StartServer.d.ts +1 -0
  43. package/dist/cli/serve/StartServer.js +6 -1
  44. package/dist/cli/util/EnsureLibs.js +2 -2
  45. package/dist/cli/util/EnsureNode.js +2 -2
  46. package/dist/cloud/CloudRemote.d.ts +2 -1
  47. package/dist/cloud/CloudRemote.js +3 -2
  48. package/dist/components/Breadcrumbs.js +8 -8
  49. package/dist/components/Button.js +6 -6
  50. package/dist/components/Calendar.js +11 -11
  51. package/dist/components/Checkbox.js +7 -7
  52. package/dist/components/CheckboxGroup.js +6 -6
  53. package/dist/components/ColorSwatch.js +6 -6
  54. package/dist/components/ColorSwatchPicker.js +6 -6
  55. package/dist/components/ComboBox.js +17 -17
  56. package/dist/components/DateField.js +9 -9
  57. package/dist/components/DatePicker.js +10 -10
  58. package/dist/components/DateRangePicker.js +14 -14
  59. package/dist/components/Dialog.js +6 -6
  60. package/dist/components/Disclosure.js +13 -13
  61. package/dist/components/DropZone.js +6 -6
  62. package/dist/components/Label.js +16 -16
  63. package/dist/components/Link.js +6 -6
  64. package/dist/components/List.js +34 -34
  65. package/dist/components/Menu.js +10 -10
  66. package/dist/components/Modal.js +8 -8
  67. package/dist/components/MultipleSelect.js +33 -33
  68. package/dist/components/NumberField.d.ts +2 -1
  69. package/dist/components/NumberField.js +21 -11
  70. package/dist/components/Popover.js +6 -6
  71. package/dist/components/ProgressCircle.js +10 -10
  72. package/dist/components/RadioGroup.js +6 -6
  73. package/dist/components/SearchField.js +11 -11
  74. package/dist/components/Select.js +13 -13
  75. package/dist/components/Surface.js +3 -3
  76. package/dist/components/Switch.js +6 -6
  77. package/dist/components/Table.js +13 -13
  78. package/dist/components/Tabs.js +8 -8
  79. package/dist/components/TagGroup.js +7 -7
  80. package/dist/components/TextField.js +10 -10
  81. package/dist/components/TimeField.js +6 -6
  82. package/dist/components/Toggle.js +6 -6
  83. package/dist/components/Toolbar.js +7 -7
  84. package/dist/components/Tooltip.js +10 -10
  85. package/dist/components/Tree.js +9 -9
  86. package/dist/core/BlobTransport.d.ts +5 -0
  87. package/dist/core/BlobTransport.js +79 -0
  88. package/dist/core/Client.d.ts +2 -1
  89. package/dist/core/Client.js +17 -12
  90. package/dist/core/Config.d.ts +4 -0
  91. package/dist/core/Config.js +6 -0
  92. package/dist/core/Connection.d.ts +4 -3
  93. package/dist/core/Connection.js +7 -0
  94. package/dist/core/Graph.d.ts +3 -4
  95. package/dist/core/ListRow.d.ts +2 -0
  96. package/dist/core/OrderBy.d.ts +7 -3
  97. package/dist/core/TextDoc.d.ts +11 -0
  98. package/dist/core/Trace.d.ts +8 -0
  99. package/dist/core/Trace.js +32 -0
  100. package/dist/core/Type.d.ts +7 -1
  101. package/dist/core/db/CommitRequest.d.ts +0 -3
  102. package/dist/core/db/CommitRequest.js +0 -9
  103. package/dist/core/db/EntryDB.js +1 -1
  104. package/dist/core/db/EntryIndex.d.ts +12 -2
  105. package/dist/core/db/EntryIndex.js +131 -22
  106. package/dist/core/db/EntryResolver.js +104 -29
  107. package/dist/core/db/EntryTransaction.d.ts +1 -2
  108. package/dist/core/db/EntryTransaction.js +29 -22
  109. package/dist/core/db/LocalDB.d.ts +5 -5
  110. package/dist/core/db/LocalDB.js +27 -12
  111. package/dist/core/field/RichTextField.d.ts +30 -3
  112. package/dist/core/field/RichTextField.js +124 -56
  113. package/dist/core/media/MediaAltField.d.ts +1 -0
  114. package/dist/core/media/MediaAltField.js +9 -1
  115. package/dist/core/media/MediaLocation.d.ts +5 -2
  116. package/dist/core/media/MediaLocation.js +6 -7
  117. package/dist/core/media/MediaTypes.js +11 -0
  118. package/dist/core/source/CombinedSource.d.ts +2 -2
  119. package/dist/core/source/CombinedSource.js +6 -3
  120. package/dist/core/source/FSSource.d.ts +4 -3
  121. package/dist/core/source/FSSource.js +59 -27
  122. package/dist/core/source/GithubSource.d.ts +2 -2
  123. package/dist/core/source/GithubSource.js +21 -9
  124. package/dist/core/source/IndexedDBSource.d.ts +2 -2
  125. package/dist/core/source/IndexedDBSource.js +3 -1
  126. package/dist/core/source/MemorySource.d.ts +2 -2
  127. package/dist/core/source/MemorySource.js +3 -1
  128. package/dist/core/source/OverlaySource.d.ts +12 -0
  129. package/dist/core/source/OverlaySource.js +50 -0
  130. package/dist/core/source/Source.d.ts +5 -2
  131. package/dist/core/source/Source.js +3 -3
  132. package/dist/core/util/Async.d.ts +8 -2
  133. package/dist/core/util/Async.js +67 -0
  134. package/dist/core/util/EntryFilenames.d.ts +2 -2
  135. package/dist/core/util/EntryFilenames.js +3 -3
  136. package/dist/dashboard/App.css +158 -0
  137. package/dist/dashboard/App.js +2 -2
  138. package/dist/dashboard/app/AccessDenied.js +3 -3
  139. package/dist/dashboard/app/ActivityStatus.js +15 -15
  140. package/dist/dashboard/app/AppShell.js +1 -1
  141. package/dist/dashboard/app/AuthView.js +11 -11
  142. package/dist/dashboard/app/CompactField.js +10 -10
  143. package/dist/dashboard/app/DashboardErrorBoundary.js +5 -5
  144. package/dist/dashboard/app/DashboardLayout.js +22 -19
  145. package/dist/dashboard/app/EntryHeader.js +12 -12
  146. package/dist/dashboard/app/EntryReferences.js +9 -9
  147. package/dist/dashboard/app/EntrySidebar.d.ts +1 -1
  148. package/dist/dashboard/app/EntrySidebar.js +17 -16
  149. package/dist/dashboard/app/EntrySidebarPreview.d.ts +1 -1
  150. package/dist/dashboard/app/EntrySidebarPreview.js +19 -14
  151. package/dist/dashboard/app/EntryTranslationBanner.js +7 -7
  152. package/dist/dashboard/app/Explorer.js +51 -43
  153. package/dist/dashboard/app/ExplorerCards.js +34 -34
  154. package/dist/dashboard/app/ExplorerFileCard.js +18 -18
  155. package/dist/dashboard/app/ExplorerList.js +13 -13
  156. package/dist/dashboard/app/ExplorerModal.js +3 -3
  157. package/dist/dashboard/app/ExplorerTable.js +76 -61
  158. package/dist/dashboard/app/ExternalLinkPicker.js +15 -4
  159. package/dist/dashboard/app/LinkPicker.js +8 -8
  160. package/dist/dashboard/app/LocaleMenu.js +12 -12
  161. package/dist/dashboard/app/SidebarLayout.d.ts +8 -0
  162. package/dist/dashboard/app/SidebarLayout.js +1169 -0
  163. package/dist/dashboard/app/SidebarTree.js +46 -46
  164. package/dist/dashboard/app/WorkspaceMenu.js +17 -17
  165. package/dist/dashboard/app/WorkspaceRoots.js +23 -23
  166. package/dist/dashboard/app/editor/FileEditor.d.ts +2 -1
  167. package/dist/dashboard/app/editor/FileEditor.js +41 -32
  168. package/dist/dashboard/app/editor/FilePreview.js +4 -4
  169. package/dist/dashboard/app/editor/MediaAltField.view.d.ts +1 -1
  170. package/dist/dashboard/app/editor/MediaAltField.view.js +6 -9
  171. package/dist/dashboard/app/modals/CreateEntry.js +4 -4
  172. package/dist/dashboard/app/pages/EntryPage.js +57 -31
  173. package/dist/dashboard/app/pages/UsersPage.js +33 -33
  174. package/dist/dashboard/app/ui/DashboardModal.js +23 -23
  175. package/dist/dashboard/app/ui/Rail.js +3 -3
  176. package/dist/dashboard/app/ui/Sidebar.js +2 -2
  177. package/dist/dashboard/atoms/auth.js +2 -0
  178. package/dist/dashboard/atoms/dashboard.d.ts +9 -0
  179. package/dist/dashboard/atoms/dashboard.js +17 -0
  180. package/dist/dashboard/atoms/editor.d.ts +7 -1
  181. package/dist/dashboard/atoms/editor.js +4 -1
  182. package/dist/dashboard/atoms/entry.d.ts +48 -2
  183. package/dist/dashboard/atoms/entry.js +222 -17
  184. package/dist/dashboard/atoms/explorer.js +4 -9
  185. package/dist/dashboard/atoms/preview.d.ts +3 -0
  186. package/dist/dashboard/atoms/preview.js +18 -1
  187. package/dist/dashboard/atoms/root.d.ts +4 -1
  188. package/dist/dashboard/atoms/root.js +96 -157
  189. package/dist/dashboard/hooks.d.ts +4 -2
  190. package/dist/dashboard/hooks.js +9 -5
  191. package/dist/dashboard/icons.d.ts +1 -0
  192. package/dist/dashboard/icons.js +10 -0
  193. package/dist/field/check/CheckField.view.js +2 -2
  194. package/dist/field/code/CodeField.view.js +12 -12
  195. package/dist/field/date/DateField.view.js +12 -2
  196. package/dist/field/link/FileLink.d.ts +2 -2
  197. package/dist/field/link/FileLink.js +5 -3
  198. package/dist/field/link/ImageLink.d.ts +1 -1
  199. package/dist/field/link/ImageLink.js +1 -1
  200. package/dist/field/link/Link.js +2 -2
  201. package/dist/field/link/LinkField.view.js +155 -128
  202. package/dist/field/list/ListField.view.js +22 -33
  203. package/dist/field/metadata/MetadataField.view.js +19 -19
  204. package/dist/field/number/NumberField.d.ts +2 -0
  205. package/dist/field/number/NumberField.view.js +4 -2
  206. package/dist/field/richtext/PickTextLink.d.ts +7 -0
  207. package/dist/field/richtext/PickTextLink.js +104 -2
  208. package/dist/field/richtext/ReferenceLink.d.ts +4 -1
  209. package/dist/field/richtext/ReferenceLink.js +18 -4
  210. package/dist/field/richtext/RichTextDocument.d.ts +7 -2
  211. package/dist/field/richtext/RichTextDocument.js +34 -5
  212. package/dist/field/richtext/RichTextExtensions.d.ts +3 -1
  213. package/dist/field/richtext/RichTextExtensions.js +2704 -7467
  214. package/dist/field/richtext/RichTextField.d.ts +4 -0
  215. package/dist/field/richtext/RichTextField.story.d.ts +4 -0
  216. package/dist/field/richtext/RichTextField.view.js +43 -20
  217. package/dist/field/richtext/RichTextInsertMenu.js +281 -495
  218. package/dist/field/richtext/RichTextToolbar.d.ts +5 -2
  219. package/dist/field/richtext/RichTextToolbar.js +38 -3
  220. package/dist/field/richtext/Toolbar.d.ts +19 -1
  221. package/dist/field/richtext/Toolbar.js +18 -13
  222. package/dist/field/richtext/extensions/Anchor.js +1 -1
  223. package/dist/field/richtext/extensions/Link.js +1 -1
  224. package/dist/field/richtext/extensions/Small.js +1 -1
  225. package/dist/field/select/SelectField.view.js +8 -6
  226. package/dist/index.css +227 -16
  227. package/dist/next.cjs +18 -16
  228. package/dist/next.d.ts +2 -1
  229. package/dist/next.edge.d.ts +2 -1
  230. package/dist/picker/entry/EntryPicker.js +9 -35
  231. package/dist/preview/PreviewPayload.js +35 -250
  232. package/dist/ui/RichText.d.ts +1 -0
  233. package/dist/ui/RichText.js +29 -2
  234. package/package.json +6 -3
  235. package/dist/cli/util/ExternalPlugin.d.ts +0 -2
  236. package/dist/cli/util/ExternalPlugin.js +0 -919
  237. package/dist/chunks/{chunk-JFROOUG6.js → chunk-NIVGVRDS.js} +17 -17
@@ -0,0 +1,1169 @@
1
+ import {
2
+ useAtom,
3
+ useAtomValue
4
+ } from "../../chunks/chunk-U4VOHNR2.js";
5
+ import "../../chunks/chunk-Y7XOMJOC.js";
6
+ import {
7
+ styler
8
+ } from "../../chunks/chunk-I4OYYAX5.js";
9
+ import "../../chunks/chunk-CQ52GEHY.js";
10
+
11
+ // node_modules/allotment/dist/modern.mjs
12
+ import e, { useState as t, useRef as i, useEffect as s, useCallback as n, useLayoutEffect as r, forwardRef as o, useMemo as a, useImperativeHandle as h } from "react";
13
+ function _extends() {
14
+ return _extends = Object.assign ? Object.assign.bind() : function(n2) {
15
+ for (var e3 = 1; e3 < arguments.length; e3++) {
16
+ var t2 = arguments[e3];
17
+ for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n2[r2] = t2[r2]);
18
+ }
19
+ return n2;
20
+ }, _extends.apply(null, arguments);
21
+ }
22
+ var l = "undefined" != typeof globalThis ? globalThis : "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : {};
23
+ function u(e3) {
24
+ return e3 && e3.__esModule && Object.prototype.hasOwnProperty.call(e3, "default") ? e3.default : e3;
25
+ }
26
+ var c;
27
+ var m = {
28
+ exports: {}
29
+ };
30
+ var d;
31
+ var f;
32
+ var p;
33
+ var v = (c || (c = 1, d = m, (function() {
34
+ var e3 = {}.hasOwnProperty;
35
+ function t2() {
36
+ for (var e4 = "", t3 = 0; t3 < arguments.length; t3++) {
37
+ var n2 = arguments[t3];
38
+ n2 && (e4 = s2(e4, i2(n2)));
39
+ }
40
+ return e4;
41
+ }
42
+ function i2(i3) {
43
+ if ("string" == typeof i3 || "number" == typeof i3) return i3;
44
+ if ("object" != typeof i3) return "";
45
+ if (Array.isArray(i3)) return t2.apply(null, i3);
46
+ if (i3.toString !== Object.prototype.toString && !i3.toString.toString().includes("[native code]")) return i3.toString();
47
+ var n2 = "";
48
+ for (var r2 in i3) e3.call(i3, r2) && i3[r2] && (n2 = s2(n2, r2));
49
+ return n2;
50
+ }
51
+ function s2(e4, t3) {
52
+ return t3 ? e4 ? e4 + " " + t3 : e4 + t3 : e4;
53
+ }
54
+ d.exports ? (t2.default = t2, d.exports = t2) : window.classNames = t2;
55
+ })()), m.exports);
56
+ var S = u(v);
57
+ var z;
58
+ var w;
59
+ var g = (p || (p = 1, f = function e2(t2, i2) {
60
+ if (t2 === i2) return true;
61
+ if (t2 && i2 && "object" == typeof t2 && "object" == typeof i2) {
62
+ if (t2.constructor !== i2.constructor) return false;
63
+ var s2, n2, r2;
64
+ if (Array.isArray(t2)) {
65
+ if ((s2 = t2.length) != i2.length) return false;
66
+ for (n2 = s2; 0 !== n2--; ) if (!e2(t2[n2], i2[n2])) return false;
67
+ return true;
68
+ }
69
+ if (t2 instanceof Map && i2 instanceof Map) {
70
+ if (t2.size !== i2.size) return false;
71
+ for (n2 of t2.entries()) if (!i2.has(n2[0])) return false;
72
+ for (n2 of t2.entries()) if (!e2(n2[1], i2.get(n2[0]))) return false;
73
+ return true;
74
+ }
75
+ if (t2 instanceof Set && i2 instanceof Set) {
76
+ if (t2.size !== i2.size) return false;
77
+ for (n2 of t2.entries()) if (!i2.has(n2[0])) return false;
78
+ return true;
79
+ }
80
+ if (ArrayBuffer.isView(t2) && ArrayBuffer.isView(i2)) {
81
+ if ((s2 = t2.length) != i2.length) return false;
82
+ for (n2 = s2; 0 !== n2--; ) if (t2[n2] !== i2[n2]) return false;
83
+ return true;
84
+ }
85
+ if (t2.constructor === RegExp) return t2.source === i2.source && t2.flags === i2.flags;
86
+ if (t2.valueOf !== Object.prototype.valueOf) return t2.valueOf() === i2.valueOf();
87
+ if (t2.toString !== Object.prototype.toString) return t2.toString() === i2.toString();
88
+ if ((s2 = (r2 = Object.keys(t2)).length) !== Object.keys(i2).length) return false;
89
+ for (n2 = s2; 0 !== n2--; ) if (!Object.prototype.hasOwnProperty.call(i2, r2[n2])) return false;
90
+ for (n2 = s2; 0 !== n2--; ) {
91
+ var o2 = r2[n2];
92
+ if (!e2(t2[o2], i2[o2])) return false;
93
+ }
94
+ return true;
95
+ }
96
+ return t2 != t2 && i2 != i2;
97
+ }), f);
98
+ var y = u(g);
99
+ var b;
100
+ var I;
101
+ var x = u((function() {
102
+ if (w) return z;
103
+ w = 1;
104
+ var e3 = /^\s+|\s+$/g, t2 = /^[-+]0x[0-9a-f]+$/i, i2 = /^0b[01]+$/i, s2 = /^0o[0-7]+$/i, n2 = parseInt, r2 = Object.prototype.toString;
105
+ function o2(e4) {
106
+ var t3 = typeof e4;
107
+ return !!e4 && ("object" == t3 || "function" == t3);
108
+ }
109
+ function a2(a3) {
110
+ if ("number" == typeof a3) return a3;
111
+ if ((function(e4) {
112
+ return "symbol" == typeof e4 || /* @__PURE__ */ (function(e5) {
113
+ return !!e5 && "object" == typeof e5;
114
+ })(e4) && "[object Symbol]" == r2.call(e4);
115
+ })(a3)) return NaN;
116
+ if (o2(a3)) {
117
+ var h2 = "function" == typeof a3.valueOf ? a3.valueOf() : a3;
118
+ a3 = o2(h2) ? h2 + "" : h2;
119
+ }
120
+ if ("string" != typeof a3) return 0 === a3 ? a3 : +a3;
121
+ a3 = a3.replace(e3, "");
122
+ var l2 = i2.test(a3);
123
+ return l2 || s2.test(a3) ? n2(a3.slice(2), l2 ? 2 : 8) : t2.test(a3) ? NaN : +a3;
124
+ }
125
+ return z = function(e4, t3, i3) {
126
+ return void 0 === i3 && (i3 = t3, t3 = void 0), void 0 !== i3 && (i3 = (i3 = a2(i3)) == i3 ? i3 : 0), void 0 !== t3 && (t3 = (t3 = a2(t3)) == t3 ? t3 : 0), (function(e5, t4, i4) {
127
+ return e5 == e5 && (void 0 !== i4 && (e5 = e5 <= i4 ? e5 : i4), void 0 !== t4 && (e5 = e5 >= t4 ? e5 : t4)), e5;
128
+ })(a2(e4), t3, i3);
129
+ };
130
+ })());
131
+ var _ = u((function() {
132
+ if (I) return b;
133
+ I = 1;
134
+ var e3 = /^\s+|\s+$/g, t2 = /^[-+]0x[0-9a-f]+$/i, i2 = /^0b[01]+$/i, s2 = /^0o[0-7]+$/i, n2 = parseInt, r2 = "object" == typeof l && l && l.Object === Object && l, o2 = "object" == typeof self && self && self.Object === Object && self, a2 = r2 || o2 || Function("return this")(), h2 = Object.prototype.toString, u2 = Math.max, c2 = Math.min, m2 = function m3() {
135
+ return a2.Date.now();
136
+ };
137
+ function d2(e4) {
138
+ var t3 = typeof e4;
139
+ return !!e4 && ("object" == t3 || "function" == t3);
140
+ }
141
+ function f2(r3) {
142
+ if ("number" == typeof r3) return r3;
143
+ if ((function(e4) {
144
+ return "symbol" == typeof e4 || /* @__PURE__ */ (function(e5) {
145
+ return !!e5 && "object" == typeof e5;
146
+ })(e4) && "[object Symbol]" == h2.call(e4);
147
+ })(r3)) return NaN;
148
+ if (d2(r3)) {
149
+ var o3 = "function" == typeof r3.valueOf ? r3.valueOf() : r3;
150
+ r3 = d2(o3) ? o3 + "" : o3;
151
+ }
152
+ if ("string" != typeof r3) return 0 === r3 ? r3 : +r3;
153
+ r3 = r3.replace(e3, "");
154
+ var a3 = i2.test(r3);
155
+ return a3 || s2.test(r3) ? n2(r3.slice(2), a3 ? 2 : 8) : t2.test(r3) ? NaN : +r3;
156
+ }
157
+ return b = function(e4, t3, i3) {
158
+ var s3, n3, r3, o3, a3, h3, l2 = 0, p2 = false, v2 = false, S2 = true;
159
+ if ("function" != typeof e4) throw new TypeError("Expected a function");
160
+ function z2(t4) {
161
+ var i4 = s3, r4 = n3;
162
+ return s3 = n3 = void 0, l2 = t4, o3 = e4.apply(r4, i4);
163
+ }
164
+ function w2(e5) {
165
+ var i4 = e5 - h3;
166
+ return void 0 === h3 || i4 >= t3 || i4 < 0 || v2 && e5 - l2 >= r3;
167
+ }
168
+ function g2() {
169
+ var e5 = m2();
170
+ if (w2(e5)) return y2(e5);
171
+ a3 = setTimeout(g2, (function(e6) {
172
+ var i4 = t3 - (e6 - h3);
173
+ return v2 ? c2(i4, r3 - (e6 - l2)) : i4;
174
+ })(e5));
175
+ }
176
+ function y2(e5) {
177
+ return a3 = void 0, S2 && s3 ? z2(e5) : (s3 = n3 = void 0, o3);
178
+ }
179
+ function b2() {
180
+ var e5 = m2(), i4 = w2(e5);
181
+ if (s3 = arguments, n3 = this, h3 = e5, i4) {
182
+ if (void 0 === a3) return (function(e6) {
183
+ return l2 = e6, a3 = setTimeout(g2, t3), p2 ? z2(e6) : o3;
184
+ })(h3);
185
+ if (v2) return a3 = setTimeout(g2, t3), z2(h3);
186
+ }
187
+ return void 0 === a3 && (a3 = setTimeout(g2, t3)), o3;
188
+ }
189
+ return t3 = f2(t3) || 0, d2(i3) && (p2 = !!i3.leading, r3 = (v2 = "maxWait" in i3) ? u2(f2(i3.maxWait) || 0, t3) : r3, S2 = "trailing" in i3 ? !!i3.trailing : S2), b2.cancel = function() {
190
+ void 0 !== a3 && clearTimeout(a3), l2 = 0, s3 = h3 = n3 = a3 = void 0;
191
+ }, b2.flush = function() {
192
+ return void 0 === a3 ? o3 : y2(m2());
193
+ }, b2;
194
+ };
195
+ })());
196
+ var V = {
197
+ width: void 0,
198
+ height: void 0
199
+ };
200
+ function E(e3) {
201
+ const {
202
+ ref: r2,
203
+ box: o2 = "content-box"
204
+ } = e3, [{
205
+ width: a2,
206
+ height: h2
207
+ }, l2] = t(V), u2 = (function() {
208
+ const e4 = i(false);
209
+ return s(() => (e4.current = true, () => {
210
+ e4.current = false;
211
+ }), []), n(() => e4.current, []);
212
+ })(), c2 = i(_extends({}, V)), m2 = i(void 0);
213
+ return m2.current = e3.onResize, s(() => {
214
+ if (!r2.current) return;
215
+ if ("undefined" == typeof window || !("ResizeObserver" in window)) return;
216
+ const e4 = new ResizeObserver(([e5]) => {
217
+ const t2 = "border-box" === o2 ? "borderBoxSize" : "device-pixel-content-box" === o2 ? "devicePixelContentBoxSize" : "contentBoxSize", i2 = N(e5, t2, "inlineSize"), s2 = N(e5, t2, "blockSize");
218
+ if (c2.current.width !== i2 || c2.current.height !== s2) {
219
+ const _e2 = {
220
+ width: i2,
221
+ height: s2
222
+ };
223
+ c2.current.width = i2, c2.current.height = s2, m2.current ? m2.current(_e2) : u2() && l2(_e2);
224
+ }
225
+ });
226
+ return e4.observe(r2.current, {
227
+ box: o2
228
+ }), () => {
229
+ e4.disconnect();
230
+ };
231
+ }, [o2, r2, u2]), {
232
+ width: a2,
233
+ height: h2
234
+ };
235
+ }
236
+ function N(e3, t2, i2) {
237
+ return e3[t2] ? Array.isArray(e3[t2]) ? e3[t2][0][i2] : e3[t2][i2] : "contentBoxSize" === t2 ? e3.contentRect["inlineSize" === i2 ? "width" : "height"] : void 0;
238
+ }
239
+ var L = "allotment-module_splitView__L-yRc";
240
+ var D = "allotment-module_sashContainer__fzwJF";
241
+ var O = "allotment-module_splitViewContainer__rQnVa";
242
+ var M = "allotment-module_splitViewView__MGZ6O";
243
+ var P = "allotment-module_vertical__WSwwa";
244
+ var T = "allotment-module_horizontal__7doS8";
245
+ var C = "allotment-module_separatorBorder__x-rDS";
246
+ var A;
247
+ var j = false;
248
+ var F = false;
249
+ "object" == typeof navigator && (A = navigator.userAgent, F = A.indexOf("Macintosh") >= 0, j = (A.indexOf("Macintosh") >= 0 || A.indexOf("iPad") >= 0 || A.indexOf("iPhone") >= 0) && !!navigator.maxTouchPoints && navigator.maxTouchPoints > 0);
250
+ var H = j;
251
+ var Y = F;
252
+ var k = "undefined" != typeof window && void 0 !== window.document && void 0 !== window.document.createElement ? r : s;
253
+ var $ = class {
254
+ constructor() {
255
+ this._size = void 0;
256
+ }
257
+ getSize() {
258
+ return this._size;
259
+ }
260
+ setSize(e3) {
261
+ this._size = e3;
262
+ }
263
+ };
264
+ function B(e3, t2) {
265
+ const i2 = e3.length, s2 = i2 - t2.length;
266
+ return s2 >= 0 && e3.slice(s2, i2) === t2;
267
+ }
268
+ var R;
269
+ var W = {
270
+ exports: {}
271
+ };
272
+ var X = (R || (R = 1, (function(e3) {
273
+ var t2 = Object.prototype.hasOwnProperty, i2 = "~";
274
+ function s2() {
275
+ }
276
+ function n2(e4, t3, i3) {
277
+ this.fn = e4, this.context = t3, this.once = i3 || false;
278
+ }
279
+ function r2(e4, t3, s3, r3, o3) {
280
+ if ("function" != typeof s3) throw new TypeError("The listener must be a function");
281
+ var a3 = new n2(s3, r3 || e4, o3), h2 = i2 ? i2 + t3 : t3;
282
+ return e4._events[h2] ? e4._events[h2].fn ? e4._events[h2] = [e4._events[h2], a3] : e4._events[h2].push(a3) : (e4._events[h2] = a3, e4._eventsCount++), e4;
283
+ }
284
+ function o2(e4, t3) {
285
+ 0 === --e4._eventsCount ? e4._events = new s2() : delete e4._events[t3];
286
+ }
287
+ function a2() {
288
+ this._events = new s2(), this._eventsCount = 0;
289
+ }
290
+ Object.create && (s2.prototype = /* @__PURE__ */ Object.create(null), new s2().__proto__ || (i2 = false)), a2.prototype.eventNames = function() {
291
+ var e4, s3, n3 = [];
292
+ if (0 === this._eventsCount) return n3;
293
+ for (s3 in e4 = this._events) t2.call(e4, s3) && n3.push(i2 ? s3.slice(1) : s3);
294
+ return Object.getOwnPropertySymbols ? n3.concat(Object.getOwnPropertySymbols(e4)) : n3;
295
+ }, a2.prototype.listeners = function(e4) {
296
+ var t3 = i2 ? i2 + e4 : e4, s3 = this._events[t3];
297
+ if (!s3) return [];
298
+ if (s3.fn) return [s3.fn];
299
+ for (var n3 = 0, r3 = s3.length, o3 = new Array(r3); n3 < r3; n3++) o3[n3] = s3[n3].fn;
300
+ return o3;
301
+ }, a2.prototype.listenerCount = function(e4) {
302
+ var t3 = i2 ? i2 + e4 : e4, s3 = this._events[t3];
303
+ return s3 ? s3.fn ? 1 : s3.length : 0;
304
+ }, a2.prototype.emit = function(e4, t3, s3, n3, r3, o3) {
305
+ var a3 = i2 ? i2 + e4 : e4;
306
+ if (!this._events[a3]) return false;
307
+ var h2, l2, u2 = this._events[a3], c2 = arguments.length;
308
+ if (u2.fn) {
309
+ switch (u2.once && this.removeListener(e4, u2.fn, void 0, true), c2) {
310
+ case 1:
311
+ return u2.fn.call(u2.context), true;
312
+ case 2:
313
+ return u2.fn.call(u2.context, t3), true;
314
+ case 3:
315
+ return u2.fn.call(u2.context, t3, s3), true;
316
+ case 4:
317
+ return u2.fn.call(u2.context, t3, s3, n3), true;
318
+ case 5:
319
+ return u2.fn.call(u2.context, t3, s3, n3, r3), true;
320
+ case 6:
321
+ return u2.fn.call(u2.context, t3, s3, n3, r3, o3), true;
322
+ }
323
+ for (l2 = 1, h2 = new Array(c2 - 1); l2 < c2; l2++) h2[l2 - 1] = arguments[l2];
324
+ u2.fn.apply(u2.context, h2);
325
+ } else {
326
+ var m2, d2 = u2.length;
327
+ for (l2 = 0; l2 < d2; l2++) switch (u2[l2].once && this.removeListener(e4, u2[l2].fn, void 0, true), c2) {
328
+ case 1:
329
+ u2[l2].fn.call(u2[l2].context);
330
+ break;
331
+ case 2:
332
+ u2[l2].fn.call(u2[l2].context, t3);
333
+ break;
334
+ case 3:
335
+ u2[l2].fn.call(u2[l2].context, t3, s3);
336
+ break;
337
+ case 4:
338
+ u2[l2].fn.call(u2[l2].context, t3, s3, n3);
339
+ break;
340
+ default:
341
+ if (!h2) for (m2 = 1, h2 = new Array(c2 - 1); m2 < c2; m2++) h2[m2 - 1] = arguments[m2];
342
+ u2[l2].fn.apply(u2[l2].context, h2);
343
+ }
344
+ }
345
+ return true;
346
+ }, a2.prototype.on = function(e4, t3, i3) {
347
+ return r2(this, e4, t3, i3, false);
348
+ }, a2.prototype.once = function(e4, t3, i3) {
349
+ return r2(this, e4, t3, i3, true);
350
+ }, a2.prototype.removeListener = function(e4, t3, s3, n3) {
351
+ var r3 = i2 ? i2 + e4 : e4;
352
+ if (!this._events[r3]) return this;
353
+ if (!t3) return o2(this, r3), this;
354
+ var a3 = this._events[r3];
355
+ if (a3.fn) a3.fn !== t3 || n3 && !a3.once || s3 && a3.context !== s3 || o2(this, r3);
356
+ else {
357
+ for (var h2 = 0, l2 = [], u2 = a3.length; h2 < u2; h2++) (a3[h2].fn !== t3 || n3 && !a3[h2].once || s3 && a3[h2].context !== s3) && l2.push(a3[h2]);
358
+ l2.length ? this._events[r3] = 1 === l2.length ? l2[0] : l2 : o2(this, r3);
359
+ }
360
+ return this;
361
+ }, a2.prototype.removeAllListeners = function(e4) {
362
+ var t3;
363
+ return e4 ? (t3 = i2 ? i2 + e4 : e4, this._events[t3] && o2(this, t3)) : (this._events = new s2(), this._eventsCount = 0), this;
364
+ }, a2.prototype.off = a2.prototype.removeListener, a2.prototype.addListener = a2.prototype.on, a2.prefixed = i2, a2.EventEmitter = a2, e3.exports = a2;
365
+ })(W)), W.exports);
366
+ var G = u(X);
367
+ function J(e3, t2) {
368
+ const i2 = e3.indexOf(t2);
369
+ i2 > -1 && (e3.splice(i2, 1), e3.unshift(t2));
370
+ }
371
+ function U(e3, t2) {
372
+ const i2 = e3.indexOf(t2);
373
+ i2 > -1 && (e3.splice(i2, 1), e3.push(t2));
374
+ }
375
+ function K(e3, t2, i2 = 1) {
376
+ const s2 = Math.max(0, Math.ceil((t2 - e3) / i2)), n2 = new Array(s2);
377
+ let r2 = -1;
378
+ for (; ++r2 < s2; ) n2[r2] = e3 + r2 * i2;
379
+ return n2;
380
+ }
381
+ var Z = "sash-module_sash__K-9lB";
382
+ var Q = "sash-module_disabled__Hm-wx";
383
+ var q = "sash-module_mac__Jf6OJ";
384
+ var ee = "sash-module_vertical__pB-rs";
385
+ var te = "sash-module_minimum__-UKxp";
386
+ var ie = "sash-module_maximum__TCWxD";
387
+ var se = "sash-module_horizontal__kFbiw";
388
+ var ne = "sash-module_hover__80W6I";
389
+ var re = "sash-module_active__bJspD";
390
+ var oe = (function(e3) {
391
+ return e3.Vertical = "VERTICAL", e3.Horizontal = "HORIZONTAL", e3;
392
+ })({});
393
+ var ae = (function(e3) {
394
+ return e3.Disabled = "DISABLED", e3.Minimum = "MINIMUM", e3.Maximum = "MAXIMUM", e3.Enabled = "ENABLED", e3;
395
+ })({});
396
+ var he = H ? 20 : 8;
397
+ var le = new G();
398
+ var ue = class extends G {
399
+ get state() {
400
+ return this._state;
401
+ }
402
+ set state(e3) {
403
+ this._state !== e3 && (this.el.classList.toggle(Q, e3 === ae.Disabled), this.el.classList.toggle("sash-disabled", e3 === ae.Disabled), this.el.classList.toggle(te, e3 === ae.Minimum), this.el.classList.toggle("sash-minimum", e3 === ae.Minimum), this.el.classList.toggle(ie, e3 === ae.Maximum), this.el.classList.toggle("sash-maximum", e3 === ae.Maximum), this._state = e3, this.emit("enablementChange", e3));
404
+ }
405
+ constructor(e3, t2, i2) {
406
+ var _i$orientation;
407
+ super(), this.el = void 0, this.layoutProvider = void 0, this.orientation = void 0, this.size = void 0, this.hoverDelay = 300, this.hoverDelayer = _((e4) => e4.classList.add("sash-hover", ne), this.hoverDelay), this._state = ae.Enabled, this.onPointerStart = (e4) => {
408
+ const t3 = e4.pageX, i3 = e4.pageY, s2 = {
409
+ startX: t3,
410
+ currentX: t3,
411
+ startY: i3,
412
+ currentY: i3
413
+ };
414
+ this.el.classList.add("sash-active", re), this.emit("start", s2), this.el.setPointerCapture(e4.pointerId);
415
+ const n2 = (e5) => {
416
+ e5.preventDefault();
417
+ const s3 = {
418
+ startX: t3,
419
+ currentX: e5.pageX,
420
+ startY: i3,
421
+ currentY: e5.pageY
422
+ };
423
+ this.emit("change", s3);
424
+ }, r2 = (e5) => {
425
+ e5.preventDefault(), this.el.classList.remove("sash-active", re), this.hoverDelayer.cancel(), this.emit("end"), this.el.releasePointerCapture(e5.pointerId), window.removeEventListener("pointermove", n2), window.removeEventListener("pointerup", r2);
426
+ };
427
+ window.addEventListener("pointermove", n2), window.addEventListener("pointerup", r2);
428
+ }, this.onPointerDoublePress = () => {
429
+ this.emit("reset");
430
+ }, this.onMouseEnter = () => {
431
+ this.el.classList.contains(re) ? (this.hoverDelayer.cancel(), this.el.classList.add("sash-hover", ne)) : this.hoverDelayer(this.el);
432
+ }, this.onMouseLeave = () => {
433
+ this.hoverDelayer.cancel(), this.el.classList.remove("sash-hover", ne);
434
+ }, this.el = document.createElement("div"), this.el.classList.add("sash", Z), this.el.dataset.testid = "sash", e3.append(this.el), Y && this.el.classList.add("sash-mac", q), this.el.addEventListener("pointerdown", this.onPointerStart), this.el.addEventListener("dblclick", this.onPointerDoublePress), this.el.addEventListener("mouseenter", this.onMouseEnter), this.el.addEventListener("mouseleave", this.onMouseLeave), "number" == typeof i2.size ? (this.size = i2.size, i2.orientation === oe.Vertical ? this.el.style.width = `${this.size}px` : this.el.style.height = `${this.size}px`) : (this.size = he, le.on("onDidChangeGlobalSize", (e4) => {
435
+ this.size = e4, this.layout();
436
+ })), this.layoutProvider = t2, this.orientation = (_i$orientation = i2.orientation) != null ? _i$orientation : oe.Vertical, this.orientation === oe.Horizontal ? (this.el.classList.add("sash-horizontal", se), this.el.classList.remove("sash-vertical", ee)) : (this.el.classList.remove("sash-horizontal", se), this.el.classList.add("sash-vertical", ee)), this.layout();
437
+ }
438
+ layout() {
439
+ if (this.orientation === oe.Vertical) {
440
+ const e3 = this.layoutProvider;
441
+ this.el.style.left = e3.getVerticalSashLeft(this) - this.size / 2 + "px", e3.getVerticalSashTop && (this.el.style.top = e3.getVerticalSashTop(this) + "px"), e3.getVerticalSashHeight && (this.el.style.height = e3.getVerticalSashHeight(this) + "px");
442
+ } else {
443
+ const e3 = this.layoutProvider;
444
+ this.el.style.top = e3.getHorizontalSashTop(this) - this.size / 2 + "px", e3.getHorizontalSashLeft && (this.el.style.left = e3.getHorizontalSashLeft(this) + "px"), e3.getHorizontalSashWidth && (this.el.style.width = e3.getHorizontalSashWidth(this) + "px");
445
+ }
446
+ }
447
+ dispose() {
448
+ this.el.removeEventListener("pointerdown", this.onPointerStart), this.el.removeEventListener("dblclick", this.onPointerDoublePress), this.el.removeEventListener("mouseenter", this.onMouseEnter), this.el.removeEventListener("mouseleave", () => this.onMouseLeave), this.el.remove();
449
+ }
450
+ };
451
+ var ce;
452
+ var me;
453
+ (me = ce || (ce = {})).Distribute = {
454
+ type: "distribute"
455
+ }, me.Split = function(e3) {
456
+ return {
457
+ type: "split",
458
+ index: e3
459
+ };
460
+ }, me.Invisible = function(e3) {
461
+ return {
462
+ type: "invisible",
463
+ cachedVisibleSize: e3
464
+ };
465
+ };
466
+ var de = (function(e3) {
467
+ return e3.Normal = "NORMAL", e3.Low = "LOW", e3.High = "HIGH", e3;
468
+ })({});
469
+ var fe = class {
470
+ constructor(e3, t2, i2) {
471
+ this.container = void 0, this.view = void 0, this._size = void 0, this._cachedVisibleSize = void 0, this.container = e3, this.view = t2, this.container.classList.add("split-view-view", M), this.container.dataset.testid = "split-view-view", "number" == typeof i2 ? (this._size = i2, this._cachedVisibleSize = void 0, e3.classList.add("split-view-view-visible")) : (this._size = 0, this._cachedVisibleSize = i2.cachedVisibleSize);
472
+ }
473
+ set size(e3) {
474
+ this._size = e3;
475
+ }
476
+ get size() {
477
+ return this._size;
478
+ }
479
+ get priority() {
480
+ return this.view.priority;
481
+ }
482
+ get snap() {
483
+ return !!this.view.snap;
484
+ }
485
+ get cachedVisibleSize() {
486
+ return this._cachedVisibleSize;
487
+ }
488
+ get visible() {
489
+ return void 0 === this._cachedVisibleSize;
490
+ }
491
+ setVisible(e3, t2) {
492
+ e3 !== this.visible && (e3 ? (this.size = x(this._cachedVisibleSize, this.viewMinimumSize, this.viewMaximumSize), this._cachedVisibleSize = void 0) : (this._cachedVisibleSize = "number" == typeof t2 ? t2 : this.size, this.size = 0), this.container.classList.toggle("split-view-view-visible", e3), this.view.setVisible && this.view.setVisible(e3));
493
+ }
494
+ get minimumSize() {
495
+ return this.visible ? this.view.minimumSize : 0;
496
+ }
497
+ get viewMinimumSize() {
498
+ return this.view.minimumSize;
499
+ }
500
+ get maximumSize() {
501
+ return this.visible ? this.view.maximumSize : 0;
502
+ }
503
+ get viewMaximumSize() {
504
+ return this.view.maximumSize;
505
+ }
506
+ set enabled(e3) {
507
+ this.container.style.pointerEvents = e3 ? "" : "none";
508
+ }
509
+ layout(e3) {
510
+ this.layoutContainer(e3), this.view.layout(this.size, e3);
511
+ }
512
+ };
513
+ var pe = class extends fe {
514
+ layoutContainer(e3) {
515
+ this.container.style.left = `${e3}px`, this.container.style.width = `${this.size}px`;
516
+ }
517
+ };
518
+ var ve = class extends fe {
519
+ layoutContainer(e3) {
520
+ this.container.style.top = `${e3}px`, this.container.style.height = `${this.size}px`;
521
+ }
522
+ };
523
+ var Se = class extends G {
524
+ get startSnappingEnabled() {
525
+ return this._startSnappingEnabled;
526
+ }
527
+ set startSnappingEnabled(e3) {
528
+ this._startSnappingEnabled !== e3 && (this._startSnappingEnabled = e3, this.updateSashEnablement());
529
+ }
530
+ get endSnappingEnabled() {
531
+ return this._endSnappingEnabled;
532
+ }
533
+ set endSnappingEnabled(e3) {
534
+ this._endSnappingEnabled !== e3 && (this._endSnappingEnabled = e3, this.updateSashEnablement());
535
+ }
536
+ constructor(e3, t2 = {}, i2, s2, n2) {
537
+ var _t$orientation, _t$proportionalLayout;
538
+ if (super(), this.onDidChange = void 0, this.onDidDragStart = void 0, this.onDidDragEnd = void 0, this.orientation = void 0, this.sashContainer = void 0, this.size = 0, this.contentSize = 0, this.proportions = void 0, this.viewItems = [], this.sashItems = [], this.sashDragState = void 0, this.proportionalLayout = void 0, this.getSashOrthogonalSize = void 0, this._startSnappingEnabled = true, this._endSnappingEnabled = true, this.onSashEnd = (e4) => {
539
+ this.emit("sashchange", e4), this.saveProportions();
540
+ for (const _e3 of this.viewItems) _e3.enabled = true;
541
+ }, this.orientation = (_t$orientation = t2.orientation) != null ? _t$orientation : oe.Vertical, this.proportionalLayout = (_t$proportionalLayout = t2.proportionalLayout) != null ? _t$proportionalLayout : true, this.getSashOrthogonalSize = t2.getSashOrthogonalSize, i2 && (this.onDidChange = i2), s2 && (this.onDidDragStart = s2), n2 && (this.onDidDragEnd = n2), this.sashContainer = document.createElement("div"), this.sashContainer.classList.add("sash-container", D), e3.prepend(this.sashContainer), t2.descriptor) {
542
+ this.size = t2.descriptor.size;
543
+ for (const [_e4, _i] of t2.descriptor.views.entries()) {
544
+ const _t = _i.size, _s = _i.container, _n = _i.view;
545
+ this.addView(_s, _n, _t, _e4, true);
546
+ }
547
+ this.contentSize = this.viewItems.reduce((e4, t3) => e4 + t3.size, 0), this.saveProportions();
548
+ }
549
+ }
550
+ addView(e3, t2, i2, s2 = this.viewItems.length, n2) {
551
+ let r2;
552
+ r2 = "number" == typeof i2 ? i2 : "split" === i2.type ? this.getViewSize(i2.index) / 2 : "invisible" === i2.type ? {
553
+ cachedVisibleSize: i2.cachedVisibleSize
554
+ } : t2.minimumSize;
555
+ const o2 = this.orientation === oe.Vertical ? new ve(e3, t2, r2) : new pe(e3, t2, r2);
556
+ if (this.viewItems.splice(s2, 0, o2), this.viewItems.length > 1) {
557
+ const _e5 = this.orientation === oe.Vertical ? new ue(this.sashContainer, {
558
+ getHorizontalSashTop: (e4) => this.getSashPosition(e4),
559
+ getHorizontalSashWidth: this.getSashOrthogonalSize
560
+ }, {
561
+ orientation: oe.Horizontal
562
+ }) : new ue(this.sashContainer, {
563
+ getVerticalSashLeft: (e4) => this.getSashPosition(e4),
564
+ getVerticalSashHeight: this.getSashOrthogonalSize
565
+ }, {
566
+ orientation: oe.Vertical
567
+ }), _t2 = this.orientation === oe.Vertical ? (t3) => ({
568
+ sash: _e5,
569
+ start: t3.startY,
570
+ current: t3.currentY
571
+ }) : (t3) => ({
572
+ sash: _e5,
573
+ start: t3.startX,
574
+ current: t3.currentX
575
+ });
576
+ _e5.on("start", (e4) => {
577
+ var _this$onDidDragStart;
578
+ this.emit("sashDragStart"), this.onSashStart(_t2(e4));
579
+ const i3 = this.viewItems.map((e5) => e5.size);
580
+ (_this$onDidDragStart = this.onDidDragStart) == null || _this$onDidDragStart.call(this, i3);
581
+ }), _e5.on("change", (e4) => this.onSashChange(_t2(e4))), _e5.on("end", () => {
582
+ var _this$onDidDragEnd;
583
+ this.emit("sashDragEnd"), this.onSashEnd(this.sashItems.findIndex((t4) => t4.sash === _e5));
584
+ const t3 = this.viewItems.map((e4) => e4.size);
585
+ (_this$onDidDragEnd = this.onDidDragEnd) == null || _this$onDidDragEnd.call(this, t3);
586
+ }), _e5.on("reset", () => {
587
+ const t3 = this.sashItems.findIndex((t4) => t4.sash === _e5), i3 = K(t3, -1, -1), s3 = K(t3 + 1, this.viewItems.length), n3 = this.findFirstSnapIndex(i3), r3 = this.findFirstSnapIndex(s3);
588
+ ("number" != typeof n3 || this.viewItems[n3].visible) && ("number" != typeof r3 || this.viewItems[r3].visible) && this.emit("sashreset", t3);
589
+ });
590
+ const _i2 = {
591
+ sash: _e5
592
+ };
593
+ this.sashItems.splice(s2 - 1, 0, _i2);
594
+ }
595
+ n2 || this.relayout(), n2 || "number" == typeof i2 || "distribute" !== i2.type || this.distributeViewSizes();
596
+ }
597
+ removeView(e3, t2) {
598
+ if (e3 < 0 || e3 >= this.viewItems.length) throw new Error("Index out of bounds");
599
+ const i2 = this.viewItems.splice(e3, 1)[0].view;
600
+ if (this.viewItems.length >= 1) {
601
+ const _t3 = Math.max(e3 - 1, 0);
602
+ this.sashItems.splice(_t3, 1)[0].sash.dispose();
603
+ }
604
+ return this.relayout(), t2 && "distribute" === t2.type && this.distributeViewSizes(), i2;
605
+ }
606
+ moveView(e3, t2, i2) {
607
+ const s2 = this.getViewCachedVisibleSize(t2), n2 = void 0 === s2 ? this.getViewSize(t2) : ce.Invisible(s2), r2 = this.removeView(t2);
608
+ this.addView(e3, r2, n2, i2);
609
+ }
610
+ getViewCachedVisibleSize(e3) {
611
+ if (e3 < 0 || e3 >= this.viewItems.length) throw new Error("Index out of bounds");
612
+ return this.viewItems[e3].cachedVisibleSize;
613
+ }
614
+ layout(e3 = this.size) {
615
+ const t2 = Math.max(this.size, this.contentSize);
616
+ if (this.size = e3, this.proportions) for (let _t4 = 0; _t4 < this.viewItems.length; _t4++) {
617
+ const i2 = this.viewItems[_t4];
618
+ i2.size = x(Math.round(this.proportions[_t4] * e3), i2.minimumSize, i2.maximumSize);
619
+ }
620
+ else {
621
+ const i2 = K(0, this.viewItems.length), s2 = i2.filter((e4) => this.viewItems[e4].priority === de.Low), n2 = i2.filter((e4) => this.viewItems[e4].priority === de.High);
622
+ this.resize(this.viewItems.length - 1, e3 - t2, void 0, s2, n2);
623
+ }
624
+ this.distributeEmptySpace(), this.layoutViews();
625
+ }
626
+ resizeView(e3, t2) {
627
+ if (e3 < 0 || e3 >= this.viewItems.length) return;
628
+ const i2 = K(0, this.viewItems.length).filter((t3) => t3 !== e3), s2 = [...i2.filter((e4) => this.viewItems[e4].priority === de.Low), e3], n2 = i2.filter((e4) => this.viewItems[e4].priority === de.High), r2 = this.viewItems[e3];
629
+ t2 = Math.round(t2), t2 = x(t2, r2.minimumSize, Math.min(r2.maximumSize, this.size)), r2.size = t2, this.relayout(s2, n2);
630
+ }
631
+ resizeViews(e3) {
632
+ for (let t2 = 0; t2 < e3.length; t2++) {
633
+ const i2 = this.viewItems[t2];
634
+ let s2 = e3[t2];
635
+ s2 = Math.round(s2), s2 = x(s2, i2.minimumSize, Math.min(i2.maximumSize, this.size)), i2.size = s2;
636
+ }
637
+ this.contentSize = this.viewItems.reduce((e4, t2) => e4 + t2.size, 0), this.saveProportions(), this.layout(this.size);
638
+ }
639
+ getViewSize(e3) {
640
+ return e3 < 0 || e3 >= this.viewItems.length ? -1 : this.viewItems[e3].size;
641
+ }
642
+ isViewVisible(e3) {
643
+ if (e3 < 0 || e3 >= this.viewItems.length) throw new Error("Index out of bounds");
644
+ return this.viewItems[e3].visible;
645
+ }
646
+ setViewVisible(e3, t2) {
647
+ if (e3 < 0 || e3 >= this.viewItems.length) throw new Error("Index out of bounds");
648
+ this.viewItems[e3].setVisible(t2), this.distributeEmptySpace(e3), this.layoutViews(), this.saveProportions();
649
+ }
650
+ distributeViewSizes() {
651
+ const e3 = [];
652
+ let t2 = 0;
653
+ for (const _i3 of this.viewItems) _i3.maximumSize - _i3.minimumSize > 0 && (e3.push(_i3), t2 += _i3.size);
654
+ const i2 = Math.floor(t2 / e3.length);
655
+ for (const _t5 of e3) _t5.size = x(i2, _t5.minimumSize, _t5.maximumSize);
656
+ const s2 = K(0, this.viewItems.length), n2 = s2.filter((e4) => this.viewItems[e4].priority === de.Low), r2 = s2.filter((e4) => this.viewItems[e4].priority === de.High);
657
+ this.relayout(n2, r2);
658
+ }
659
+ dispose() {
660
+ this.sashItems.forEach((e3) => e3.sash.dispose()), this.sashItems = [], this.sashContainer.remove();
661
+ }
662
+ relayout(e3, t2) {
663
+ const i2 = this.viewItems.reduce((e4, t3) => e4 + t3.size, 0);
664
+ this.resize(this.viewItems.length - 1, this.size - i2, void 0, e3, t2), this.distributeEmptySpace(), this.layoutViews(), this.saveProportions();
665
+ }
666
+ onSashStart({
667
+ sash: e3,
668
+ start: t2
669
+ }) {
670
+ const i2 = this.sashItems.findIndex((t3) => t3.sash === e3);
671
+ ((e4) => {
672
+ const t3 = this.viewItems.map((e5) => e5.size);
673
+ let s2, n2, r2 = Number.NEGATIVE_INFINITY, o2 = Number.POSITIVE_INFINITY;
674
+ const a2 = K(i2, -1, -1), h2 = K(i2 + 1, this.viewItems.length), l2 = a2.reduce((e5, i3) => e5 + (this.viewItems[i3].minimumSize - t3[i3]), 0), u2 = a2.reduce((e5, i3) => e5 + (this.viewItems[i3].viewMaximumSize - t3[i3]), 0), c2 = 0 === h2.length ? Number.POSITIVE_INFINITY : h2.reduce((e5, i3) => e5 + (t3[i3] - this.viewItems[i3].minimumSize), 0), m2 = 0 === h2.length ? Number.NEGATIVE_INFINITY : h2.reduce((e5, i3) => e5 + (t3[i3] - this.viewItems[i3].viewMaximumSize), 0);
675
+ r2 = Math.max(l2, m2), o2 = Math.min(c2, u2);
676
+ const d2 = this.findFirstSnapIndex(a2), f2 = this.findFirstSnapIndex(h2);
677
+ if ("number" == typeof d2) {
678
+ const _e6 = this.viewItems[d2], _t6 = Math.floor(_e6.viewMinimumSize / 2);
679
+ s2 = {
680
+ index: d2,
681
+ limitDelta: _e6.visible ? r2 - _t6 : r2 + _t6,
682
+ size: _e6.size
683
+ };
684
+ }
685
+ if ("number" == typeof f2) {
686
+ const _e7 = this.viewItems[f2], _t7 = Math.floor(_e7.viewMinimumSize / 2);
687
+ n2 = {
688
+ index: f2,
689
+ limitDelta: _e7.visible ? o2 + _t7 : o2 - _t7,
690
+ size: _e7.size
691
+ };
692
+ }
693
+ this.sashDragState = {
694
+ start: e4,
695
+ current: e4,
696
+ index: i2,
697
+ sizes: t3,
698
+ minDelta: r2,
699
+ maxDelta: o2,
700
+ snapBefore: s2,
701
+ snapAfter: n2
702
+ };
703
+ })(t2);
704
+ }
705
+ onSashChange({
706
+ current: e3
707
+ }) {
708
+ const {
709
+ index: t2,
710
+ start: i2,
711
+ sizes: s2,
712
+ minDelta: n2,
713
+ maxDelta: r2,
714
+ snapBefore: o2,
715
+ snapAfter: a2
716
+ } = this.sashDragState;
717
+ this.sashDragState.current = e3;
718
+ const h2 = e3 - i2;
719
+ this.resize(t2, h2, s2, void 0, void 0, n2, r2, o2, a2), this.distributeEmptySpace(), this.layoutViews();
720
+ }
721
+ getSashPosition(e3) {
722
+ let t2 = 0;
723
+ for (let i2 = 0; i2 < this.sashItems.length; i2++) if (t2 += this.viewItems[i2].size, this.sashItems[i2].sash === e3) return t2;
724
+ return 0;
725
+ }
726
+ resize(e3, t2, i2 = this.viewItems.map((e4) => e4.size), s2, n2, r2 = Number.NEGATIVE_INFINITY, o2 = Number.POSITIVE_INFINITY, a2, h2) {
727
+ if (e3 < 0 || e3 >= this.viewItems.length) return 0;
728
+ const l2 = K(e3, -1, -1), u2 = K(e3 + 1, this.viewItems.length);
729
+ if (n2) for (const _e8 of n2) J(l2, _e8), J(u2, _e8);
730
+ if (s2) for (const _e9 of s2) U(l2, _e9), U(u2, _e9);
731
+ const c2 = l2.map((e4) => this.viewItems[e4]), m2 = l2.map((e4) => i2[e4]), d2 = u2.map((e4) => this.viewItems[e4]), f2 = u2.map((e4) => i2[e4]), p2 = l2.reduce((e4, t3) => e4 + (this.viewItems[t3].minimumSize - i2[t3]), 0), v2 = l2.reduce((e4, t3) => e4 + (this.viewItems[t3].maximumSize - i2[t3]), 0), S2 = 0 === u2.length ? Number.POSITIVE_INFINITY : u2.reduce((e4, t3) => e4 + (i2[t3] - this.viewItems[t3].minimumSize), 0), z2 = 0 === u2.length ? Number.NEGATIVE_INFINITY : u2.reduce((e4, t3) => e4 + (i2[t3] - this.viewItems[t3].maximumSize), 0), w2 = Math.max(p2, z2, r2), g2 = Math.min(S2, v2, o2);
732
+ let y2 = false;
733
+ if (a2) {
734
+ const _e0 = this.viewItems[a2.index], _i4 = t2 >= a2.limitDelta;
735
+ y2 = _i4 !== _e0.visible, _e0.setVisible(_i4, a2.size);
736
+ }
737
+ if (!y2 && h2) {
738
+ const _e1 = this.viewItems[h2.index], _i5 = t2 < h2.limitDelta;
739
+ y2 = _i5 !== _e1.visible, _e1.setVisible(_i5, h2.size);
740
+ }
741
+ if (y2) return this.resize(e3, t2, i2, s2, n2, r2, o2);
742
+ for (let _e10 = 0, _i6 = t2 = x(t2, w2, g2); _e10 < c2.length; _e10++) {
743
+ const _t8 = c2[_e10], _s2 = x(m2[_e10] + _i6, _t8.minimumSize, _t8.maximumSize);
744
+ _i6 -= _s2 - m2[_e10], _t8.size = _s2;
745
+ }
746
+ for (let _e11 = 0, _i7 = t2; _e11 < d2.length; _e11++) {
747
+ const _t9 = d2[_e11], _s3 = x(f2[_e11] - _i7, _t9.minimumSize, _t9.maximumSize);
748
+ _i7 += _s3 - f2[_e11], _t9.size = _s3;
749
+ }
750
+ return t2;
751
+ }
752
+ distributeEmptySpace(e3) {
753
+ const t2 = this.viewItems.reduce((e4, t3) => e4 + t3.size, 0);
754
+ let i2 = this.size - t2;
755
+ const s2 = K(0, this.viewItems.length), n2 = [], r2 = s2.filter((e4) => this.viewItems[e4].priority === de.Low), o2 = s2.filter((e4) => this.viewItems[e4].priority === de.Normal), a2 = s2.filter((e4) => this.viewItems[e4].priority === de.High);
756
+ n2.push(...a2, ...o2, ...r2), "number" == typeof e3 && U(n2, e3);
757
+ for (let _e12 = 0; 0 !== i2 && _e12 < n2.length; _e12++) {
758
+ const _t0 = this.viewItems[n2[_e12]], _s4 = x(_t0.size + i2, _t0.minimumSize, _t0.maximumSize);
759
+ i2 -= _s4 - _t0.size, _t0.size = _s4;
760
+ }
761
+ }
762
+ layoutViews() {
763
+ var _this$onDidChange;
764
+ this.contentSize = this.viewItems.reduce((e4, t2) => e4 + t2.size, 0);
765
+ let e3 = 0;
766
+ for (const t2 of this.viewItems) t2.layout(e3), e3 += t2.size;
767
+ (_this$onDidChange = this.onDidChange) != null && _this$onDidChange.call(this, this.viewItems.map((e4) => e4.size)), this.sashItems.forEach((e4) => e4.sash.layout()), this.updateSashEnablement();
768
+ }
769
+ saveProportions() {
770
+ this.proportionalLayout && this.contentSize > 0 && (this.proportions = this.viewItems.map((e3) => e3.size / this.contentSize));
771
+ }
772
+ updateSashEnablement() {
773
+ let e3 = false;
774
+ const t2 = this.viewItems.map((t3) => e3 = t3.size - t3.minimumSize > 0 || e3);
775
+ e3 = false;
776
+ const i2 = this.viewItems.map((t3) => e3 = t3.maximumSize - t3.size > 0 || e3), s2 = [...this.viewItems].reverse();
777
+ e3 = false;
778
+ const n2 = s2.map((t3) => e3 = t3.size - t3.minimumSize > 0 || e3).reverse();
779
+ e3 = false;
780
+ const r2 = s2.map((t3) => e3 = t3.maximumSize - t3.size > 0 || e3).reverse();
781
+ let o2 = 0;
782
+ for (let _e13 = 0; _e13 < this.sashItems.length; _e13++) {
783
+ const {
784
+ sash: _s5
785
+ } = this.sashItems[_e13];
786
+ o2 += this.viewItems[_e13].size;
787
+ const a2 = !(t2[_e13] && r2[_e13 + 1]), h2 = !(i2[_e13] && n2[_e13 + 1]);
788
+ if (a2 && h2) {
789
+ const _i8 = K(_e13, -1, -1), _r = K(_e13 + 1, this.viewItems.length), _a = this.findFirstSnapIndex(_i8), _h = this.findFirstSnapIndex(_r), l2 = "number" == typeof _a && !this.viewItems[_a].visible, u2 = "number" == typeof _h && !this.viewItems[_h].visible;
790
+ l2 && n2[_e13] && (o2 > 0 || this.startSnappingEnabled) ? _s5.state = ae.Minimum : u2 && t2[_e13] && (o2 < this.contentSize || this.endSnappingEnabled) ? _s5.state = ae.Maximum : _s5.state = ae.Disabled;
791
+ } else _s5.state = a2 && !h2 ? ae.Minimum : !a2 && h2 ? ae.Maximum : ae.Enabled;
792
+ }
793
+ }
794
+ findFirstSnapIndex(e3) {
795
+ for (const t2 of e3) {
796
+ const _e14 = this.viewItems[t2];
797
+ if (_e14.visible && _e14.snap) return t2;
798
+ }
799
+ for (const t2 of e3) {
800
+ const _e15 = this.viewItems[t2];
801
+ if (_e15.visible && _e15.maximumSize - _e15.minimumSize > 0) return;
802
+ if (!_e15.visible && _e15.snap) return t2;
803
+ }
804
+ }
805
+ };
806
+ var ze = class {
807
+ constructor(e3) {
808
+ this.size = void 0, this.size = e3;
809
+ }
810
+ getPreferredSize() {
811
+ return this.size;
812
+ }
813
+ };
814
+ var we = class {
815
+ constructor(e3, t2) {
816
+ this.proportion = void 0, this.layoutService = void 0, this.proportion = e3, this.layoutService = t2;
817
+ }
818
+ getPreferredSize() {
819
+ return this.proportion * this.layoutService.getSize();
820
+ }
821
+ };
822
+ var ge = class {
823
+ getPreferredSize() {
824
+ }
825
+ };
826
+ var ye = class {
827
+ get preferredSize() {
828
+ return this.layoutStrategy.getPreferredSize();
829
+ }
830
+ set preferredSize(e3) {
831
+ if ("number" == typeof e3) this.layoutStrategy = new ze(e3);
832
+ else if ("string" == typeof e3) {
833
+ const t2 = e3.trim();
834
+ if (B(t2, "%")) {
835
+ const _e16 = Number(t2.slice(0, -1)) / 100;
836
+ this.layoutStrategy = new we(_e16, this.layoutService);
837
+ } else if (B(t2, "px")) {
838
+ const _e17 = Number(t2.slice(0, -2)) / 100;
839
+ this.layoutStrategy = new ze(_e17);
840
+ } else if ("number" == typeof Number.parseFloat(t2)) {
841
+ const _e18 = Number.parseFloat(t2);
842
+ this.layoutStrategy = new ze(_e18);
843
+ } else this.layoutStrategy = new ge();
844
+ } else this.layoutStrategy = new ge();
845
+ }
846
+ constructor(e3, t2) {
847
+ var _t$priority;
848
+ if (this.minimumSize = 0, this.maximumSize = Number.POSITIVE_INFINITY, this.element = void 0, this.priority = void 0, this.snap = void 0, this.layoutService = void 0, this.layoutStrategy = void 0, this.layoutService = e3, this.element = t2.element, this.minimumSize = "number" == typeof t2.minimumSize ? t2.minimumSize : 30, this.maximumSize = "number" == typeof t2.maximumSize ? t2.maximumSize : Number.POSITIVE_INFINITY, "number" == typeof t2.preferredSize) this.layoutStrategy = new ze(t2.preferredSize);
849
+ else if ("string" == typeof t2.preferredSize) {
850
+ const _e19 = t2.preferredSize.trim();
851
+ if (B(_e19, "%")) {
852
+ const _t1 = Number(_e19.slice(0, -1)) / 100;
853
+ this.layoutStrategy = new we(_t1, this.layoutService);
854
+ } else if (B(_e19, "px")) {
855
+ const _t10 = Number(_e19.slice(0, -2));
856
+ this.layoutStrategy = new ze(_t10);
857
+ } else if ("number" == typeof Number.parseFloat(_e19)) {
858
+ const _t11 = Number.parseFloat(_e19);
859
+ this.layoutStrategy = new ze(_t11);
860
+ } else this.layoutStrategy = new ge();
861
+ } else this.layoutStrategy = new ge();
862
+ this.priority = (_t$priority = t2.priority) != null ? _t$priority : de.Normal, this.snap = "boolean" == typeof t2.snap && t2.snap;
863
+ }
864
+ layout(e3) {
865
+ }
866
+ };
867
+ function be(e3) {
868
+ return void 0 !== e3.minSize || void 0 !== e3.maxSize || void 0 !== e3.preferredSize || void 0 !== e3.priority || void 0 !== e3.visible;
869
+ }
870
+ var Ie = o(({
871
+ className: t2,
872
+ children: i2
873
+ }, s2) => e.createElement("div", {
874
+ ref: s2,
875
+ className: S("split-view-view", M, t2)
876
+ }, i2));
877
+ Ie.displayName = "Allotment.Pane";
878
+ var xe = o(({
879
+ children: r2,
880
+ className: o2,
881
+ id: l2,
882
+ maxSize: u2 = 1 / 0,
883
+ minSize: c2 = 30,
884
+ proportionalLayout: m2 = true,
885
+ separator: d2 = true,
886
+ sizes: f2,
887
+ defaultSizes: p2 = f2,
888
+ snap: v2 = false,
889
+ vertical: z2 = false,
890
+ onChange: w2,
891
+ onReset: g2,
892
+ onVisibleChange: b2,
893
+ onDragStart: I2,
894
+ onDragEnd: x2
895
+ }, _2) => {
896
+ const V2 = i(null), N2 = i([]), D2 = i(/* @__PURE__ */ new Map()), M2 = i(null), A2 = i(/* @__PURE__ */ new Map()), j2 = i(new $()), F2 = i([]), [Y2, B2] = t(false);
897
+ "production" !== process.env.NODE_ENV && f2 && console.warn("Prop sizes is deprecated. Please use defaultSizes instead.");
898
+ const R2 = a(() => e.Children.toArray(r2).filter(e.isValidElement), [r2]), W2 = n((e3) => {
899
+ var _F$current, _M$current;
900
+ const t2 = (_F$current = F2.current) == null ? void 0 : _F$current[e3];
901
+ return "number" == typeof (t2 == null ? void 0 : t2.preferredSize) && ((_M$current = M2.current) != null && _M$current.resizeView(e3, Math.round(t2.preferredSize)), true);
902
+ }, []);
903
+ return h(_2, () => ({
904
+ reset: () => {
905
+ if (g2) g2();
906
+ else {
907
+ var _M$current2;
908
+ (_M$current2 = M2.current) == null || _M$current2.distributeViewSizes();
909
+ for (let e3 = 0; e3 < F2.current.length; e3++) W2(e3);
910
+ }
911
+ },
912
+ resize: (e3) => {
913
+ var _M$current3;
914
+ (_M$current3 = M2.current) == null || _M$current3.resizeViews(e3);
915
+ }
916
+ })), k(() => {
917
+ let e3 = true;
918
+ p2 && A2.current.size !== p2.length && (e3 = false, console.warn(`Expected ${p2.length} children based on defaultSizes but found ${A2.current.size}`)), e3 && p2 && (N2.current = R2.map((e4) => e4.key));
919
+ const t2 = _extends({
920
+ orientation: z2 ? oe.Vertical : oe.Horizontal,
921
+ proportionalLayout: m2
922
+ }, e3 && p2 && {
923
+ descriptor: {
924
+ size: p2.reduce((e4, t3) => e4 + t3, 0),
925
+ views: p2.map((e4, t3) => {
926
+ var _i$minSize, _i$maxSize, _i$priority, _i$snap;
927
+ const i3 = D2.current.get(N2.current[t3]), s2 = new ye(j2.current, _extends({
928
+ element: document.createElement("div"),
929
+ minimumSize: (_i$minSize = i3 == null ? void 0 : i3.minSize) != null ? _i$minSize : c2,
930
+ maximumSize: (_i$maxSize = i3 == null ? void 0 : i3.maxSize) != null ? _i$maxSize : u2,
931
+ priority: (_i$priority = i3 == null ? void 0 : i3.priority) != null ? _i$priority : de.Normal
932
+ }, (i3 == null ? void 0 : i3.preferredSize) && {
933
+ preferredSize: i3 == null ? void 0 : i3.preferredSize
934
+ }, {
935
+ snap: (_i$snap = i3 == null ? void 0 : i3.snap) != null ? _i$snap : v2
936
+ }));
937
+ return F2.current.push(s2), {
938
+ container: [...A2.current.values()][t3],
939
+ size: e4,
940
+ view: s2
941
+ };
942
+ })
943
+ }
944
+ });
945
+ M2.current = new Se(V2.current, t2, w2, I2, x2), M2.current.on("sashDragStart", () => {
946
+ var _V$current;
947
+ (_V$current = V2.current) == null || _V$current.classList.add("split-view-sash-dragging");
948
+ }), M2.current.on("sashDragEnd", () => {
949
+ var _V$current2;
950
+ (_V$current2 = V2.current) == null || _V$current2.classList.remove("split-view-sash-dragging");
951
+ }), M2.current.on("sashchange", (e4) => {
952
+ if (b2 && M2.current) {
953
+ const _e20 = R2.map((e5) => e5.key);
954
+ for (let t3 = 0; t3 < _e20.length; t3++) {
955
+ const i3 = D2.current.get(_e20[t3]);
956
+ void 0 !== (i3 == null ? void 0 : i3.visible) && i3.visible !== M2.current.isViewVisible(t3) && b2(t3, M2.current.isViewVisible(t3));
957
+ }
958
+ }
959
+ }), M2.current.on("sashreset", (e4) => {
960
+ if (g2) g2();
961
+ else {
962
+ var _M$current4;
963
+ if (W2(e4)) return;
964
+ if (W2(e4 + 1)) return;
965
+ (_M$current4 = M2.current) == null || _M$current4.distributeViewSizes();
966
+ }
967
+ });
968
+ const i2 = M2.current;
969
+ return () => {
970
+ i2.dispose();
971
+ };
972
+ }, []), k(() => {
973
+ if (Y2) {
974
+ const e3 = R2.map((e4) => e4.key), t2 = [...N2.current], i2 = e3.filter((e4) => !N2.current.includes(e4)), s2 = e3.filter((e4) => N2.current.includes(e4)), n2 = N2.current.map((t3) => !e3.includes(t3));
975
+ for (let _e21 = n2.length - 1; _e21 >= 0; _e21--) {
976
+ var _M$current5;
977
+ n2[_e21] && ((_M$current5 = M2.current) != null && _M$current5.removeView(_e21), t2.splice(_e21, 1), F2.current.splice(_e21, 1));
978
+ }
979
+ for (const _s6 of i2) {
980
+ var _i9$minSize, _i9$maxSize, _i9$priority, _i9$snap, _M$current6;
981
+ const _i9 = D2.current.get(_s6), _n2 = new ye(j2.current, _extends({
982
+ element: document.createElement("div"),
983
+ minimumSize: (_i9$minSize = _i9 == null ? void 0 : _i9.minSize) != null ? _i9$minSize : c2,
984
+ maximumSize: (_i9$maxSize = _i9 == null ? void 0 : _i9.maxSize) != null ? _i9$maxSize : u2,
985
+ priority: (_i9$priority = _i9 == null ? void 0 : _i9.priority) != null ? _i9$priority : de.Normal
986
+ }, (_i9 == null ? void 0 : _i9.preferredSize) && {
987
+ preferredSize: _i9 == null ? void 0 : _i9.preferredSize
988
+ }, {
989
+ snap: (_i9$snap = _i9 == null ? void 0 : _i9.snap) != null ? _i9$snap : v2
990
+ }));
991
+ (_M$current6 = M2.current) != null && _M$current6.addView(A2.current.get(_s6), _n2, ce.Distribute, e3.findIndex((e4) => e4 === _s6)), t2.splice(e3.findIndex((e4) => e4 === _s6), 0, _s6), F2.current.splice(e3.findIndex((e4) => e4 === _s6), 0, _n2);
992
+ }
993
+ for (; !y(e3, t2); ) for (const [_i0, _s7] of e3.entries()) {
994
+ const _e22 = t2.findIndex((e4) => e4 === _s7);
995
+ if (_e22 !== _i0) {
996
+ var _M$current7;
997
+ (_M$current7 = M2.current) == null || _M$current7.moveView(A2.current.get(_s7), _e22, _i0);
998
+ const _n3 = t2[_e22];
999
+ t2.splice(_e22, 1), t2.splice(_i0, 0, _n3);
1000
+ break;
1001
+ }
1002
+ }
1003
+ for (const _t12 of i2) {
1004
+ var _M$current8;
1005
+ const _i1 = e3.findIndex((e4) => e4 === _t12), _s8 = F2.current[_i1].preferredSize;
1006
+ void 0 !== _s8 && ((_M$current8 = M2.current) == null ? void 0 : _M$current8.resizeView(_i1, _s8));
1007
+ }
1008
+ for (const _t13 of [...i2, ...s2]) {
1009
+ var _M$current9, _M$current0;
1010
+ const _i10 = D2.current.get(_t13), _s9 = e3.findIndex((e4) => e4 === _t13);
1011
+ _i10 && be(_i10) && void 0 !== _i10.visible && ((_M$current9 = M2.current) == null ? void 0 : _M$current9.isViewVisible(_s9)) !== _i10.visible && ((_M$current0 = M2.current) == null ? void 0 : _M$current0.setViewVisible(_s9, _i10.visible));
1012
+ }
1013
+ for (const _t14 of s2) {
1014
+ const _i11 = D2.current.get(_t14), _s0 = e3.findIndex((e4) => e4 === _t14);
1015
+ if (_i11 && be(_i11)) {
1016
+ var _M$current1;
1017
+ void 0 !== _i11.preferredSize && F2.current[_s0].preferredSize !== _i11.preferredSize && (F2.current[_s0].preferredSize = _i11.preferredSize);
1018
+ let _e23 = false;
1019
+ void 0 !== _i11.minSize && F2.current[_s0].minimumSize !== _i11.minSize && (F2.current[_s0].minimumSize = _i11.minSize, _e23 = true), void 0 !== _i11.maxSize && F2.current[_s0].maximumSize !== _i11.maxSize && (F2.current[_s0].maximumSize = _i11.maxSize, _e23 = true), _e23 && ((_M$current1 = M2.current) == null ? void 0 : _M$current1.layout());
1020
+ }
1021
+ }
1022
+ (i2.length > 0 || n2.length > 0) && (N2.current = e3);
1023
+ }
1024
+ }, [R2, Y2, u2, c2, v2]), s(() => {
1025
+ M2.current && (M2.current.onDidChange = w2);
1026
+ }, [w2]), s(() => {
1027
+ M2.current && (M2.current.onDidDragStart = I2);
1028
+ }, [I2]), s(() => {
1029
+ M2.current && (M2.current.onDidDragEnd = x2);
1030
+ }, [x2]), E({
1031
+ ref: V2,
1032
+ onResize: ({
1033
+ width: e3,
1034
+ height: t2
1035
+ }) => {
1036
+ var _M$current10;
1037
+ e3 && t2 && ((_M$current10 = M2.current) != null && _M$current10.layout(z2 ? t2 : e3), j2.current.setSize(z2 ? t2 : e3), B2(true));
1038
+ }
1039
+ }), s(() => {
1040
+ H && _e(20);
1041
+ }, []), e.createElement("div", {
1042
+ ref: V2,
1043
+ className: S("split-view", z2 ? "split-view-vertical" : "split-view-horizontal", {
1044
+ "split-view-separator-border": d2
1045
+ }, L, z2 ? P : T, {
1046
+ [C]: d2
1047
+ }, o2),
1048
+ id: l2
1049
+ }, e.createElement("div", {
1050
+ className: S("split-view-container", O)
1051
+ }, e.Children.toArray(r2).map((t2) => {
1052
+ if (!e.isValidElement(t2)) return null;
1053
+ const i2 = t2.key;
1054
+ return "Allotment.Pane" === t2.type.displayName ? (D2.current.set(i2, t2.props), e.cloneElement(t2, {
1055
+ key: i2,
1056
+ ref: (e3) => {
1057
+ const s2 = t2.ref;
1058
+ s2 && (s2.current = e3), e3 ? A2.current.set(i2, e3) : A2.current.delete(i2);
1059
+ }
1060
+ })) : e.createElement(Ie, {
1061
+ key: i2,
1062
+ ref: (e3) => {
1063
+ e3 ? A2.current.set(i2, e3) : A2.current.delete(i2);
1064
+ }
1065
+ }, t2);
1066
+ })));
1067
+ });
1068
+ function _e(e3) {
1069
+ const t2 = x(e3, 4, 20), i2 = x(e3, 1, 8);
1070
+ document.documentElement.style.setProperty("--sash-size", t2 + "px"), document.documentElement.style.setProperty("--sash-hover-size", i2 + "px"), (function(e4) {
1071
+ he = e4, le.emit("onDidChangeGlobalSize", e4);
1072
+ })(t2);
1073
+ }
1074
+ xe.displayName = "Allotment";
1075
+ var Ve = Object.assign(xe, {
1076
+ Pane: Ie
1077
+ });
1078
+
1079
+ // src/dashboard/app/SidebarLayout.tsx
1080
+ import { useRef } from "react";
1081
+ import {
1082
+ dashboardMobileAtom,
1083
+ entrySidebarWidthAtom,
1084
+ navigationSidebarWidthAtom
1085
+ } from "../atoms/dashboard.js";
1086
+
1087
+ // src/dashboard/app/SidebarLayout.module.css
1088
+ var SidebarLayout_default = {
1089
+ "SidebarLayout": "alinea-SidebarLayout",
1090
+ "SidebarLayout-content": "alinea-SidebarLayout-content",
1091
+ "SidebarLayoutContent": "alinea-SidebarLayout-content"
1092
+ };
1093
+
1094
+ // src/dashboard/app/SidebarLayout.tsx
1095
+ import { jsx, jsxs } from "react/jsx-runtime";
1096
+ var styles = styler(SidebarLayout_default);
1097
+ function SidebarLayout({
1098
+ children,
1099
+ sidebar,
1100
+ side,
1101
+ visible = true
1102
+ }) {
1103
+ const isMobile = useAtomValue(dashboardMobileAtom);
1104
+ const [width, setWidth] = useAtom(
1105
+ side === "left" ? navigationSidebarWidthAtom : entrySidebarWidthAtom
1106
+ );
1107
+ const container = useRef(null);
1108
+ const allotment = useRef(null);
1109
+ const sidebarVisible = visible && (side === "right" || !isMobile);
1110
+ function saveWidth(sizes) {
1111
+ const size = sizes[side === "left" ? 0 : 1];
1112
+ if (!isMobile && size > 0) setWidth(size);
1113
+ }
1114
+ function resetWidth() {
1115
+ if (!container.current) return;
1116
+ const remaining = container.current.clientWidth - 320;
1117
+ allotment.current?.resize(
1118
+ side === "left" ? [320, remaining] : [remaining, 320]
1119
+ );
1120
+ setWidth(320);
1121
+ }
1122
+ const sidebarPane = /* @__PURE__ */ jsx(
1123
+ Ve.Pane,
1124
+ {
1125
+ minSize: isMobile ? 0 : side === "left" ? 200 : 300,
1126
+ maxSize: isMobile ? Infinity : side === "left" ? 480 : 640,
1127
+ preferredSize: width,
1128
+ priority: de.Low,
1129
+ visible: sidebarVisible,
1130
+ children: sidebar
1131
+ },
1132
+ "sidebar"
1133
+ );
1134
+ return /* @__PURE__ */ jsx("div", { ref: container, className: styles.SidebarLayout(), "data-side": side, children: /* @__PURE__ */ jsxs(
1135
+ Ve,
1136
+ {
1137
+ ref: allotment,
1138
+ proportionalLayout: false,
1139
+ onDragEnd: saveWidth,
1140
+ onReset: resetWidth,
1141
+ children: [
1142
+ side === "left" && sidebarPane,
1143
+ /* @__PURE__ */ jsx(
1144
+ Ve.Pane,
1145
+ {
1146
+ minSize: isMobile ? 0 : side === "left" ? 500 : 200,
1147
+ priority: de.High,
1148
+ visible: !isMobile || side === "left" || !sidebarVisible,
1149
+ children: /* @__PURE__ */ jsx("div", { className: styles.SidebarLayout.content(), children })
1150
+ },
1151
+ "content"
1152
+ ),
1153
+ side === "right" && sidebarPane
1154
+ ]
1155
+ }
1156
+ ) });
1157
+ }
1158
+ export {
1159
+ SidebarLayout
1160
+ };
1161
+ /*! Bundled license information:
1162
+
1163
+ allotment/dist/modern.mjs:
1164
+ (*!
1165
+ Copyright (c) 2018 Jed Watson.
1166
+ Licensed under the MIT License (MIT), see
1167
+ http://jedwatson.github.io/classnames
1168
+ *)
1169
+ */