@stonecrop/code-editor 0.13.14 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- .a-code-editor[data-v-27d090ea]{width:100%;overflow:hidden}
1
+ .a-code-editor[data-v-8f53629e]{width:100%;overflow:hidden}
@@ -1,186 +1,186 @@
1
- import { defineComponent as x, useModel as $, useTemplateRef as D, shallowRef as q, watch as k, onMounted as M, onUnmounted as B, openBlock as R, createElementBlock as L, normalizeStyle as V, mergeModels as z } from "vue";
2
- function O(e, n) {
3
- (n == null || n > e.length) && (n = e.length);
4
- for (var r = 0, t = Array(n); r < n; r++) t[r] = e[r];
5
- return t;
1
+ import { defineComponent as M, useModel as D, useTemplateRef as L, shallowRef as q, watch as j, onMounted as B, onUnmounted as R, openBlock as V, createElementBlock as z, normalizeStyle as H, mergeModels as U } from "vue";
2
+ function O(e, t) {
3
+ (t == null || t > e.length) && (t = e.length);
4
+ for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
5
+ return r;
6
6
  }
7
- function H(e) {
7
+ function F(e) {
8
8
  if (Array.isArray(e)) return e;
9
9
  }
10
- function N(e, n, r) {
11
- return (n = Y(n)) in e ? Object.defineProperty(e, n, {
12
- value: r,
10
+ function N(e, t, n) {
11
+ return (t = X(t)) in e ? Object.defineProperty(e, t, {
12
+ value: n,
13
13
  enumerable: !0,
14
14
  configurable: !0,
15
15
  writable: !0
16
- }) : e[n] = r, e;
16
+ }) : e[t] = n, e;
17
17
  }
18
- function F(e, n) {
19
- var r = e == null ? null : typeof Symbol < "u" && e[Symbol.iterator] || e["@@iterator"];
20
- if (r != null) {
21
- var t, o, i, a, c = [], u = !0, d = !1;
18
+ function W(e, t) {
19
+ var n = e == null ? null : typeof Symbol < "u" && e[Symbol.iterator] || e["@@iterator"];
20
+ if (n != null) {
21
+ var r, o, i, a, u = [], c = !0, f = !1;
22
22
  try {
23
- if (i = (r = r.call(e)).next, n !== 0) for (; !(u = (t = i.call(r)).done) && (c.push(t.value), c.length !== n); u = !0) ;
24
- } catch (h) {
25
- d = !0, o = h;
23
+ if (i = (n = n.call(e)).next, t !== 0) for (; !(c = (r = i.call(n)).done) && (u.push(r.value), u.length !== t); c = !0) ;
24
+ } catch (d) {
25
+ f = !0, o = d;
26
26
  } finally {
27
27
  try {
28
- if (!u && r.return != null && (a = r.return(), Object(a) !== a)) return;
28
+ if (!c && n.return != null && (a = n.return(), Object(a) !== a)) return;
29
29
  } finally {
30
- if (d) throw o;
30
+ if (f) throw o;
31
31
  }
32
32
  }
33
- return c;
33
+ return u;
34
34
  }
35
35
  }
36
- function U() {
36
+ function G() {
37
37
  throw new TypeError(`Invalid attempt to destructure non-iterable instance.
38
38
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
39
39
  }
40
- function w(e, n) {
41
- var r = Object.keys(e);
40
+ function w(e, t) {
41
+ var n = Object.keys(e);
42
42
  if (Object.getOwnPropertySymbols) {
43
- var t = Object.getOwnPropertySymbols(e);
44
- n && (t = t.filter(function(o) {
43
+ var r = Object.getOwnPropertySymbols(e);
44
+ t && (r = r.filter(function(o) {
45
45
  return Object.getOwnPropertyDescriptor(e, o).enumerable;
46
- })), r.push.apply(r, t);
46
+ })), n.push.apply(n, r);
47
47
  }
48
- return r;
49
- }
50
- function j(e) {
51
- for (var n = 1; n < arguments.length; n++) {
52
- var r = arguments[n] != null ? arguments[n] : {};
53
- n % 2 ? w(Object(r), !0).forEach(function(t) {
54
- N(e, t, r[t]);
55
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : w(Object(r)).forEach(function(t) {
56
- Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t));
48
+ return n;
49
+ }
50
+ function S(e) {
51
+ for (var t = 1; t < arguments.length; t++) {
52
+ var n = arguments[t] != null ? arguments[t] : {};
53
+ t % 2 ? w(Object(n), !0).forEach(function(r) {
54
+ N(e, r, n[r]);
55
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : w(Object(n)).forEach(function(r) {
56
+ Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(n, r));
57
57
  });
58
58
  }
59
59
  return e;
60
60
  }
61
- function W(e, n) {
61
+ function K(e, t) {
62
62
  if (e == null) return {};
63
- var r, t, o = G(e, n);
63
+ var n, r, o = J(e, t);
64
64
  if (Object.getOwnPropertySymbols) {
65
65
  var i = Object.getOwnPropertySymbols(e);
66
- for (t = 0; t < i.length; t++) r = i[t], n.indexOf(r) === -1 && {}.propertyIsEnumerable.call(e, r) && (o[r] = e[r]);
66
+ for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) === -1 && {}.propertyIsEnumerable.call(e, n) && (o[n] = e[n]);
67
67
  }
68
68
  return o;
69
69
  }
70
- function G(e, n) {
70
+ function J(e, t) {
71
71
  if (e == null) return {};
72
- var r = {};
73
- for (var t in e) if ({}.hasOwnProperty.call(e, t)) {
74
- if (n.indexOf(t) !== -1) continue;
75
- r[t] = e[t];
72
+ var n = {};
73
+ for (var r in e) if ({}.hasOwnProperty.call(e, r)) {
74
+ if (t.indexOf(r) !== -1) continue;
75
+ n[r] = e[r];
76
76
  }
77
- return r;
77
+ return n;
78
78
  }
79
- function K(e, n) {
80
- return H(e) || F(e, n) || Q(e, n) || U();
79
+ function Y(e, t) {
80
+ return F(e) || W(e, t) || Z(e, t) || G();
81
81
  }
82
- function J(e, n) {
82
+ function Q(e, t) {
83
83
  if (typeof e != "object" || !e) return e;
84
- var r = e[Symbol.toPrimitive];
85
- if (r !== void 0) {
86
- var t = r.call(e, n);
87
- if (typeof t != "object") return t;
84
+ var n = e[Symbol.toPrimitive];
85
+ if (n !== void 0) {
86
+ var r = n.call(e, t);
87
+ if (typeof r != "object") return r;
88
88
  throw new TypeError("@@toPrimitive must return a primitive value.");
89
89
  }
90
- return (n === "string" ? String : Number)(e);
90
+ return (t === "string" ? String : Number)(e);
91
91
  }
92
- function Y(e) {
93
- var n = J(e, "string");
94
- return typeof n == "symbol" ? n : n + "";
92
+ function X(e) {
93
+ var t = Q(e, "string");
94
+ return typeof t == "symbol" ? t : t + "";
95
95
  }
96
- function Q(e, n) {
96
+ function Z(e, t) {
97
97
  if (e) {
98
- if (typeof e == "string") return O(e, n);
99
- var r = {}.toString.call(e).slice(8, -1);
100
- return r === "Object" && e.constructor && (r = e.constructor.name), r === "Map" || r === "Set" ? Array.from(e) : r === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r) ? O(e, n) : void 0;
98
+ if (typeof e == "string") return O(e, t);
99
+ var n = {}.toString.call(e).slice(8, -1);
100
+ return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? O(e, t) : void 0;
101
101
  }
102
102
  }
103
- function X(e, n, r) {
104
- return n in e ? Object.defineProperty(e, n, {
105
- value: r,
103
+ function _(e, t, n) {
104
+ return t in e ? Object.defineProperty(e, t, {
105
+ value: n,
106
106
  enumerable: !0,
107
107
  configurable: !0,
108
108
  writable: !0
109
- }) : e[n] = r, e;
109
+ }) : e[t] = n, e;
110
110
  }
111
- function S(e, n) {
112
- var r = Object.keys(e);
111
+ function P(e, t) {
112
+ var n = Object.keys(e);
113
113
  if (Object.getOwnPropertySymbols) {
114
- var t = Object.getOwnPropertySymbols(e);
115
- n && (t = t.filter(function(o) {
114
+ var r = Object.getOwnPropertySymbols(e);
115
+ t && (r = r.filter(function(o) {
116
116
  return Object.getOwnPropertyDescriptor(e, o).enumerable;
117
- })), r.push.apply(r, t);
117
+ })), n.push.apply(n, r);
118
118
  }
119
- return r;
120
- }
121
- function P(e) {
122
- for (var n = 1; n < arguments.length; n++) {
123
- var r = arguments[n] != null ? arguments[n] : {};
124
- n % 2 ? S(Object(r), !0).forEach(function(t) {
125
- X(e, t, r[t]);
126
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : S(Object(r)).forEach(function(t) {
127
- Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t));
119
+ return n;
120
+ }
121
+ function I(e) {
122
+ for (var t = 1; t < arguments.length; t++) {
123
+ var n = arguments[t] != null ? arguments[t] : {};
124
+ t % 2 ? P(Object(n), !0).forEach(function(r) {
125
+ _(e, r, n[r]);
126
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : P(Object(n)).forEach(function(r) {
127
+ Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(n, r));
128
128
  });
129
129
  }
130
130
  return e;
131
131
  }
132
- function Z() {
133
- for (var e = arguments.length, n = new Array(e), r = 0; r < e; r++)
134
- n[r] = arguments[r];
135
- return function(t) {
136
- return n.reduceRight(function(o, i) {
132
+ function ee() {
133
+ for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++)
134
+ t[n] = arguments[n];
135
+ return function(r) {
136
+ return t.reduceRight(function(o, i) {
137
137
  return i(o);
138
- }, t);
138
+ }, r);
139
139
  };
140
140
  }
141
- function l(e) {
142
- return function n() {
143
- for (var r = this, t = arguments.length, o = new Array(t), i = 0; i < t; i++)
141
+ function s(e) {
142
+ return function t() {
143
+ for (var n = this, r = arguments.length, o = new Array(r), i = 0; i < r; i++)
144
144
  o[i] = arguments[i];
145
145
  return o.length >= e.length ? e.apply(this, o) : function() {
146
- for (var a = arguments.length, c = new Array(a), u = 0; u < a; u++)
147
- c[u] = arguments[u];
148
- return n.apply(r, [].concat(o, c));
146
+ for (var a = arguments.length, u = new Array(a), c = 0; c < a; c++)
147
+ u[c] = arguments[c];
148
+ return t.apply(n, [].concat(o, u));
149
149
  };
150
150
  };
151
151
  }
152
- function p(e) {
152
+ function b(e) {
153
153
  return {}.toString.call(e).includes("Object");
154
154
  }
155
- function _(e) {
155
+ function te(e) {
156
156
  return !Object.keys(e).length;
157
157
  }
158
- function s(e) {
158
+ function g(e) {
159
159
  return typeof e == "function";
160
160
  }
161
- function ee(e, n) {
162
- return Object.prototype.hasOwnProperty.call(e, n);
161
+ function ne(e, t) {
162
+ return Object.prototype.hasOwnProperty.call(e, t);
163
163
  }
164
- function ne(e, n) {
165
- return p(n) || f("changeType"), Object.keys(n).some(function(r) {
166
- return !ee(e, r);
167
- }) && f("changeField"), n;
164
+ function re(e, t) {
165
+ return b(t) || l("changeType"), Object.keys(t).some(function(n) {
166
+ return !ne(e, n);
167
+ }) && l("changeField"), t;
168
168
  }
169
- function re(e) {
170
- s(e) || f("selectorType");
169
+ function oe(e) {
170
+ g(e) || l("selectorType");
171
171
  }
172
- function te(e) {
173
- s(e) || p(e) || f("handlerType"), p(e) && Object.values(e).some(function(n) {
174
- return !s(n);
175
- }) && f("handlersType");
172
+ function ie(e) {
173
+ g(e) || b(e) || l("handlerType"), b(e) && Object.values(e).some(function(t) {
174
+ return !g(t);
175
+ }) && l("handlersType");
176
176
  }
177
- function oe(e) {
178
- e || f("initialIsRequired"), p(e) || f("initialType"), _(e) && f("initialContent");
177
+ function ae(e) {
178
+ e || l("initialIsRequired"), b(e) || l("initialType"), te(e) && l("initialContent");
179
179
  }
180
- function ie(e, n) {
181
- throw new Error(e[n] || e.default);
180
+ function ce(e, t) {
181
+ throw new Error(e[t] || e.default);
182
182
  }
183
- var ae = {
183
+ var ue = {
184
184
  initialIsRequired: "initial state is required",
185
185
  initialType: "initial state should be an object",
186
186
  initialContent: "initial state shouldn't be an empty object",
@@ -190,76 +190,76 @@ var ae = {
190
190
  changeType: "provided value of changes should be an object",
191
191
  changeField: 'it seams you want to change a field in the state which is not specified in the "initial" state',
192
192
  default: "an unknown error accured in `state-local` package"
193
- }, f = l(ie)(ae), m = {
194
- changes: ne,
195
- selector: re,
196
- handler: te,
197
- initial: oe
193
+ }, l = s(ce)(ue), p = {
194
+ changes: re,
195
+ selector: oe,
196
+ handler: ie,
197
+ initial: ae
198
198
  };
199
- function ue(e) {
200
- var n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
201
- m.initial(e), m.handler(n);
202
- var r = {
199
+ function fe(e) {
200
+ var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
201
+ p.initial(e), p.handler(t);
202
+ var n = {
203
203
  current: e
204
- }, t = l(de)(r, n), o = l(fe)(r), i = l(m.changes)(e), a = l(ce)(r);
205
- function c() {
206
- var d = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : function(h) {
207
- return h;
204
+ }, r = s(se)(n, t), o = s(le)(n), i = s(p.changes)(e), a = s(de)(n);
205
+ function u() {
206
+ var f = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : function(d) {
207
+ return d;
208
208
  };
209
- return m.selector(d), d(r.current);
209
+ return p.selector(f), f(n.current);
210
210
  }
211
- function u(d) {
212
- Z(t, o, i, a)(d);
211
+ function c(f) {
212
+ ee(r, o, i, a)(f);
213
213
  }
214
- return [c, u];
214
+ return [u, c];
215
215
  }
216
- function ce(e, n) {
217
- return s(n) ? n(e.current) : n;
216
+ function de(e, t) {
217
+ return g(t) ? t(e.current) : t;
218
218
  }
219
- function fe(e, n) {
220
- return e.current = P(P({}, e.current), n), n;
219
+ function le(e, t) {
220
+ return e.current = I(I({}, e.current), t), t;
221
221
  }
222
- function de(e, n, r) {
223
- return s(n) ? n(e.current) : Object.keys(r).forEach(function(t) {
222
+ function se(e, t, n) {
223
+ return g(t) ? t(e.current) : Object.keys(n).forEach(function(r) {
224
224
  var o;
225
- return (o = n[t]) === null || o === void 0 ? void 0 : o.call(n, e.current[t]);
226
- }), r;
225
+ return (o = t[r]) === null || o === void 0 ? void 0 : o.call(t, e.current[r]);
226
+ }), n;
227
227
  }
228
- var le = {
229
- create: ue
230
- }, se = {
228
+ var ge = {
229
+ create: fe
230
+ }, me = {
231
231
  paths: {
232
232
  vs: "https://cdn.jsdelivr.net/npm/monaco-editor@0.55.1/min/vs"
233
233
  }
234
234
  };
235
- function ge(e) {
236
- return function n() {
237
- for (var r = this, t = arguments.length, o = new Array(t), i = 0; i < t; i++)
235
+ function pe(e) {
236
+ return function t() {
237
+ for (var n = this, r = arguments.length, o = new Array(r), i = 0; i < r; i++)
238
238
  o[i] = arguments[i];
239
239
  return o.length >= e.length ? e.apply(this, o) : function() {
240
- for (var a = arguments.length, c = new Array(a), u = 0; u < a; u++)
241
- c[u] = arguments[u];
242
- return n.apply(r, [].concat(o, c));
240
+ for (var a = arguments.length, u = new Array(a), c = 0; c < a; c++)
241
+ u[c] = arguments[c];
242
+ return t.apply(n, [].concat(o, u));
243
243
  };
244
244
  };
245
245
  }
246
- function me(e) {
246
+ function be(e) {
247
247
  return {}.toString.call(e).includes("Object");
248
248
  }
249
- function pe(e) {
250
- return e || I("configIsRequired"), me(e) || I("configType"), e.urls ? (be(), {
249
+ function he(e) {
250
+ return e || E("configIsRequired"), be(e) || E("configType"), e.urls ? (ve(), {
251
251
  paths: {
252
252
  vs: e.urls.monacoBase
253
253
  }
254
254
  }) : e;
255
255
  }
256
- function be() {
257
- console.warn(E.deprecation);
256
+ function ve() {
257
+ console.warn(T.deprecation);
258
258
  }
259
- function he(e, n) {
260
- throw new Error(e[n] || e.default);
259
+ function ye(e, t) {
260
+ throw new Error(e[t] || e.default);
261
261
  }
262
- var E = {
262
+ var T = {
263
263
  configIsRequired: "the configuration object is required",
264
264
  configType: "the configuration object should be an object",
265
265
  default: "an unknown error accured in `@monaco-editor/loader` package",
@@ -273,129 +273,129 @@ var E = {
273
273
 
274
274
  For more please check the link https://github.com/suren-atoyan/monaco-loader#config
275
275
  `
276
- }, I = ge(he)(E), ve = {
277
- config: pe
278
- }, ye = function() {
279
- for (var n = arguments.length, r = new Array(n), t = 0; t < n; t++)
280
- r[t] = arguments[t];
276
+ }, E = pe(ye)(T), ke = {
277
+ config: he
278
+ }, je = function() {
279
+ for (var t = arguments.length, n = new Array(t), r = 0; r < t; r++)
280
+ n[r] = arguments[r];
281
281
  return function(o) {
282
- return r.reduceRight(function(i, a) {
282
+ return n.reduceRight(function(i, a) {
283
283
  return a(i);
284
284
  }, o);
285
285
  };
286
286
  };
287
- function T(e, n) {
288
- return Object.keys(n).forEach(function(r) {
289
- n[r] instanceof Object && e[r] && Object.assign(n[r], T(e[r], n[r]));
290
- }), j(j({}, e), n);
287
+ function A(e, t) {
288
+ return Object.keys(t).forEach(function(n) {
289
+ t[n] instanceof Object && e[n] && Object.assign(t[n], A(e[n], t[n]));
290
+ }), S(S({}, e), t);
291
291
  }
292
- var ke = {
292
+ var Oe = {
293
293
  type: "cancelation",
294
294
  msg: "operation is manually canceled"
295
295
  };
296
296
  function v(e) {
297
- var n = !1, r = new Promise(function(t, o) {
297
+ var t = !1, n = new Promise(function(r, o) {
298
298
  e.then(function(i) {
299
- return n ? o(ke) : t(i);
299
+ return t ? o(Oe) : r(i);
300
300
  }), e.catch(o);
301
301
  });
302
- return r.cancel = function() {
303
- return n = !0;
304
- }, r;
302
+ return n.cancel = function() {
303
+ return t = !0;
304
+ }, n;
305
305
  }
306
- var Oe = ["monaco"], we = le.create({
307
- config: se,
306
+ var we = ["monaco"], Se = ge.create({
307
+ config: me,
308
308
  isInitialized: !1,
309
309
  resolve: null,
310
310
  reject: null,
311
311
  monaco: null
312
- }), A = K(we, 2), g = A[0], b = A[1];
313
- function je(e) {
314
- var n = ve.config(e), r = n.monaco, t = W(n, Oe);
315
- b(function(o) {
312
+ }), C = Y(Se, 2), m = C[0], h = C[1];
313
+ function Pe(e) {
314
+ var t = ke.config(e), n = t.monaco, r = K(t, we);
315
+ h(function(o) {
316
316
  return {
317
- config: T(o.config, t),
318
- monaco: r
317
+ config: A(o.config, r),
318
+ monaco: n
319
319
  };
320
320
  });
321
321
  }
322
- function Se() {
323
- var e = g(function(n) {
324
- var r = n.monaco, t = n.isInitialized, o = n.resolve;
322
+ function Ie() {
323
+ var e = m(function(t) {
324
+ var n = t.monaco, r = t.isInitialized, o = t.resolve;
325
325
  return {
326
- monaco: r,
327
- isInitialized: t,
326
+ monaco: n,
327
+ isInitialized: r,
328
328
  resolve: o
329
329
  };
330
330
  });
331
331
  if (!e.isInitialized) {
332
- if (b({
332
+ if (h({
333
333
  isInitialized: !0
334
334
  }), e.monaco)
335
335
  return e.resolve(e.monaco), v(y);
336
336
  if (window.monaco && window.monaco.editor)
337
- return C(window.monaco), e.resolve(window.monaco), v(y);
338
- ye(Pe, Ee)(Te);
337
+ return $(window.monaco), e.resolve(window.monaco), v(y);
338
+ je(Ee, Te)(Ae);
339
339
  }
340
340
  return v(y);
341
341
  }
342
- function Pe(e) {
342
+ function Ee(e) {
343
343
  return document.body.appendChild(e);
344
344
  }
345
- function Ie(e) {
346
- var n = document.createElement("script");
347
- return e && (n.src = e), n;
345
+ function xe(e) {
346
+ var t = document.createElement("script");
347
+ return e && (t.src = e), t;
348
348
  }
349
- function Ee(e) {
350
- var n = g(function(t) {
351
- var o = t.config, i = t.reject;
349
+ function Te(e) {
350
+ var t = m(function(r) {
351
+ var o = r.config, i = r.reject;
352
352
  return {
353
353
  config: o,
354
354
  reject: i
355
355
  };
356
- }), r = Ie("".concat(n.config.paths.vs, "/loader.js"));
357
- return r.onload = function() {
356
+ }), n = xe("".concat(t.config.paths.vs, "/loader.js"));
357
+ return n.onload = function() {
358
358
  return e();
359
- }, r.onerror = n.reject, r;
359
+ }, n.onerror = t.reject, n;
360
360
  }
361
- function Te() {
362
- var e = g(function(r) {
363
- var t = r.config, o = r.resolve, i = r.reject;
361
+ function Ae() {
362
+ var e = m(function(n) {
363
+ var r = n.config, o = n.resolve, i = n.reject;
364
364
  return {
365
- config: t,
365
+ config: r,
366
366
  resolve: o,
367
367
  reject: i
368
368
  };
369
- }), n = window.require;
370
- n.config(e.config), n(["vs/editor/editor.main"], function(r) {
371
- var t = r.m || r;
372
- C(t), e.resolve(t);
373
- }, function(r) {
374
- e.reject(r);
369
+ }), t = window.require;
370
+ t.config(e.config), t(["vs/editor/editor.main"], function(n) {
371
+ var r = n.m || n;
372
+ $(r), e.resolve(r);
373
+ }, function(n) {
374
+ e.reject(n);
375
375
  });
376
376
  }
377
- function C(e) {
378
- g().monaco || b({
377
+ function $(e) {
378
+ m().monaco || h({
379
379
  monaco: e
380
380
  });
381
381
  }
382
- function Ae() {
383
- return g(function(e) {
384
- var n = e.monaco;
385
- return n;
382
+ function Ce() {
383
+ return m(function(e) {
384
+ var t = e.monaco;
385
+ return t;
386
386
  });
387
387
  }
388
- var y = new Promise(function(e, n) {
389
- return b({
388
+ var y = new Promise(function(e, t) {
389
+ return h({
390
390
  resolve: e,
391
- reject: n
391
+ reject: t
392
392
  });
393
- }), Ce = {
394
- config: je,
395
- init: Se,
396
- __getMonacoInstance: Ae
393
+ }), x = {
394
+ config: Pe,
395
+ init: Ie,
396
+ __getMonacoInstance: Ce
397
397
  };
398
- const xe = {
398
+ const $e = {
399
399
  base: "vs",
400
400
  inherit: !0,
401
401
  colors: {
@@ -743,15 +743,13 @@ const xe = {
743
743
  }
744
744
  ]
745
745
  };
746
- function $e(e, n) {
747
- return e === "JSON" ? "json" : e === "Code" ? n ?? "typescript" : n ?? "plaintext";
748
- }
749
- function De(e, n) {
746
+ function Me(e) {
750
747
  return e == null ? "" : typeof e == "string" ? e : JSON.stringify(e, null, 2);
751
748
  }
752
- const qe = /* @__PURE__ */ x({
749
+ let De = 0;
750
+ const Le = /* @__PURE__ */ M({
753
751
  __name: "ACodeEditor",
754
- props: /* @__PURE__ */ z({
752
+ props: /* @__PURE__ */ U({
755
753
  height: { default: "300px" },
756
754
  mode: { default: "edit" },
757
755
  schema: { default: () => {
@@ -759,6 +757,12 @@ const qe = /* @__PURE__ */ x({
759
757
  language: { default: () => {
760
758
  } },
761
759
  options: { default: () => {
760
+ } },
761
+ vsPath: { default: () => {
762
+ } },
763
+ extraLibs: { default: () => {
764
+ } },
765
+ libs: { default: () => {
762
766
  } }
763
767
  }, {
764
768
  modelValue: {},
@@ -766,52 +770,62 @@ const qe = /* @__PURE__ */ x({
766
770
  }),
767
771
  emits: ["update:modelValue"],
768
772
  setup(e) {
769
- const n = $(e, "modelValue"), r = D("aCodeEditor"), t = q(null);
770
- return k(n, (o) => {
771
- const i = t.value;
773
+ const t = D(e, "modelValue"), n = L("aCodeEditor"), r = q(null);
774
+ return j(t, (o) => {
775
+ const i = r.value;
772
776
  i && o !== i.getValue() && i.setValue(o ?? "");
773
- }), k(
777
+ }), j(
774
778
  () => e.mode,
775
779
  (o) => {
776
- t.value?.updateOptions({ readOnly: o !== "edit" });
780
+ r.value?.updateOptions({ readOnly: o !== "edit" });
777
781
  }
778
- ), M(async () => {
779
- const o = await Ce.init(), i = $e(e.schema?.fieldtype, e.language);
780
- o.editor.defineTheme("agritheory", xe), o.editor.setTheme("agritheory");
781
- const a = o.editor.create(r.value, {
782
+ ), B(async () => {
783
+ e.vsPath && x.config({ paths: { vs: e.vsPath } });
784
+ const o = await x.init(), i = e.schema?.language ?? e.language ?? "plaintext", a = o.typescript;
785
+ e.extraLibs && a.javascriptDefaults.addExtraLib(e.extraLibs, "ts:stonecrop.d.ts"), (e.extraLibs || e.libs) && a.javascriptDefaults.setCompilerOptions({
786
+ checkJs: !0,
787
+ noImplicitAny: !1,
788
+ // `lib` is authoritative — it replaces Monaco's default set, so passing e.g.
789
+ // ['es2020'] retains the JS built-ins (Promise/Array/JSON/…) while removing the
790
+ // DOM/browser globals. `target` is matched so ES2020 syntax isn't flagged.
791
+ ...e.libs && {
792
+ target: a.ScriptTarget.ES2020,
793
+ lib: e.libs
794
+ }
795
+ }), o.editor.defineTheme("agritheory", $e), o.editor.setTheme("agritheory");
796
+ const u = i === "typescript" ? "ts" : i === "json" ? "json" : i === "python" ? "py" : "js", c = o.Uri.parse(`file:///stonecrop-editor-${++De}.${u}`), f = o.editor.createModel(Me(t.value), i, c), d = o.editor.create(n.value, {
782
797
  automaticLayout: !0,
783
798
  colorDecorators: !0,
784
799
  lineHeight: 24,
785
800
  scrollBeyondLastLine: !1,
786
801
  ...e.options,
787
- value: De(n.value, e.schema?.fieldtype),
788
- language: i,
802
+ model: f,
789
803
  readOnly: e.mode !== "edit"
790
804
  });
791
- a.onDidChangeModelContent(() => {
792
- n.value = a.getValue();
793
- }), t.value = a;
794
- const c = n.value ?? "";
795
- c !== a.getValue() && a.setValue(c);
796
- }), B(() => {
797
- t.value?.dispose(), t.value = null;
798
- }), (o, i) => (R(), L("div", {
805
+ d.onDidChangeModelContent(() => {
806
+ t.value = d.getValue();
807
+ }), r.value = d;
808
+ const k = t.value ?? "";
809
+ k !== d.getValue() && d.setValue(k);
810
+ }), R(() => {
811
+ r.value?.getModel()?.dispose(), r.value?.dispose(), r.value = null;
812
+ }), (o, i) => (V(), z("div", {
799
813
  ref: "aCodeEditor",
800
814
  class: "a-code-editor",
801
- style: V({ height: e.height })
815
+ style: H({ height: e.height })
802
816
  }, null, 4));
803
817
  }
804
- }), Me = (e, n) => {
805
- const r = e.__vccOpts || e;
806
- for (const [t, o] of n)
807
- r[t] = o;
808
- return r;
809
- }, Be = /* @__PURE__ */ Me(qe, [["__scopeId", "data-v-27d090ea"]]);
810
- function Le(e) {
818
+ }), qe = (e, t) => {
819
+ const n = e.__vccOpts || e;
820
+ for (const [r, o] of t)
821
+ n[r] = o;
822
+ return n;
823
+ }, Be = /* @__PURE__ */ qe(Le, [["__scopeId", "data-v-8f53629e"]]);
824
+ function Ve(e) {
811
825
  e.component("ACodeEditor", Be);
812
826
  }
813
827
  export {
814
828
  Be as ACodeEditor,
815
- Le as install
829
+ Ve as install
816
830
  };
817
831
  //# sourceMappingURL=code-editor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"code-editor.js","sources":["../../common/temp/node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/_virtual/_rollupPluginBabelHelpers.js","../../common/temp/node_modules/.pnpm/state-local@1.0.7/node_modules/state-local/lib/es/state-local.js","../../common/temp/node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/config/index.js","../../common/temp/node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/utils/curry.js","../../common/temp/node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/utils/isObject.js","../../common/temp/node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/validators/index.js","../../common/temp/node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/utils/compose.js","../../common/temp/node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/utils/deepMerge.js","../../common/temp/node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/utils/makeCancelable.js","../../common/temp/node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/loader/index.js","../src/theme/code_editor/agritheory.ts","../src/utils/language.ts","../src/utils/serialization.ts","../src/components/ACodeEditor.vue","../src/index.ts"],"sourcesContent":["function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nfunction _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nfunction _defineProperty(e, r, t) {\n return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: true,\n configurable: true,\n writable: true\n }) : e[r] = t, e;\n}\nfunction _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = true,\n o = false;\n try {\n if (i = (t = t.call(r)).next, 0 === l) ; else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = true, n = r;\n } finally {\n try {\n if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), true).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = _objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nfunction _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nfunction _slicedToArray(r, e) {\n return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();\n}\nfunction _toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r);\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nfunction _toPropertyKey(t) {\n var i = _toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n}\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return _arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;\n }\n}\n\nexport { _arrayLikeToArray as arrayLikeToArray, _arrayWithHoles as arrayWithHoles, _defineProperty as defineProperty, _iterableToArrayLimit as iterableToArrayLimit, _nonIterableRest as nonIterableRest, _objectSpread2 as objectSpread2, _objectWithoutProperties as objectWithoutProperties, _objectWithoutPropertiesLoose as objectWithoutPropertiesLoose, _slicedToArray as slicedToArray, _toPrimitive as toPrimitive, _toPropertyKey as toPropertyKey, _unsupportedIterableToArray as unsupportedIterableToArray };\n","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction compose() {\n for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n\n return function (x) {\n return fns.reduceRight(function (y, f) {\n return f(y);\n }, x);\n };\n}\n\nfunction curry(fn) {\n return function curried() {\n var _this = this;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return args.length >= fn.length ? fn.apply(this, args) : function () {\n for (var _len3 = arguments.length, nextArgs = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n nextArgs[_key3] = arguments[_key3];\n }\n\n return curried.apply(_this, [].concat(args, nextArgs));\n };\n };\n}\n\nfunction isObject(value) {\n return {}.toString.call(value).includes('Object');\n}\n\nfunction isEmpty(obj) {\n return !Object.keys(obj).length;\n}\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\nfunction hasOwnProperty(object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n}\n\nfunction validateChanges(initial, changes) {\n if (!isObject(changes)) errorHandler('changeType');\n if (Object.keys(changes).some(function (field) {\n return !hasOwnProperty(initial, field);\n })) errorHandler('changeField');\n return changes;\n}\n\nfunction validateSelector(selector) {\n if (!isFunction(selector)) errorHandler('selectorType');\n}\n\nfunction validateHandler(handler) {\n if (!(isFunction(handler) || isObject(handler))) errorHandler('handlerType');\n if (isObject(handler) && Object.values(handler).some(function (_handler) {\n return !isFunction(_handler);\n })) errorHandler('handlersType');\n}\n\nfunction validateInitial(initial) {\n if (!initial) errorHandler('initialIsRequired');\n if (!isObject(initial)) errorHandler('initialType');\n if (isEmpty(initial)) errorHandler('initialContent');\n}\n\nfunction throwError(errorMessages, type) {\n throw new Error(errorMessages[type] || errorMessages[\"default\"]);\n}\n\nvar errorMessages = {\n initialIsRequired: 'initial state is required',\n initialType: 'initial state should be an object',\n initialContent: 'initial state shouldn\\'t be an empty object',\n handlerType: 'handler should be an object or a function',\n handlersType: 'all handlers should be a functions',\n selectorType: 'selector should be a function',\n changeType: 'provided value of changes should be an object',\n changeField: 'it seams you want to change a field in the state which is not specified in the \"initial\" state',\n \"default\": 'an unknown error accured in `state-local` package'\n};\nvar errorHandler = curry(throwError)(errorMessages);\nvar validators = {\n changes: validateChanges,\n selector: validateSelector,\n handler: validateHandler,\n initial: validateInitial\n};\n\nfunction create(initial) {\n var handler = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n validators.initial(initial);\n validators.handler(handler);\n var state = {\n current: initial\n };\n var didUpdate = curry(didStateUpdate)(state, handler);\n var update = curry(updateState)(state);\n var validate = curry(validators.changes)(initial);\n var getChanges = curry(extractChanges)(state);\n\n function getState() {\n var selector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function (state) {\n return state;\n };\n validators.selector(selector);\n return selector(state.current);\n }\n\n function setState(causedChanges) {\n compose(didUpdate, update, validate, getChanges)(causedChanges);\n }\n\n return [getState, setState];\n}\n\nfunction extractChanges(state, causedChanges) {\n return isFunction(causedChanges) ? causedChanges(state.current) : causedChanges;\n}\n\nfunction updateState(state, changes) {\n state.current = _objectSpread2(_objectSpread2({}, state.current), changes);\n return changes;\n}\n\nfunction didStateUpdate(state, handler, changes) {\n isFunction(handler) ? handler(state.current) : Object.keys(changes).forEach(function (field) {\n var _handler$field;\n\n return (_handler$field = handler[field]) === null || _handler$field === void 0 ? void 0 : _handler$field.call(handler, state.current[field]);\n });\n return changes;\n}\n\nvar index = {\n create: create\n};\n\nexport default index;\n","var config = {\n paths: {\n vs: 'https://cdn.jsdelivr.net/npm/monaco-editor@0.55.1/min/vs'\n }\n};\n\nexport { config as default };\n","function curry(fn) {\n return function curried() {\n var _this = this;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return args.length >= fn.length ? fn.apply(this, args) : function () {\n for (var _len2 = arguments.length, nextArgs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n nextArgs[_key2] = arguments[_key2];\n }\n return curried.apply(_this, [].concat(args, nextArgs));\n };\n };\n}\n\nexport { curry as default };\n","function isObject(value) {\n return {}.toString.call(value).includes('Object');\n}\n\nexport { isObject as default };\n","import curry from '../utils/curry.js';\nimport isObject from '../utils/isObject.js';\n\n/**\n * validates the configuration object and informs about deprecation\n * @param {Object} config - the configuration object \n * @return {Object} config - the validated configuration object\n */\nfunction validateConfig(config) {\n if (!config) errorHandler('configIsRequired');\n if (!isObject(config)) errorHandler('configType');\n if (config.urls) {\n informAboutDeprecation();\n return {\n paths: {\n vs: config.urls.monacoBase\n }\n };\n }\n return config;\n}\n\n/**\n * logs deprecation message\n */\nfunction informAboutDeprecation() {\n console.warn(errorMessages.deprecation);\n}\nfunction throwError(errorMessages, type) {\n throw new Error(errorMessages[type] || errorMessages[\"default\"]);\n}\nvar errorMessages = {\n configIsRequired: 'the configuration object is required',\n configType: 'the configuration object should be an object',\n \"default\": 'an unknown error accured in `@monaco-editor/loader` package',\n deprecation: \"Deprecation warning!\\n You are using deprecated way of configuration.\\n\\n Instead of using\\n monaco.config({ urls: { monacoBase: '...' } })\\n use\\n monaco.config({ paths: { vs: '...' } })\\n\\n For more please check the link https://github.com/suren-atoyan/monaco-loader#config\\n \"\n};\nvar errorHandler = curry(throwError)(errorMessages);\nvar validators = {\n config: validateConfig\n};\n\nexport { validators as default, errorHandler, errorMessages };\n","var compose = function compose() {\n for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n return function (x) {\n return fns.reduceRight(function (y, f) {\n return f(y);\n }, x);\n };\n};\n\nexport { compose as default };\n","import { objectSpread2 as _objectSpread2 } from '../_virtual/_rollupPluginBabelHelpers.js';\n\nfunction merge(target, source) {\n Object.keys(source).forEach(function (key) {\n if (source[key] instanceof Object) {\n if (target[key]) {\n Object.assign(source[key], merge(target[key], source[key]));\n }\n }\n });\n return _objectSpread2(_objectSpread2({}, target), source);\n}\n\nexport { merge as default };\n","// The source (has been changed) is https://github.com/facebook/react/issues/5465#issuecomment-157888325\n\nvar CANCELATION_MESSAGE = {\n type: 'cancelation',\n msg: 'operation is manually canceled'\n};\nfunction makeCancelable(promise) {\n var hasCanceled_ = false;\n var wrappedPromise = new Promise(function (resolve, reject) {\n promise.then(function (val) {\n return hasCanceled_ ? reject(CANCELATION_MESSAGE) : resolve(val);\n });\n promise[\"catch\"](reject);\n });\n return wrappedPromise.cancel = function () {\n return hasCanceled_ = true;\n }, wrappedPromise;\n}\n\nexport { CANCELATION_MESSAGE, makeCancelable as default };\n","import { slicedToArray as _slicedToArray, objectWithoutProperties as _objectWithoutProperties } from '../_virtual/_rollupPluginBabelHelpers.js';\nimport state from 'state-local';\nimport config$1 from '../config/index.js';\nimport validators from '../validators/index.js';\nimport compose from '../utils/compose.js';\nimport merge from '../utils/deepMerge.js';\nimport makeCancelable from '../utils/makeCancelable.js';\n\nvar _excluded = [\"monaco\"];\n\n/** the local state of the module */\nvar _state$create = state.create({\n config: config$1,\n isInitialized: false,\n resolve: null,\n reject: null,\n monaco: null\n }),\n _state$create2 = _slicedToArray(_state$create, 2),\n getState = _state$create2[0],\n setState = _state$create2[1];\n\n/**\n * set the loader configuration\n * @param {Object} config - the configuration object\n */\nfunction config(globalConfig) {\n var _validators$config = validators.config(globalConfig),\n monaco = _validators$config.monaco,\n config = _objectWithoutProperties(_validators$config, _excluded);\n setState(function (state) {\n return {\n config: merge(state.config, config),\n monaco: monaco\n };\n });\n}\n\n/**\n * handles the initialization of the monaco-editor\n * @return {Promise} - returns an instance of monaco (with a cancelable promise)\n */\nfunction init() {\n var state = getState(function (_ref) {\n var monaco = _ref.monaco,\n isInitialized = _ref.isInitialized,\n resolve = _ref.resolve;\n return {\n monaco: monaco,\n isInitialized: isInitialized,\n resolve: resolve\n };\n });\n if (!state.isInitialized) {\n setState({\n isInitialized: true\n });\n if (state.monaco) {\n state.resolve(state.monaco);\n return makeCancelable(wrapperPromise);\n }\n if (window.monaco && window.monaco.editor) {\n storeMonacoInstance(window.monaco);\n state.resolve(window.monaco);\n return makeCancelable(wrapperPromise);\n }\n compose(injectScripts, getMonacoLoaderScript)(configureLoader);\n }\n return makeCancelable(wrapperPromise);\n}\n\n/**\n * injects provided scripts into the document.body\n * @param {Object} script - an HTML script element\n * @return {Object} - the injected HTML script element\n */\nfunction injectScripts(script) {\n return document.body.appendChild(script);\n}\n\n/**\n * creates an HTML script element with/without provided src\n * @param {string} [src] - the source path of the script\n * @return {Object} - the created HTML script element\n */\nfunction createScript(src) {\n var script = document.createElement('script');\n return src && (script.src = src), script;\n}\n\n/**\n * creates an HTML script element with the monaco loader src\n * @return {Object} - the created HTML script element\n */\nfunction getMonacoLoaderScript(configureLoader) {\n var state = getState(function (_ref2) {\n var config = _ref2.config,\n reject = _ref2.reject;\n return {\n config: config,\n reject: reject\n };\n });\n var loaderScript = createScript(\"\".concat(state.config.paths.vs, \"/loader.js\"));\n loaderScript.onload = function () {\n return configureLoader();\n };\n loaderScript.onerror = state.reject;\n return loaderScript;\n}\n\n/**\n * configures the monaco loader\n */\nfunction configureLoader() {\n var state = getState(function (_ref3) {\n var config = _ref3.config,\n resolve = _ref3.resolve,\n reject = _ref3.reject;\n return {\n config: config,\n resolve: resolve,\n reject: reject\n };\n });\n var require = window.require;\n require.config(state.config);\n require(['vs/editor/editor.main'], function (loaded) {\n var monaco = loaded.m /* for 0.53 & 0.54 */ || loaded /* for other versions */;\n storeMonacoInstance(monaco);\n state.resolve(monaco);\n }, function (error) {\n state.reject(error);\n });\n}\n\n/**\n * store monaco instance in local state\n */\nfunction storeMonacoInstance(monaco) {\n if (!getState().monaco) {\n setState({\n monaco: monaco\n });\n }\n}\n\n/**\n * internal helper function\n * extracts stored monaco instance\n * @return {Object|null} - the monaco instance\n */\nfunction __getMonacoInstance() {\n return getState(function (_ref4) {\n var monaco = _ref4.monaco;\n return monaco;\n });\n}\nvar wrapperPromise = new Promise(function (resolve, reject) {\n return setState({\n resolve: resolve,\n reject: reject\n });\n});\nvar loader = {\n config: config,\n init: init,\n __getMonacoInstance: __getMonacoInstance\n};\n\nexport { loader as default };\n","import { editor } from 'monaco-editor'\n\n// picked from https://bitwiser.in/monaco-themes/\n// currently set to: Github Light\nexport const theme: editor.IStandaloneThemeData = {\n\tbase: 'vs',\n\tinherit: true,\n\tcolors: {\n\t\t'editor.foreground': '#24292e',\n\t\t'editor.background': '#ffffff',\n\t\t'editor.selectionBackground': '#c8c8fa',\n\t\t'editor.inactiveSelectionBackground': '#fafbfc',\n\t\t'editor.lineHighlightBackground': '#fafbfc',\n\t\t'editorCursor.foreground': '#24292e',\n\t\t'editorWhitespace.foreground': '#959da5',\n\t\t'editorIndentGuide.background': '#959da5',\n\t\t'editorIndentGuide.activeBackground': '#24292e',\n\t\t'editor.selectionHighlightBorder': '#fafbfc',\n\t},\n\trules: [\n\t\t{\n\t\t\tbackground: 'ffffff',\n\t\t\ttoken: '',\n\t\t},\n\t\t{\n\t\t\tforeground: '6a737d',\n\t\t\ttoken: 'comment',\n\t\t},\n\t\t{\n\t\t\tforeground: '6a737d',\n\t\t\ttoken: 'punctuation.definition.comment',\n\t\t},\n\t\t{\n\t\t\tforeground: '6a737d',\n\t\t\ttoken: 'string.comment',\n\t\t},\n\t\t{\n\t\t\tforeground: '005cc5',\n\t\t\ttoken: 'constant',\n\t\t},\n\t\t{\n\t\t\tforeground: '005cc5',\n\t\t\ttoken: 'entity.name.constant',\n\t\t},\n\t\t{\n\t\t\tforeground: '005cc5',\n\t\t\ttoken: 'variable.other.constant',\n\t\t},\n\t\t{\n\t\t\tforeground: '005cc5',\n\t\t\ttoken: 'variable.language',\n\t\t},\n\t\t{\n\t\t\tforeground: '6f42c1',\n\t\t\ttoken: 'entity',\n\t\t},\n\t\t{\n\t\t\tforeground: '6f42c1',\n\t\t\ttoken: 'entity.name',\n\t\t},\n\t\t{\n\t\t\tforeground: '24292e',\n\t\t\ttoken: 'variable.parameter.function',\n\t\t},\n\t\t{\n\t\t\tforeground: '22863a',\n\t\t\ttoken: 'entity.name.tag',\n\t\t},\n\t\t{\n\t\t\tforeground: 'd73a49',\n\t\t\ttoken: 'keyword',\n\t\t},\n\t\t{\n\t\t\tforeground: 'd73a49',\n\t\t\ttoken: 'storage',\n\t\t},\n\t\t{\n\t\t\tforeground: 'd73a49',\n\t\t\ttoken: 'storage.type',\n\t\t},\n\t\t{\n\t\t\tforeground: '24292e',\n\t\t\ttoken: 'storage.modifier.package',\n\t\t},\n\t\t{\n\t\t\tforeground: '24292e',\n\t\t\ttoken: 'storage.modifier.import',\n\t\t},\n\t\t{\n\t\t\tforeground: '24292e',\n\t\t\ttoken: 'storage.type.java',\n\t\t},\n\t\t{\n\t\t\tforeground: '032f62',\n\t\t\ttoken: 'string',\n\t\t},\n\t\t{\n\t\t\tforeground: '032f62',\n\t\t\ttoken: 'punctuation.definition.string',\n\t\t},\n\t\t{\n\t\t\tforeground: '032f62',\n\t\t\ttoken: 'string punctuation.section.embedded source',\n\t\t},\n\t\t{\n\t\t\tforeground: '005cc5',\n\t\t\ttoken: 'support',\n\t\t},\n\t\t{\n\t\t\tforeground: '005cc5',\n\t\t\ttoken: 'meta.property-name',\n\t\t},\n\t\t{\n\t\t\tforeground: 'e36209',\n\t\t\ttoken: 'variable',\n\t\t},\n\t\t{\n\t\t\tforeground: '24292e',\n\t\t\ttoken: 'variable.other',\n\t\t},\n\t\t{\n\t\t\tforeground: 'b31d28',\n\t\t\tfontStyle: 'bold italic underline',\n\t\t\ttoken: 'invalid.broken',\n\t\t},\n\t\t{\n\t\t\tforeground: 'b31d28',\n\t\t\tfontStyle: 'bold italic underline',\n\t\t\ttoken: 'invalid.deprecated',\n\t\t},\n\t\t{\n\t\t\tforeground: 'fafbfc',\n\t\t\tbackground: 'b31d28',\n\t\t\tfontStyle: 'italic underline',\n\t\t\ttoken: 'invalid.illegal',\n\t\t},\n\t\t{\n\t\t\tforeground: 'fafbfc',\n\t\t\tbackground: 'd73a49',\n\t\t\tfontStyle: 'italic underline',\n\t\t\ttoken: 'carriage-return',\n\t\t},\n\t\t{\n\t\t\tforeground: 'b31d28',\n\t\t\tfontStyle: 'bold italic underline',\n\t\t\ttoken: 'invalid.unimplemented',\n\t\t},\n\t\t{\n\t\t\tforeground: 'b31d28',\n\t\t\ttoken: 'message.error',\n\t\t},\n\t\t{\n\t\t\tforeground: '24292e',\n\t\t\ttoken: 'string source',\n\t\t},\n\t\t{\n\t\t\tforeground: '005cc5',\n\t\t\ttoken: 'string variable',\n\t\t},\n\t\t{\n\t\t\tforeground: '032f62',\n\t\t\ttoken: 'source.regexp',\n\t\t},\n\t\t{\n\t\t\tforeground: '032f62',\n\t\t\ttoken: 'string.regexp',\n\t\t},\n\t\t{\n\t\t\tforeground: '032f62',\n\t\t\ttoken: 'string.regexp.character-class',\n\t\t},\n\t\t{\n\t\t\tforeground: '032f62',\n\t\t\ttoken: 'string.regexp constant.character.escape',\n\t\t},\n\t\t{\n\t\t\tforeground: '032f62',\n\t\t\ttoken: 'string.regexp source.ruby.embedded',\n\t\t},\n\t\t{\n\t\t\tforeground: '032f62',\n\t\t\ttoken: 'string.regexp string.regexp.arbitrary-repitition',\n\t\t},\n\t\t{\n\t\t\tforeground: '22863a',\n\t\t\tfontStyle: 'bold',\n\t\t\ttoken: 'string.regexp constant.character.escape',\n\t\t},\n\t\t{\n\t\t\tforeground: '005cc5',\n\t\t\ttoken: 'support.constant',\n\t\t},\n\t\t{\n\t\t\tforeground: '005cc5',\n\t\t\ttoken: 'support.variable',\n\t\t},\n\t\t{\n\t\t\tforeground: '005cc5',\n\t\t\ttoken: 'meta.module-reference',\n\t\t},\n\t\t{\n\t\t\tforeground: '735c0f',\n\t\t\ttoken: 'markup.list',\n\t\t},\n\t\t{\n\t\t\tforeground: '005cc5',\n\t\t\tfontStyle: 'bold',\n\t\t\ttoken: 'markup.heading',\n\t\t},\n\t\t{\n\t\t\tforeground: '005cc5',\n\t\t\tfontStyle: 'bold',\n\t\t\ttoken: 'markup.heading entity.name',\n\t\t},\n\t\t{\n\t\t\tforeground: '22863a',\n\t\t\ttoken: 'markup.quote',\n\t\t},\n\t\t{\n\t\t\tforeground: '24292e',\n\t\t\tfontStyle: 'italic',\n\t\t\ttoken: 'markup.italic',\n\t\t},\n\t\t{\n\t\t\tforeground: '24292e',\n\t\t\tfontStyle: 'bold',\n\t\t\ttoken: 'markup.bold',\n\t\t},\n\t\t{\n\t\t\tforeground: '005cc5',\n\t\t\ttoken: 'markup.raw',\n\t\t},\n\t\t{\n\t\t\tforeground: 'b31d28',\n\t\t\tbackground: 'ffeef0',\n\t\t\ttoken: 'markup.deleted',\n\t\t},\n\t\t{\n\t\t\tforeground: 'b31d28',\n\t\t\tbackground: 'ffeef0',\n\t\t\ttoken: 'meta.diff.header.from-file',\n\t\t},\n\t\t{\n\t\t\tforeground: 'b31d28',\n\t\t\tbackground: 'ffeef0',\n\t\t\ttoken: 'punctuation.definition.deleted',\n\t\t},\n\t\t{\n\t\t\tforeground: '22863a',\n\t\t\tbackground: 'f0fff4',\n\t\t\ttoken: 'markup.inserted',\n\t\t},\n\t\t{\n\t\t\tforeground: '22863a',\n\t\t\tbackground: 'f0fff4',\n\t\t\ttoken: 'meta.diff.header.to-file',\n\t\t},\n\t\t{\n\t\t\tforeground: '22863a',\n\t\t\tbackground: 'f0fff4',\n\t\t\ttoken: 'punctuation.definition.inserted',\n\t\t},\n\t\t{\n\t\t\tforeground: 'e36209',\n\t\t\tbackground: 'ffebda',\n\t\t\ttoken: 'markup.changed',\n\t\t},\n\t\t{\n\t\t\tforeground: 'e36209',\n\t\t\tbackground: 'ffebda',\n\t\t\ttoken: 'punctuation.definition.changed',\n\t\t},\n\t\t{\n\t\t\tforeground: 'f6f8fa',\n\t\t\tbackground: '005cc5',\n\t\t\ttoken: 'markup.ignored',\n\t\t},\n\t\t{\n\t\t\tforeground: 'f6f8fa',\n\t\t\tbackground: '005cc5',\n\t\t\ttoken: 'markup.untracked',\n\t\t},\n\t\t{\n\t\t\tforeground: '6f42c1',\n\t\t\tfontStyle: 'bold',\n\t\t\ttoken: 'meta.diff.range',\n\t\t},\n\t\t{\n\t\t\tforeground: '005cc5',\n\t\t\ttoken: 'meta.diff.header',\n\t\t},\n\t\t{\n\t\t\tforeground: '005cc5',\n\t\t\tfontStyle: 'bold',\n\t\t\ttoken: 'meta.separator',\n\t\t},\n\t\t{\n\t\t\tforeground: '005cc5',\n\t\t\ttoken: 'meta.output',\n\t\t},\n\t\t{\n\t\t\tforeground: '586069',\n\t\t\ttoken: 'brackethighlighter.tag',\n\t\t},\n\t\t{\n\t\t\tforeground: '586069',\n\t\t\ttoken: 'brackethighlighter.curly',\n\t\t},\n\t\t{\n\t\t\tforeground: '586069',\n\t\t\ttoken: 'brackethighlighter.round',\n\t\t},\n\t\t{\n\t\t\tforeground: '586069',\n\t\t\ttoken: 'brackethighlighter.square',\n\t\t},\n\t\t{\n\t\t\tforeground: '586069',\n\t\t\ttoken: 'brackethighlighter.angle',\n\t\t},\n\t\t{\n\t\t\tforeground: '586069',\n\t\t\ttoken: 'brackethighlighter.quote',\n\t\t},\n\t\t{\n\t\t\tforeground: 'b31d28',\n\t\t\ttoken: 'brackethighlighter.unmatched',\n\t\t},\n\t\t{\n\t\t\tforeground: 'b31d28',\n\t\t\ttoken: 'sublimelinter.mark.error',\n\t\t},\n\t\t{\n\t\t\tforeground: 'e36209',\n\t\t\ttoken: 'sublimelinter.mark.warning',\n\t\t},\n\t\t{\n\t\t\tforeground: '959da5',\n\t\t\ttoken: 'sublimelinter.gutter-mark',\n\t\t},\n\t\t{\n\t\t\tforeground: '032f62',\n\t\t\tfontStyle: 'underline',\n\t\t\ttoken: 'constant.other.reference.link',\n\t\t},\n\t\t{\n\t\t\tforeground: '032f62',\n\t\t\tfontStyle: 'underline',\n\t\t\ttoken: 'string.other.link',\n\t\t},\n\t],\n}\n","/**\n * Resolves the Monaco language identifier from a Stonecrop fieldtype and an\n * optional explicit language override.\n *\n * - JSON fieldtype always maps to 'json' regardless of the explicit language.\n * - Code fieldtype defaults to 'typescript'; the explicit language overrides it.\n * - All other fieldtypes use the explicit language, falling back to 'plaintext'.\n * @public\n */\nexport function detectLanguage(fieldtype?: string, explicitLanguage?: string): string {\n\tif (fieldtype === 'JSON') return 'json'\n\tif (fieldtype === 'Code') return explicitLanguage ?? 'typescript'\n\treturn explicitLanguage ?? 'plaintext'\n}\n","/**\n * Coerces an unknown value to a string suitable for Monaco's initial content.\n * Objects are JSON-stringified with 2-space indentation.\n * Null and undefined become empty string.\n * Strings pass through unchanged.\n * @public\n */\nexport function toEditorString(value: unknown, _fieldtype?: string): string {\n\tif (value === null || value === undefined) return ''\n\tif (typeof value === 'string') return value\n\treturn JSON.stringify(value, null, 2)\n}\n","<template>\n\t<div ref=\"aCodeEditor\" class=\"a-code-editor\" :style=\"{ height }\" />\n</template>\n\n<script setup lang=\"ts\">\nimport loader from '@monaco-editor/loader'\nimport type * as Monaco from 'monaco-editor'\nimport type { editor } from 'monaco-editor'\nimport { onMounted, onUnmounted, shallowRef, watch } from 'vue'\nimport { useTemplateRef } from 'vue'\n\nimport { theme } from '../theme/code_editor/agritheory'\nimport { detectLanguage } from '../utils/language'\nimport { toEditorString } from '../utils/serialization'\n\ntype EditorSchema = { fieldtype?: string; [key: string]: unknown }\n\nconst modelValue = defineModel<string>()\nconst {\n\theight = '300px',\n\tmode = 'edit',\n\tschema = undefined,\n\tlanguage = undefined,\n\toptions = undefined,\n} = defineProps<{\n\theight?: string\n\tmode?: 'edit' | 'read' | 'display'\n\tschema?: EditorSchema\n\tlanguage?: string\n\toptions?: editor.IStandaloneEditorConstructionOptions\n}>()\n\nconst editorRef = useTemplateRef<HTMLDivElement>('aCodeEditor')\nconst editorInstance = shallowRef<editor.IStandaloneCodeEditor | null>(null)\n\nwatch(modelValue, val => {\n\tconst inst = editorInstance.value\n\tif (inst && val !== inst.getValue()) inst.setValue(val ?? '')\n})\n\nwatch(\n\t() => mode,\n\tm => {\n\t\teditorInstance.value?.updateOptions({ readOnly: m !== 'edit' })\n\t}\n)\n\nonMounted(async () => {\n\tconst monacoInstance: typeof Monaco = await loader.init()\n\tconst lang = detectLanguage(schema?.fieldtype, language)\n\n\tmonacoInstance.editor.defineTheme('agritheory', theme)\n\tmonacoInstance.editor.setTheme('agritheory')\n\n\tconst inst = monacoInstance.editor.create(editorRef.value!, {\n\t\tautomaticLayout: true,\n\t\tcolorDecorators: true,\n\t\tlineHeight: 24,\n\t\tscrollBeyondLastLine: false,\n\t\t...options,\n\t\tvalue: toEditorString(modelValue.value, schema?.fieldtype),\n\t\tlanguage: lang,\n\t\treadOnly: mode !== 'edit',\n\t})\n\n\tinst.onDidChangeModelContent(() => {\n\t\tmodelValue.value = inst.getValue()\n\t})\n\n\teditorInstance.value = inst\n\n\t// Sync any modelValue change that arrived during the async CDN load\n\tconst current = modelValue.value ?? ''\n\tif (current !== inst.getValue()) inst.setValue(current)\n})\n\nonUnmounted(() => {\n\teditorInstance.value?.dispose()\n\teditorInstance.value = null\n})\n</script>\n\n<style scoped>\n.a-code-editor {\n\twidth: 100%;\n\toverflow: hidden;\n}\n</style>\n","import { App } from 'vue'\n\nimport ACodeEditor from './components/ACodeEditor.vue'\n\n/**\n * Install all Code Editor components\n * @param app - Vue app instance\n * @public\n */\nfunction install(app: App /* options */) {\n\tapp.component('ACodeEditor', ACodeEditor)\n}\n\nexport { install, ACodeEditor }\n"],"names":["_arrayLikeToArray","r","a","e","n","_arrayWithHoles","_defineProperty","t","_toPropertyKey","_iterableToArrayLimit","l","u","f","o","_nonIterableRest","ownKeys","_objectSpread2","_objectWithoutProperties","i","_objectWithoutPropertiesLoose","_slicedToArray","_unsupportedIterableToArray","_toPrimitive","obj","key","value","object","enumerableOnly","keys","symbols","sym","target","source","compose","_len","fns","_key","x","y","curry","fn","curried","_this","_len2","args","_key2","_len3","nextArgs","_key3","isObject","isEmpty","isFunction","hasOwnProperty","property","validateChanges","initial","changes","errorHandler","field","validateSelector","selector","validateHandler","handler","_handler","validateInitial","throwError","errorMessages","type","validators","create","state","didUpdate","didStateUpdate","update","updateState","validate","getChanges","extractChanges","getState","setState","causedChanges","_handler$field","index","config","validateConfig","informAboutDeprecation","merge","CANCELATION_MESSAGE","makeCancelable","promise","hasCanceled_","wrappedPromise","resolve","reject","val","_excluded","_state$create","config$1","_state$create2","globalConfig","_validators$config","monaco","init","_ref","isInitialized","wrapperPromise","storeMonacoInstance","injectScripts","getMonacoLoaderScript","configureLoader","script","createScript","src","_ref2","loaderScript","_ref3","require","loaded","error","__getMonacoInstance","_ref4","loader","theme","detectLanguage","fieldtype","explicitLanguage","toEditorString","_fieldtype","modelValue","_useModel","__props","editorRef","useTemplateRef","editorInstance","shallowRef","watch","inst","m","onMounted","monacoInstance","lang","current","onUnmounted","_createElementBlock","install","app","ACodeEditor"],"mappings":"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AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,OAAO;AAAA,IAAA;AAAA,EACR;AAEF;ACtVO,SAASC,GAAeC,GAAoBC,GAAmC;AACrF,SAAID,MAAc,SAAe,SAC7BA,MAAc,SAAeC,KAAoB,eAC9CA,KAAoB;AAC5B;ACNO,SAASC,GAAerG,GAAgBsG,GAA6B;AAC3E,SAAItG,KAAU,OAAoC,KAC9C,OAAOA,KAAU,WAAiBA,IAC/B,KAAK,UAAUA,GAAO,MAAM,CAAC;AACrC;;;;;;;;;;;;;;;;;;ACMA,UAAMuG,IAAaC,EAAmBC,GAAA,YAAC,GAejCC,IAAYC,EAA+B,aAAa,GACxDC,IAAiBC,EAAgD,IAAI;AAE3E,WAAAC,EAAMP,GAAY,CAAAlC,MAAO;AACxB,YAAM0C,IAAOH,EAAe;AAC5B,MAAIG,KAAQ1C,MAAQ0C,EAAK,SAAA,KAAYA,EAAK,SAAS1C,KAAO,EAAE;AAAA,IAC7D,CAAC,GAEDyC;AAAA,MACC,MAAML,EAAA;AAAA,MACN,CAAAO,MAAK;AACJ,QAAAJ,EAAe,OAAO,cAAc,EAAE,UAAUI,MAAM,QAAQ;AAAA,MAC/D;AAAA,IAAA,GAGDC,EAAU,YAAY;AACrB,YAAMC,IAAgC,MAAMlB,GAAO,KAAA,GAC7CmB,IAAOjB,GAAeO,EAAA,QAAQ,WAAWA,EAAA,QAAQ;AAEvD,MAAAS,EAAe,OAAO,YAAY,cAAcjB,EAAK,GACrDiB,EAAe,OAAO,SAAS,YAAY;AAE3C,YAAMH,IAAOG,EAAe,OAAO,OAAOR,EAAU,OAAQ;AAAA,QAC3D,iBAAiB;AAAA,QACjB,iBAAiB;AAAA,QACjB,YAAY;AAAA,QACZ,sBAAsB;AAAA,QACtB,GAAGD,EAAA;AAAA,QACH,OAAOJ,GAAeE,EAAW,OAAOE,EAAA,QAAQ,SAAS;AAAA,QACzD,UAAUU;AAAA,QACV,UAAUV,WAAS;AAAA,MAAA,CACnB;AAED,MAAAM,EAAK,wBAAwB,MAAM;AAClC,QAAAR,EAAW,QAAQQ,EAAK,SAAA;AAAA,MACzB,CAAC,GAEDH,EAAe,QAAQG;AAGvB,YAAMK,IAAUb,EAAW,SAAS;AACpC,MAAIa,MAAYL,EAAK,SAAA,KAAYA,EAAK,SAASK,CAAO;AAAA,IACvD,CAAC,GAEDC,EAAY,MAAM;AACjB,MAAAT,EAAe,OAAO,QAAA,GACtBA,EAAe,QAAQ;AAAA,IACxB,CAAC,mBA9EAU,EAAmE,OAAA;AAAA,MAA9D,KAAI;AAAA,MAAc,OAAM;AAAA,MAAiB,mBAASb,EAAA,QAAM;AAAA,IAAA;;;;;;;;ACQ9D,SAASc,GAAQC,GAAwB;AACxC,EAAAA,EAAI,UAAU,eAAeC,EAAW;AACzC;","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9]}
1
+ {"version":3,"file":"code-editor.js","sources":["../../common/temp/node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/_virtual/_rollupPluginBabelHelpers.js","../../common/temp/node_modules/.pnpm/state-local@1.0.7/node_modules/state-local/lib/es/state-local.js","../../common/temp/node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/config/index.js","../../common/temp/node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/utils/curry.js","../../common/temp/node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/utils/isObject.js","../../common/temp/node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/validators/index.js","../../common/temp/node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/utils/compose.js","../../common/temp/node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/utils/deepMerge.js","../../common/temp/node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/utils/makeCancelable.js","../../common/temp/node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/loader/index.js","../src/theme/code_editor/agritheory.ts","../src/utils/serialization.ts","../src/components/ACodeEditor.vue","../src/index.ts"],"sourcesContent":["function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nfunction _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nfunction _defineProperty(e, r, t) {\n return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: true,\n configurable: true,\n writable: true\n }) : e[r] = t, e;\n}\nfunction _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = true,\n o = false;\n try {\n if (i = (t = t.call(r)).next, 0 === l) ; else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = true, n = r;\n } finally {\n try {\n if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), true).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = _objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nfunction _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nfunction _slicedToArray(r, e) {\n return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();\n}\nfunction _toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r);\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nfunction _toPropertyKey(t) {\n var i = _toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n}\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return _arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;\n }\n}\n\nexport { _arrayLikeToArray as arrayLikeToArray, _arrayWithHoles as arrayWithHoles, _defineProperty as defineProperty, _iterableToArrayLimit as iterableToArrayLimit, _nonIterableRest as nonIterableRest, _objectSpread2 as objectSpread2, _objectWithoutProperties as objectWithoutProperties, _objectWithoutPropertiesLoose as objectWithoutPropertiesLoose, _slicedToArray as slicedToArray, _toPrimitive as toPrimitive, _toPropertyKey as toPropertyKey, _unsupportedIterableToArray as unsupportedIterableToArray };\n","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction compose() {\n for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n\n return function (x) {\n return fns.reduceRight(function (y, f) {\n return f(y);\n }, x);\n };\n}\n\nfunction curry(fn) {\n return function curried() {\n var _this = this;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return args.length >= fn.length ? fn.apply(this, args) : function () {\n for (var _len3 = arguments.length, nextArgs = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n nextArgs[_key3] = arguments[_key3];\n }\n\n return curried.apply(_this, [].concat(args, nextArgs));\n };\n };\n}\n\nfunction isObject(value) {\n return {}.toString.call(value).includes('Object');\n}\n\nfunction isEmpty(obj) {\n return !Object.keys(obj).length;\n}\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\nfunction hasOwnProperty(object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n}\n\nfunction validateChanges(initial, changes) {\n if (!isObject(changes)) errorHandler('changeType');\n if (Object.keys(changes).some(function (field) {\n return !hasOwnProperty(initial, field);\n })) errorHandler('changeField');\n return changes;\n}\n\nfunction validateSelector(selector) {\n if (!isFunction(selector)) errorHandler('selectorType');\n}\n\nfunction validateHandler(handler) {\n if (!(isFunction(handler) || isObject(handler))) errorHandler('handlerType');\n if (isObject(handler) && Object.values(handler).some(function (_handler) {\n return !isFunction(_handler);\n })) errorHandler('handlersType');\n}\n\nfunction validateInitial(initial) {\n if (!initial) errorHandler('initialIsRequired');\n if (!isObject(initial)) errorHandler('initialType');\n if (isEmpty(initial)) errorHandler('initialContent');\n}\n\nfunction throwError(errorMessages, type) {\n throw new Error(errorMessages[type] || errorMessages[\"default\"]);\n}\n\nvar errorMessages = {\n initialIsRequired: 'initial state is required',\n initialType: 'initial state should be an object',\n initialContent: 'initial state shouldn\\'t be an empty object',\n handlerType: 'handler should be an object or a function',\n handlersType: 'all handlers should be a functions',\n selectorType: 'selector should be a function',\n changeType: 'provided value of changes should be an object',\n changeField: 'it seams you want to change a field in the state which is not specified in the \"initial\" state',\n \"default\": 'an unknown error accured in `state-local` package'\n};\nvar errorHandler = curry(throwError)(errorMessages);\nvar validators = {\n changes: validateChanges,\n selector: validateSelector,\n handler: validateHandler,\n initial: validateInitial\n};\n\nfunction create(initial) {\n var handler = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n validators.initial(initial);\n validators.handler(handler);\n var state = {\n current: initial\n };\n var didUpdate = curry(didStateUpdate)(state, handler);\n var update = curry(updateState)(state);\n var validate = curry(validators.changes)(initial);\n var getChanges = curry(extractChanges)(state);\n\n function getState() {\n var selector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function (state) {\n return state;\n };\n validators.selector(selector);\n return selector(state.current);\n }\n\n function setState(causedChanges) {\n compose(didUpdate, update, validate, getChanges)(causedChanges);\n }\n\n return [getState, setState];\n}\n\nfunction extractChanges(state, causedChanges) {\n return isFunction(causedChanges) ? causedChanges(state.current) : causedChanges;\n}\n\nfunction updateState(state, changes) {\n state.current = _objectSpread2(_objectSpread2({}, state.current), changes);\n return changes;\n}\n\nfunction didStateUpdate(state, handler, changes) {\n isFunction(handler) ? handler(state.current) : Object.keys(changes).forEach(function (field) {\n var _handler$field;\n\n return (_handler$field = handler[field]) === null || _handler$field === void 0 ? void 0 : _handler$field.call(handler, state.current[field]);\n });\n return changes;\n}\n\nvar index = {\n create: create\n};\n\nexport default index;\n","var config = {\n paths: {\n vs: 'https://cdn.jsdelivr.net/npm/monaco-editor@0.55.1/min/vs'\n }\n};\n\nexport { config as default };\n","function curry(fn) {\n return function curried() {\n var _this = this;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return args.length >= fn.length ? fn.apply(this, args) : function () {\n for (var _len2 = arguments.length, nextArgs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n nextArgs[_key2] = arguments[_key2];\n }\n return curried.apply(_this, [].concat(args, nextArgs));\n };\n };\n}\n\nexport { curry as default };\n","function isObject(value) {\n return {}.toString.call(value).includes('Object');\n}\n\nexport { isObject as default };\n","import curry from '../utils/curry.js';\nimport isObject from '../utils/isObject.js';\n\n/**\n * validates the configuration object and informs about deprecation\n * @param {Object} config - the configuration object \n * @return {Object} config - the validated configuration object\n */\nfunction validateConfig(config) {\n if (!config) errorHandler('configIsRequired');\n if (!isObject(config)) errorHandler('configType');\n if (config.urls) {\n informAboutDeprecation();\n return {\n paths: {\n vs: config.urls.monacoBase\n }\n };\n }\n return config;\n}\n\n/**\n * logs deprecation message\n */\nfunction informAboutDeprecation() {\n console.warn(errorMessages.deprecation);\n}\nfunction throwError(errorMessages, type) {\n throw new Error(errorMessages[type] || errorMessages[\"default\"]);\n}\nvar errorMessages = {\n configIsRequired: 'the configuration object is required',\n configType: 'the configuration object should be an object',\n \"default\": 'an unknown error accured in `@monaco-editor/loader` package',\n deprecation: \"Deprecation warning!\\n You are using deprecated way of configuration.\\n\\n Instead of using\\n monaco.config({ urls: { monacoBase: '...' } })\\n use\\n monaco.config({ paths: { vs: '...' } })\\n\\n For more please check the link https://github.com/suren-atoyan/monaco-loader#config\\n \"\n};\nvar errorHandler = curry(throwError)(errorMessages);\nvar validators = {\n config: validateConfig\n};\n\nexport { validators as default, errorHandler, errorMessages };\n","var compose = function compose() {\n for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n return function (x) {\n return fns.reduceRight(function (y, f) {\n return f(y);\n }, x);\n };\n};\n\nexport { compose as default };\n","import { objectSpread2 as _objectSpread2 } from '../_virtual/_rollupPluginBabelHelpers.js';\n\nfunction merge(target, source) {\n Object.keys(source).forEach(function (key) {\n if (source[key] instanceof Object) {\n if (target[key]) {\n Object.assign(source[key], merge(target[key], source[key]));\n }\n }\n });\n return _objectSpread2(_objectSpread2({}, target), source);\n}\n\nexport { merge as default };\n","// The source (has been changed) is https://github.com/facebook/react/issues/5465#issuecomment-157888325\n\nvar CANCELATION_MESSAGE = {\n type: 'cancelation',\n msg: 'operation is manually canceled'\n};\nfunction makeCancelable(promise) {\n var hasCanceled_ = false;\n var wrappedPromise = new Promise(function (resolve, reject) {\n promise.then(function (val) {\n return hasCanceled_ ? reject(CANCELATION_MESSAGE) : resolve(val);\n });\n promise[\"catch\"](reject);\n });\n return wrappedPromise.cancel = function () {\n return hasCanceled_ = true;\n }, wrappedPromise;\n}\n\nexport { CANCELATION_MESSAGE, makeCancelable as default };\n","import { slicedToArray as _slicedToArray, objectWithoutProperties as _objectWithoutProperties } from '../_virtual/_rollupPluginBabelHelpers.js';\nimport state from 'state-local';\nimport config$1 from '../config/index.js';\nimport validators from '../validators/index.js';\nimport compose from '../utils/compose.js';\nimport merge from '../utils/deepMerge.js';\nimport makeCancelable from '../utils/makeCancelable.js';\n\nvar _excluded = [\"monaco\"];\n\n/** the local state of the module */\nvar _state$create = state.create({\n config: config$1,\n isInitialized: false,\n resolve: null,\n reject: null,\n monaco: null\n }),\n _state$create2 = _slicedToArray(_state$create, 2),\n getState = _state$create2[0],\n setState = _state$create2[1];\n\n/**\n * set the loader configuration\n * @param {Object} config - the configuration object\n */\nfunction config(globalConfig) {\n var _validators$config = validators.config(globalConfig),\n monaco = _validators$config.monaco,\n config = _objectWithoutProperties(_validators$config, _excluded);\n setState(function (state) {\n return {\n config: merge(state.config, config),\n monaco: monaco\n };\n });\n}\n\n/**\n * handles the initialization of the monaco-editor\n * @return {Promise} - returns an instance of monaco (with a cancelable promise)\n */\nfunction init() {\n var state = getState(function (_ref) {\n var monaco = _ref.monaco,\n isInitialized = _ref.isInitialized,\n resolve = _ref.resolve;\n return {\n monaco: monaco,\n isInitialized: isInitialized,\n resolve: resolve\n };\n });\n if (!state.isInitialized) {\n setState({\n isInitialized: true\n });\n if (state.monaco) {\n state.resolve(state.monaco);\n return makeCancelable(wrapperPromise);\n }\n if (window.monaco && window.monaco.editor) {\n storeMonacoInstance(window.monaco);\n state.resolve(window.monaco);\n return makeCancelable(wrapperPromise);\n }\n compose(injectScripts, getMonacoLoaderScript)(configureLoader);\n }\n return makeCancelable(wrapperPromise);\n}\n\n/**\n * injects provided scripts into the document.body\n * @param {Object} script - an HTML script element\n * @return {Object} - the injected HTML script element\n */\nfunction injectScripts(script) {\n return document.body.appendChild(script);\n}\n\n/**\n * creates an HTML script element with/without provided src\n * @param {string} [src] - the source path of the script\n * @return {Object} - the created HTML script element\n */\nfunction createScript(src) {\n var script = document.createElement('script');\n return src && (script.src = src), script;\n}\n\n/**\n * creates an HTML script element with the monaco loader src\n * @return {Object} - the created HTML script element\n */\nfunction getMonacoLoaderScript(configureLoader) {\n var state = getState(function (_ref2) {\n var config = _ref2.config,\n reject = _ref2.reject;\n return {\n config: config,\n reject: reject\n };\n });\n var loaderScript = createScript(\"\".concat(state.config.paths.vs, \"/loader.js\"));\n loaderScript.onload = function () {\n return configureLoader();\n };\n loaderScript.onerror = state.reject;\n return loaderScript;\n}\n\n/**\n * configures the monaco loader\n */\nfunction configureLoader() {\n var state = getState(function (_ref3) {\n var config = _ref3.config,\n resolve = _ref3.resolve,\n reject = _ref3.reject;\n return {\n config: config,\n resolve: resolve,\n reject: reject\n };\n });\n var require = window.require;\n require.config(state.config);\n require(['vs/editor/editor.main'], function (loaded) {\n var monaco = loaded.m /* for 0.53 & 0.54 */ || loaded /* for other versions */;\n storeMonacoInstance(monaco);\n state.resolve(monaco);\n }, function (error) {\n state.reject(error);\n });\n}\n\n/**\n * store monaco instance in local state\n */\nfunction storeMonacoInstance(monaco) {\n if (!getState().monaco) {\n setState({\n monaco: monaco\n });\n }\n}\n\n/**\n * internal helper function\n * extracts stored monaco instance\n * @return {Object|null} - the monaco instance\n */\nfunction __getMonacoInstance() {\n return getState(function (_ref4) {\n var monaco = _ref4.monaco;\n return monaco;\n });\n}\nvar wrapperPromise = new Promise(function (resolve, reject) {\n return setState({\n resolve: resolve,\n reject: reject\n });\n});\nvar loader = {\n config: config,\n init: init,\n __getMonacoInstance: __getMonacoInstance\n};\n\nexport { loader as default };\n","import { editor } from 'monaco-editor'\n\n// picked from https://bitwiser.in/monaco-themes/\n// currently set to: Github Light\nexport const theme: editor.IStandaloneThemeData = {\n\tbase: 'vs',\n\tinherit: true,\n\tcolors: {\n\t\t'editor.foreground': '#24292e',\n\t\t'editor.background': '#ffffff',\n\t\t'editor.selectionBackground': '#c8c8fa',\n\t\t'editor.inactiveSelectionBackground': '#fafbfc',\n\t\t'editor.lineHighlightBackground': '#fafbfc',\n\t\t'editorCursor.foreground': '#24292e',\n\t\t'editorWhitespace.foreground': '#959da5',\n\t\t'editorIndentGuide.background': '#959da5',\n\t\t'editorIndentGuide.activeBackground': '#24292e',\n\t\t'editor.selectionHighlightBorder': '#fafbfc',\n\t},\n\trules: [\n\t\t{\n\t\t\tbackground: 'ffffff',\n\t\t\ttoken: '',\n\t\t},\n\t\t{\n\t\t\tforeground: '6a737d',\n\t\t\ttoken: 'comment',\n\t\t},\n\t\t{\n\t\t\tforeground: '6a737d',\n\t\t\ttoken: 'punctuation.definition.comment',\n\t\t},\n\t\t{\n\t\t\tforeground: '6a737d',\n\t\t\ttoken: 'string.comment',\n\t\t},\n\t\t{\n\t\t\tforeground: '005cc5',\n\t\t\ttoken: 'constant',\n\t\t},\n\t\t{\n\t\t\tforeground: '005cc5',\n\t\t\ttoken: 'entity.name.constant',\n\t\t},\n\t\t{\n\t\t\tforeground: '005cc5',\n\t\t\ttoken: 'variable.other.constant',\n\t\t},\n\t\t{\n\t\t\tforeground: '005cc5',\n\t\t\ttoken: 'variable.language',\n\t\t},\n\t\t{\n\t\t\tforeground: '6f42c1',\n\t\t\ttoken: 'entity',\n\t\t},\n\t\t{\n\t\t\tforeground: '6f42c1',\n\t\t\ttoken: 'entity.name',\n\t\t},\n\t\t{\n\t\t\tforeground: '24292e',\n\t\t\ttoken: 'variable.parameter.function',\n\t\t},\n\t\t{\n\t\t\tforeground: '22863a',\n\t\t\ttoken: 'entity.name.tag',\n\t\t},\n\t\t{\n\t\t\tforeground: 'd73a49',\n\t\t\ttoken: 'keyword',\n\t\t},\n\t\t{\n\t\t\tforeground: 'd73a49',\n\t\t\ttoken: 'storage',\n\t\t},\n\t\t{\n\t\t\tforeground: 'd73a49',\n\t\t\ttoken: 'storage.type',\n\t\t},\n\t\t{\n\t\t\tforeground: '24292e',\n\t\t\ttoken: 'storage.modifier.package',\n\t\t},\n\t\t{\n\t\t\tforeground: '24292e',\n\t\t\ttoken: 'storage.modifier.import',\n\t\t},\n\t\t{\n\t\t\tforeground: '24292e',\n\t\t\ttoken: 'storage.type.java',\n\t\t},\n\t\t{\n\t\t\tforeground: '032f62',\n\t\t\ttoken: 'string',\n\t\t},\n\t\t{\n\t\t\tforeground: '032f62',\n\t\t\ttoken: 'punctuation.definition.string',\n\t\t},\n\t\t{\n\t\t\tforeground: '032f62',\n\t\t\ttoken: 'string punctuation.section.embedded source',\n\t\t},\n\t\t{\n\t\t\tforeground: '005cc5',\n\t\t\ttoken: 'support',\n\t\t},\n\t\t{\n\t\t\tforeground: '005cc5',\n\t\t\ttoken: 'meta.property-name',\n\t\t},\n\t\t{\n\t\t\tforeground: 'e36209',\n\t\t\ttoken: 'variable',\n\t\t},\n\t\t{\n\t\t\tforeground: '24292e',\n\t\t\ttoken: 'variable.other',\n\t\t},\n\t\t{\n\t\t\tforeground: 'b31d28',\n\t\t\tfontStyle: 'bold italic underline',\n\t\t\ttoken: 'invalid.broken',\n\t\t},\n\t\t{\n\t\t\tforeground: 'b31d28',\n\t\t\tfontStyle: 'bold italic underline',\n\t\t\ttoken: 'invalid.deprecated',\n\t\t},\n\t\t{\n\t\t\tforeground: 'fafbfc',\n\t\t\tbackground: 'b31d28',\n\t\t\tfontStyle: 'italic underline',\n\t\t\ttoken: 'invalid.illegal',\n\t\t},\n\t\t{\n\t\t\tforeground: 'fafbfc',\n\t\t\tbackground: 'd73a49',\n\t\t\tfontStyle: 'italic underline',\n\t\t\ttoken: 'carriage-return',\n\t\t},\n\t\t{\n\t\t\tforeground: 'b31d28',\n\t\t\tfontStyle: 'bold italic underline',\n\t\t\ttoken: 'invalid.unimplemented',\n\t\t},\n\t\t{\n\t\t\tforeground: 'b31d28',\n\t\t\ttoken: 'message.error',\n\t\t},\n\t\t{\n\t\t\tforeground: '24292e',\n\t\t\ttoken: 'string source',\n\t\t},\n\t\t{\n\t\t\tforeground: '005cc5',\n\t\t\ttoken: 'string variable',\n\t\t},\n\t\t{\n\t\t\tforeground: '032f62',\n\t\t\ttoken: 'source.regexp',\n\t\t},\n\t\t{\n\t\t\tforeground: '032f62',\n\t\t\ttoken: 'string.regexp',\n\t\t},\n\t\t{\n\t\t\tforeground: '032f62',\n\t\t\ttoken: 'string.regexp.character-class',\n\t\t},\n\t\t{\n\t\t\tforeground: '032f62',\n\t\t\ttoken: 'string.regexp constant.character.escape',\n\t\t},\n\t\t{\n\t\t\tforeground: '032f62',\n\t\t\ttoken: 'string.regexp source.ruby.embedded',\n\t\t},\n\t\t{\n\t\t\tforeground: '032f62',\n\t\t\ttoken: 'string.regexp string.regexp.arbitrary-repitition',\n\t\t},\n\t\t{\n\t\t\tforeground: '22863a',\n\t\t\tfontStyle: 'bold',\n\t\t\ttoken: 'string.regexp constant.character.escape',\n\t\t},\n\t\t{\n\t\t\tforeground: '005cc5',\n\t\t\ttoken: 'support.constant',\n\t\t},\n\t\t{\n\t\t\tforeground: '005cc5',\n\t\t\ttoken: 'support.variable',\n\t\t},\n\t\t{\n\t\t\tforeground: '005cc5',\n\t\t\ttoken: 'meta.module-reference',\n\t\t},\n\t\t{\n\t\t\tforeground: '735c0f',\n\t\t\ttoken: 'markup.list',\n\t\t},\n\t\t{\n\t\t\tforeground: '005cc5',\n\t\t\tfontStyle: 'bold',\n\t\t\ttoken: 'markup.heading',\n\t\t},\n\t\t{\n\t\t\tforeground: '005cc5',\n\t\t\tfontStyle: 'bold',\n\t\t\ttoken: 'markup.heading entity.name',\n\t\t},\n\t\t{\n\t\t\tforeground: '22863a',\n\t\t\ttoken: 'markup.quote',\n\t\t},\n\t\t{\n\t\t\tforeground: '24292e',\n\t\t\tfontStyle: 'italic',\n\t\t\ttoken: 'markup.italic',\n\t\t},\n\t\t{\n\t\t\tforeground: '24292e',\n\t\t\tfontStyle: 'bold',\n\t\t\ttoken: 'markup.bold',\n\t\t},\n\t\t{\n\t\t\tforeground: '005cc5',\n\t\t\ttoken: 'markup.raw',\n\t\t},\n\t\t{\n\t\t\tforeground: 'b31d28',\n\t\t\tbackground: 'ffeef0',\n\t\t\ttoken: 'markup.deleted',\n\t\t},\n\t\t{\n\t\t\tforeground: 'b31d28',\n\t\t\tbackground: 'ffeef0',\n\t\t\ttoken: 'meta.diff.header.from-file',\n\t\t},\n\t\t{\n\t\t\tforeground: 'b31d28',\n\t\t\tbackground: 'ffeef0',\n\t\t\ttoken: 'punctuation.definition.deleted',\n\t\t},\n\t\t{\n\t\t\tforeground: '22863a',\n\t\t\tbackground: 'f0fff4',\n\t\t\ttoken: 'markup.inserted',\n\t\t},\n\t\t{\n\t\t\tforeground: '22863a',\n\t\t\tbackground: 'f0fff4',\n\t\t\ttoken: 'meta.diff.header.to-file',\n\t\t},\n\t\t{\n\t\t\tforeground: '22863a',\n\t\t\tbackground: 'f0fff4',\n\t\t\ttoken: 'punctuation.definition.inserted',\n\t\t},\n\t\t{\n\t\t\tforeground: 'e36209',\n\t\t\tbackground: 'ffebda',\n\t\t\ttoken: 'markup.changed',\n\t\t},\n\t\t{\n\t\t\tforeground: 'e36209',\n\t\t\tbackground: 'ffebda',\n\t\t\ttoken: 'punctuation.definition.changed',\n\t\t},\n\t\t{\n\t\t\tforeground: 'f6f8fa',\n\t\t\tbackground: '005cc5',\n\t\t\ttoken: 'markup.ignored',\n\t\t},\n\t\t{\n\t\t\tforeground: 'f6f8fa',\n\t\t\tbackground: '005cc5',\n\t\t\ttoken: 'markup.untracked',\n\t\t},\n\t\t{\n\t\t\tforeground: '6f42c1',\n\t\t\tfontStyle: 'bold',\n\t\t\ttoken: 'meta.diff.range',\n\t\t},\n\t\t{\n\t\t\tforeground: '005cc5',\n\t\t\ttoken: 'meta.diff.header',\n\t\t},\n\t\t{\n\t\t\tforeground: '005cc5',\n\t\t\tfontStyle: 'bold',\n\t\t\ttoken: 'meta.separator',\n\t\t},\n\t\t{\n\t\t\tforeground: '005cc5',\n\t\t\ttoken: 'meta.output',\n\t\t},\n\t\t{\n\t\t\tforeground: '586069',\n\t\t\ttoken: 'brackethighlighter.tag',\n\t\t},\n\t\t{\n\t\t\tforeground: '586069',\n\t\t\ttoken: 'brackethighlighter.curly',\n\t\t},\n\t\t{\n\t\t\tforeground: '586069',\n\t\t\ttoken: 'brackethighlighter.round',\n\t\t},\n\t\t{\n\t\t\tforeground: '586069',\n\t\t\ttoken: 'brackethighlighter.square',\n\t\t},\n\t\t{\n\t\t\tforeground: '586069',\n\t\t\ttoken: 'brackethighlighter.angle',\n\t\t},\n\t\t{\n\t\t\tforeground: '586069',\n\t\t\ttoken: 'brackethighlighter.quote',\n\t\t},\n\t\t{\n\t\t\tforeground: 'b31d28',\n\t\t\ttoken: 'brackethighlighter.unmatched',\n\t\t},\n\t\t{\n\t\t\tforeground: 'b31d28',\n\t\t\ttoken: 'sublimelinter.mark.error',\n\t\t},\n\t\t{\n\t\t\tforeground: 'e36209',\n\t\t\ttoken: 'sublimelinter.mark.warning',\n\t\t},\n\t\t{\n\t\t\tforeground: '959da5',\n\t\t\ttoken: 'sublimelinter.gutter-mark',\n\t\t},\n\t\t{\n\t\t\tforeground: '032f62',\n\t\t\tfontStyle: 'underline',\n\t\t\ttoken: 'constant.other.reference.link',\n\t\t},\n\t\t{\n\t\t\tforeground: '032f62',\n\t\t\tfontStyle: 'underline',\n\t\t\ttoken: 'string.other.link',\n\t\t},\n\t],\n}\n","/**\n * Coerces an unknown value to a string suitable for Monaco's initial content.\n * Objects are JSON-stringified with 2-space indentation.\n * Null and undefined become empty string.\n * Strings pass through unchanged.\n * @public\n */\nexport function toEditorString(value: unknown): string {\n\tif (value === null || value === undefined) return ''\n\tif (typeof value === 'string') return value\n\treturn JSON.stringify(value, null, 2)\n}\n","<template>\n\t<div ref=\"aCodeEditor\" class=\"a-code-editor\" :style=\"{ height }\" />\n</template>\n\n<script lang=\"ts\">\n// Module-scoped (shared across all instances) so each Monaco model gets a unique URI. This MUST\n// live in a plain <script>, not <script setup>: inside <script setup> it is re-created per instance\n// and always increments to 1, so two editors mounted at once both build\n// `file:///stonecrop-editor-1.js` and the second throws \"ModelService: Cannot add model because it\n// already exists!\" — its mounted hook aborts and only one editor loads.\nlet editorModelCounter = 0\n</script>\n\n<script setup lang=\"ts\">\nimport loader from '@monaco-editor/loader'\nimport type * as Monaco from 'monaco-editor'\nimport type { editor } from 'monaco-editor'\nimport { onMounted, onUnmounted, shallowRef, watch } from 'vue'\nimport { useTemplateRef } from 'vue'\n\nimport { theme } from '../theme/code_editor/agritheory'\nimport { toEditorString } from '../utils/serialization'\n\ntype EditorSchema = { language?: string; [key: string]: unknown }\n\nconst modelValue = defineModel<string>()\nconst {\n\theight = '300px',\n\tmode = 'edit',\n\tschema = undefined,\n\tlanguage = undefined,\n\toptions = undefined,\n\tvsPath = undefined,\n\textraLibs = undefined,\n\tlibs = undefined,\n} = defineProps<{\n\theight?: string\n\tmode?: 'edit' | 'read' | 'display'\n\tschema?: EditorSchema\n\tlanguage?: string\n\toptions?: editor.IStandaloneEditorConstructionOptions\n\t/** Override the Monaco AMD loader path (e.g. for offline/local serving) */\n\tvsPath?: string\n\t/** TypeScript declaration string added as extra libs for JS type checking */\n\textraLibs?: string\n\t/**\n\t * Restrict the JS/TS language service to these lib files (e.g. `['es2020']` to keep\n\t * the JS built-ins but drop the DOM/browser globals from type-checking and autocomplete).\n\t * When omitted, Monaco's default libs apply — which include `dom`.\n\t */\n\tlibs?: string[]\n}>()\n\nconst editorRef = useTemplateRef<HTMLDivElement>('aCodeEditor')\nconst editorInstance = shallowRef<editor.IStandaloneCodeEditor | null>(null)\n\nwatch(modelValue, val => {\n\tconst inst = editorInstance.value\n\tif (inst && val !== inst.getValue()) inst.setValue(val ?? '')\n})\n\nwatch(\n\t() => mode,\n\tm => {\n\t\teditorInstance.value?.updateOptions({ readOnly: m !== 'edit' })\n\t}\n)\n\nonMounted(async () => {\n\tif (vsPath) loader.config({ paths: { vs: vsPath } })\n\n\tconst monacoInstance: typeof Monaco = await loader.init()\n\t// The field declares its own language; without one, highlight nothing rather than guess.\n\tconst lang = schema?.language ?? language ?? 'plaintext'\n\n\t// `monaco.languages.typescript` is deprecated in favour of this top-level namespace; both name\n\t// the same object at runtime, but only this one is typed (the old path is a `{ deprecated: true }`\n\t// tombstone). Needs monaco >= 0.53, so a `vsPath` override must serve a matching version.\n\tconst ts = monacoInstance.typescript\n\tif (extraLibs) {\n\t\tts.javascriptDefaults.addExtraLib(extraLibs, 'ts:stonecrop.d.ts')\n\t}\n\tif (extraLibs || libs) {\n\t\tts.javascriptDefaults.setCompilerOptions({\n\t\t\tcheckJs: true,\n\t\t\tnoImplicitAny: false,\n\t\t\t// `lib` is authoritative — it replaces Monaco's default set, so passing e.g.\n\t\t\t// ['es2020'] retains the JS built-ins (Promise/Array/JSON/…) while removing the\n\t\t\t// DOM/browser globals. `target` is matched so ES2020 syntax isn't flagged.\n\t\t\t...(libs && {\n\t\t\t\ttarget: ts.ScriptTarget.ES2020,\n\t\t\t\tlib: libs,\n\t\t\t}),\n\t\t})\n\t}\n\n\tmonacoInstance.editor.defineTheme('agritheory', theme)\n\tmonacoInstance.editor.setTheme('agritheory')\n\n\t// Give the model a file:// URI so the TS worker recognises it as JS/TS and can\n\t// run getSyntacticDiagnostics without throwing \"Could not find source file\".\n\tconst ext = lang === 'typescript' ? 'ts' : lang === 'json' ? 'json' : lang === 'python' ? 'py' : 'js'\n\tconst modelUri = monacoInstance.Uri.parse(`file:///stonecrop-editor-${++editorModelCounter}.${ext}`)\n\tconst editorModel = monacoInstance.editor.createModel(toEditorString(modelValue.value), lang, modelUri)\n\n\tconst inst = monacoInstance.editor.create(editorRef.value!, {\n\t\tautomaticLayout: true,\n\t\tcolorDecorators: true,\n\t\tlineHeight: 24,\n\t\tscrollBeyondLastLine: false,\n\t\t...options,\n\t\tmodel: editorModel,\n\t\treadOnly: mode !== 'edit',\n\t})\n\n\tinst.onDidChangeModelContent(() => {\n\t\tmodelValue.value = inst.getValue()\n\t})\n\n\teditorInstance.value = inst\n\n\t// Sync any modelValue change that arrived during the async CDN load\n\tconst current = modelValue.value ?? ''\n\tif (current !== inst.getValue()) inst.setValue(current)\n})\n\nonUnmounted(() => {\n\teditorInstance.value?.getModel()?.dispose()\n\teditorInstance.value?.dispose()\n\teditorInstance.value = null\n})\n</script>\n\n<style scoped>\n.a-code-editor {\n\twidth: 100%;\n\toverflow: hidden;\n}\n</style>\n","import { App } from 'vue'\n\nimport ACodeEditor from './components/ACodeEditor.vue'\n\n/**\n * Install all Code Editor components\n * @param app - Vue app instance\n * @public\n */\nfunction install(app: App /* options */) {\n\tapp.component('ACodeEditor', ACodeEditor)\n}\n\nexport { install, ACodeEditor }\n"],"names":["_arrayLikeToArray","r","a","e","n","_arrayWithHoles","_defineProperty","t","_toPropertyKey","_iterableToArrayLimit","l","u","f","o","_nonIterableRest","ownKeys","_objectSpread2","_objectWithoutProperties","i","_objectWithoutPropertiesLoose","_slicedToArray","_unsupportedIterableToArray","_toPrimitive","obj","key","value","object","enumerableOnly","keys","symbols","sym","target","source","compose","_len","fns","_key","x","y","curry","fn","curried","_this","_len2","args","_key2","_len3","nextArgs","_key3","isObject","isEmpty","isFunction","hasOwnProperty","property","validateChanges","initial","changes","errorHandler","field","validateSelector","selector","validateHandler","handler","_handler","validateInitial","throwError","errorMessages","type","validators","create","state","didUpdate","didStateUpdate","update","updateState","validate","getChanges","extractChanges","getState","setState","causedChanges","_handler$field","index","config","validateConfig","informAboutDeprecation","merge","CANCELATION_MESSAGE","makeCancelable","promise","hasCanceled_","wrappedPromise","resolve","reject","val","_excluded","_state$create","config$1","_state$create2","globalConfig","_validators$config","monaco","init","_ref","isInitialized","wrapperPromise","storeMonacoInstance","injectScripts","getMonacoLoaderScript","configureLoader","script","createScript","src","_ref2","loaderScript","_ref3","require","loaded","error","__getMonacoInstance","_ref4","loader","theme","toEditorString","editorModelCounter","modelValue","_useModel","__props","editorRef","useTemplateRef","editorInstance","shallowRef","watch","inst","m","onMounted","monacoInstance","lang","ts","ext","modelUri","editorModel","current","onUnmounted","_createElementBlock","install","app","ACodeEditor"],"mappings":"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AER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,IAER;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,I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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9]}
@@ -1,11 +1,11 @@
1
1
  /**
2
- * Resolves the Monaco language identifier from a Stonecrop fieldtype and an
3
- * optional explicit language override.
2
+ * Resolves the Monaco language identifier for a code field.
4
3
  *
5
- * - JSON fieldtype always maps to 'json' regardless of the explicit language.
6
- * - Code fieldtype defaults to 'typescript'; the explicit language overrides it.
7
- * - All other fieldtypes use the explicit language, falling back to 'plaintext'.
4
+ * A code field declares its language explicitly (`ValueField.language`) — it is the only thing
5
+ * distinguishing a JSON editor from any other code editor, since both render with `ACodeEditor`.
6
+ * A field that declares none gets `plaintext`, which highlights nothing rather than guessing
7
+ * wrong.
8
8
  * @public
9
9
  */
10
- export declare function detectLanguage(fieldtype?: string, explicitLanguage?: string): string;
10
+ export declare function detectLanguage(explicitLanguage?: string): string;
11
11
  //# sourceMappingURL=language.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"language.d.ts","sourceRoot":"","sources":["../../../src/utils/language.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAIpF"}
1
+ {"version":3,"file":"language.d.ts","sourceRoot":"","sources":["../../../src/utils/language.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAEhE"}
@@ -1,16 +1,12 @@
1
1
  /**
2
- * Resolves the Monaco language identifier from a Stonecrop fieldtype and an
3
- * optional explicit language override.
2
+ * Resolves the Monaco language identifier for a code field.
4
3
  *
5
- * - JSON fieldtype always maps to 'json' regardless of the explicit language.
6
- * - Code fieldtype defaults to 'typescript'; the explicit language overrides it.
7
- * - All other fieldtypes use the explicit language, falling back to 'plaintext'.
4
+ * A code field declares its language explicitly (`ValueField.language`) — it is the only thing
5
+ * distinguishing a JSON editor from any other code editor, since both render with `ACodeEditor`.
6
+ * A field that declares none gets `plaintext`, which highlights nothing rather than guessing
7
+ * wrong.
8
8
  * @public
9
9
  */
10
- export function detectLanguage(fieldtype, explicitLanguage) {
11
- if (fieldtype === 'JSON')
12
- return 'json';
13
- if (fieldtype === 'Code')
14
- return explicitLanguage ?? 'typescript';
10
+ export function detectLanguage(explicitLanguage) {
15
11
  return explicitLanguage ?? 'plaintext';
16
12
  }
@@ -5,5 +5,5 @@
5
5
  * Strings pass through unchanged.
6
6
  * @public
7
7
  */
8
- export declare function toEditorString(value: unknown, _fieldtype?: string): string;
8
+ export declare function toEditorString(value: unknown): string;
9
9
  //# sourceMappingURL=serialization.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"serialization.d.ts","sourceRoot":"","sources":["../../../src/utils/serialization.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAI1E"}
1
+ {"version":3,"file":"serialization.d.ts","sourceRoot":"","sources":["../../../src/utils/serialization.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAIrD"}
@@ -5,7 +5,7 @@
5
5
  * Strings pass through unchanged.
6
6
  * @public
7
7
  */
8
- export function toEditorString(value, _fieldtype) {
8
+ export function toEditorString(value) {
9
9
  if (value === null || value === undefined)
10
10
  return '';
11
11
  if (typeof value === 'string')
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stonecrop/code-editor",
3
- "version": "0.13.14",
3
+ "version": "0.14.0",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "author": {
@@ -44,17 +44,18 @@
44
44
  "@vitejs/plugin-vue": "^6.0.6",
45
45
  "@vue/test-utils": "^2.4.10",
46
46
  "eslint-config-prettier": "^10.1.8",
47
- "eslint-plugin-vue": "^10.9.0",
48
- "eslint": "^10.3.0",
47
+ "eslint-plugin-vue": "^10.9.2",
48
+ "eslint": "^10.6.0",
49
49
  "globals": "^17.6.0",
50
50
  "jsdom": "^29.1.1",
51
51
  "oxlint-tsgolint": "0.23.0",
52
52
  "oxlint": "1.67.0",
53
- "typescript-eslint": "^8.59.1",
53
+ "typescript-eslint": "^8.62.1",
54
54
  "typescript": "^6.0.3",
55
55
  "vite": "^7.3.2",
56
56
  "vitest": "^4.1.5",
57
57
  "vue-router": "^5.0.6",
58
+ "vue-tsc": "^3.3.6",
58
59
  "vue": "^3.5.33",
59
60
  "stonecrop-rig": "0.7.0"
60
61
  },
@@ -73,6 +74,7 @@
73
74
  "lint:fix": "oxlint --fix",
74
75
  "preview": "vite preview",
75
76
  "test": "vitest run",
77
+ "test:types": "vue-tsc --noEmit",
76
78
  "test:watch": "vitest",
77
79
  "test:coverage": "vitest run --coverage"
78
80
  }
@@ -2,6 +2,15 @@
2
2
  <div ref="aCodeEditor" class="a-code-editor" :style="{ height }" />
3
3
  </template>
4
4
 
5
+ <script lang="ts">
6
+ // Module-scoped (shared across all instances) so each Monaco model gets a unique URI. This MUST
7
+ // live in a plain <script>, not <script setup>: inside <script setup> it is re-created per instance
8
+ // and always increments to 1, so two editors mounted at once both build
9
+ // `file:///stonecrop-editor-1.js` and the second throws "ModelService: Cannot add model because it
10
+ // already exists!" — its mounted hook aborts and only one editor loads.
11
+ let editorModelCounter = 0
12
+ </script>
13
+
5
14
  <script setup lang="ts">
6
15
  import loader from '@monaco-editor/loader'
7
16
  import type * as Monaco from 'monaco-editor'
@@ -10,10 +19,9 @@ import { onMounted, onUnmounted, shallowRef, watch } from 'vue'
10
19
  import { useTemplateRef } from 'vue'
11
20
 
12
21
  import { theme } from '../theme/code_editor/agritheory'
13
- import { detectLanguage } from '../utils/language'
14
22
  import { toEditorString } from '../utils/serialization'
15
23
 
16
- type EditorSchema = { fieldtype?: string; [key: string]: unknown }
24
+ type EditorSchema = { language?: string; [key: string]: unknown }
17
25
 
18
26
  const modelValue = defineModel<string>()
19
27
  const {
@@ -22,12 +30,25 @@ const {
22
30
  schema = undefined,
23
31
  language = undefined,
24
32
  options = undefined,
33
+ vsPath = undefined,
34
+ extraLibs = undefined,
35
+ libs = undefined,
25
36
  } = defineProps<{
26
37
  height?: string
27
38
  mode?: 'edit' | 'read' | 'display'
28
39
  schema?: EditorSchema
29
40
  language?: string
30
41
  options?: editor.IStandaloneEditorConstructionOptions
42
+ /** Override the Monaco AMD loader path (e.g. for offline/local serving) */
43
+ vsPath?: string
44
+ /** TypeScript declaration string added as extra libs for JS type checking */
45
+ extraLibs?: string
46
+ /**
47
+ * Restrict the JS/TS language service to these lib files (e.g. `['es2020']` to keep
48
+ * the JS built-ins but drop the DOM/browser globals from type-checking and autocomplete).
49
+ * When omitted, Monaco's default libs apply — which include `dom`.
50
+ */
51
+ libs?: string[]
31
52
  }>()
32
53
 
33
54
  const editorRef = useTemplateRef<HTMLDivElement>('aCodeEditor')
@@ -46,20 +67,49 @@ watch(
46
67
  )
47
68
 
48
69
  onMounted(async () => {
70
+ if (vsPath) loader.config({ paths: { vs: vsPath } })
71
+
49
72
  const monacoInstance: typeof Monaco = await loader.init()
50
- const lang = detectLanguage(schema?.fieldtype, language)
73
+ // The field declares its own language; without one, highlight nothing rather than guess.
74
+ const lang = schema?.language ?? language ?? 'plaintext'
75
+
76
+ // `monaco.languages.typescript` is deprecated in favour of this top-level namespace; both name
77
+ // the same object at runtime, but only this one is typed (the old path is a `{ deprecated: true }`
78
+ // tombstone). Needs monaco >= 0.53, so a `vsPath` override must serve a matching version.
79
+ const ts = monacoInstance.typescript
80
+ if (extraLibs) {
81
+ ts.javascriptDefaults.addExtraLib(extraLibs, 'ts:stonecrop.d.ts')
82
+ }
83
+ if (extraLibs || libs) {
84
+ ts.javascriptDefaults.setCompilerOptions({
85
+ checkJs: true,
86
+ noImplicitAny: false,
87
+ // `lib` is authoritative — it replaces Monaco's default set, so passing e.g.
88
+ // ['es2020'] retains the JS built-ins (Promise/Array/JSON/…) while removing the
89
+ // DOM/browser globals. `target` is matched so ES2020 syntax isn't flagged.
90
+ ...(libs && {
91
+ target: ts.ScriptTarget.ES2020,
92
+ lib: libs,
93
+ }),
94
+ })
95
+ }
51
96
 
52
97
  monacoInstance.editor.defineTheme('agritheory', theme)
53
98
  monacoInstance.editor.setTheme('agritheory')
54
99
 
100
+ // Give the model a file:// URI so the TS worker recognises it as JS/TS and can
101
+ // run getSyntacticDiagnostics without throwing "Could not find source file".
102
+ const ext = lang === 'typescript' ? 'ts' : lang === 'json' ? 'json' : lang === 'python' ? 'py' : 'js'
103
+ const modelUri = monacoInstance.Uri.parse(`file:///stonecrop-editor-${++editorModelCounter}.${ext}`)
104
+ const editorModel = monacoInstance.editor.createModel(toEditorString(modelValue.value), lang, modelUri)
105
+
55
106
  const inst = monacoInstance.editor.create(editorRef.value!, {
56
107
  automaticLayout: true,
57
108
  colorDecorators: true,
58
109
  lineHeight: 24,
59
110
  scrollBeyondLastLine: false,
60
111
  ...options,
61
- value: toEditorString(modelValue.value, schema?.fieldtype),
62
- language: lang,
112
+ model: editorModel,
63
113
  readOnly: mode !== 'edit',
64
114
  })
65
115
 
@@ -75,6 +125,7 @@ onMounted(async () => {
75
125
  })
76
126
 
77
127
  onUnmounted(() => {
128
+ editorInstance.value?.getModel()?.dispose()
78
129
  editorInstance.value?.dispose()
79
130
  editorInstance.value = null
80
131
  })
@@ -5,7 +5,7 @@
5
5
  * Strings pass through unchanged.
6
6
  * @public
7
7
  */
8
- export function toEditorString(value: unknown, _fieldtype?: string): string {
8
+ export function toEditorString(value: unknown): string {
9
9
  if (value === null || value === undefined) return ''
10
10
  if (typeof value === 'string') return value
11
11
  return JSON.stringify(value, null, 2)
@@ -1,14 +0,0 @@
1
- /**
2
- * Resolves the Monaco language identifier from a Stonecrop fieldtype and an
3
- * optional explicit language override.
4
- *
5
- * - JSON fieldtype always maps to 'json' regardless of the explicit language.
6
- * - Code fieldtype defaults to 'typescript'; the explicit language overrides it.
7
- * - All other fieldtypes use the explicit language, falling back to 'plaintext'.
8
- * @public
9
- */
10
- export function detectLanguage(fieldtype?: string, explicitLanguage?: string): string {
11
- if (fieldtype === 'JSON') return 'json'
12
- if (fieldtype === 'Code') return explicitLanguage ?? 'typescript'
13
- return explicitLanguage ?? 'plaintext'
14
- }