@refraction-ui/react 0.18.3 → 0.18.4

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.
@@ -0,0 +1,649 @@
1
+ import K, { memo, useState, useRef, useCallback, useEffect } from 'react';
2
+
3
+ // ../../node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/_virtual/_rollupPluginBabelHelpers.js
4
+ function _arrayLikeToArray(r, a) {
5
+ (null == a || a > r.length) && (a = r.length);
6
+ for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
7
+ return n;
8
+ }
9
+ function _arrayWithHoles(r) {
10
+ if (Array.isArray(r)) return r;
11
+ }
12
+ function _defineProperty(e, r, t) {
13
+ return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
14
+ value: t,
15
+ enumerable: true,
16
+ configurable: true,
17
+ writable: true
18
+ }) : e[r] = t, e;
19
+ }
20
+ function _iterableToArrayLimit(r, l2) {
21
+ var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
22
+ if (null != t) {
23
+ var e, n, i, u, a = [], f = true, o = false;
24
+ try {
25
+ if (i = (t = t.call(r)).next, 0 === l2) ;
26
+ else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l2); f = true) ;
27
+ } catch (r2) {
28
+ o = true, n = r2;
29
+ } finally {
30
+ try {
31
+ if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;
32
+ } finally {
33
+ if (o) throw n;
34
+ }
35
+ }
36
+ return a;
37
+ }
38
+ }
39
+ function _nonIterableRest() {
40
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
41
+ }
42
+ function ownKeys(e, r) {
43
+ var t = Object.keys(e);
44
+ if (Object.getOwnPropertySymbols) {
45
+ var o = Object.getOwnPropertySymbols(e);
46
+ r && (o = o.filter(function(r2) {
47
+ return Object.getOwnPropertyDescriptor(e, r2).enumerable;
48
+ })), t.push.apply(t, o);
49
+ }
50
+ return t;
51
+ }
52
+ function _objectSpread2(e) {
53
+ for (var r = 1; r < arguments.length; r++) {
54
+ var t = null != arguments[r] ? arguments[r] : {};
55
+ r % 2 ? ownKeys(Object(t), true).forEach(function(r2) {
56
+ _defineProperty(e, r2, t[r2]);
57
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r2) {
58
+ Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
59
+ });
60
+ }
61
+ return e;
62
+ }
63
+ function _objectWithoutProperties(e, t) {
64
+ if (null == e) return {};
65
+ var o, r, i = _objectWithoutPropertiesLoose(e, t);
66
+ if (Object.getOwnPropertySymbols) {
67
+ var n = Object.getOwnPropertySymbols(e);
68
+ for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);
69
+ }
70
+ return i;
71
+ }
72
+ function _objectWithoutPropertiesLoose(r, e) {
73
+ if (null == r) return {};
74
+ var t = {};
75
+ for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
76
+ if (-1 !== e.indexOf(n)) continue;
77
+ t[n] = r[n];
78
+ }
79
+ return t;
80
+ }
81
+ function _slicedToArray(r, e) {
82
+ return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
83
+ }
84
+ function _toPrimitive(t, r) {
85
+ if ("object" != typeof t || !t) return t;
86
+ var e = t[Symbol.toPrimitive];
87
+ if (void 0 !== e) {
88
+ var i = e.call(t, r);
89
+ if ("object" != typeof i) return i;
90
+ throw new TypeError("@@toPrimitive must return a primitive value.");
91
+ }
92
+ return ("string" === r ? String : Number)(t);
93
+ }
94
+ function _toPropertyKey(t) {
95
+ var i = _toPrimitive(t, "string");
96
+ return "symbol" == typeof i ? i : i + "";
97
+ }
98
+ function _unsupportedIterableToArray(r, a) {
99
+ if (r) {
100
+ if ("string" == typeof r) return _arrayLikeToArray(r, a);
101
+ var t = {}.toString.call(r).slice(8, -1);
102
+ 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;
103
+ }
104
+ }
105
+
106
+ // ../../node_modules/.pnpm/state-local@1.0.7/node_modules/state-local/lib/es/state-local.js
107
+ function _defineProperty2(obj, key, value) {
108
+ if (key in obj) {
109
+ Object.defineProperty(obj, key, {
110
+ value,
111
+ enumerable: true,
112
+ configurable: true,
113
+ writable: true
114
+ });
115
+ } else {
116
+ obj[key] = value;
117
+ }
118
+ return obj;
119
+ }
120
+ function ownKeys2(object, enumerableOnly) {
121
+ var keys = Object.keys(object);
122
+ if (Object.getOwnPropertySymbols) {
123
+ var symbols = Object.getOwnPropertySymbols(object);
124
+ if (enumerableOnly) symbols = symbols.filter(function(sym) {
125
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
126
+ });
127
+ keys.push.apply(keys, symbols);
128
+ }
129
+ return keys;
130
+ }
131
+ function _objectSpread22(target) {
132
+ for (var i = 1; i < arguments.length; i++) {
133
+ var source = arguments[i] != null ? arguments[i] : {};
134
+ if (i % 2) {
135
+ ownKeys2(Object(source), true).forEach(function(key) {
136
+ _defineProperty2(target, key, source[key]);
137
+ });
138
+ } else if (Object.getOwnPropertyDescriptors) {
139
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
140
+ } else {
141
+ ownKeys2(Object(source)).forEach(function(key) {
142
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
143
+ });
144
+ }
145
+ }
146
+ return target;
147
+ }
148
+ function compose() {
149
+ for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {
150
+ fns[_key] = arguments[_key];
151
+ }
152
+ return function(x) {
153
+ return fns.reduceRight(function(y, f) {
154
+ return f(y);
155
+ }, x);
156
+ };
157
+ }
158
+ function curry(fn) {
159
+ return function curried() {
160
+ var _this = this;
161
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
162
+ args[_key2] = arguments[_key2];
163
+ }
164
+ return args.length >= fn.length ? fn.apply(this, args) : function() {
165
+ for (var _len3 = arguments.length, nextArgs = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
166
+ nextArgs[_key3] = arguments[_key3];
167
+ }
168
+ return curried.apply(_this, [].concat(args, nextArgs));
169
+ };
170
+ };
171
+ }
172
+ function isObject(value) {
173
+ return {}.toString.call(value).includes("Object");
174
+ }
175
+ function isEmpty(obj) {
176
+ return !Object.keys(obj).length;
177
+ }
178
+ function isFunction(value) {
179
+ return typeof value === "function";
180
+ }
181
+ function hasOwnProperty(object, property) {
182
+ return Object.prototype.hasOwnProperty.call(object, property);
183
+ }
184
+ function validateChanges(initial, changes) {
185
+ if (!isObject(changes)) errorHandler("changeType");
186
+ if (Object.keys(changes).some(function(field) {
187
+ return !hasOwnProperty(initial, field);
188
+ })) errorHandler("changeField");
189
+ return changes;
190
+ }
191
+ function validateSelector(selector) {
192
+ if (!isFunction(selector)) errorHandler("selectorType");
193
+ }
194
+ function validateHandler(handler) {
195
+ if (!(isFunction(handler) || isObject(handler))) errorHandler("handlerType");
196
+ if (isObject(handler) && Object.values(handler).some(function(_handler) {
197
+ return !isFunction(_handler);
198
+ })) errorHandler("handlersType");
199
+ }
200
+ function validateInitial(initial) {
201
+ if (!initial) errorHandler("initialIsRequired");
202
+ if (!isObject(initial)) errorHandler("initialType");
203
+ if (isEmpty(initial)) errorHandler("initialContent");
204
+ }
205
+ function throwError(errorMessages3, type) {
206
+ throw new Error(errorMessages3[type] || errorMessages3["default"]);
207
+ }
208
+ var errorMessages = {
209
+ initialIsRequired: "initial state is required",
210
+ initialType: "initial state should be an object",
211
+ initialContent: "initial state shouldn't be an empty object",
212
+ handlerType: "handler should be an object or a function",
213
+ handlersType: "all handlers should be a functions",
214
+ selectorType: "selector should be a function",
215
+ changeType: "provided value of changes should be an object",
216
+ changeField: 'it seams you want to change a field in the state which is not specified in the "initial" state',
217
+ "default": "an unknown error accured in `state-local` package"
218
+ };
219
+ var errorHandler = curry(throwError)(errorMessages);
220
+ var validators = {
221
+ changes: validateChanges,
222
+ selector: validateSelector,
223
+ handler: validateHandler,
224
+ initial: validateInitial
225
+ };
226
+ function create(initial) {
227
+ var handler = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
228
+ validators.initial(initial);
229
+ validators.handler(handler);
230
+ var state = {
231
+ current: initial
232
+ };
233
+ var didUpdate = curry(didStateUpdate)(state, handler);
234
+ var update = curry(updateState)(state);
235
+ var validate = curry(validators.changes)(initial);
236
+ var getChanges = curry(extractChanges)(state);
237
+ function getState2() {
238
+ var selector = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : function(state2) {
239
+ return state2;
240
+ };
241
+ validators.selector(selector);
242
+ return selector(state.current);
243
+ }
244
+ function setState2(causedChanges) {
245
+ compose(didUpdate, update, validate, getChanges)(causedChanges);
246
+ }
247
+ return [getState2, setState2];
248
+ }
249
+ function extractChanges(state, causedChanges) {
250
+ return isFunction(causedChanges) ? causedChanges(state.current) : causedChanges;
251
+ }
252
+ function updateState(state, changes) {
253
+ state.current = _objectSpread22(_objectSpread22({}, state.current), changes);
254
+ return changes;
255
+ }
256
+ function didStateUpdate(state, handler, changes) {
257
+ isFunction(handler) ? handler(state.current) : Object.keys(changes).forEach(function(field) {
258
+ var _handler$field;
259
+ return (_handler$field = handler[field]) === null || _handler$field === void 0 ? void 0 : _handler$field.call(handler, state.current[field]);
260
+ });
261
+ return changes;
262
+ }
263
+ var index = {
264
+ create
265
+ };
266
+ var state_local_default = index;
267
+
268
+ // ../../node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/config/index.js
269
+ var config = {
270
+ paths: {
271
+ vs: "https://cdn.jsdelivr.net/npm/monaco-editor@0.55.1/min/vs"
272
+ }
273
+ };
274
+
275
+ // ../../node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/utils/curry.js
276
+ function curry2(fn) {
277
+ return function curried() {
278
+ var _this = this;
279
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
280
+ args[_key] = arguments[_key];
281
+ }
282
+ return args.length >= fn.length ? fn.apply(this, args) : function() {
283
+ for (var _len2 = arguments.length, nextArgs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
284
+ nextArgs[_key2] = arguments[_key2];
285
+ }
286
+ return curried.apply(_this, [].concat(args, nextArgs));
287
+ };
288
+ };
289
+ }
290
+
291
+ // ../../node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/utils/isObject.js
292
+ function isObject2(value) {
293
+ return {}.toString.call(value).includes("Object");
294
+ }
295
+
296
+ // ../../node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/validators/index.js
297
+ function validateConfig(config3) {
298
+ if (!config3) errorHandler2("configIsRequired");
299
+ if (!isObject2(config3)) errorHandler2("configType");
300
+ if (config3.urls) {
301
+ informAboutDeprecation();
302
+ return {
303
+ paths: {
304
+ vs: config3.urls.monacoBase
305
+ }
306
+ };
307
+ }
308
+ return config3;
309
+ }
310
+ function informAboutDeprecation() {
311
+ console.warn(errorMessages2.deprecation);
312
+ }
313
+ function throwError2(errorMessages3, type) {
314
+ throw new Error(errorMessages3[type] || errorMessages3["default"]);
315
+ }
316
+ var errorMessages2 = {
317
+ configIsRequired: "the configuration object is required",
318
+ configType: "the configuration object should be an object",
319
+ "default": "an unknown error accured in `@monaco-editor/loader` package",
320
+ 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 "
321
+ };
322
+ var errorHandler2 = curry2(throwError2)(errorMessages2);
323
+ var validators2 = {
324
+ config: validateConfig
325
+ };
326
+
327
+ // ../../node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/utils/compose.js
328
+ var compose2 = function compose3() {
329
+ for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {
330
+ fns[_key] = arguments[_key];
331
+ }
332
+ return function(x) {
333
+ return fns.reduceRight(function(y, f) {
334
+ return f(y);
335
+ }, x);
336
+ };
337
+ };
338
+
339
+ // ../../node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/utils/deepMerge.js
340
+ function merge(target, source) {
341
+ Object.keys(source).forEach(function(key) {
342
+ if (source[key] instanceof Object) {
343
+ if (target[key]) {
344
+ Object.assign(source[key], merge(target[key], source[key]));
345
+ }
346
+ }
347
+ });
348
+ return _objectSpread2(_objectSpread2({}, target), source);
349
+ }
350
+
351
+ // ../../node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/utils/makeCancelable.js
352
+ var CANCELATION_MESSAGE = {
353
+ type: "cancelation",
354
+ msg: "operation is manually canceled"
355
+ };
356
+ function makeCancelable(promise) {
357
+ var hasCanceled_ = false;
358
+ var wrappedPromise = new Promise(function(resolve, reject) {
359
+ promise.then(function(val) {
360
+ return hasCanceled_ ? reject(CANCELATION_MESSAGE) : resolve(val);
361
+ });
362
+ promise["catch"](reject);
363
+ });
364
+ return wrappedPromise.cancel = function() {
365
+ return hasCanceled_ = true;
366
+ }, wrappedPromise;
367
+ }
368
+
369
+ // ../../node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/es/loader/index.js
370
+ var _excluded = ["monaco"];
371
+ var _state$create = state_local_default.create({
372
+ config,
373
+ isInitialized: false,
374
+ resolve: null,
375
+ reject: null,
376
+ monaco: null
377
+ });
378
+ var _state$create2 = _slicedToArray(_state$create, 2);
379
+ var getState = _state$create2[0];
380
+ var setState = _state$create2[1];
381
+ function config2(globalConfig) {
382
+ var _validators$config = validators2.config(globalConfig), monaco = _validators$config.monaco, config3 = _objectWithoutProperties(_validators$config, _excluded);
383
+ setState(function(state) {
384
+ return {
385
+ config: merge(state.config, config3),
386
+ monaco
387
+ };
388
+ });
389
+ }
390
+ function init() {
391
+ var state = getState(function(_ref) {
392
+ var monaco = _ref.monaco, isInitialized = _ref.isInitialized, resolve = _ref.resolve;
393
+ return {
394
+ monaco,
395
+ isInitialized,
396
+ resolve
397
+ };
398
+ });
399
+ if (!state.isInitialized) {
400
+ setState({
401
+ isInitialized: true
402
+ });
403
+ if (state.monaco) {
404
+ state.resolve(state.monaco);
405
+ return makeCancelable(wrapperPromise);
406
+ }
407
+ if (window.monaco && window.monaco.editor) {
408
+ storeMonacoInstance(window.monaco);
409
+ state.resolve(window.monaco);
410
+ return makeCancelable(wrapperPromise);
411
+ }
412
+ compose2(injectScripts, getMonacoLoaderScript)(configureLoader);
413
+ }
414
+ return makeCancelable(wrapperPromise);
415
+ }
416
+ function injectScripts(script) {
417
+ return document.body.appendChild(script);
418
+ }
419
+ function createScript(src) {
420
+ var script = document.createElement("script");
421
+ return src && (script.src = src), script;
422
+ }
423
+ function getMonacoLoaderScript(configureLoader2) {
424
+ var state = getState(function(_ref2) {
425
+ var config3 = _ref2.config, reject = _ref2.reject;
426
+ return {
427
+ config: config3,
428
+ reject
429
+ };
430
+ });
431
+ var loaderScript = createScript("".concat(state.config.paths.vs, "/loader.js"));
432
+ loaderScript.onload = function() {
433
+ return configureLoader2();
434
+ };
435
+ loaderScript.onerror = state.reject;
436
+ return loaderScript;
437
+ }
438
+ function configureLoader() {
439
+ var state = getState(function(_ref3) {
440
+ var config3 = _ref3.config, resolve = _ref3.resolve, reject = _ref3.reject;
441
+ return {
442
+ config: config3,
443
+ resolve,
444
+ reject
445
+ };
446
+ });
447
+ var require2 = window.require;
448
+ require2.config(state.config);
449
+ require2(["vs/editor/editor.main"], function(loaded) {
450
+ var monaco = loaded.m || loaded;
451
+ storeMonacoInstance(monaco);
452
+ state.resolve(monaco);
453
+ }, function(error) {
454
+ state.reject(error);
455
+ });
456
+ }
457
+ function storeMonacoInstance(monaco) {
458
+ if (!getState().monaco) {
459
+ setState({
460
+ monaco
461
+ });
462
+ }
463
+ }
464
+ function __getMonacoInstance() {
465
+ return getState(function(_ref4) {
466
+ var monaco = _ref4.monaco;
467
+ return monaco;
468
+ });
469
+ }
470
+ var wrapperPromise = new Promise(function(resolve, reject) {
471
+ return setState({
472
+ resolve,
473
+ reject
474
+ });
475
+ });
476
+ var loader = {
477
+ config: config2,
478
+ init,
479
+ __getMonacoInstance
480
+ };
481
+ var le = { wrapper: { display: "flex", position: "relative", textAlign: "initial" }, fullWidth: { width: "100%" }, hide: { display: "none" } };
482
+ var v = le;
483
+ var ae = { container: { display: "flex", height: "100%", width: "100%", justifyContent: "center", alignItems: "center" } };
484
+ var Y = ae;
485
+ function Me({ children: e }) {
486
+ return K.createElement("div", { style: Y.container }, e);
487
+ }
488
+ var Z = Me;
489
+ var $ = Z;
490
+ function Ee({ width: e, height: r, isEditorReady: n, loading: t, _ref: a, className: m, wrapperProps: E }) {
491
+ return K.createElement("section", { style: { ...v.wrapper, width: e, height: r }, ...E }, !n && K.createElement($, null, t), K.createElement("div", { ref: a, style: { ...v.fullWidth, ...!n && v.hide }, className: m }));
492
+ }
493
+ var ee = Ee;
494
+ var H = memo(ee);
495
+ function Ce(e) {
496
+ useEffect(e, []);
497
+ }
498
+ var k = Ce;
499
+ function he(e, r, n = true) {
500
+ let t = useRef(true);
501
+ useEffect(t.current || !n ? () => {
502
+ t.current = false;
503
+ } : e, r);
504
+ }
505
+ var l = he;
506
+ function D() {
507
+ }
508
+ function h(e, r, n, t) {
509
+ return De(e, t) || be(e, r, n, t);
510
+ }
511
+ function De(e, r) {
512
+ return e.editor.getModel(te(e, r));
513
+ }
514
+ function be(e, r, n, t) {
515
+ return e.editor.createModel(r, n, t ? te(e, t) : void 0);
516
+ }
517
+ function te(e, r) {
518
+ return e.Uri.parse(r);
519
+ }
520
+ function Oe({ original: e, modified: r, language: n, originalLanguage: t, modifiedLanguage: a, originalModelPath: m, modifiedModelPath: E, keepCurrentOriginalModel: g = false, keepCurrentModifiedModel: N = false, theme: x = "light", loading: P = "Loading...", options: y = {}, height: V = "100%", width: z = "100%", className: F, wrapperProps: j = {}, beforeMount: A = D, onMount: q = D }) {
521
+ let [M, O] = useState(false), [T, s] = useState(true), u = useRef(null), c = useRef(null), w = useRef(null), d = useRef(q), o = useRef(A), b = useRef(false);
522
+ k(() => {
523
+ let i = loader.init();
524
+ return i.then((f) => (c.current = f) && s(false)).catch((f) => f?.type !== "cancelation" && console.error("Monaco initialization: error:", f)), () => u.current ? I() : i.cancel();
525
+ }), l(() => {
526
+ if (u.current && c.current) {
527
+ let i = u.current.getOriginalEditor(), f = h(c.current, e || "", t || n || "text", m || "");
528
+ f !== i.getModel() && i.setModel(f);
529
+ }
530
+ }, [m], M), l(() => {
531
+ if (u.current && c.current) {
532
+ let i = u.current.getModifiedEditor(), f = h(c.current, r || "", a || n || "text", E || "");
533
+ f !== i.getModel() && i.setModel(f);
534
+ }
535
+ }, [E], M), l(() => {
536
+ let i = u.current.getModifiedEditor();
537
+ i.getOption(c.current.editor.EditorOption.readOnly) ? i.setValue(r || "") : r !== i.getValue() && (i.executeEdits("", [{ range: i.getModel().getFullModelRange(), text: r || "", forceMoveMarkers: true }]), i.pushUndoStop());
538
+ }, [r], M), l(() => {
539
+ u.current?.getModel()?.original.setValue(e || "");
540
+ }, [e], M), l(() => {
541
+ let { original: i, modified: f } = u.current.getModel();
542
+ c.current.editor.setModelLanguage(i, t || n || "text"), c.current.editor.setModelLanguage(f, a || n || "text");
543
+ }, [n, t, a], M), l(() => {
544
+ c.current?.editor.setTheme(x);
545
+ }, [x], M), l(() => {
546
+ u.current?.updateOptions(y);
547
+ }, [y], M);
548
+ let L = useCallback(() => {
549
+ if (!c.current) return;
550
+ o.current(c.current);
551
+ let i = h(c.current, e || "", t || n || "text", m || ""), f = h(c.current, r || "", a || n || "text", E || "");
552
+ u.current?.setModel({ original: i, modified: f });
553
+ }, [n, r, a, e, t, m, E]), U = useCallback(() => {
554
+ !b.current && w.current && (u.current = c.current.editor.createDiffEditor(w.current, { automaticLayout: true, ...y }), L(), c.current?.editor.setTheme(x), O(true), b.current = true);
555
+ }, [y, x, L]);
556
+ useEffect(() => {
557
+ M && d.current(u.current, c.current);
558
+ }, [M]), useEffect(() => {
559
+ !T && !M && U();
560
+ }, [T, M, U]);
561
+ function I() {
562
+ let i = u.current?.getModel();
563
+ g || i?.original?.dispose(), N || i?.modified?.dispose(), u.current?.dispose();
564
+ }
565
+ return K.createElement(H, { width: z, height: V, isEditorReady: M, loading: P, _ref: w, className: F, wrapperProps: j });
566
+ }
567
+ var ie = Oe;
568
+ var we = memo(ie);
569
+ function Pe() {
570
+ let [e, r] = useState(loader.__getMonacoInstance());
571
+ return k(() => {
572
+ let n;
573
+ return e || (n = loader.init(), n.then((t) => {
574
+ r(t);
575
+ })), () => n?.cancel();
576
+ }), e;
577
+ }
578
+ var Le = Pe;
579
+ function He(e) {
580
+ let r = useRef();
581
+ return useEffect(() => {
582
+ r.current = e;
583
+ }, [e]), r.current;
584
+ }
585
+ var se = He;
586
+ var _ = /* @__PURE__ */ new Map();
587
+ function Ve({ defaultValue: e, defaultLanguage: r, defaultPath: n, value: t, language: a, path: m, theme: E = "light", line: g, loading: N = "Loading...", options: x = {}, overrideServices: P = {}, saveViewState: y = true, keepCurrentModel: V = false, width: z = "100%", height: F = "100%", className: j, wrapperProps: A = {}, beforeMount: q = D, onMount: M = D, onChange: O, onValidate: T = D }) {
588
+ let [s, u] = useState(false), [c, w] = useState(true), d = useRef(null), o = useRef(null), b = useRef(null), L = useRef(M), U = useRef(q), I = useRef(), i = useRef(t), f = se(m), Q = useRef(false), B = useRef(false);
589
+ k(() => {
590
+ let p = loader.init();
591
+ return p.then((R) => (d.current = R) && w(false)).catch((R) => R?.type !== "cancelation" && console.error("Monaco initialization: error:", R)), () => o.current ? pe() : p.cancel();
592
+ }), l(() => {
593
+ let p = h(d.current, e || t || "", r || a || "", m || n || "");
594
+ p !== o.current?.getModel() && (y && _.set(f, o.current?.saveViewState()), o.current?.setModel(p), y && o.current?.restoreViewState(_.get(m)));
595
+ }, [m], s), l(() => {
596
+ o.current?.updateOptions(x);
597
+ }, [x], s), l(() => {
598
+ !o.current || t === void 0 || (o.current.getOption(d.current.editor.EditorOption.readOnly) ? o.current.setValue(t) : t !== o.current.getValue() && (B.current = true, o.current.executeEdits("", [{ range: o.current.getModel().getFullModelRange(), text: t, forceMoveMarkers: true }]), o.current.pushUndoStop(), B.current = false));
599
+ }, [t], s), l(() => {
600
+ let p = o.current?.getModel();
601
+ p && a && d.current?.editor.setModelLanguage(p, a);
602
+ }, [a], s), l(() => {
603
+ g !== void 0 && o.current?.revealLine(g);
604
+ }, [g], s), l(() => {
605
+ d.current?.editor.setTheme(E);
606
+ }, [E], s);
607
+ let X = useCallback(() => {
608
+ if (!(!b.current || !d.current) && !Q.current) {
609
+ U.current(d.current);
610
+ let p = m || n, R = h(d.current, t || e || "", r || a || "", p || "");
611
+ o.current = d.current?.editor.create(b.current, { model: R, automaticLayout: true, ...x }, P), y && o.current.restoreViewState(_.get(p)), d.current.editor.setTheme(E), g !== void 0 && o.current.revealLine(g), u(true), Q.current = true;
612
+ }
613
+ }, [e, r, n, t, a, m, x, P, y, E, g]);
614
+ useEffect(() => {
615
+ s && L.current(o.current, d.current);
616
+ }, [s]), useEffect(() => {
617
+ !c && !s && X();
618
+ }, [c, s, X]), i.current = t, useEffect(() => {
619
+ s && O && (I.current?.dispose(), I.current = o.current?.onDidChangeModelContent((p) => {
620
+ B.current || O(o.current.getValue(), p);
621
+ }));
622
+ }, [s, O]), useEffect(() => {
623
+ if (s) {
624
+ let p = d.current.editor.onDidChangeMarkers((R) => {
625
+ let G = o.current.getModel()?.uri;
626
+ if (G && R.find((J) => J.path === G.path)) {
627
+ let J = d.current.editor.getModelMarkers({ resource: G });
628
+ T?.(J);
629
+ }
630
+ });
631
+ return () => {
632
+ p?.dispose();
633
+ };
634
+ }
635
+ return () => {
636
+ };
637
+ }, [s, T]);
638
+ function pe() {
639
+ I.current?.dispose(), V ? y && _.set(m, o.current.saveViewState()) : o.current.getModel()?.dispose(), o.current.dispose();
640
+ }
641
+ return K.createElement(H, { width: z, height: F, isEditorReady: s, loading: N, _ref: b, className: j, wrapperProps: A });
642
+ }
643
+ var fe = Ve;
644
+ var de = memo(fe);
645
+ var Ft = de;
646
+
647
+ export { we as DiffEditor, de as Editor, Ft as default, loader, Le as useMonaco };
648
+ //# sourceMappingURL=dist-IBD7CHHX.js.map
649
+ //# sourceMappingURL=dist-IBD7CHHX.js.map