@harnessio/yaml-editor 0.20.0 → 0.21.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.
- package/dist/components/BlameEditor.d.ts +2 -1
- package/dist/index.cjs +19 -19
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +471 -470
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../node_modules/.pnpm/object-assign@4.1.1/node_modules/object-assign/index.js","../../../node_modules/.pnpm/react@17.0.2/node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../node_modules/.pnpm/react@17.0.2/node_modules/react/jsx-runtime.js","../../../node_modules/.pnpm/@monaco-editor+loader@1.5.0/node_modules/@monaco-editor/loader/lib/es/_virtual/_rollupPluginBabelHelpers.js","../../../node_modules/.pnpm/state-local@1.0.7/node_modules/state-local/lib/es/state-local.js","../../../node_modules/.pnpm/@monaco-editor+loader@1.5.0/node_modules/@monaco-editor/loader/lib/es/config/index.js","../../../node_modules/.pnpm/@monaco-editor+loader@1.5.0/node_modules/@monaco-editor/loader/lib/es/utils/curry.js","../../../node_modules/.pnpm/@monaco-editor+loader@1.5.0/node_modules/@monaco-editor/loader/lib/es/utils/isObject.js","../../../node_modules/.pnpm/@monaco-editor+loader@1.5.0/node_modules/@monaco-editor/loader/lib/es/validators/index.js","../../../node_modules/.pnpm/@monaco-editor+loader@1.5.0/node_modules/@monaco-editor/loader/lib/es/utils/compose.js","../../../node_modules/.pnpm/@monaco-editor+loader@1.5.0/node_modules/@monaco-editor/loader/lib/es/utils/deepMerge.js","../../../node_modules/.pnpm/@monaco-editor+loader@1.5.0/node_modules/@monaco-editor/loader/lib/es/utils/makeCancelable.js","../../../node_modules/.pnpm/@monaco-editor+loader@1.5.0/node_modules/@monaco-editor/loader/lib/es/loader/index.js","../../../node_modules/.pnpm/@monaco-editor+react@4.6.0_monaco-editor@0.40.0_react-dom@17.0.2_react@17.0.2__react@17.0.2/node_modules/@monaco-editor/react/dist/index.mjs","../src/constants/monaco-common-default-options.ts","../src/hooks/useTheme.tsx","../src/utils/utils.ts","../src/utils/blame-editor-utils.ts","../src/components/BlameEditor.tsx","../src/components/CodeEditor.tsx","../src/components/DiffEditor.tsx","../src/types/selectors.ts","../src/utils/codelens-utils.ts","../src/utils/monaco-globals.ts","../src/utils/outline-model-to-path.ts","../src/hooks/useCodeLens.tsx","../src/hooks/useDecoration.tsx","../src/components/YamlProvider.tsx","../src/hooks/useProblems.tsx","../src/utils/schema-utils.ts","../src/hooks/useSchema.tsx","../src/components/YamlEditor.tsx"],"sourcesContent":["/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/** @license React v17.0.2\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';require(\"object-assign\");var f=require(\"react\"),g=60103;exports.Fragment=60107;if(\"function\"===typeof Symbol&&Symbol.for){var h=Symbol.for;g=h(\"react.element\");exports.Fragment=h(\"react.fragment\")}var m=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,n=Object.prototype.hasOwnProperty,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,k){var b,d={},e=null,l=null;void 0!==k&&(e=\"\"+k);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(l=a.ref);for(b in a)n.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:g,type:c,key:e,ref:l,props:d,_owner:m.current}}exports.jsx=q;exports.jsxs=q;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\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 _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\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}\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, _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.52.2/min/vs'\n }\n};\n\nexport default config;\n","function curry(fn) {\n return function curried() {\n var _this = this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\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\n return curried.apply(_this, [].concat(args, nextArgs));\n };\n };\n}\n\nexport default curry;\n","function isObject(value) {\n return {}.toString.call(value).includes('Object');\n}\n\nexport default isObject;\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 */\n\nfunction validateConfig(config) {\n if (!config) errorHandler('configIsRequired');\n if (!isObject(config)) errorHandler('configType');\n\n if (config.urls) {\n informAboutDeprecation();\n return {\n paths: {\n vs: config.urls.monacoBase\n }\n };\n }\n\n return config;\n}\n/**\n * logs deprecation message\n */\n\n\nfunction informAboutDeprecation() {\n console.warn(errorMessages.deprecation);\n}\n\nfunction throwError(errorMessages, type) {\n throw new Error(errorMessages[type] || errorMessages[\"default\"]);\n}\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 default validators;\nexport { 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\n return function (x) {\n return fns.reduceRight(function (y, f) {\n return f(y);\n }, x);\n };\n};\n\nexport default compose;\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 default merge;\n","// The source (has been changed) is https://github.com/facebook/react/issues/5465#issuecomment-157888325\nvar CANCELATION_MESSAGE = {\n type: 'cancelation',\n msg: 'operation is manually canceled'\n};\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 default makeCancelable;\nexport { CANCELATION_MESSAGE };\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\n/** the local state of the module */\n\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 * set the loader configuration\n * @param {Object} config - the configuration object\n */\n\n\nfunction config(globalConfig) {\n var _validators$config = validators.config(globalConfig),\n monaco = _validators$config.monaco,\n config = _objectWithoutProperties(_validators$config, [\"monaco\"]);\n\n setState(function (state) {\n return {\n config: merge(state.config, config),\n monaco: monaco\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 */\n\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\n if (!state.isInitialized) {\n setState({\n isInitialized: true\n });\n\n if (state.monaco) {\n state.resolve(state.monaco);\n return makeCancelable(wrapperPromise);\n }\n\n if (window.monaco && window.monaco.editor) {\n storeMonacoInstance(window.monaco);\n state.resolve(window.monaco);\n return makeCancelable(wrapperPromise);\n }\n\n compose(injectScripts, getMonacoLoaderScript)(configureLoader);\n }\n\n return makeCancelable(wrapperPromise);\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 */\n\n\nfunction injectScripts(script) {\n return document.body.appendChild(script);\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 */\n\n\nfunction createScript(src) {\n var script = document.createElement('script');\n return src && (script.src = src), script;\n}\n/**\n * creates an HTML script element with the monaco loader src\n * @return {Object} - the created HTML script element\n */\n\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\n loaderScript.onload = function () {\n return configureLoader();\n };\n\n loaderScript.onerror = state.reject;\n return loaderScript;\n}\n/**\n * configures the monaco loader\n */\n\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\n require.config(state.config);\n\n require(['vs/editor/editor.main'], function (monaco) {\n storeMonacoInstance(monaco);\n state.resolve(monaco);\n }, function (error) {\n state.reject(error);\n });\n}\n/**\n * store monaco instance in local state\n */\n\n\nfunction storeMonacoInstance(monaco) {\n if (!getState().monaco) {\n setState({\n monaco: monaco\n });\n }\n}\n/**\n * internal helper function\n * extracts stored monaco instance\n * @return {Object|null} - the monaco instance\n */\n\n\nfunction __getMonacoInstance() {\n return getState(function (_ref4) {\n var monaco = _ref4.monaco;\n return monaco;\n });\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 default loader;\n","import _t from\"@monaco-editor/loader\";import{memo as Te}from\"react\";import ke,{useState as re,useRef as S,useCallback as oe,useEffect as ne}from\"react\";import Se from\"@monaco-editor/loader\";import{memo as ye}from\"react\";import K from\"react\";var le={wrapper:{display:\"flex\",position:\"relative\",textAlign:\"initial\"},fullWidth:{width:\"100%\"},hide:{display:\"none\"}},v=le;import me from\"react\";var ae={container:{display:\"flex\",height:\"100%\",width:\"100%\",justifyContent:\"center\",alignItems:\"center\"}},Y=ae;function Me({children:e}){return me.createElement(\"div\",{style:Y.container},e)}var Z=Me;var $=Z;function Ee({width:e,height:r,isEditorReady:n,loading:t,_ref:a,className:m,wrapperProps:E}){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}))}var ee=Ee;var H=ye(ee);import{useEffect as xe}from\"react\";function Ce(e){xe(e,[])}var k=Ce;import{useEffect as ge,useRef as Re}from\"react\";function he(e,r,n=!0){let t=Re(!0);ge(t.current||!n?()=>{t.current=!1}:e,r)}var l=he;function D(){}function h(e,r,n,t){return De(e,t)||be(e,r,n,t)}function De(e,r){return e.editor.getModel(te(e,r))}function be(e,r,n,t){return e.editor.createModel(r,n,t?te(e,t):void 0)}function te(e,r){return e.Uri.parse(r)}function Oe({original:e,modified:r,language:n,originalLanguage:t,modifiedLanguage:a,originalModelPath:m,modifiedModelPath:E,keepCurrentOriginalModel:g=!1,keepCurrentModifiedModel:N=!1,theme:x=\"light\",loading:P=\"Loading...\",options:y={},height:V=\"100%\",width:z=\"100%\",className:F,wrapperProps:j={},beforeMount:A=D,onMount:q=D}){let[M,O]=re(!1),[T,s]=re(!0),u=S(null),c=S(null),w=S(null),d=S(q),o=S(A),b=S(!1);k(()=>{let i=Se.init();return i.then(f=>(c.current=f)&&s(!1)).catch(f=>f?.type!==\"cancelation\"&&console.error(\"Monaco initialization: error:\",f)),()=>u.current?I():i.cancel()}),l(()=>{if(u.current&&c.current){let i=u.current.getOriginalEditor(),f=h(c.current,e||\"\",t||n||\"text\",m||\"\");f!==i.getModel()&&i.setModel(f)}},[m],M),l(()=>{if(u.current&&c.current){let i=u.current.getModifiedEditor(),f=h(c.current,r||\"\",a||n||\"text\",E||\"\");f!==i.getModel()&&i.setModel(f)}},[E],M),l(()=>{let i=u.current.getModifiedEditor();i.getOption(c.current.editor.EditorOption.readOnly)?i.setValue(r||\"\"):r!==i.getValue()&&(i.executeEdits(\"\",[{range:i.getModel().getFullModelRange(),text:r||\"\",forceMoveMarkers:!0}]),i.pushUndoStop())},[r],M),l(()=>{u.current?.getModel()?.original.setValue(e||\"\")},[e],M),l(()=>{let{original:i,modified:f}=u.current.getModel();c.current.editor.setModelLanguage(i,t||n||\"text\"),c.current.editor.setModelLanguage(f,a||n||\"text\")},[n,t,a],M),l(()=>{c.current?.editor.setTheme(x)},[x],M),l(()=>{u.current?.updateOptions(y)},[y],M);let L=oe(()=>{if(!c.current)return;o.current(c.current);let i=h(c.current,e||\"\",t||n||\"text\",m||\"\"),f=h(c.current,r||\"\",a||n||\"text\",E||\"\");u.current?.setModel({original:i,modified:f})},[n,r,a,e,t,m,E]),U=oe(()=>{!b.current&&w.current&&(u.current=c.current.editor.createDiffEditor(w.current,{automaticLayout:!0,...y}),L(),c.current?.editor.setTheme(x),O(!0),b.current=!0)},[y,x,L]);ne(()=>{M&&d.current(u.current,c.current)},[M]),ne(()=>{!T&&!M&&U()},[T,M,U]);function I(){let i=u.current?.getModel();g||i?.original?.dispose(),N||i?.modified?.dispose(),u.current?.dispose()}return ke.createElement(H,{width:z,height:V,isEditorReady:M,loading:P,_ref:w,className:F,wrapperProps:j})}var ie=Oe;var we=Te(ie);import{useState as Ie}from\"react\";import ce from\"@monaco-editor/loader\";function Pe(){let[e,r]=Ie(ce.__getMonacoInstance());return k(()=>{let n;return e||(n=ce.init(),n.then(t=>{r(t)})),()=>n?.cancel()}),e}var Le=Pe;import{memo as ze}from\"react\";import We,{useState as ue,useEffect as W,useRef as C,useCallback as _e}from\"react\";import Ne from\"@monaco-editor/loader\";import{useEffect as Ue,useRef as ve}from\"react\";function He(e){let r=ve();return Ue(()=>{r.current=e},[e]),r.current}var se=He;var _=new Map;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=!0,keepCurrentModel:V=!1,width:z=\"100%\",height:F=\"100%\",className:j,wrapperProps:A={},beforeMount:q=D,onMount:M=D,onChange:O,onValidate:T=D}){let[s,u]=ue(!1),[c,w]=ue(!0),d=C(null),o=C(null),b=C(null),L=C(M),U=C(q),I=C(),i=C(t),f=se(m),Q=C(!1),B=C(!1);k(()=>{let p=Ne.init();return p.then(R=>(d.current=R)&&w(!1)).catch(R=>R?.type!==\"cancelation\"&&console.error(\"Monaco initialization: error:\",R)),()=>o.current?pe():p.cancel()}),l(()=>{let p=h(d.current,e||t||\"\",r||a||\"\",m||n||\"\");p!==o.current?.getModel()&&(y&&_.set(f,o.current?.saveViewState()),o.current?.setModel(p),y&&o.current?.restoreViewState(_.get(m)))},[m],s),l(()=>{o.current?.updateOptions(x)},[x],s),l(()=>{!o.current||t===void 0||(o.current.getOption(d.current.editor.EditorOption.readOnly)?o.current.setValue(t):t!==o.current.getValue()&&(B.current=!0,o.current.executeEdits(\"\",[{range:o.current.getModel().getFullModelRange(),text:t,forceMoveMarkers:!0}]),o.current.pushUndoStop(),B.current=!1))},[t],s),l(()=>{let p=o.current?.getModel();p&&a&&d.current?.editor.setModelLanguage(p,a)},[a],s),l(()=>{g!==void 0&&o.current?.revealLine(g)},[g],s),l(()=>{d.current?.editor.setTheme(E)},[E],s);let X=_e(()=>{if(!(!b.current||!d.current)&&!Q.current){U.current(d.current);let p=m||n,R=h(d.current,t||e||\"\",r||a||\"\",p||\"\");o.current=d.current?.editor.create(b.current,{model:R,automaticLayout:!0,...x},P),y&&o.current.restoreViewState(_.get(p)),d.current.editor.setTheme(E),g!==void 0&&o.current.revealLine(g),u(!0),Q.current=!0}},[e,r,n,t,a,m,x,P,y,E,g]);W(()=>{s&&L.current(o.current,d.current)},[s]),W(()=>{!c&&!s&&X()},[c,s,X]),i.current=t,W(()=>{s&&O&&(I.current?.dispose(),I.current=o.current?.onDidChangeModelContent(p=>{B.current||O(o.current.getValue(),p)}))},[s,O]),W(()=>{if(s){let p=d.current.editor.onDidChangeMarkers(R=>{let G=o.current.getModel()?.uri;if(G&&R.find(J=>J.path===G.path)){let J=d.current.editor.getModelMarkers({resource:G});T?.(J)}});return()=>{p?.dispose()}}return()=>{}},[s,T]);function pe(){I.current?.dispose(),V?y&&_.set(m,o.current.saveViewState()):o.current.getModel()?.dispose(),o.current.dispose()}return We.createElement(H,{width:z,height:F,isEditorReady:s,loading:N,_ref:b,className:j,wrapperProps:A})}var fe=Ve;var de=ze(fe);var Ft=de;export{we as DiffEditor,de as Editor,Ft as default,_t as loader,Le as useMonaco};\n//# sourceMappingURL=index.mjs.map","import * as monaco from 'monaco-editor'\n\nexport const MonacoCommonDefaultOptions: monaco.editor.IStandaloneDiffEditorConstructionOptions = {\n selectOnLineNumbers: true,\n scrollBeyondLastLine: false,\n padding: {\n top: 16,\n bottom: 16\n },\n minimap: { enabled: false },\n fontSize: 14,\n fontFamily: '\"JetBrains Mono\", \"monospace\"',\n lineHeight: 20,\n scrollbar: {\n verticalScrollbarSize: 14,\n horizontalScrollbarSize: 14,\n verticalSliderSize: 6,\n horizontalSliderSize: 6\n },\n overviewRulerBorder: false,\n overviewRulerLanes: 0,\n renderLineHighlight: 'none',\n automaticLayout: true\n}\n","import { RefObject, useEffect, useState } from 'react'\n\nimport * as monaco from 'monaco-editor'\n\nimport { ThemeDefinition } from '../types/themes'\n\nexport type UseTheme = (arg: {\n monacoRef: RefObject<typeof monaco | undefined>\n themeConfig?: {\n rootElementSelector?: string\n defaultTheme?: string\n monacoThemes?: ThemeDefinition[]\n }\n theme?: string\n editor: any\n}) => { theme: string }\n\nexport const useTheme: UseTheme = (props): { theme: string } => {\n const { themeConfig, editor, theme } = props\n const { defaultTheme } = themeConfig ?? {}\n\n const [themeInternal, setThemeInternal] = useState(theme ?? defaultTheme ?? 'vs-dark')\n\n useEffect(() => {\n themeConfig?.monacoThemes?.forEach(themeItem => {\n monaco.editor.defineTheme(themeItem.themeName, themeItem.themeData)\n })\n }, [monaco])\n\n useEffect(() => {\n if (monaco.editor && theme) {\n monaco.editor.setTheme(theme)\n setThemeInternal(theme)\n }\n }, [editor, theme])\n\n return { theme: themeInternal }\n}\n","export function createRandomString(length: number) {\n const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'\n let result = ''\n for (let i = 0; i < length; i++) {\n result += chars.charAt(Math.floor(Math.random() * chars.length))\n }\n return result\n}\n\nexport function escapeSingleQuote(str: string) {\n return str.replace(`'`, `'`)\n}\n\nconst formatRelativeTime = (diffInSeconds: number): string => {\n const rtf = new Intl.RelativeTimeFormat('en', { numeric: 'auto' })\n\n if (diffInSeconds < 60) {\n return rtf.format(-diffInSeconds, 'second')\n }\n\n const diffInMinutes = Math.floor(diffInSeconds / 60)\n if (diffInMinutes < 60) {\n return rtf.format(-diffInMinutes, 'minute')\n }\n\n const diffInHours = Math.floor(diffInMinutes / 60)\n if (diffInHours < 24) {\n return rtf.format(-diffInHours, 'hour')\n }\n\n const diffInDays = Math.floor(diffInHours / 24)\n if (diffInDays < 30) {\n return rtf.format(-diffInDays, 'day')\n }\n\n const diffInMonths = Math.floor(diffInDays / 30)\n if (diffInMonths < 12) {\n return rtf.format(-diffInMonths, 'month')\n }\n\n const diffInYears = Math.floor(diffInMonths / 12)\n return rtf.format(-diffInYears, 'year')\n}\n\n/**\n * Formats ISO format date string to human-readable duration format.\n * For e.g., \"2024-09-10T13:38:55-07:00\" is formatted as \"1 hour ago\".\n * @param timestamp\n * @returns formatted duration string\n */\nexport const timeAgoFromISOTime = (timestamp: string): string => {\n const date = new Date(timestamp)\n const now = new Date()\n\n const diffInSeconds = Math.floor((now.getTime() - date.getTime()) / 1000)\n // Always treat time differences as past events\n const absDiffInSeconds = Math.abs(diffInSeconds)\n return formatRelativeTime(absDiffInSeconds)\n}\n","import { BlameItem } from '../types/blame'\nimport { escapeSingleQuote, timeAgoFromISOTime } from './utils'\n\nexport function getMonacoEditorCss({\n instanceId,\n lineNumbersPosition\n}: {\n instanceId: string\n lineNumbersPosition: 'left' | 'center'\n}) {\n let css = ''\n\n // we move '.margin' element and update left/width of monaco editor\n if (lineNumbersPosition === 'center') {\n css += `\n .monaco-editor-${instanceId} .monaco-scrollable-element.editor-scrollable {\n width: 100% !important;\n left: 0px !important;\n }\n\n .monaco-editor-${instanceId} .view-lines, .view-zones {\n width: 100% !important;\n }\n \n .monaco-editor-${instanceId} .margin {\n z-index: 1000;\n background: transparent !important;\n }`\n }\n\n css += `\n .monaco-editor-${instanceId} .blame-editor-separator {\n right: 14px;\n pointer-events: none;\n }\n\n .monaco-editor-${instanceId} {\n outline: none !important;\n }\n \n .monaco-editor-${instanceId} .view-line .blame-editor-commit {\n display: inline-block;\n color: var(--cn-text-1);\n }`\n\n return css\n}\n\nexport function getMonacoEditorCommitCss({\n instanceId,\n blameData,\n dateWidth,\n avatarSize\n}: {\n instanceId: string\n blameData: BlameItem[]\n dateWidth: number\n avatarSize: number\n}) {\n let css = ''\n blameData.forEach(blameItem => {\n const avatarUrl = blameItem?.commitInfo?.author?.avatarUrl\n const initials = blameItem?.commitInfo?.author?.initials\n\n const avatarBackgroundCss = avatarUrl ? `background: url('${blameItem?.commitInfo?.author?.avatarUrl}');` : ''\n\n for (let lineNo = blameItem.fromLineNumber; lineNo <= blameItem.toLineNumber; lineNo++) {\n if (lineNo === blameItem.fromLineNumber) {\n css += `\n .monaco-editor-${instanceId} .view-line .blame-editor-commit-${lineNo}:before {\n content: '${escapeSingleQuote(timeAgoFromISOTime(blameItem?.commitInfo?.author?.when || ''))}';\n position: absolute;\n left: 10px;\n top: 0px;\n color: var(--cn-text-3);\n }\n\n .monaco-editor-${instanceId} .view-line .blame-editor-commit-${lineNo}:after {\n content: '${initials ?? ' '}';\n position: absolute;\n border-radius: 50%;\n padding: 4px;\n text-align: center;\n background: var(--cn-set-gray-soft-bg);\n line-height: 17px;\n left: ${dateWidth + 10}px;\n top: -4px;\n color: var(--cn-text-3);\n width: ${avatarSize}px;\n height: ${avatarSize}px;\n ${avatarBackgroundCss}\n background-size: 100% 100%;\n }`\n } else {\n css += `\n .monaco-editor-${instanceId} .view-line .blame-editor-commit-${lineNo}:before {\n content: ' ';\n left: 10px;\n top: 0px;\n color: gray;\n }`\n }\n }\n })\n\n return css\n}\n\nexport function createCommitMessage(msg: string, commitMsgLength: number) {\n let ret = ''\n if (msg.length > commitMsgLength) {\n ret = msg.slice(0, commitMsgLength - 3) + '...'\n } else if (msg.length < commitMsgLength) {\n ret = msg + ' '.repeat(commitMsgLength - msg.length)\n } else {\n ret = msg\n }\n\n return ' '.repeat(25) + ret + ' '.repeat(10)\n}\n","import { useEffect, useMemo, useRef, useState } from 'react'\n\nimport Editor, { EditorProps, loader, Monaco, useMonaco } from '@monaco-editor/react'\nimport * as monaco from 'monaco-editor'\n\nimport { MonacoCommonDefaultOptions } from '../constants/monaco-common-default-options'\nimport { useTheme } from '../hooks/useTheme'\nimport { BlameItem } from '../types/blame'\nimport { ThemeDefinition } from '../types/themes'\nimport { createCommitMessage, getMonacoEditorCommitCss, getMonacoEditorCss } from '../utils/blame-editor-utils'\nimport { createRandomString } from '../utils/utils'\n\nloader.config({ monaco })\n\nconst BLAME_MESSAGE_WIDTH = 450\nconst COMMIT_MESSAGE_LENGTH = 30\nconst DATE_WIDTH = 140\nconst AVATAR_SIZE = 24\n\nconst defaultOptions: monaco.editor.IStandaloneEditorConstructionOptions = {\n ...MonacoCommonDefaultOptions,\n readOnly: true,\n matchBrackets: 'never',\n renderValidationDecorations: 'off',\n guides: { indentation: false },\n folding: false,\n stickyScroll: { enabled: false },\n renderWhitespace: 'none',\n renderLineHighlight: 'none'\n}\n\nexport interface BlameEditorProps {\n code: string\n language: string\n themeConfig?: { rootElementSelector?: string; defaultTheme?: string; themes?: ThemeDefinition[] }\n theme?: string\n lineNumbersPosition?: 'left' | 'center'\n blameData: BlameItem[]\n showSeparators?: boolean\n height?: EditorProps['height']\n options?: monaco.editor.IStandaloneEditorConstructionOptions\n}\n\nexport function BlameEditor({\n code,\n language,\n themeConfig,\n lineNumbersPosition = 'left',\n blameData,\n showSeparators = true,\n theme: themeFromProps,\n height = '75vh',\n options\n}: BlameEditorProps): JSX.Element {\n const blameDataRef = useRef(blameData)\n\n const instanceId = useRef(createRandomString(5))\n const monaco = useMonaco()\n const [editor, setEditor] = useState<monaco.editor.IStandaloneCodeEditor | undefined>()\n\n const [lineNumbersDelta, setLineNumbersDelta] = useState(0)\n\n const monacoRef = useRef<typeof monaco | null>(null)\n const editorRef = useRef<monaco.editor.IStandaloneCodeEditor | null>(null)\n\n useEffect(() => {\n blameDataRef.current = blameData\n }, [blameData])\n\n function setupBlameEditor() {\n const editor = editorRef.current\n const monaco = monacoRef.current\n\n if (!editor || !monaco) return\n\n // separators\n if (showSeparators) {\n editor.changeViewZones(function (changeAccessor) {\n // space before first line\n changeAccessor.addZone({\n afterLineNumber: 0,\n heightInPx: 10,\n domNode: document.createElement('div')\n })\n\n blameDataRef.current.forEach((blameItem, index) => {\n if (index !== blameDataRef.current.length - 1) {\n const domNode = document.createElement('div')\n domNode.style.borderTop = '1px solid var(--cn-border-2)'\n domNode.style.marginTop = '9px'\n domNode.className = 'blame-editor-separator'\n\n changeAccessor.addZone({\n afterLineNumber: blameItem.toLineNumber,\n heightInPx: 20,\n domNode: domNode\n })\n }\n })\n })\n }\n\n const decoratorItems: monaco.editor.IModelDeltaDecoration[] = []\n blameDataRef.current.forEach(blameItem => {\n for (let lineNo = blameItem.fromLineNumber; lineNo <= blameItem.toLineNumber; lineNo++) {\n decoratorItems.push({\n range: new monaco.Range(lineNo, 0, lineNo + 1, 0),\n options: {\n before: {\n content: createCommitMessage(\n lineNo === blameItem.fromLineNumber ? blameItem?.commitInfo?.title || '' : '',\n COMMIT_MESSAGE_LENGTH\n ),\n cursorStops: monaco.editor.InjectedTextCursorStops.None,\n inlineClassName: `blame-editor-commit blame-editor-commit-${lineNo}`\n }\n }\n })\n }\n })\n\n // TODO: on unmount clear decorators, on blameData change recreate\n editor.createDecorationsCollection(decoratorItems)\n }\n\n function handleEditorDidMount(editor: monaco.editor.IStandaloneCodeEditor, monaco: Monaco) {\n editorRef.current = editor\n monacoRef.current = monaco\n\n editor.setValue(code)\n setEditor(editor)\n\n monaco.languages.typescript?.typescriptDefaults?.setDiagnosticsOptions?.({\n noSuggestionDiagnostics: true,\n noSyntaxValidation: true,\n noSemanticValidation: true\n })\n monaco.languages.typescript?.javascriptDefaults?.setDiagnosticsOptions?.({\n noSuggestionDiagnostics: true,\n noSyntaxValidation: true,\n noSemanticValidation: true\n })\n\n setupBlameEditor()\n }\n\n useEffect(() => {\n editor?.setValue(code)\n }, [code])\n\n const { theme } = useTheme({ monacoRef, themeConfig, editor, theme: themeFromProps })\n\n const monacoEditorCss = useMemo(\n () =>\n getMonacoEditorCss({\n instanceId: instanceId.current,\n lineNumbersPosition\n }),\n [blameData]\n )\n\n const monacoEditorCommitInfoCss = useMemo(\n () =>\n getMonacoEditorCommitCss({\n instanceId: instanceId.current,\n blameData,\n avatarSize: AVATAR_SIZE,\n dateWidth: DATE_WIDTH\n }),\n [blameData]\n )\n\n // set adjustment for lines numbers position\n useEffect(() => {\n if (lineNumbersPosition === 'center') {\n const scrollableEl = document.getElementsByClassName('lines-content')[0]\n\n if (scrollableEl) {\n const config = { attributes: true }\n\n const callback: MutationCallback = mutationList => {\n for (const _ of mutationList) {\n const left = parseInt(getComputedStyle(scrollableEl).left)\n setLineNumbersDelta(left)\n }\n }\n\n const observer = new MutationObserver(callback)\n observer.observe(scrollableEl, config)\n\n return () => {\n observer.disconnect()\n }\n }\n }\n })\n\n // adjust lines numbers position\n const lineNumbersCss = useMemo(() => {\n return `\n .monaco-editor-${instanceId.current} .margin {\n left: ${BLAME_MESSAGE_WIDTH + 16 + lineNumbersDelta}px !important;\n pointer-events: none;\n }`\n }, [lineNumbersDelta])\n\n const clipSelection = `\n .monaco-editor-${instanceId.current} .view-overlays {\n clip-path: polygon(${BLAME_MESSAGE_WIDTH + 16}px 0, 100% 0%, 100% 100%, ${BLAME_MESSAGE_WIDTH + 16}px 100%);\n height:100% !important;\n }`\n\n const mergedOptions = useMemo(\n () => ({\n ...defaultOptions,\n ...options\n }),\n [options]\n )\n\n return (\n <>\n <style\n dangerouslySetInnerHTML={{\n __html: `${monacoEditorCss} ${monacoEditorCommitInfoCss} ${lineNumbersCss} ${clipSelection}`\n }}\n />\n <Editor\n className={`monaco-editor-${instanceId.current} overflow-hidden rounded-b-md border-x border-b`}\n height={height}\n language={language}\n theme={theme}\n options={mergedOptions}\n onMount={handleEditorDidMount}\n />\n </>\n )\n}\n","import { useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport Editor, { EditorProps, loader, Monaco, useMonaco } from '@monaco-editor/react'\nimport * as monaco from 'monaco-editor'\n\nimport { MonacoCommonDefaultOptions } from '../constants/monaco-common-default-options'\nimport { useTheme } from '../hooks/useTheme'\nimport { ThemeDefinition } from '../types/themes'\n\nloader.config({ monaco })\n\nexport interface CodeRevision {\n code: string\n revisionId?: number\n}\n\nconst defaultOptions: monaco.editor.IStandaloneEditorConstructionOptions = {\n ...MonacoCommonDefaultOptions\n}\n\nexport interface CodeEditorProps<_> {\n codeRevision: CodeRevision\n onCodeRevisionChange: (codeRevision: CodeRevision | undefined, ev: monaco.editor.IModelContentChangedEvent) => void\n language: string\n themeConfig?: { rootElementSelector?: string; defaultTheme?: string; themes?: ThemeDefinition[] }\n theme?: string\n options?: monaco.editor.IStandaloneEditorConstructionOptions\n height?: EditorProps['height']\n className?: string\n}\n\nexport function CodeEditor<T>({\n codeRevision,\n onCodeRevisionChange,\n language,\n themeConfig,\n options,\n theme: themeFromProps,\n height = '75vh',\n className\n}: CodeEditorProps<T>): JSX.Element {\n const monaco = useMonaco()\n const [editor, setEditor] = useState<monaco.editor.IStandaloneCodeEditor | undefined>()\n const monacoRef = useRef<typeof monaco>()\n const currentRevisionRef = useRef<CodeRevision>({ code: '', revisionId: 0 })\n const editorRef = useRef<monaco.editor.IStandaloneCodeEditor | null>(null)\n\n const handleEditorDidMount = useCallback(\n (editorVal: monaco.editor.IStandaloneCodeEditor, monaco: Monaco) => {\n editorRef.current = editorVal\n monacoRef.current = monaco\n\n editorVal.setValue(codeRevision.code)\n\n setEditor(editorVal)\n\n monaco.languages.typescript?.typescriptDefaults?.setDiagnosticsOptions?.({\n noSuggestionDiagnostics: true,\n noSyntaxValidation: true,\n noSemanticValidation: true\n })\n monaco.languages.typescript?.javascriptDefaults?.setDiagnosticsOptions?.({\n noSuggestionDiagnostics: true,\n noSyntaxValidation: true,\n noSemanticValidation: true\n })\n },\n [codeRevision.code]\n )\n\n useEffect(() => {\n if (!editorRef.current) return\n\n if (!codeRevision.revisionId || codeRevision.revisionId > Number(currentRevisionRef.current?.revisionId)) {\n const model = editorRef.current.getModel()\n\n if (model) {\n // NOTE: if it's a readonly no need to create undo stop points\n if (options?.readOnly) {\n editorRef.current?.setValue(codeRevision.code)\n } else {\n editorRef.current.pushUndoStop()\n editorRef.current.executeEdits('edit', [\n {\n range: model.getFullModelRange(),\n text: codeRevision.code\n }\n ])\n editorRef.current.pushUndoStop()\n }\n }\n }\n }, [codeRevision, editorRef.current])\n\n const { theme } = useTheme({ monacoRef, themeConfig, editor, theme: themeFromProps })\n\n const mergedOptions = useMemo(() => {\n return { ...defaultOptions, ...(options ? options : {}) }\n }, [options])\n\n return (\n <>\n <Editor\n className={className}\n height={height}\n onChange={(value, data) => {\n currentRevisionRef.current = { code: value ?? '', revisionId: data.versionId }\n onCodeRevisionChange({ ...currentRevisionRef.current }, data)\n }}\n language={language}\n theme={theme}\n options={mergedOptions}\n onMount={handleEditorDidMount}\n />\n </>\n )\n}\n","import { useMemo, useRef, useState } from 'react'\n\nimport { DiffEditor, EditorProps, loader, MonacoDiffEditor, useMonaco } from '@monaco-editor/react'\nimport * as monaco from 'monaco-editor'\n\nimport { MonacoCommonDefaultOptions } from '../constants/monaco-common-default-options'\nimport { useTheme } from '../hooks/useTheme'\nimport { ThemeDefinition } from '../types/themes'\n\nloader.config({ monaco })\n\nexport interface CodeRevision {\n code: string\n revisionId?: number\n}\n\nconst defaultOptions: monaco.editor.IStandaloneDiffEditorConstructionOptions = {\n ...MonacoCommonDefaultOptions,\n codeLens: false,\n smartSelect: {\n selectLeadingAndTrailingWhitespace: true\n },\n originalEditable: false,\n overviewRulerBorder: false\n}\n\nexport interface DiffEditorProps<_> {\n original: string\n modified: string\n language: string\n themeConfig?: { rootElementSelector?: string; defaultTheme?: string; themes?: ThemeDefinition[] }\n theme?: string\n options?: monaco.editor.IStandaloneEditorConstructionOptions\n height?: EditorProps['height']\n}\n\nexport function CodeDiffEditor<T>({\n original,\n modified,\n language,\n themeConfig,\n options,\n theme: themeFromProps,\n height = '75vh'\n}: DiffEditorProps<T>): JSX.Element {\n const monaco = useMonaco()\n const [editor, setEditor] = useState<MonacoDiffEditor | undefined>()\n\n const monacoRef = useRef<typeof monaco>()\n\n const { theme } = useTheme({ monacoRef, themeConfig, editor, theme: themeFromProps })\n\n const mergedOptions = useMemo(() => {\n return { ...defaultOptions, ...(options ? options : {}) }\n }, [options])\n\n return (\n <>\n <DiffEditor\n className=\"overflow-hidden rounded-b-md border-x border-b\"\n language={language}\n theme={theme}\n original={original}\n modified={modified}\n height={height}\n options={mergedOptions}\n onMount={setEditor}\n />\n </>\n )\n}\n","export enum SelectorType {\n //AbsolutePath = 'AbsolutePath',\n ContainsPath = 'ContainsPath'\n}\n\nexport interface ContainsPathSelector {\n type: SelectorType.ContainsPath\n /** Path have to starts with `basePath`*/\n basePath: string\n /** Path have to contains one of provided path. Base path is not included in match.*/\n paths: RegExp[]\n}\n\n// export interface AbsolutePathSelector {\n// type: SelectorType.AbsolutePath\n// /** Path have to be equal with `absolutePaths`*/\n// absolutePaths: string[]\n// }\n\nexport type PathSelector = ContainsPathSelector // | AbsolutePathSelector\n","import * as monaco from 'monaco-editor'\n\nimport { InlineAction } from '../types/inline-actions'\nimport { PathSelector, SelectorType } from '../types/selectors'\n\nexport interface CommandArg<T> extends Pick<InlineAction<T>, 'onClick' | 'data'> {\n range: monaco.IRange\n symbols: monaco.languages.DocumentSymbol[]\n path: string\n}\n\nexport interface GetCodeLensProps<T> {\n pathSymbolMap: Map<string, monaco.languages.DocumentSymbol>\n inlineActions?: { selectors: PathSelector[]; actions: InlineAction<T>[] }[]\n commandId: string | any // TODO\n}\n\nexport function getCodeLens<T>(props: GetCodeLensProps<T>) {\n const { pathSymbolMap, inlineActions = [], commandId } = props\n\n const pathSymbolMapObj = Object.fromEntries(pathSymbolMap.entries())\n\n const lenses: monaco.languages.CodeLens[] = []\n\n inlineActions?.forEach(inlineAction => {\n const actions = inlineAction.actions\n const selectors = inlineAction.selectors\n\n selectors.forEach(selector => {\n switch (selector.type) {\n case SelectorType.ContainsPath: {\n selector.paths.forEach(partRegexp => {\n const pathSymbolArr = Object.keys(pathSymbolMapObj).map(path => ({\n fullPath: path,\n path,\n symbol: pathSymbolMapObj[path]\n }))\n\n //console.log(pathSymbolArr)\n\n let candidateRelativePaths = pathSymbolArr.filter(pathSymbol => {\n return pathSymbol.path.startsWith(selector.basePath)\n })\n\n candidateRelativePaths = candidateRelativePaths.map(pathSymbol => ({\n ...pathSymbol,\n path: pathSymbol.path.substring(selector.basePath.length)\n }))\n\n //console.log(candidateRelativePaths)\n\n const finalPaths = candidateRelativePaths.filter(pathSymbol => {\n return partRegexp.test(pathSymbol.path)\n })\n\n //console.log(finalPaths, 'finalPaths')\n\n finalPaths.forEach(pathSymbol => {\n const path = pathSymbol.fullPath\n const symbol = pathSymbol.symbol\n const range = symbol.range\n\n actions.forEach(action => {\n const commandArg = {\n range,\n symbols: [symbol],\n onClick: action.onClick,\n data: action.data,\n path: path\n }\n\n lenses.push({\n range,\n command: {\n id: commandId,\n title: action.title,\n arguments: [commandArg]\n }\n })\n })\n })\n })\n break\n }\n }\n })\n })\n\n return lenses\n}\n","import { ILanguageFeaturesService } from 'monaco-editor/esm/vs/editor/common/services/languageFeatures.js'\nimport { OutlineModel } from 'monaco-editor/esm/vs/editor/contrib/documentSymbols/browser/outlineModel.js'\nimport { StandaloneServices } from 'monaco-editor/esm/vs/editor/standalone/browser/standaloneServices.js'\n\nexport interface MonacoGlobalsData {\n ILanguageFeaturesService: typeof ILanguageFeaturesService\n OutlineModel: typeof OutlineModel\n StandaloneServices: typeof StandaloneServices\n}\n\nexport class MonacoGlobals {\n static data: MonacoGlobalsData = {} as MonacoGlobalsData\n\n static set(data: MonacoGlobalsData) {\n MonacoGlobals.data = data\n }\n\n static get(): MonacoGlobalsData {\n return MonacoGlobals.data\n }\n}\n","import { editor, languages } from 'monaco-editor'\n\nimport { OutlineModelValueInternal, RootOutlineModelInternal } from '../types/monaco'\nimport { MonacoGlobals } from './monaco-globals'\n\nexport async function getOutlineModel(model: editor.ITextModel): Promise<RootOutlineModelInternal> {\n const monacoGlobals = MonacoGlobals.get()\n const { documentSymbolProvider } = monacoGlobals.StandaloneServices.get(monacoGlobals.ILanguageFeaturesService)\n const outlineModel = await monacoGlobals.OutlineModel.create(documentSymbolProvider, model)\n return outlineModel as unknown as RootOutlineModelInternal\n}\n\nexport function processOutlineModel(outlineModel: RootOutlineModelInternal) {\n const pathSymbolMap: Map<string, languages.DocumentSymbol> = new Map()\n\n processChildrenRec({\n pathSymbolMap,\n parentPath: '',\n children: outlineModel.children,\n parentKind: languages.SymbolKind.Module\n })\n\n return pathSymbolMap\n}\n\nfunction processChildrenRec(props: {\n pathSymbolMap: Map<string, languages.DocumentSymbol>\n parentPath: string\n children: Map<string, OutlineModelValueInternal>\n parentKind: languages.SymbolKind\n}) {\n switch (props.parentKind) {\n case languages.SymbolKind.Module: {\n processObject(props)\n break\n }\n case languages.SymbolKind.Array: {\n processArray(props)\n break\n }\n default: {\n processPrimitive(props)\n }\n }\n}\n\nfunction processObject(props: {\n pathSymbolMap: Map<string, languages.DocumentSymbol>\n parentPath: string\n children: Map<string, OutlineModelValueInternal>\n parentKind: languages.SymbolKind\n}) {\n props.children.forEach(child => {\n let childPath = props.parentPath\n\n if (child.symbol) {\n childPath = props.parentPath ? `${props.parentPath}.${child.symbol.name}` : child.symbol.name\n\n props.pathSymbolMap.set(childPath, child.symbol)\n }\n\n processChildrenRec({\n pathSymbolMap: props.pathSymbolMap,\n parentPath: childPath,\n children: child.children,\n parentKind: child?.symbol?.kind ?? props.parentKind\n })\n })\n}\n\nfunction processArray(props: {\n pathSymbolMap: Map<string, languages.DocumentSymbol>\n parentPath: string\n children: Map<string, OutlineModelValueInternal>\n parentKind: languages.SymbolKind\n}) {\n let idx = 0\n props.children.forEach(child => {\n const childPath = props.parentPath ? `${props.parentPath}.${idx}` : `${idx}`\n\n props.pathSymbolMap.set(childPath, child.symbol)\n\n idx += 1\n\n processChildrenRec({\n pathSymbolMap: props.pathSymbolMap,\n parentPath: childPath,\n children: child.children,\n parentKind: child.symbol.kind\n })\n })\n}\n\nfunction processPrimitive(props: {\n pathSymbolMap: Map<string, languages.DocumentSymbol>\n parentPath: string\n children: Map<string, OutlineModelValueInternal>\n parentKind: languages.SymbolKind\n}) {\n const child = props.children.get('0')\n\n if (child) {\n const childPath = props.parentPath ? `${props.parentPath}.${child.symbol.name}` : child?.symbol.name\n\n props.pathSymbolMap.set(childPath, child.symbol)\n }\n}\n","import { RefObject, useEffect } from 'react'\n\nimport * as monaco from 'monaco-editor'\n\nimport { InlineAction } from '../types/inline-actions'\nimport { PathSelector } from '../types/selectors'\nimport { getCodeLens } from '../utils/codelens-utils'\nimport { getOutlineModel, processOutlineModel } from '../utils/outline-model-to-path'\n\nexport function useCodeLenses<T>({\n editorRef,\n inlineActions\n}: {\n editorRef: RefObject<monaco.editor.IStandaloneCodeEditor | undefined | null>\n inlineActions?: { selectors: PathSelector[]; actions: InlineAction<T>[] }[]\n}): void {\n useEffect(() => {\n const disposable = monaco.languages.registerCodeLensProvider('yaml', {\n provideCodeLenses: async model => {\n const outlineModel = await getOutlineModel(model)\n const pathSymbolMap = processOutlineModel(outlineModel)\n\n const commandId = editorRef?.current?.addCommand(0, (_, { onClick, path, range, data }) => {\n onClick({ path, range, data })\n })\n\n if (!commandId) return\n\n const lenses = getCodeLens({ pathSymbolMap, inlineActions, commandId })\n\n return {\n lenses,\n dispose: () => undefined\n }\n }\n })\n\n return disposable.dispose\n }, [inlineActions, editorRef])\n}\n","import { RefObject, useEffect, useMemo, useState } from 'react'\n\nimport * as monaco from 'monaco-editor'\n\nimport { getOutlineModel, processOutlineModel } from '../utils/outline-model-to-path'\n\ntype UseDecoration = (arg: {\n editorRef?: RefObject<monaco.editor.IStandaloneCodeEditor>\n selection?: {\n path: string\n className: string\n revealInCenter?: boolean\n }\n}) => void\n\nexport const useDecoration: UseDecoration = ({ editorRef, selection }) => {\n const [range, setRange] = useState<monaco.IRange>()\n\n const computeRange = useMemo(\n () =>\n async (_editorRef?: RefObject<monaco.editor.IStandaloneCodeEditor>, path?: string, revealInCenter?: boolean) => {\n const model = editorRef?.current?.getModel()\n\n if (!model || !path) {\n return setRange(undefined)\n }\n\n const outlineModel = await getOutlineModel(model)\n const pathSymbolMap = processOutlineModel(outlineModel)\n const range = pathSymbolMap.get(path)?.range\n\n if (range) {\n setRange(range)\n\n if (revealInCenter) {\n editorRef?.current?.revealLineInCenter(range.startLineNumber)\n }\n }\n },\n []\n )\n\n useEffect(() => {\n if ('requestIdleCallback' in window) {\n const handle = requestIdleCallback(() => {\n computeRange(editorRef, selection?.path, selection?.revealInCenter)\n })\n return () => cancelIdleCallback(handle)\n }\n // fallback for safari\n else {\n const handle = setTimeout(() => {\n computeRange(editorRef, selection?.path, selection?.revealInCenter)\n }, 100)\n return () => clearTimeout(handle)\n }\n }, [selection?.path, selection?.revealInCenter, editorRef, computeRange])\n\n useEffect(() => {\n if (!range) return\n\n const decorations = editorRef?.current?.createDecorationsCollection([\n {\n // TODO: check why startColumn is set to \"end of row\"\n range: { ...range, startColumn: 1 },\n options: {\n isWholeLine: false,\n className: selection?.className\n }\n }\n ])\n\n return () => decorations?.clear()\n }, [range, editorRef, selection?.className])\n}\n","import { createContext, useCallback, useContext, useState } from 'react'\n\nimport type { editor } from 'monaco-editor'\n\nexport interface YamlEditorContextInterface {\n markers: editor.IMarker[]\n setMarkers: (markets: editor.IMarker[]) => void\n editor: editor.IStandaloneCodeEditor | null\n setEditor: (monacoEditor: editor.IStandaloneCodeEditor) => void\n updateCursorPosition: (position: { column: number; lineNumber: number }) => void\n}\n\nexport const YamlEditorContext = createContext<YamlEditorContextInterface>({\n markers: [],\n setMarkers: () => undefined,\n editor: null,\n setEditor: (_monacoEditor: editor.IStandaloneCodeEditor) => undefined,\n updateCursorPosition: (_position: { column: number; lineNumber: number }) => undefined\n})\n\nexport function YamlEditorContextProvider({\n children\n}: React.PropsWithChildren<React.HTMLAttributes<HTMLElement>>): React.ReactElement {\n const [markers, setMarkers] = useState<editor.IMarker[]>([])\n const [monacoEditor, setMonacoEditor] = useState<editor.IStandaloneCodeEditor | null>(null)\n\n const updateCursorPosition = useCallback(\n (position: { column: number; lineNumber: number }) => {\n monacoEditor?.setPosition(position)\n monacoEditor?.revealLineInCenterIfOutsideViewport(position.lineNumber)\n monacoEditor?.focus()\n },\n [monacoEditor]\n )\n\n return (\n <YamlEditorContext.Provider\n value={{\n markers,\n setMarkers,\n editor: monacoEditor,\n setEditor: setMonacoEditor,\n updateCursorPosition\n }}\n >\n {children}\n </YamlEditorContext.Provider>\n )\n}\n\nexport function useYamlEditorContext(): YamlEditorContextInterface {\n return useContext(YamlEditorContext)\n}\n","import { RefObject, useEffect } from 'react'\n\nimport * as monaco from 'monaco-editor'\n\nimport { useYamlEditorContext } from '../components/YamlProvider'\n\nexport type UseProblems = (arg: {\n instanceId?: string\n monacoRef: RefObject<typeof monaco | undefined>\n editorRef: RefObject<monaco.editor.IStandaloneCodeEditor | null | undefined>\n}) => void\n\nexport const useProblems: UseProblems = ({ monacoRef, editorRef, instanceId }): void => {\n const { setMarkers } = useYamlEditorContext()\n\n useEffect(() => {\n let handle: monaco.IDisposable\n\n const timeoutHandle = setTimeout(() => {\n const editor = monacoRef.current?.editor\n\n if (!editor) return\n\n // NOTE: Handler editor.onDidChangeMarkers triggers on any schema validation. Its a global event for all YamlEditor instances.\n handle = editor.onDidChangeMarkers(uris => {\n const model = editorRef.current?.getModel()\n if (!model) return\n\n const modelUri = model.uri.toString()\n\n if (uris.some(uri => uri.toString() === modelUri)) {\n // Marker change occurred for this editor's model\n const markers = monaco.editor.getModelMarkers({ resource: model.uri })\n setMarkers(markers)\n }\n })\n }, 100)\n\n return () => {\n clearTimeout(timeoutHandle)\n handle?.dispose()\n }\n }, [monacoRef, instanceId, setMarkers])\n}\n","import { Uri } from 'monaco-editor'\nimport { SchemasSettings, yamlDefaults } from 'monaco-yaml'\n\nexport function addUpdateSchema(schemaConfig: { fileMatch: string[]; schema: any; uri: string }) {\n const schemas = yamlDefaults?.diagnosticsOptions?.schemas ?? []\n\n const exitingSchemaIndex = schemas.findIndex(schema => schema.fileMatch[0] === schemaConfig.fileMatch[0])\n\n if (exitingSchemaIndex !== -1) {\n schemas[exitingSchemaIndex] = schemaConfig\n } else {\n schemas.push(schemaConfig)\n }\n\n setDiagnostics(schemas)\n}\n\nexport function removeSchema(schemaId: string) {\n const existingSchemas = yamlDefaults?.diagnosticsOptions?.schemas ?? []\n\n const schemas = existingSchemas.filter(schemaItem => {\n return schemaItem.fileMatch[0] !== schemaIdToUrl(schemaId)\n })\n\n setDiagnostics(schemas)\n}\n\nfunction setDiagnostics(schemas: SchemasSettings[]) {\n const config = {\n hover: true,\n completion: true,\n enableSchemaRequest: false,\n validate: true,\n schemas\n }\n\n // NOTE: this is for monaco-editor@0.50.0 version\n // return configureMonacoYaml(monaco, config)\n\n yamlDefaults.setDiagnosticsOptions({ ...config })\n}\n\nexport const schemaIdToUrl = (id: string): string => {\n return Uri.parse(`file://${id}`).toString()\n}\n\nexport const schemaIdToUri = (id: string): Uri => {\n return Uri.parse(schemaIdToUrl(id))\n}\n","import { useEffect } from 'react'\n\nimport { addUpdateSchema, removeSchema, schemaIdToUrl } from '../utils/schema-utils'\n\nexport type UseSchema = (arg: { schemaConfig?: { schema: any; uri: string }; instanceId: string }) => void\n\nexport const useSchema: UseSchema = (props): void => {\n const { schemaConfig, instanceId } = props\n\n useEffect(() => {\n if (schemaConfig?.schema) {\n addUpdateSchema({\n fileMatch: [schemaIdToUrl(instanceId.toString())],\n ...schemaConfig\n })\n\n return () => {\n removeSchema(instanceId)\n }\n }\n }, [schemaConfig?.schema, instanceId])\n}\n","import { useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport Editor, { loader, Monaco, useMonaco } from '@monaco-editor/react'\nimport * as monaco from 'monaco-editor'\n\nimport { MonacoCommonDefaultOptions } from '../constants/monaco-common-default-options'\nimport { useCodeLenses } from '../hooks/useCodeLens'\nimport { useDecoration } from '../hooks/useDecoration'\nimport { useProblems } from '../hooks/useProblems'\nimport { useSchema } from '../hooks/useSchema'\nimport { useTheme } from '../hooks/useTheme'\nimport { InlineAction } from '../types/inline-actions'\nimport { PathSelector } from '../types/selectors'\nimport { ThemeDefinition } from '../types/themes'\nimport { schemaIdToUrl } from '../utils/schema-utils'\nimport { useYamlEditorContext } from './YamlProvider'\n\nloader.config({ monaco })\n\nexport interface YamlRevision {\n yaml: string\n revisionId?: number\n}\n\nconst options: monaco.editor.IStandaloneEditorConstructionOptions = {\n ...MonacoCommonDefaultOptions,\n folding: true\n}\n\nexport interface YamlEditorProps<T> {\n yamlRevision: YamlRevision\n onYamlRevisionChange: (yamlRevision: YamlRevision | undefined, ev: monaco.editor.IModelContentChangedEvent) => void\n schemaConfig?: { schema: any; uri: string }\n inlineActions?: { selectors: PathSelector[]; actions: InlineAction<T>[] }[]\n themeConfig?: { rootElementSelector?: string; defaultTheme?: string; themes?: ThemeDefinition[] }\n theme?: string\n options?: monaco.editor.IStandaloneEditorConstructionOptions\n selection?: {\n path: string\n className: string\n revealInCenter?: boolean\n }\n animateOnUpdate?: boolean\n onAnimateEnd?: () => void\n instanceId?: string\n}\n\nexport const YamlEditor = function YamlEditor<T>(props: YamlEditorProps<T>): JSX.Element {\n const {\n yamlRevision,\n schemaConfig,\n inlineActions,\n themeConfig,\n onYamlRevisionChange,\n selection,\n theme: themeFromProps,\n options: userOptions,\n animateOnUpdate = false,\n onAnimateEnd,\n instanceId: instanceIdFromProps\n } = props\n const monaco = useMonaco()\n const [instanceId] = useState(instanceIdFromProps ?? `yaml-editor-${Math.random()}`)\n\n const { editor, setEditor } = useYamlEditorContext()\n\n const rootDivRef = useRef<HTMLDivElement | null>(null)\n\n const monacoRef = useRef<typeof monaco>()\n const currentRevisionRef = useRef<YamlRevision>({ yaml: '', revisionId: 0 })\n\n const editorRef = useRef<monaco.editor.IStandaloneCodeEditor | null>(null)\n const intervalIdRef = useRef<number | null>(null)\n\n const replaceYamlWithAnimation = useCallback(\n (yaml: string) => {\n const lines = yaml.split('\\n')\n const model = editorRef.current?.getModel()\n if (model) {\n editorRef.current?.pushUndoStop()\n model.setValue('')\n let index = 0\n intervalIdRef.current = window.setInterval(() => {\n if (index < lines.length) {\n if (monaco) {\n editorRef.current?.executeEdits('addLine', [\n {\n range: new monaco.Range(index + 1, 1, index + 1, 1),\n text: lines[index] + '\\n'\n }\n ])\n }\n index++\n } else {\n if (intervalIdRef.current) {\n clearInterval(intervalIdRef.current)\n onAnimateEnd?.()\n }\n }\n }, 100) // 100ms delay between each line\n editorRef.current?.pushUndoStop()\n }\n },\n [monaco]\n )\n\n useEffect(() => {\n return () => {\n if (intervalIdRef.current) {\n clearInterval(intervalIdRef.current)\n }\n }\n }, [])\n\n function handleEditorDidMount(editor: monaco.editor.IStandaloneCodeEditor, monaco: Monaco) {\n editorRef.current = editor\n monacoRef.current = monaco\n\n editor.setValue(yamlRevision.yaml)\n\n setEditor(editor)\n\n // NOTE: to prevent initial flickering (left line) we use opacity to show editor with delay\n setTimeout(() => {\n if (rootDivRef.current?.style) {\n rootDivRef.current.style.opacity = '1'\n }\n }, 50)\n }\n\n useEffect(() => {\n if (editorRef.current) {\n if (!yamlRevision.revisionId || yamlRevision.revisionId > Number(currentRevisionRef.current?.revisionId)) {\n // editorRef.current?.setValue(yamlRevision.yaml)\n\n const model = editorRef.current.getModel()\n if (model) {\n // editorRef.current.pushUndoStop()\n editorRef.current.executeEdits('edit', [\n {\n range: model.getFullModelRange(),\n text: animateOnUpdate ? '' : yamlRevision.yaml\n }\n ])\n // editorRef.current.pushUndoStop()\n if (animateOnUpdate) {\n replaceYamlWithAnimation(yamlRevision.yaml)\n }\n }\n }\n }\n }, [replaceYamlWithAnimation, yamlRevision, animateOnUpdate])\n\n useSchema({ schemaConfig, instanceId })\n\n useCodeLenses({ editorRef, inlineActions })\n\n const { theme } = useTheme({ monacoRef, themeConfig, editor, theme: themeFromProps })\n\n useProblems({ monacoRef, editorRef, instanceId })\n\n useDecoration({ editorRef, selection })\n\n const path = useMemo(() => schemaIdToUrl(instanceId), [])\n\n const mergedOptions = useMemo(\n () => ({\n ...options,\n ...userOptions\n }),\n [userOptions]\n )\n\n return (\n <div style={{ width: '100%', height: '100%', opacity: 0 }} ref={rootDivRef}>\n <Editor\n onChange={(value, data) => {\n currentRevisionRef.current = { yaml: value ?? '', revisionId: data.versionId }\n onYamlRevisionChange({ ...currentRevisionRef.current }, data)\n }}\n language=\"yaml\"\n theme={theme}\n options={mergedOptions}\n path={path}\n onMount={handleEditorDidMount}\n />\n </div>\n )\n}\n"],"names":["getOwnPropertySymbols","hasOwnProperty","propIsEnumerable","toObject","val","shouldUseNative","test1","test2","i","order2","n","test3","letter","f","require$$1","g","reactJsxRuntime_production_min","h","m","p","q","c","a","k","b","d","e","l","jsxRuntimeModule","require$$0","_defineProperty","obj","key","value","ownKeys","object","enumerableOnly","keys","symbols","sym","_objectSpread2","target","source","_objectWithoutPropertiesLoose","excluded","sourceKeys","_objectWithoutProperties","sourceSymbolKeys","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_arr","_n","_d","_e","_i","_s","err","o","minLen","_arrayLikeToArray","len","arr2","compose","_len","fns","_key","x","y","curry","fn","curried","_this","_len2","args","_key2","_len3","nextArgs","_key3","isObject","isEmpty","isFunction","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","_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","error","__getMonacoInstance","_ref4","loader","le","v","ae","Y","Me","me","Z","$","Ee","r","t","E","K","ee","H","ye","Ce","xe","he","Re","ge","D","De","be","te","Oe","N","P","V","z","F","j","A","M","O","re","T","s","u","S","w","Se","I","_b","_a","L","oe","U","ne","_c","ke","ie","we","Te","Pe","Ie","ce","Le","He","ve","Ue","se","_","Ve","ue","C","Q","B","Ne","R","pe","X","W","G","J","We","fe","de","ze","Ft","MonacoCommonDefaultOptions","useTheme","props","themeConfig","editor","theme","defaultTheme","themeInternal","setThemeInternal","useState","useEffect","themeItem","createRandomString","length","chars","result","escapeSingleQuote","str","formatRelativeTime","diffInSeconds","rtf","diffInMinutes","diffInHours","diffInDays","diffInMonths","diffInYears","timeAgoFromISOTime","timestamp","date","absDiffInSeconds","getMonacoEditorCss","instanceId","lineNumbersPosition","css","getMonacoEditorCommitCss","blameData","dateWidth","avatarSize","blameItem","avatarUrl","initials","avatarBackgroundCss","_f","lineNo","_h","_g","createCommitMessage","msg","commitMsgLength","ret","BLAME_MESSAGE_WIDTH","COMMIT_MESSAGE_LENGTH","DATE_WIDTH","AVATAR_SIZE","defaultOptions","BlameEditor","code","language","showSeparators","themeFromProps","height","options","blameDataRef","useRef","useMonaco","setEditor","lineNumbersDelta","setLineNumbersDelta","monacoRef","editorRef","setupBlameEditor","changeAccessor","domNode","decoratorItems","handleEditorDidMount","monacoEditorCss","useMemo","monacoEditorCommitInfoCss","scrollableEl","callback","mutationList","left","observer","lineNumbersCss","clipSelection","mergedOptions","jsxs","Fragment","jsx","Editor","CodeEditor","codeRevision","onCodeRevisionChange","className","currentRevisionRef","useCallback","editorVal","model","data","CodeDiffEditor","original","modified","DiffEditor","SelectorType","getCodeLens","pathSymbolMap","inlineActions","commandId","pathSymbolMapObj","lenses","inlineAction","actions","partRegexp","candidateRelativePaths","path","pathSymbol","symbol","range","action","commandArg","_MonacoGlobals","__publicField","MonacoGlobals","getOutlineModel","monacoGlobals","documentSymbolProvider","processOutlineModel","outlineModel","processChildrenRec","languages","processObject","processArray","processPrimitive","child","childPath","idx","useCodeLenses","onClick","useDecoration","selection","setRange","computeRange","_editorRef","revealInCenter","handle","decorations","YamlEditorContext","createContext","_monacoEditor","_position","YamlEditorContextProvider","children","markers","setMarkers","monacoEditor","setMonacoEditor","updateCursorPosition","position","useYamlEditorContext","useContext","useProblems","timeoutHandle","uris","modelUri","uri","addUpdateSchema","schemaConfig","schemas","yamlDefaults","exitingSchemaIndex","schema","setDiagnostics","removeSchema","schemaId","schemaItem","schemaIdToUrl","id","Uri","useSchema","YamlEditor","yamlRevision","onYamlRevisionChange","userOptions","animateOnUpdate","onAnimateEnd","instanceIdFromProps","rootDivRef","intervalIdRef","replaceYamlWithAnimation","yaml","lines"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13]}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../node_modules/.pnpm/object-assign@4.1.1/node_modules/object-assign/index.js","../../../node_modules/.pnpm/react@17.0.2/node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../node_modules/.pnpm/react@17.0.2/node_modules/react/jsx-runtime.js","../../../node_modules/.pnpm/@monaco-editor+loader@1.5.0/node_modules/@monaco-editor/loader/lib/es/_virtual/_rollupPluginBabelHelpers.js","../../../node_modules/.pnpm/state-local@1.0.7/node_modules/state-local/lib/es/state-local.js","../../../node_modules/.pnpm/@monaco-editor+loader@1.5.0/node_modules/@monaco-editor/loader/lib/es/config/index.js","../../../node_modules/.pnpm/@monaco-editor+loader@1.5.0/node_modules/@monaco-editor/loader/lib/es/utils/curry.js","../../../node_modules/.pnpm/@monaco-editor+loader@1.5.0/node_modules/@monaco-editor/loader/lib/es/utils/isObject.js","../../../node_modules/.pnpm/@monaco-editor+loader@1.5.0/node_modules/@monaco-editor/loader/lib/es/validators/index.js","../../../node_modules/.pnpm/@monaco-editor+loader@1.5.0/node_modules/@monaco-editor/loader/lib/es/utils/compose.js","../../../node_modules/.pnpm/@monaco-editor+loader@1.5.0/node_modules/@monaco-editor/loader/lib/es/utils/deepMerge.js","../../../node_modules/.pnpm/@monaco-editor+loader@1.5.0/node_modules/@monaco-editor/loader/lib/es/utils/makeCancelable.js","../../../node_modules/.pnpm/@monaco-editor+loader@1.5.0/node_modules/@monaco-editor/loader/lib/es/loader/index.js","../../../node_modules/.pnpm/@monaco-editor+react@4.6.0_monaco-editor@0.40.0_react-dom@17.0.2_react@17.0.2__react@17.0.2/node_modules/@monaco-editor/react/dist/index.mjs","../src/constants/monaco-common-default-options.ts","../src/hooks/useTheme.tsx","../src/utils/utils.ts","../src/utils/blame-editor-utils.ts","../src/components/BlameEditor.tsx","../src/components/CodeEditor.tsx","../src/components/DiffEditor.tsx","../src/types/selectors.ts","../src/utils/codelens-utils.ts","../src/utils/monaco-globals.ts","../src/utils/outline-model-to-path.ts","../src/hooks/useCodeLens.tsx","../src/hooks/useDecoration.tsx","../src/components/YamlProvider.tsx","../src/hooks/useProblems.tsx","../src/utils/schema-utils.ts","../src/hooks/useSchema.tsx","../src/components/YamlEditor.tsx"],"sourcesContent":["/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/** @license React v17.0.2\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';require(\"object-assign\");var f=require(\"react\"),g=60103;exports.Fragment=60107;if(\"function\"===typeof Symbol&&Symbol.for){var h=Symbol.for;g=h(\"react.element\");exports.Fragment=h(\"react.fragment\")}var m=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,n=Object.prototype.hasOwnProperty,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,k){var b,d={},e=null,l=null;void 0!==k&&(e=\"\"+k);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(l=a.ref);for(b in a)n.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:g,type:c,key:e,ref:l,props:d,_owner:m.current}}exports.jsx=q;exports.jsxs=q;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\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 _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\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}\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, _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.52.2/min/vs'\n }\n};\n\nexport default config;\n","function curry(fn) {\n return function curried() {\n var _this = this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\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\n return curried.apply(_this, [].concat(args, nextArgs));\n };\n };\n}\n\nexport default curry;\n","function isObject(value) {\n return {}.toString.call(value).includes('Object');\n}\n\nexport default isObject;\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 */\n\nfunction validateConfig(config) {\n if (!config) errorHandler('configIsRequired');\n if (!isObject(config)) errorHandler('configType');\n\n if (config.urls) {\n informAboutDeprecation();\n return {\n paths: {\n vs: config.urls.monacoBase\n }\n };\n }\n\n return config;\n}\n/**\n * logs deprecation message\n */\n\n\nfunction informAboutDeprecation() {\n console.warn(errorMessages.deprecation);\n}\n\nfunction throwError(errorMessages, type) {\n throw new Error(errorMessages[type] || errorMessages[\"default\"]);\n}\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 default validators;\nexport { 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\n return function (x) {\n return fns.reduceRight(function (y, f) {\n return f(y);\n }, x);\n };\n};\n\nexport default compose;\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 default merge;\n","// The source (has been changed) is https://github.com/facebook/react/issues/5465#issuecomment-157888325\nvar CANCELATION_MESSAGE = {\n type: 'cancelation',\n msg: 'operation is manually canceled'\n};\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 default makeCancelable;\nexport { CANCELATION_MESSAGE };\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\n/** the local state of the module */\n\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 * set the loader configuration\n * @param {Object} config - the configuration object\n */\n\n\nfunction config(globalConfig) {\n var _validators$config = validators.config(globalConfig),\n monaco = _validators$config.monaco,\n config = _objectWithoutProperties(_validators$config, [\"monaco\"]);\n\n setState(function (state) {\n return {\n config: merge(state.config, config),\n monaco: monaco\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 */\n\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\n if (!state.isInitialized) {\n setState({\n isInitialized: true\n });\n\n if (state.monaco) {\n state.resolve(state.monaco);\n return makeCancelable(wrapperPromise);\n }\n\n if (window.monaco && window.monaco.editor) {\n storeMonacoInstance(window.monaco);\n state.resolve(window.monaco);\n return makeCancelable(wrapperPromise);\n }\n\n compose(injectScripts, getMonacoLoaderScript)(configureLoader);\n }\n\n return makeCancelable(wrapperPromise);\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 */\n\n\nfunction injectScripts(script) {\n return document.body.appendChild(script);\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 */\n\n\nfunction createScript(src) {\n var script = document.createElement('script');\n return src && (script.src = src), script;\n}\n/**\n * creates an HTML script element with the monaco loader src\n * @return {Object} - the created HTML script element\n */\n\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\n loaderScript.onload = function () {\n return configureLoader();\n };\n\n loaderScript.onerror = state.reject;\n return loaderScript;\n}\n/**\n * configures the monaco loader\n */\n\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\n require.config(state.config);\n\n require(['vs/editor/editor.main'], function (monaco) {\n storeMonacoInstance(monaco);\n state.resolve(monaco);\n }, function (error) {\n state.reject(error);\n });\n}\n/**\n * store monaco instance in local state\n */\n\n\nfunction storeMonacoInstance(monaco) {\n if (!getState().monaco) {\n setState({\n monaco: monaco\n });\n }\n}\n/**\n * internal helper function\n * extracts stored monaco instance\n * @return {Object|null} - the monaco instance\n */\n\n\nfunction __getMonacoInstance() {\n return getState(function (_ref4) {\n var monaco = _ref4.monaco;\n return monaco;\n });\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 default loader;\n","import _t from\"@monaco-editor/loader\";import{memo as Te}from\"react\";import ke,{useState as re,useRef as S,useCallback as oe,useEffect as ne}from\"react\";import Se from\"@monaco-editor/loader\";import{memo as ye}from\"react\";import K from\"react\";var le={wrapper:{display:\"flex\",position:\"relative\",textAlign:\"initial\"},fullWidth:{width:\"100%\"},hide:{display:\"none\"}},v=le;import me from\"react\";var ae={container:{display:\"flex\",height:\"100%\",width:\"100%\",justifyContent:\"center\",alignItems:\"center\"}},Y=ae;function Me({children:e}){return me.createElement(\"div\",{style:Y.container},e)}var Z=Me;var $=Z;function Ee({width:e,height:r,isEditorReady:n,loading:t,_ref:a,className:m,wrapperProps:E}){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}))}var ee=Ee;var H=ye(ee);import{useEffect as xe}from\"react\";function Ce(e){xe(e,[])}var k=Ce;import{useEffect as ge,useRef as Re}from\"react\";function he(e,r,n=!0){let t=Re(!0);ge(t.current||!n?()=>{t.current=!1}:e,r)}var l=he;function D(){}function h(e,r,n,t){return De(e,t)||be(e,r,n,t)}function De(e,r){return e.editor.getModel(te(e,r))}function be(e,r,n,t){return e.editor.createModel(r,n,t?te(e,t):void 0)}function te(e,r){return e.Uri.parse(r)}function Oe({original:e,modified:r,language:n,originalLanguage:t,modifiedLanguage:a,originalModelPath:m,modifiedModelPath:E,keepCurrentOriginalModel:g=!1,keepCurrentModifiedModel:N=!1,theme:x=\"light\",loading:P=\"Loading...\",options:y={},height:V=\"100%\",width:z=\"100%\",className:F,wrapperProps:j={},beforeMount:A=D,onMount:q=D}){let[M,O]=re(!1),[T,s]=re(!0),u=S(null),c=S(null),w=S(null),d=S(q),o=S(A),b=S(!1);k(()=>{let i=Se.init();return i.then(f=>(c.current=f)&&s(!1)).catch(f=>f?.type!==\"cancelation\"&&console.error(\"Monaco initialization: error:\",f)),()=>u.current?I():i.cancel()}),l(()=>{if(u.current&&c.current){let i=u.current.getOriginalEditor(),f=h(c.current,e||\"\",t||n||\"text\",m||\"\");f!==i.getModel()&&i.setModel(f)}},[m],M),l(()=>{if(u.current&&c.current){let i=u.current.getModifiedEditor(),f=h(c.current,r||\"\",a||n||\"text\",E||\"\");f!==i.getModel()&&i.setModel(f)}},[E],M),l(()=>{let i=u.current.getModifiedEditor();i.getOption(c.current.editor.EditorOption.readOnly)?i.setValue(r||\"\"):r!==i.getValue()&&(i.executeEdits(\"\",[{range:i.getModel().getFullModelRange(),text:r||\"\",forceMoveMarkers:!0}]),i.pushUndoStop())},[r],M),l(()=>{u.current?.getModel()?.original.setValue(e||\"\")},[e],M),l(()=>{let{original:i,modified:f}=u.current.getModel();c.current.editor.setModelLanguage(i,t||n||\"text\"),c.current.editor.setModelLanguage(f,a||n||\"text\")},[n,t,a],M),l(()=>{c.current?.editor.setTheme(x)},[x],M),l(()=>{u.current?.updateOptions(y)},[y],M);let L=oe(()=>{if(!c.current)return;o.current(c.current);let i=h(c.current,e||\"\",t||n||\"text\",m||\"\"),f=h(c.current,r||\"\",a||n||\"text\",E||\"\");u.current?.setModel({original:i,modified:f})},[n,r,a,e,t,m,E]),U=oe(()=>{!b.current&&w.current&&(u.current=c.current.editor.createDiffEditor(w.current,{automaticLayout:!0,...y}),L(),c.current?.editor.setTheme(x),O(!0),b.current=!0)},[y,x,L]);ne(()=>{M&&d.current(u.current,c.current)},[M]),ne(()=>{!T&&!M&&U()},[T,M,U]);function I(){let i=u.current?.getModel();g||i?.original?.dispose(),N||i?.modified?.dispose(),u.current?.dispose()}return ke.createElement(H,{width:z,height:V,isEditorReady:M,loading:P,_ref:w,className:F,wrapperProps:j})}var ie=Oe;var we=Te(ie);import{useState as Ie}from\"react\";import ce from\"@monaco-editor/loader\";function Pe(){let[e,r]=Ie(ce.__getMonacoInstance());return k(()=>{let n;return e||(n=ce.init(),n.then(t=>{r(t)})),()=>n?.cancel()}),e}var Le=Pe;import{memo as ze}from\"react\";import We,{useState as ue,useEffect as W,useRef as C,useCallback as _e}from\"react\";import Ne from\"@monaco-editor/loader\";import{useEffect as Ue,useRef as ve}from\"react\";function He(e){let r=ve();return Ue(()=>{r.current=e},[e]),r.current}var se=He;var _=new Map;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=!0,keepCurrentModel:V=!1,width:z=\"100%\",height:F=\"100%\",className:j,wrapperProps:A={},beforeMount:q=D,onMount:M=D,onChange:O,onValidate:T=D}){let[s,u]=ue(!1),[c,w]=ue(!0),d=C(null),o=C(null),b=C(null),L=C(M),U=C(q),I=C(),i=C(t),f=se(m),Q=C(!1),B=C(!1);k(()=>{let p=Ne.init();return p.then(R=>(d.current=R)&&w(!1)).catch(R=>R?.type!==\"cancelation\"&&console.error(\"Monaco initialization: error:\",R)),()=>o.current?pe():p.cancel()}),l(()=>{let p=h(d.current,e||t||\"\",r||a||\"\",m||n||\"\");p!==o.current?.getModel()&&(y&&_.set(f,o.current?.saveViewState()),o.current?.setModel(p),y&&o.current?.restoreViewState(_.get(m)))},[m],s),l(()=>{o.current?.updateOptions(x)},[x],s),l(()=>{!o.current||t===void 0||(o.current.getOption(d.current.editor.EditorOption.readOnly)?o.current.setValue(t):t!==o.current.getValue()&&(B.current=!0,o.current.executeEdits(\"\",[{range:o.current.getModel().getFullModelRange(),text:t,forceMoveMarkers:!0}]),o.current.pushUndoStop(),B.current=!1))},[t],s),l(()=>{let p=o.current?.getModel();p&&a&&d.current?.editor.setModelLanguage(p,a)},[a],s),l(()=>{g!==void 0&&o.current?.revealLine(g)},[g],s),l(()=>{d.current?.editor.setTheme(E)},[E],s);let X=_e(()=>{if(!(!b.current||!d.current)&&!Q.current){U.current(d.current);let p=m||n,R=h(d.current,t||e||\"\",r||a||\"\",p||\"\");o.current=d.current?.editor.create(b.current,{model:R,automaticLayout:!0,...x},P),y&&o.current.restoreViewState(_.get(p)),d.current.editor.setTheme(E),g!==void 0&&o.current.revealLine(g),u(!0),Q.current=!0}},[e,r,n,t,a,m,x,P,y,E,g]);W(()=>{s&&L.current(o.current,d.current)},[s]),W(()=>{!c&&!s&&X()},[c,s,X]),i.current=t,W(()=>{s&&O&&(I.current?.dispose(),I.current=o.current?.onDidChangeModelContent(p=>{B.current||O(o.current.getValue(),p)}))},[s,O]),W(()=>{if(s){let p=d.current.editor.onDidChangeMarkers(R=>{let G=o.current.getModel()?.uri;if(G&&R.find(J=>J.path===G.path)){let J=d.current.editor.getModelMarkers({resource:G});T?.(J)}});return()=>{p?.dispose()}}return()=>{}},[s,T]);function pe(){I.current?.dispose(),V?y&&_.set(m,o.current.saveViewState()):o.current.getModel()?.dispose(),o.current.dispose()}return We.createElement(H,{width:z,height:F,isEditorReady:s,loading:N,_ref:b,className:j,wrapperProps:A})}var fe=Ve;var de=ze(fe);var Ft=de;export{we as DiffEditor,de as Editor,Ft as default,_t as loader,Le as useMonaco};\n//# sourceMappingURL=index.mjs.map","import * as monaco from 'monaco-editor'\n\nexport const MonacoCommonDefaultOptions: monaco.editor.IStandaloneDiffEditorConstructionOptions = {\n selectOnLineNumbers: true,\n scrollBeyondLastLine: false,\n padding: {\n top: 16,\n bottom: 16\n },\n minimap: { enabled: false },\n fontSize: 14,\n fontFamily: '\"JetBrains Mono\", \"monospace\"',\n lineHeight: 20,\n scrollbar: {\n verticalScrollbarSize: 14,\n horizontalScrollbarSize: 14,\n verticalSliderSize: 6,\n horizontalSliderSize: 6\n },\n overviewRulerBorder: false,\n overviewRulerLanes: 0,\n renderLineHighlight: 'none',\n automaticLayout: true\n}\n","import { RefObject, useEffect, useState } from 'react'\n\nimport * as monaco from 'monaco-editor'\n\nimport { ThemeDefinition } from '../types/themes'\n\nexport type UseTheme = (arg: {\n monacoRef: RefObject<typeof monaco | undefined>\n themeConfig?: {\n rootElementSelector?: string\n defaultTheme?: string\n monacoThemes?: ThemeDefinition[]\n }\n theme?: string\n editor: any\n}) => { theme: string }\n\nexport const useTheme: UseTheme = (props): { theme: string } => {\n const { themeConfig, editor, theme } = props\n const { defaultTheme } = themeConfig ?? {}\n\n const [themeInternal, setThemeInternal] = useState(theme ?? defaultTheme ?? 'vs-dark')\n\n useEffect(() => {\n themeConfig?.monacoThemes?.forEach(themeItem => {\n monaco.editor.defineTheme(themeItem.themeName, themeItem.themeData)\n })\n }, [monaco])\n\n useEffect(() => {\n if (monaco.editor && theme) {\n monaco.editor.setTheme(theme)\n setThemeInternal(theme)\n }\n }, [editor, theme])\n\n return { theme: themeInternal }\n}\n","export function createRandomString(length: number) {\n const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'\n let result = ''\n for (let i = 0; i < length; i++) {\n result += chars.charAt(Math.floor(Math.random() * chars.length))\n }\n return result\n}\n\nexport function escapeSingleQuote(str: string) {\n return str.replace(`'`, `'`)\n}\n\nconst formatRelativeTime = (diffInSeconds: number): string => {\n const rtf = new Intl.RelativeTimeFormat('en', { numeric: 'auto' })\n\n if (diffInSeconds < 60) {\n return rtf.format(-diffInSeconds, 'second')\n }\n\n const diffInMinutes = Math.floor(diffInSeconds / 60)\n if (diffInMinutes < 60) {\n return rtf.format(-diffInMinutes, 'minute')\n }\n\n const diffInHours = Math.floor(diffInMinutes / 60)\n if (diffInHours < 24) {\n return rtf.format(-diffInHours, 'hour')\n }\n\n const diffInDays = Math.floor(diffInHours / 24)\n if (diffInDays < 30) {\n return rtf.format(-diffInDays, 'day')\n }\n\n const diffInMonths = Math.floor(diffInDays / 30)\n if (diffInMonths < 12) {\n return rtf.format(-diffInMonths, 'month')\n }\n\n const diffInYears = Math.floor(diffInMonths / 12)\n return rtf.format(-diffInYears, 'year')\n}\n\n/**\n * Formats ISO format date string to human-readable duration format.\n * For e.g., \"2024-09-10T13:38:55-07:00\" is formatted as \"1 hour ago\".\n * @param timestamp\n * @returns formatted duration string\n */\nexport const timeAgoFromISOTime = (timestamp: string): string => {\n const date = new Date(timestamp)\n const now = new Date()\n\n const diffInSeconds = Math.floor((now.getTime() - date.getTime()) / 1000)\n // Always treat time differences as past events\n const absDiffInSeconds = Math.abs(diffInSeconds)\n return formatRelativeTime(absDiffInSeconds)\n}\n","import { BlameItem } from '../types/blame'\nimport { escapeSingleQuote, timeAgoFromISOTime } from './utils'\n\nexport function getMonacoEditorCss({\n instanceId,\n lineNumbersPosition\n}: {\n instanceId: string\n lineNumbersPosition: 'left' | 'center'\n}) {\n let css = ''\n\n // we move '.margin' element and update left/width of monaco editor\n if (lineNumbersPosition === 'center') {\n css += `\n .monaco-editor-${instanceId} .monaco-scrollable-element.editor-scrollable {\n width: 100% !important;\n left: 0px !important;\n }\n\n .monaco-editor-${instanceId} .view-lines, .view-zones {\n width: 100% !important;\n }\n \n .monaco-editor-${instanceId} .margin {\n z-index: 1000;\n background: transparent !important;\n }`\n }\n\n css += `\n .monaco-editor-${instanceId} .blame-editor-separator {\n right: 14px;\n pointer-events: none;\n }\n\n .monaco-editor-${instanceId} {\n outline: none !important;\n }\n \n .monaco-editor-${instanceId} .view-line .blame-editor-commit {\n display: inline-block;\n color: var(--cn-text-1);\n }`\n\n return css\n}\n\nexport function getMonacoEditorCommitCss({\n instanceId,\n blameData,\n dateWidth,\n avatarSize\n}: {\n instanceId: string\n blameData: BlameItem[]\n dateWidth: number\n avatarSize: number\n}) {\n let css = ''\n blameData.forEach(blameItem => {\n const avatarUrl = blameItem?.commitInfo?.author?.avatarUrl\n const initials = blameItem?.commitInfo?.author?.initials\n\n const avatarBackgroundCss = avatarUrl ? `background: url('${blameItem?.commitInfo?.author?.avatarUrl}');` : ''\n\n for (let lineNo = blameItem.fromLineNumber; lineNo <= blameItem.toLineNumber; lineNo++) {\n if (lineNo === blameItem.fromLineNumber) {\n css += `\n .monaco-editor-${instanceId} .view-line .blame-editor-commit-${lineNo}:before {\n content: '${escapeSingleQuote(timeAgoFromISOTime(blameItem?.commitInfo?.author?.when || ''))}';\n position: absolute;\n left: 10px;\n top: 0px;\n color: var(--cn-text-3);\n }\n\n .monaco-editor-${instanceId} .view-line .blame-editor-commit-${lineNo}:after {\n content: '${initials ?? ' '}';\n position: absolute;\n border-radius: 50%;\n padding: 4px;\n text-align: center;\n background: var(--cn-set-gray-soft-bg);\n line-height: 17px;\n left: ${dateWidth + 10}px;\n top: -4px;\n color: var(--cn-text-3);\n width: ${avatarSize}px;\n height: ${avatarSize}px;\n ${avatarBackgroundCss}\n background-size: 100% 100%;\n }`\n } else {\n css += `\n .monaco-editor-${instanceId} .view-line .blame-editor-commit-${lineNo}:before {\n content: ' ';\n left: 10px;\n top: 0px;\n color: gray;\n }`\n }\n }\n })\n\n return css\n}\n\nexport function createCommitMessage(msg: string, commitMsgLength: number) {\n let ret = ''\n if (msg.length > commitMsgLength) {\n ret = msg.slice(0, commitMsgLength - 3) + '...'\n } else if (msg.length < commitMsgLength) {\n ret = msg + ' '.repeat(commitMsgLength - msg.length)\n } else {\n ret = msg\n }\n\n return ' '.repeat(25) + ret + ' '.repeat(10)\n}\n","import { useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react'\n\nimport Editor, { EditorProps, loader, Monaco, useMonaco } from '@monaco-editor/react'\nimport * as monaco from 'monaco-editor'\n\nimport { MonacoCommonDefaultOptions } from '../constants/monaco-common-default-options'\nimport { useTheme } from '../hooks/useTheme'\nimport { BlameItem } from '../types/blame'\nimport { ThemeDefinition } from '../types/themes'\nimport { createCommitMessage, getMonacoEditorCommitCss, getMonacoEditorCss } from '../utils/blame-editor-utils'\nimport { createRandomString } from '../utils/utils'\n\nloader.config({ monaco })\n\nconst BLAME_MESSAGE_WIDTH = 450\nconst COMMIT_MESSAGE_LENGTH = 30\nconst DATE_WIDTH = 140\nconst AVATAR_SIZE = 24\n\nconst defaultOptions: monaco.editor.IStandaloneEditorConstructionOptions = {\n ...MonacoCommonDefaultOptions,\n readOnly: true,\n matchBrackets: 'never',\n renderValidationDecorations: 'off',\n guides: { indentation: false },\n folding: false,\n stickyScroll: { enabled: false },\n renderWhitespace: 'none',\n renderLineHighlight: 'none'\n}\n\nexport interface BlameEditorProps {\n code: string\n language: string\n themeConfig?: { rootElementSelector?: string; defaultTheme?: string; themes?: ThemeDefinition[] }\n theme?: string\n lineNumbersPosition?: 'left' | 'center'\n blameData: BlameItem[]\n showSeparators?: boolean\n height?: EditorProps['height']\n options?: monaco.editor.IStandaloneEditorConstructionOptions\n className?: string\n}\n\nexport function BlameEditor({\n code,\n language,\n themeConfig,\n lineNumbersPosition = 'left',\n blameData,\n showSeparators = true,\n theme: themeFromProps,\n height = '75vh',\n options,\n className\n}: BlameEditorProps): JSX.Element {\n const blameDataRef = useRef(blameData)\n\n const holderRef = useRef<HTMLDivElement>(null)\n\n const instanceId = useRef(createRandomString(5))\n const monaco = useMonaco()\n const [editor, setEditor] = useState<monaco.editor.IStandaloneCodeEditor | undefined>()\n\n const monacoRef = useRef<typeof monaco | null>(null)\n const editorRef = useRef<monaco.editor.IStandaloneCodeEditor | null>(null)\n\n useEffect(() => {\n blameDataRef.current = blameData\n }, [blameData])\n\n function setupBlameEditor() {\n const editor = editorRef.current\n const monaco = monacoRef.current\n\n if (!editor || !monaco) return\n\n // separators\n if (showSeparators) {\n editor.changeViewZones(function (changeAccessor) {\n // space before first line\n changeAccessor.addZone({\n afterLineNumber: 0,\n heightInPx: 10,\n domNode: document.createElement('div')\n })\n\n blameDataRef.current.forEach((blameItem, index) => {\n if (index !== blameDataRef.current.length - 1) {\n const domNode = document.createElement('div')\n domNode.style.borderTop = '1px solid var(--cn-border-2)'\n domNode.style.marginTop = '9px'\n domNode.className = 'blame-editor-separator'\n\n changeAccessor.addZone({\n afterLineNumber: blameItem.toLineNumber,\n heightInPx: 20,\n domNode: domNode\n })\n }\n })\n })\n }\n\n const decoratorItems: monaco.editor.IModelDeltaDecoration[] = []\n blameDataRef.current.forEach(blameItem => {\n for (let lineNo = blameItem.fromLineNumber; lineNo <= blameItem.toLineNumber; lineNo++) {\n decoratorItems.push({\n range: new monaco.Range(lineNo, 0, lineNo + 1, 0),\n options: {\n before: {\n content: createCommitMessage(\n lineNo === blameItem.fromLineNumber ? blameItem?.commitInfo?.title || '' : '',\n COMMIT_MESSAGE_LENGTH\n ),\n cursorStops: monaco.editor.InjectedTextCursorStops.None,\n inlineClassName: `blame-editor-commit blame-editor-commit-${lineNo}`\n }\n }\n })\n }\n })\n\n // TODO: on unmount clear decorators, on blameData change recreate\n editor.createDecorationsCollection(decoratorItems)\n }\n\n function handleEditorDidMount(editor: monaco.editor.IStandaloneCodeEditor, monaco: Monaco) {\n editorRef.current = editor\n monacoRef.current = monaco\n\n editor.setValue(code)\n setEditor(editor)\n\n monaco.languages.typescript?.typescriptDefaults?.setDiagnosticsOptions?.({\n noSuggestionDiagnostics: true,\n noSyntaxValidation: true,\n noSemanticValidation: true\n })\n monaco.languages.typescript?.javascriptDefaults?.setDiagnosticsOptions?.({\n noSuggestionDiagnostics: true,\n noSyntaxValidation: true,\n noSemanticValidation: true\n })\n\n setupBlameEditor()\n }\n\n useEffect(() => {\n editor?.setValue(code)\n }, [code])\n\n const { theme } = useTheme({ monacoRef, themeConfig, editor, theme: themeFromProps })\n\n const monacoEditorCss = useMemo(\n () =>\n getMonacoEditorCss({\n instanceId: instanceId.current,\n lineNumbersPosition\n }),\n [blameData]\n )\n\n const monacoEditorCommitInfoCss = useMemo(\n () =>\n getMonacoEditorCommitCss({\n instanceId: instanceId.current,\n blameData,\n avatarSize: AVATAR_SIZE,\n dateWidth: DATE_WIDTH\n }),\n [blameData]\n )\n\n // prevent line numbers to appear initially at the wrong position\n useLayoutEffect(() => {\n if (holderRef.current) holderRef.current.style.setProperty('--line-number-display', `none`)\n }, [])\n\n // set adjustment for lines numbers position\n useEffect(() => {\n if (lineNumbersPosition === 'center' && holderRef.current) {\n const scrollableEl = holderRef.current.getElementsByClassName('lines-content')[0]\n\n if (scrollableEl) {\n const config = { attributes: true }\n\n const callback = () => {\n const left = parseInt(getComputedStyle(scrollableEl).left)\n if (holderRef.current) {\n holderRef.current.style.setProperty('--line-number-offset', `${BLAME_MESSAGE_WIDTH + 16 + left}px`)\n holderRef.current.style.setProperty('--line-number-display', `block`)\n }\n }\n\n const observer = new MutationObserver(callback)\n observer.observe(scrollableEl, config)\n\n callback()\n\n return () => {\n observer.disconnect()\n }\n }\n }\n })\n\n // adjust lines numbers position\n const lineNumbersCss = useMemo(() => {\n return `\n .monaco-editor-${instanceId.current} .margin {\n display: var(--line-number-display);\n left: var(--line-number-offset);\n pointer-events: none;\n }`\n }, [])\n\n const clipSelection = useMemo(() => {\n return `.monaco-editor-${instanceId.current} .view-overlays {\n clip-path: polygon(${BLAME_MESSAGE_WIDTH + 16}px 0, 100% 0%, 100% 100%, ${BLAME_MESSAGE_WIDTH + 16}px 100%);\n height:100% !important;\n }`\n }, [])\n\n const mergedOptions = useMemo(\n () => ({\n ...defaultOptions,\n ...options\n }),\n [options]\n )\n\n const styleEl = useMemo(() => {\n return (\n <style\n dangerouslySetInnerHTML={{\n __html: `${monacoEditorCss} ${monacoEditorCommitInfoCss} ${lineNumbersCss} ${clipSelection}`\n }}\n />\n )\n }, [monacoEditorCss, monacoEditorCommitInfoCss, clipSelection, lineNumbersCss])\n\n return (\n <div className={className} ref={holderRef}>\n {styleEl}\n <Editor\n className={`monaco-editor-${instanceId.current} overflow-hidden rounded-b-md border-x border-b`}\n height={height}\n language={language}\n theme={theme}\n options={mergedOptions}\n onMount={handleEditorDidMount}\n />\n </div>\n )\n}\n","import { useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport Editor, { EditorProps, loader, Monaco, useMonaco } from '@monaco-editor/react'\nimport * as monaco from 'monaco-editor'\n\nimport { MonacoCommonDefaultOptions } from '../constants/monaco-common-default-options'\nimport { useTheme } from '../hooks/useTheme'\nimport { ThemeDefinition } from '../types/themes'\n\nloader.config({ monaco })\n\nexport interface CodeRevision {\n code: string\n revisionId?: number\n}\n\nconst defaultOptions: monaco.editor.IStandaloneEditorConstructionOptions = {\n ...MonacoCommonDefaultOptions\n}\n\nexport interface CodeEditorProps<_> {\n codeRevision: CodeRevision\n onCodeRevisionChange: (codeRevision: CodeRevision | undefined, ev: monaco.editor.IModelContentChangedEvent) => void\n language: string\n themeConfig?: { rootElementSelector?: string; defaultTheme?: string; themes?: ThemeDefinition[] }\n theme?: string\n options?: monaco.editor.IStandaloneEditorConstructionOptions\n height?: EditorProps['height']\n className?: string\n}\n\nexport function CodeEditor<T>({\n codeRevision,\n onCodeRevisionChange,\n language,\n themeConfig,\n options,\n theme: themeFromProps,\n height = '75vh',\n className\n}: CodeEditorProps<T>): JSX.Element {\n const monaco = useMonaco()\n const [editor, setEditor] = useState<monaco.editor.IStandaloneCodeEditor | undefined>()\n const monacoRef = useRef<typeof monaco>()\n const currentRevisionRef = useRef<CodeRevision>({ code: '', revisionId: 0 })\n const editorRef = useRef<monaco.editor.IStandaloneCodeEditor | null>(null)\n\n const handleEditorDidMount = useCallback(\n (editorVal: monaco.editor.IStandaloneCodeEditor, monaco: Monaco) => {\n editorRef.current = editorVal\n monacoRef.current = monaco\n\n editorVal.setValue(codeRevision.code)\n\n setEditor(editorVal)\n\n monaco.languages.typescript?.typescriptDefaults?.setDiagnosticsOptions?.({\n noSuggestionDiagnostics: true,\n noSyntaxValidation: true,\n noSemanticValidation: true\n })\n monaco.languages.typescript?.javascriptDefaults?.setDiagnosticsOptions?.({\n noSuggestionDiagnostics: true,\n noSyntaxValidation: true,\n noSemanticValidation: true\n })\n },\n [codeRevision.code]\n )\n\n useEffect(() => {\n if (!editorRef.current) return\n\n if (!codeRevision.revisionId || codeRevision.revisionId > Number(currentRevisionRef.current?.revisionId)) {\n const model = editorRef.current.getModel()\n\n if (model) {\n // NOTE: if it's a readonly no need to create undo stop points\n if (options?.readOnly) {\n editorRef.current?.setValue(codeRevision.code)\n } else {\n editorRef.current.pushUndoStop()\n editorRef.current.executeEdits('edit', [\n {\n range: model.getFullModelRange(),\n text: codeRevision.code\n }\n ])\n editorRef.current.pushUndoStop()\n }\n }\n }\n }, [codeRevision, editorRef.current])\n\n const { theme } = useTheme({ monacoRef, themeConfig, editor, theme: themeFromProps })\n\n const mergedOptions = useMemo(() => {\n return { ...defaultOptions, ...(options ? options : {}) }\n }, [options])\n\n return (\n <>\n <Editor\n className={className}\n height={height}\n onChange={(value, data) => {\n currentRevisionRef.current = { code: value ?? '', revisionId: data.versionId }\n onCodeRevisionChange({ ...currentRevisionRef.current }, data)\n }}\n language={language}\n theme={theme}\n options={mergedOptions}\n onMount={handleEditorDidMount}\n />\n </>\n )\n}\n","import { useMemo, useRef, useState } from 'react'\n\nimport { DiffEditor, EditorProps, loader, MonacoDiffEditor, useMonaco } from '@monaco-editor/react'\nimport * as monaco from 'monaco-editor'\n\nimport { MonacoCommonDefaultOptions } from '../constants/monaco-common-default-options'\nimport { useTheme } from '../hooks/useTheme'\nimport { ThemeDefinition } from '../types/themes'\n\nloader.config({ monaco })\n\nexport interface CodeRevision {\n code: string\n revisionId?: number\n}\n\nconst defaultOptions: monaco.editor.IStandaloneDiffEditorConstructionOptions = {\n ...MonacoCommonDefaultOptions,\n codeLens: false,\n smartSelect: {\n selectLeadingAndTrailingWhitespace: true\n },\n originalEditable: false,\n overviewRulerBorder: false\n}\n\nexport interface DiffEditorProps<_> {\n original: string\n modified: string\n language: string\n themeConfig?: { rootElementSelector?: string; defaultTheme?: string; themes?: ThemeDefinition[] }\n theme?: string\n options?: monaco.editor.IStandaloneEditorConstructionOptions\n height?: EditorProps['height']\n}\n\nexport function CodeDiffEditor<T>({\n original,\n modified,\n language,\n themeConfig,\n options,\n theme: themeFromProps,\n height = '75vh'\n}: DiffEditorProps<T>): JSX.Element {\n const monaco = useMonaco()\n const [editor, setEditor] = useState<MonacoDiffEditor | undefined>()\n\n const monacoRef = useRef<typeof monaco>()\n\n const { theme } = useTheme({ monacoRef, themeConfig, editor, theme: themeFromProps })\n\n const mergedOptions = useMemo(() => {\n return { ...defaultOptions, ...(options ? options : {}) }\n }, [options])\n\n return (\n <>\n <DiffEditor\n className=\"overflow-hidden rounded-b-md border-x border-b\"\n language={language}\n theme={theme}\n original={original}\n modified={modified}\n height={height}\n options={mergedOptions}\n onMount={setEditor}\n />\n </>\n )\n}\n","export enum SelectorType {\n //AbsolutePath = 'AbsolutePath',\n ContainsPath = 'ContainsPath'\n}\n\nexport interface ContainsPathSelector {\n type: SelectorType.ContainsPath\n /** Path have to starts with `basePath`*/\n basePath: string\n /** Path have to contains one of provided path. Base path is not included in match.*/\n paths: RegExp[]\n}\n\n// export interface AbsolutePathSelector {\n// type: SelectorType.AbsolutePath\n// /** Path have to be equal with `absolutePaths`*/\n// absolutePaths: string[]\n// }\n\nexport type PathSelector = ContainsPathSelector // | AbsolutePathSelector\n","import * as monaco from 'monaco-editor'\n\nimport { InlineAction } from '../types/inline-actions'\nimport { PathSelector, SelectorType } from '../types/selectors'\n\nexport interface CommandArg<T> extends Pick<InlineAction<T>, 'onClick' | 'data'> {\n range: monaco.IRange\n symbols: monaco.languages.DocumentSymbol[]\n path: string\n}\n\nexport interface GetCodeLensProps<T> {\n pathSymbolMap: Map<string, monaco.languages.DocumentSymbol>\n inlineActions?: { selectors: PathSelector[]; actions: InlineAction<T>[] }[]\n commandId: string | any // TODO\n}\n\nexport function getCodeLens<T>(props: GetCodeLensProps<T>) {\n const { pathSymbolMap, inlineActions = [], commandId } = props\n\n const pathSymbolMapObj = Object.fromEntries(pathSymbolMap.entries())\n\n const lenses: monaco.languages.CodeLens[] = []\n\n inlineActions?.forEach(inlineAction => {\n const actions = inlineAction.actions\n const selectors = inlineAction.selectors\n\n selectors.forEach(selector => {\n switch (selector.type) {\n case SelectorType.ContainsPath: {\n selector.paths.forEach(partRegexp => {\n const pathSymbolArr = Object.keys(pathSymbolMapObj).map(path => ({\n fullPath: path,\n path,\n symbol: pathSymbolMapObj[path]\n }))\n\n //console.log(pathSymbolArr)\n\n let candidateRelativePaths = pathSymbolArr.filter(pathSymbol => {\n return pathSymbol.path.startsWith(selector.basePath)\n })\n\n candidateRelativePaths = candidateRelativePaths.map(pathSymbol => ({\n ...pathSymbol,\n path: pathSymbol.path.substring(selector.basePath.length)\n }))\n\n //console.log(candidateRelativePaths)\n\n const finalPaths = candidateRelativePaths.filter(pathSymbol => {\n return partRegexp.test(pathSymbol.path)\n })\n\n //console.log(finalPaths, 'finalPaths')\n\n finalPaths.forEach(pathSymbol => {\n const path = pathSymbol.fullPath\n const symbol = pathSymbol.symbol\n const range = symbol.range\n\n actions.forEach(action => {\n const commandArg = {\n range,\n symbols: [symbol],\n onClick: action.onClick,\n data: action.data,\n path: path\n }\n\n lenses.push({\n range,\n command: {\n id: commandId,\n title: action.title,\n arguments: [commandArg]\n }\n })\n })\n })\n })\n break\n }\n }\n })\n })\n\n return lenses\n}\n","import { ILanguageFeaturesService } from 'monaco-editor/esm/vs/editor/common/services/languageFeatures.js'\nimport { OutlineModel } from 'monaco-editor/esm/vs/editor/contrib/documentSymbols/browser/outlineModel.js'\nimport { StandaloneServices } from 'monaco-editor/esm/vs/editor/standalone/browser/standaloneServices.js'\n\nexport interface MonacoGlobalsData {\n ILanguageFeaturesService: typeof ILanguageFeaturesService\n OutlineModel: typeof OutlineModel\n StandaloneServices: typeof StandaloneServices\n}\n\nexport class MonacoGlobals {\n static data: MonacoGlobalsData = {} as MonacoGlobalsData\n\n static set(data: MonacoGlobalsData) {\n MonacoGlobals.data = data\n }\n\n static get(): MonacoGlobalsData {\n return MonacoGlobals.data\n }\n}\n","import { editor, languages } from 'monaco-editor'\n\nimport { OutlineModelValueInternal, RootOutlineModelInternal } from '../types/monaco'\nimport { MonacoGlobals } from './monaco-globals'\n\nexport async function getOutlineModel(model: editor.ITextModel): Promise<RootOutlineModelInternal> {\n const monacoGlobals = MonacoGlobals.get()\n const { documentSymbolProvider } = monacoGlobals.StandaloneServices.get(monacoGlobals.ILanguageFeaturesService)\n const outlineModel = await monacoGlobals.OutlineModel.create(documentSymbolProvider, model)\n return outlineModel as unknown as RootOutlineModelInternal\n}\n\nexport function processOutlineModel(outlineModel: RootOutlineModelInternal) {\n const pathSymbolMap: Map<string, languages.DocumentSymbol> = new Map()\n\n processChildrenRec({\n pathSymbolMap,\n parentPath: '',\n children: outlineModel.children,\n parentKind: languages.SymbolKind.Module\n })\n\n return pathSymbolMap\n}\n\nfunction processChildrenRec(props: {\n pathSymbolMap: Map<string, languages.DocumentSymbol>\n parentPath: string\n children: Map<string, OutlineModelValueInternal>\n parentKind: languages.SymbolKind\n}) {\n switch (props.parentKind) {\n case languages.SymbolKind.Module: {\n processObject(props)\n break\n }\n case languages.SymbolKind.Array: {\n processArray(props)\n break\n }\n default: {\n processPrimitive(props)\n }\n }\n}\n\nfunction processObject(props: {\n pathSymbolMap: Map<string, languages.DocumentSymbol>\n parentPath: string\n children: Map<string, OutlineModelValueInternal>\n parentKind: languages.SymbolKind\n}) {\n props.children.forEach(child => {\n let childPath = props.parentPath\n\n if (child.symbol) {\n childPath = props.parentPath ? `${props.parentPath}.${child.symbol.name}` : child.symbol.name\n\n props.pathSymbolMap.set(childPath, child.symbol)\n }\n\n processChildrenRec({\n pathSymbolMap: props.pathSymbolMap,\n parentPath: childPath,\n children: child.children,\n parentKind: child?.symbol?.kind ?? props.parentKind\n })\n })\n}\n\nfunction processArray(props: {\n pathSymbolMap: Map<string, languages.DocumentSymbol>\n parentPath: string\n children: Map<string, OutlineModelValueInternal>\n parentKind: languages.SymbolKind\n}) {\n let idx = 0\n props.children.forEach(child => {\n const childPath = props.parentPath ? `${props.parentPath}.${idx}` : `${idx}`\n\n props.pathSymbolMap.set(childPath, child.symbol)\n\n idx += 1\n\n processChildrenRec({\n pathSymbolMap: props.pathSymbolMap,\n parentPath: childPath,\n children: child.children,\n parentKind: child.symbol.kind\n })\n })\n}\n\nfunction processPrimitive(props: {\n pathSymbolMap: Map<string, languages.DocumentSymbol>\n parentPath: string\n children: Map<string, OutlineModelValueInternal>\n parentKind: languages.SymbolKind\n}) {\n const child = props.children.get('0')\n\n if (child) {\n const childPath = props.parentPath ? `${props.parentPath}.${child.symbol.name}` : child?.symbol.name\n\n props.pathSymbolMap.set(childPath, child.symbol)\n }\n}\n","import { RefObject, useEffect } from 'react'\n\nimport * as monaco from 'monaco-editor'\n\nimport { InlineAction } from '../types/inline-actions'\nimport { PathSelector } from '../types/selectors'\nimport { getCodeLens } from '../utils/codelens-utils'\nimport { getOutlineModel, processOutlineModel } from '../utils/outline-model-to-path'\n\nexport function useCodeLenses<T>({\n editorRef,\n inlineActions\n}: {\n editorRef: RefObject<monaco.editor.IStandaloneCodeEditor | undefined | null>\n inlineActions?: { selectors: PathSelector[]; actions: InlineAction<T>[] }[]\n}): void {\n useEffect(() => {\n const disposable = monaco.languages.registerCodeLensProvider('yaml', {\n provideCodeLenses: async model => {\n const outlineModel = await getOutlineModel(model)\n const pathSymbolMap = processOutlineModel(outlineModel)\n\n const commandId = editorRef?.current?.addCommand(0, (_, { onClick, path, range, data }) => {\n onClick({ path, range, data })\n })\n\n if (!commandId) return\n\n const lenses = getCodeLens({ pathSymbolMap, inlineActions, commandId })\n\n return {\n lenses,\n dispose: () => undefined\n }\n }\n })\n\n return disposable.dispose\n }, [inlineActions, editorRef])\n}\n","import { RefObject, useEffect, useMemo, useState } from 'react'\n\nimport * as monaco from 'monaco-editor'\n\nimport { getOutlineModel, processOutlineModel } from '../utils/outline-model-to-path'\n\ntype UseDecoration = (arg: {\n editorRef?: RefObject<monaco.editor.IStandaloneCodeEditor>\n selection?: {\n path: string\n className: string\n revealInCenter?: boolean\n }\n}) => void\n\nexport const useDecoration: UseDecoration = ({ editorRef, selection }) => {\n const [range, setRange] = useState<monaco.IRange>()\n\n const computeRange = useMemo(\n () =>\n async (_editorRef?: RefObject<monaco.editor.IStandaloneCodeEditor>, path?: string, revealInCenter?: boolean) => {\n const model = editorRef?.current?.getModel()\n\n if (!model || !path) {\n return setRange(undefined)\n }\n\n const outlineModel = await getOutlineModel(model)\n const pathSymbolMap = processOutlineModel(outlineModel)\n const range = pathSymbolMap.get(path)?.range\n\n if (range) {\n setRange(range)\n\n if (revealInCenter) {\n editorRef?.current?.revealLineInCenter(range.startLineNumber)\n }\n }\n },\n []\n )\n\n useEffect(() => {\n if ('requestIdleCallback' in window) {\n const handle = requestIdleCallback(() => {\n computeRange(editorRef, selection?.path, selection?.revealInCenter)\n })\n return () => cancelIdleCallback(handle)\n }\n // fallback for safari\n else {\n const handle = setTimeout(() => {\n computeRange(editorRef, selection?.path, selection?.revealInCenter)\n }, 100)\n return () => clearTimeout(handle)\n }\n }, [selection?.path, selection?.revealInCenter, editorRef, computeRange])\n\n useEffect(() => {\n if (!range) return\n\n const decorations = editorRef?.current?.createDecorationsCollection([\n {\n // TODO: check why startColumn is set to \"end of row\"\n range: { ...range, startColumn: 1 },\n options: {\n isWholeLine: false,\n className: selection?.className\n }\n }\n ])\n\n return () => decorations?.clear()\n }, [range, editorRef, selection?.className])\n}\n","import { createContext, useCallback, useContext, useState } from 'react'\n\nimport type { editor } from 'monaco-editor'\n\nexport interface YamlEditorContextInterface {\n markers: editor.IMarker[]\n setMarkers: (markets: editor.IMarker[]) => void\n editor: editor.IStandaloneCodeEditor | null\n setEditor: (monacoEditor: editor.IStandaloneCodeEditor) => void\n updateCursorPosition: (position: { column: number; lineNumber: number }) => void\n}\n\nexport const YamlEditorContext = createContext<YamlEditorContextInterface>({\n markers: [],\n setMarkers: () => undefined,\n editor: null,\n setEditor: (_monacoEditor: editor.IStandaloneCodeEditor) => undefined,\n updateCursorPosition: (_position: { column: number; lineNumber: number }) => undefined\n})\n\nexport function YamlEditorContextProvider({\n children\n}: React.PropsWithChildren<React.HTMLAttributes<HTMLElement>>): React.ReactElement {\n const [markers, setMarkers] = useState<editor.IMarker[]>([])\n const [monacoEditor, setMonacoEditor] = useState<editor.IStandaloneCodeEditor | null>(null)\n\n const updateCursorPosition = useCallback(\n (position: { column: number; lineNumber: number }) => {\n monacoEditor?.setPosition(position)\n monacoEditor?.revealLineInCenterIfOutsideViewport(position.lineNumber)\n monacoEditor?.focus()\n },\n [monacoEditor]\n )\n\n return (\n <YamlEditorContext.Provider\n value={{\n markers,\n setMarkers,\n editor: monacoEditor,\n setEditor: setMonacoEditor,\n updateCursorPosition\n }}\n >\n {children}\n </YamlEditorContext.Provider>\n )\n}\n\nexport function useYamlEditorContext(): YamlEditorContextInterface {\n return useContext(YamlEditorContext)\n}\n","import { RefObject, useEffect } from 'react'\n\nimport * as monaco from 'monaco-editor'\n\nimport { useYamlEditorContext } from '../components/YamlProvider'\n\nexport type UseProblems = (arg: {\n instanceId?: string\n monacoRef: RefObject<typeof monaco | undefined>\n editorRef: RefObject<monaco.editor.IStandaloneCodeEditor | null | undefined>\n}) => void\n\nexport const useProblems: UseProblems = ({ monacoRef, editorRef, instanceId }): void => {\n const { setMarkers } = useYamlEditorContext()\n\n useEffect(() => {\n let handle: monaco.IDisposable\n\n const timeoutHandle = setTimeout(() => {\n const editor = monacoRef.current?.editor\n\n if (!editor) return\n\n // NOTE: Handler editor.onDidChangeMarkers triggers on any schema validation. Its a global event for all YamlEditor instances.\n handle = editor.onDidChangeMarkers(uris => {\n const model = editorRef.current?.getModel()\n if (!model) return\n\n const modelUri = model.uri.toString()\n\n if (uris.some(uri => uri.toString() === modelUri)) {\n // Marker change occurred for this editor's model\n const markers = monaco.editor.getModelMarkers({ resource: model.uri })\n setMarkers(markers)\n }\n })\n }, 100)\n\n return () => {\n clearTimeout(timeoutHandle)\n handle?.dispose()\n }\n }, [monacoRef, instanceId, setMarkers])\n}\n","import { Uri } from 'monaco-editor'\nimport { SchemasSettings, yamlDefaults } from 'monaco-yaml'\n\nexport function addUpdateSchema(schemaConfig: { fileMatch: string[]; schema: any; uri: string }) {\n const schemas = yamlDefaults?.diagnosticsOptions?.schemas ?? []\n\n const exitingSchemaIndex = schemas.findIndex(schema => schema.fileMatch[0] === schemaConfig.fileMatch[0])\n\n if (exitingSchemaIndex !== -1) {\n schemas[exitingSchemaIndex] = schemaConfig\n } else {\n schemas.push(schemaConfig)\n }\n\n setDiagnostics(schemas)\n}\n\nexport function removeSchema(schemaId: string) {\n const existingSchemas = yamlDefaults?.diagnosticsOptions?.schemas ?? []\n\n const schemas = existingSchemas.filter(schemaItem => {\n return schemaItem.fileMatch[0] !== schemaIdToUrl(schemaId)\n })\n\n setDiagnostics(schemas)\n}\n\nfunction setDiagnostics(schemas: SchemasSettings[]) {\n const config = {\n hover: true,\n completion: true,\n enableSchemaRequest: false,\n validate: true,\n schemas\n }\n\n // NOTE: this is for monaco-editor@0.50.0 version\n // return configureMonacoYaml(monaco, config)\n\n yamlDefaults.setDiagnosticsOptions({ ...config })\n}\n\nexport const schemaIdToUrl = (id: string): string => {\n return Uri.parse(`file://${id}`).toString()\n}\n\nexport const schemaIdToUri = (id: string): Uri => {\n return Uri.parse(schemaIdToUrl(id))\n}\n","import { useEffect } from 'react'\n\nimport { addUpdateSchema, removeSchema, schemaIdToUrl } from '../utils/schema-utils'\n\nexport type UseSchema = (arg: { schemaConfig?: { schema: any; uri: string }; instanceId: string }) => void\n\nexport const useSchema: UseSchema = (props): void => {\n const { schemaConfig, instanceId } = props\n\n useEffect(() => {\n if (schemaConfig?.schema) {\n addUpdateSchema({\n fileMatch: [schemaIdToUrl(instanceId.toString())],\n ...schemaConfig\n })\n\n return () => {\n removeSchema(instanceId)\n }\n }\n }, [schemaConfig?.schema, instanceId])\n}\n","import { useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport Editor, { loader, Monaco, useMonaco } from '@monaco-editor/react'\nimport * as monaco from 'monaco-editor'\n\nimport { MonacoCommonDefaultOptions } from '../constants/monaco-common-default-options'\nimport { useCodeLenses } from '../hooks/useCodeLens'\nimport { useDecoration } from '../hooks/useDecoration'\nimport { useProblems } from '../hooks/useProblems'\nimport { useSchema } from '../hooks/useSchema'\nimport { useTheme } from '../hooks/useTheme'\nimport { InlineAction } from '../types/inline-actions'\nimport { PathSelector } from '../types/selectors'\nimport { ThemeDefinition } from '../types/themes'\nimport { schemaIdToUrl } from '../utils/schema-utils'\nimport { useYamlEditorContext } from './YamlProvider'\n\nloader.config({ monaco })\n\nexport interface YamlRevision {\n yaml: string\n revisionId?: number\n}\n\nconst options: monaco.editor.IStandaloneEditorConstructionOptions = {\n ...MonacoCommonDefaultOptions,\n folding: true\n}\n\nexport interface YamlEditorProps<T> {\n yamlRevision: YamlRevision\n onYamlRevisionChange: (yamlRevision: YamlRevision | undefined, ev: monaco.editor.IModelContentChangedEvent) => void\n schemaConfig?: { schema: any; uri: string }\n inlineActions?: { selectors: PathSelector[]; actions: InlineAction<T>[] }[]\n themeConfig?: { rootElementSelector?: string; defaultTheme?: string; themes?: ThemeDefinition[] }\n theme?: string\n options?: monaco.editor.IStandaloneEditorConstructionOptions\n selection?: {\n path: string\n className: string\n revealInCenter?: boolean\n }\n animateOnUpdate?: boolean\n onAnimateEnd?: () => void\n instanceId?: string\n}\n\nexport const YamlEditor = function YamlEditor<T>(props: YamlEditorProps<T>): JSX.Element {\n const {\n yamlRevision,\n schemaConfig,\n inlineActions,\n themeConfig,\n onYamlRevisionChange,\n selection,\n theme: themeFromProps,\n options: userOptions,\n animateOnUpdate = false,\n onAnimateEnd,\n instanceId: instanceIdFromProps\n } = props\n const monaco = useMonaco()\n const [instanceId] = useState(instanceIdFromProps ?? `yaml-editor-${Math.random()}`)\n\n const { editor, setEditor } = useYamlEditorContext()\n\n const rootDivRef = useRef<HTMLDivElement | null>(null)\n\n const monacoRef = useRef<typeof monaco>()\n const currentRevisionRef = useRef<YamlRevision>({ yaml: '', revisionId: 0 })\n\n const editorRef = useRef<monaco.editor.IStandaloneCodeEditor | null>(null)\n const intervalIdRef = useRef<number | null>(null)\n\n const replaceYamlWithAnimation = useCallback(\n (yaml: string) => {\n const lines = yaml.split('\\n')\n const model = editorRef.current?.getModel()\n if (model) {\n editorRef.current?.pushUndoStop()\n model.setValue('')\n let index = 0\n intervalIdRef.current = window.setInterval(() => {\n if (index < lines.length) {\n if (monaco) {\n editorRef.current?.executeEdits('addLine', [\n {\n range: new monaco.Range(index + 1, 1, index + 1, 1),\n text: lines[index] + '\\n'\n }\n ])\n }\n index++\n } else {\n if (intervalIdRef.current) {\n clearInterval(intervalIdRef.current)\n onAnimateEnd?.()\n }\n }\n }, 100) // 100ms delay between each line\n editorRef.current?.pushUndoStop()\n }\n },\n [monaco]\n )\n\n useEffect(() => {\n return () => {\n if (intervalIdRef.current) {\n clearInterval(intervalIdRef.current)\n }\n }\n }, [])\n\n function handleEditorDidMount(editor: monaco.editor.IStandaloneCodeEditor, monaco: Monaco) {\n editorRef.current = editor\n monacoRef.current = monaco\n\n editor.setValue(yamlRevision.yaml)\n\n setEditor(editor)\n\n // NOTE: to prevent initial flickering (left line) we use opacity to show editor with delay\n setTimeout(() => {\n if (rootDivRef.current?.style) {\n rootDivRef.current.style.opacity = '1'\n }\n }, 50)\n }\n\n useEffect(() => {\n if (editorRef.current) {\n if (!yamlRevision.revisionId || yamlRevision.revisionId > Number(currentRevisionRef.current?.revisionId)) {\n // editorRef.current?.setValue(yamlRevision.yaml)\n\n const model = editorRef.current.getModel()\n if (model) {\n // editorRef.current.pushUndoStop()\n editorRef.current.executeEdits('edit', [\n {\n range: model.getFullModelRange(),\n text: animateOnUpdate ? '' : yamlRevision.yaml\n }\n ])\n // editorRef.current.pushUndoStop()\n if (animateOnUpdate) {\n replaceYamlWithAnimation(yamlRevision.yaml)\n }\n }\n }\n }\n }, [replaceYamlWithAnimation, yamlRevision, animateOnUpdate])\n\n useSchema({ schemaConfig, instanceId })\n\n useCodeLenses({ editorRef, inlineActions })\n\n const { theme } = useTheme({ monacoRef, themeConfig, editor, theme: themeFromProps })\n\n useProblems({ monacoRef, editorRef, instanceId })\n\n useDecoration({ editorRef, selection })\n\n const path = useMemo(() => schemaIdToUrl(instanceId), [])\n\n const mergedOptions = useMemo(\n () => ({\n ...options,\n ...userOptions\n }),\n [userOptions]\n )\n\n return (\n <div style={{ width: '100%', height: '100%', opacity: 0 }} ref={rootDivRef}>\n <Editor\n onChange={(value, data) => {\n currentRevisionRef.current = { yaml: value ?? '', revisionId: data.versionId }\n onYamlRevisionChange({ ...currentRevisionRef.current }, data)\n }}\n language=\"yaml\"\n theme={theme}\n options={mergedOptions}\n path={path}\n onMount={handleEditorDidMount}\n />\n </div>\n )\n}\n"],"names":["getOwnPropertySymbols","hasOwnProperty","propIsEnumerable","toObject","val","shouldUseNative","test1","test2","i","order2","n","test3","letter","f","require$$1","g","reactJsxRuntime_production_min","h","m","p","q","c","a","k","b","d","e","l","jsxRuntimeModule","require$$0","_defineProperty","obj","key","value","ownKeys","object","enumerableOnly","keys","symbols","sym","_objectSpread2","target","source","_objectWithoutPropertiesLoose","excluded","sourceKeys","_objectWithoutProperties","sourceSymbolKeys","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_arr","_n","_d","_e","_i","_s","err","o","minLen","_arrayLikeToArray","len","arr2","compose","_len","fns","_key","x","y","curry","fn","curried","_this","_len2","args","_key2","_len3","nextArgs","_key3","isObject","isEmpty","isFunction","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","_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","error","__getMonacoInstance","_ref4","loader","le","v","ae","Y","Me","me","Z","$","Ee","r","t","E","K","ee","H","ye","Ce","xe","he","Re","ge","D","De","be","te","Oe","N","P","V","z","F","j","A","M","O","re","T","s","u","S","w","Se","I","_b","_a","L","oe","U","ne","_c","ke","ie","we","Te","Pe","Ie","ce","Le","He","ve","Ue","se","_","Ve","ue","C","Q","B","Ne","R","pe","X","W","G","J","We","fe","de","ze","Ft","MonacoCommonDefaultOptions","useTheme","props","themeConfig","editor","theme","defaultTheme","themeInternal","setThemeInternal","useState","useEffect","themeItem","createRandomString","length","chars","result","escapeSingleQuote","str","formatRelativeTime","diffInSeconds","rtf","diffInMinutes","diffInHours","diffInDays","diffInMonths","diffInYears","timeAgoFromISOTime","timestamp","date","absDiffInSeconds","getMonacoEditorCss","instanceId","lineNumbersPosition","css","getMonacoEditorCommitCss","blameData","dateWidth","avatarSize","blameItem","avatarUrl","initials","avatarBackgroundCss","_f","lineNo","_h","_g","createCommitMessage","msg","commitMsgLength","ret","BLAME_MESSAGE_WIDTH","COMMIT_MESSAGE_LENGTH","DATE_WIDTH","AVATAR_SIZE","defaultOptions","BlameEditor","code","language","showSeparators","themeFromProps","height","options","className","blameDataRef","useRef","holderRef","useMonaco","setEditor","monacoRef","editorRef","setupBlameEditor","changeAccessor","domNode","decoratorItems","handleEditorDidMount","monacoEditorCss","useMemo","monacoEditorCommitInfoCss","useLayoutEffect","scrollableEl","callback","left","observer","lineNumbersCss","clipSelection","mergedOptions","styleEl","jsx","jsxs","Editor","CodeEditor","codeRevision","onCodeRevisionChange","currentRevisionRef","useCallback","editorVal","model","Fragment","data","CodeDiffEditor","original","modified","DiffEditor","SelectorType","getCodeLens","pathSymbolMap","inlineActions","commandId","pathSymbolMapObj","lenses","inlineAction","actions","partRegexp","candidateRelativePaths","path","pathSymbol","symbol","range","action","commandArg","_MonacoGlobals","__publicField","MonacoGlobals","getOutlineModel","monacoGlobals","documentSymbolProvider","processOutlineModel","outlineModel","processChildrenRec","languages","processObject","processArray","processPrimitive","child","childPath","idx","useCodeLenses","onClick","useDecoration","selection","setRange","computeRange","_editorRef","revealInCenter","handle","decorations","YamlEditorContext","createContext","_monacoEditor","_position","YamlEditorContextProvider","children","markers","setMarkers","monacoEditor","setMonacoEditor","updateCursorPosition","position","useYamlEditorContext","useContext","useProblems","timeoutHandle","uris","modelUri","uri","addUpdateSchema","schemaConfig","schemas","yamlDefaults","exitingSchemaIndex","schema","setDiagnostics","removeSchema","schemaId","schemaItem","schemaIdToUrl","id","Uri","useSchema","YamlEditor","yamlRevision","onYamlRevisionChange","userOptions","animateOnUpdate","onAnimateEnd","instanceIdFromProps","rootDivRef","intervalIdRef","replaceYamlWithAnimation","yaml","lines"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13]}
|