@veltra/desktop 1.2.16 → 1.2.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/dist/components/action/action-group.vue.d.ts +2 -2
  2. package/dist/components/action/action.vue.d.ts +1 -1
  3. package/dist/components/auto-complete/auto-complete.vue.d.ts +2 -2
  4. package/dist/components/cascade/cascade.vue.d.ts +3 -3
  5. package/dist/components/checkbox/checkbox-button.vue.d.ts +1 -1
  6. package/dist/components/checkbox-group/checkbox-group.vue.d.ts +2 -2
  7. package/dist/components/code-editor/basic-setup.js +7 -7
  8. package/dist/components/code-editor/code-editor.js +15 -10
  9. package/dist/components/code-editor/code-editor.js.map +1 -1
  10. package/dist/components/date-picker/date-picker.vue.d.ts +2 -2
  11. package/dist/components/date-range-picker/date-range-picker.vue.d.ts +2 -2
  12. package/dist/components/empty/empty.vue.d.ts +1 -1
  13. package/dist/components/file-picker/file-picker.vue.d.ts +1 -1
  14. package/dist/components/input/input.vue.d.ts +2 -2
  15. package/dist/components/multi-select/multi-select.vue.d.ts +3 -3
  16. package/dist/components/multi-tree-select/multi-tree-select.vue.d.ts +3 -3
  17. package/dist/components/number-input/number-input.vue.d.ts +2 -2
  18. package/dist/components/number-range-input/number-range-input.vue.d.ts +1 -1
  19. package/dist/components/password-input/password-input.vue.d.ts +1 -1
  20. package/dist/components/pop-confirm/pop-confirm.vue.d.ts +1 -1
  21. package/dist/components/radio-group/radio-group.vue.d.ts +2 -2
  22. package/dist/components/rich-text-editor/rich-text-editor.vue.d.ts +1 -1
  23. package/dist/components/select/select.vue.d.ts +2 -2
  24. package/dist/components/textarea/textarea.vue.d.ts +2 -2
  25. package/dist/components/tip/tip.vue.d.ts +1 -1
  26. package/dist/components/tree-select/tree-select.vue.d.ts +3 -3
  27. package/dist/node_modules/.bun/@codemirror_autocomplete@6.20.3/node_modules/@codemirror/autocomplete/dist/index.js +1750 -0
  28. package/dist/node_modules/.bun/@codemirror_autocomplete@6.20.3/node_modules/@codemirror/autocomplete/dist/index.js.map +1 -0
  29. package/dist/node_modules/.bun/@codemirror_commands@6.10.4/node_modules/@codemirror/commands/dist/index.js +1719 -0
  30. package/dist/node_modules/.bun/@codemirror_commands@6.10.4/node_modules/@codemirror/commands/dist/index.js.map +1 -0
  31. package/dist/node_modules/.bun/@codemirror_lang-java@6.0.2/node_modules/@codemirror/lang-java/dist/index.js +51 -0
  32. package/dist/node_modules/.bun/@codemirror_lang-java@6.0.2/node_modules/@codemirror/lang-java/dist/index.js.map +1 -0
  33. package/dist/node_modules/.bun/@codemirror_lang-javascript@6.2.5/node_modules/@codemirror/lang-javascript/dist/index.js +378 -0
  34. package/dist/node_modules/.bun/@codemirror_lang-javascript@6.2.5/node_modules/@codemirror/lang-javascript/dist/index.js.map +1 -0
  35. package/dist/node_modules/.bun/@codemirror_lang-json@6.0.2/node_modules/@codemirror/lang-json/dist/index.js +31 -0
  36. package/dist/node_modules/.bun/@codemirror_lang-json@6.0.2/node_modules/@codemirror/lang-json/dist/index.js.map +1 -0
  37. package/dist/node_modules/.bun/@codemirror_lang-sql@6.10.0/node_modules/@codemirror/lang-sql/dist/index.js +601 -0
  38. package/dist/node_modules/.bun/@codemirror_lang-sql@6.10.0/node_modules/@codemirror/lang-sql/dist/index.js.map +1 -0
  39. package/dist/node_modules/.bun/@codemirror_language@6.12.4/node_modules/@codemirror/language/dist/index.js +1767 -0
  40. package/dist/node_modules/.bun/@codemirror_language@6.12.4/node_modules/@codemirror/language/dist/index.js.map +1 -0
  41. package/dist/node_modules/.bun/@codemirror_lint@6.9.7/node_modules/@codemirror/lint/dist/index.js +569 -0
  42. package/dist/node_modules/.bun/@codemirror_lint@6.9.7/node_modules/@codemirror/lint/dist/index.js.map +1 -0
  43. package/dist/node_modules/.bun/@codemirror_search@6.7.1/node_modules/@codemirror/search/dist/index.js +1142 -0
  44. package/dist/node_modules/.bun/@codemirror_search@6.7.1/node_modules/@codemirror/search/dist/index.js.map +1 -0
  45. package/dist/node_modules/.bun/@codemirror_state@6.7.0/node_modules/@codemirror/state/dist/index.js +3372 -0
  46. package/dist/node_modules/.bun/@codemirror_state@6.7.0/node_modules/@codemirror/state/dist/index.js.map +1 -0
  47. package/dist/node_modules/.bun/@codemirror_theme-one-dark@6.1.3/node_modules/@codemirror/theme-one-dark/dist/index.js +165 -0
  48. package/dist/node_modules/.bun/@codemirror_theme-one-dark@6.1.3/node_modules/@codemirror/theme-one-dark/dist/index.js.map +1 -0
  49. package/dist/node_modules/.bun/@codemirror_view@6.43.4/node_modules/@codemirror/view/dist/index.js +9770 -0
  50. package/dist/node_modules/.bun/@codemirror_view@6.43.4/node_modules/@codemirror/view/dist/index.js.map +1 -0
  51. package/dist/node_modules/.bun/@lezer_common@1.5.2/node_modules/@lezer/common/dist/index.js +1567 -0
  52. package/dist/node_modules/.bun/@lezer_common@1.5.2/node_modules/@lezer/common/dist/index.js.map +1 -0
  53. package/dist/node_modules/.bun/@lezer_highlight@1.2.3/node_modules/@lezer/highlight/dist/index.js +864 -0
  54. package/dist/node_modules/.bun/@lezer_highlight@1.2.3/node_modules/@lezer/highlight/dist/index.js.map +1 -0
  55. package/dist/node_modules/.bun/@lezer_java@1.1.3/node_modules/@lezer/java/dist/index.js +235 -0
  56. package/dist/node_modules/.bun/@lezer_java@1.1.3/node_modules/@lezer/java/dist/index.js.map +1 -0
  57. package/dist/node_modules/.bun/@lezer_javascript@1.5.4/node_modules/@lezer/javascript/dist/index.js +470 -0
  58. package/dist/node_modules/.bun/@lezer_javascript@1.5.4/node_modules/@lezer/javascript/dist/index.js.map +1 -0
  59. package/dist/node_modules/.bun/@lezer_json@1.0.3/node_modules/@lezer/json/dist/index.js +55 -0
  60. package/dist/node_modules/.bun/@lezer_json@1.0.3/node_modules/@lezer/json/dist/index.js.map +1 -0
  61. package/dist/node_modules/.bun/@lezer_lr@1.4.10/node_modules/@lezer/lr/dist/index.js +1485 -0
  62. package/dist/node_modules/.bun/@lezer_lr@1.4.10/node_modules/@lezer/lr/dist/index.js.map +1 -0
  63. package/dist/node_modules/.bun/@marijn_find-cluster-break@1.0.2/node_modules/@marijn/find-cluster-break/src/index.js +73 -0
  64. package/dist/node_modules/.bun/@marijn_find-cluster-break@1.0.2/node_modules/@marijn/find-cluster-break/src/index.js.map +1 -0
  65. package/dist/node_modules/.bun/crelt@1.0.6/node_modules/crelt/index.js +26 -0
  66. package/dist/node_modules/.bun/crelt@1.0.6/node_modules/crelt/index.js.map +1 -0
  67. package/dist/node_modules/.bun/style-mod@4.1.3/node_modules/style-mod/src/style-mod.js +95 -0
  68. package/dist/node_modules/.bun/style-mod@4.1.3/node_modules/style-mod/src/style-mod.js.map +1 -0
  69. package/dist/node_modules/.bun/w3c-keyname@2.2.8/node_modules/w3c-keyname/index.js +104 -0
  70. package/dist/node_modules/.bun/w3c-keyname@2.2.8/node_modules/w3c-keyname/index.js.map +1 -0
  71. package/package.json +20 -18
  72. package/src/components/code-editor/code-editor.vue +12 -7
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["elt"],"sources":["../../../../../../../../../../node_modules/.bun/@codemirror+lint@6.9.7/node_modules/@codemirror/lint/dist/index.js"],"sourcesContent":["import { Decoration, showPanel, EditorView, ViewPlugin, gutter, showTooltip, hoverTooltip, getPanel, activateHover, logException, WidgetType, GutterMarker } from '@codemirror/view';\nimport { StateEffect, StateField, Facet, combineConfig, RangeSet, RangeSetBuilder } from '@codemirror/state';\nimport elt from 'crelt';\n\nclass SelectedDiagnostic {\n constructor(from, to, diagnostic) {\n this.from = from;\n this.to = to;\n this.diagnostic = diagnostic;\n }\n}\nclass LintState {\n constructor(diagnostics, panel, selected) {\n this.diagnostics = diagnostics;\n this.panel = panel;\n this.selected = selected;\n }\n static init(diagnostics, panel, state) {\n // Filter the list of diagnostics for which to create markers\n let diagnosticFilter = state.facet(lintConfig).markerFilter;\n if (diagnosticFilter)\n diagnostics = diagnosticFilter(diagnostics, state);\n let sorted = diagnostics.slice().sort((a, b) => a.from - b.from || a.to - b.to);\n let deco = new RangeSetBuilder(), active = [], pos = 0;\n let scan = state.doc.iter(), scanPos = 0, docLen = state.doc.length;\n for (let i = 0;;) {\n let next = i == sorted.length ? null : sorted[i];\n if (!next && !active.length)\n break;\n let from, to;\n if (active.length) {\n from = pos;\n to = active.reduce((p, d) => Math.min(p, d.to), next && next.from > from ? next.from : 1e8);\n }\n else {\n from = next.from;\n if (from > docLen)\n break;\n to = next.to;\n active.push(next);\n i++;\n }\n while (i < sorted.length) {\n let next = sorted[i];\n if (next.from == from && (next.to > next.from || next.to == from)) {\n active.push(next);\n i++;\n to = Math.min(next.to, to);\n }\n else {\n to = Math.min(next.from, to);\n break;\n }\n }\n to = Math.min(to, docLen);\n let widget = false;\n if (active.some(d => d.from == from && (d.to == to || to == docLen))) {\n widget = from == to;\n if (!widget && to - from < 10) {\n let behind = from - (scanPos + scan.value.length);\n if (behind > 0) {\n scan.next(behind);\n scanPos = from;\n }\n for (let check = from;;) {\n if (check >= to) {\n widget = true;\n break;\n }\n if (!scan.lineBreak && scanPos + scan.value.length > check)\n break;\n check = scanPos + scan.value.length;\n scanPos += scan.value.length;\n scan.next();\n }\n }\n }\n let sev = maxSeverity(active);\n if (widget) {\n deco.add(from, from, Decoration.widget({\n widget: new DiagnosticWidget(sev),\n diagnostics: active.slice()\n }));\n }\n else {\n let markClass = active.reduce((c, d) => d.markClass ? c + \" \" + d.markClass : c, \"\");\n deco.add(from, to, Decoration.mark({\n class: \"cm-lintRange cm-lintRange-\" + sev + markClass,\n diagnostics: active.slice(),\n inclusiveEnd: active.some(a => a.to > to)\n }));\n }\n pos = to;\n if (pos == docLen)\n break;\n for (let i = 0; i < active.length; i++)\n if (active[i].to <= pos)\n active.splice(i--, 1);\n }\n let set = deco.finish();\n return new LintState(set, panel, findDiagnostic(set));\n }\n}\nfunction findDiagnostic(diagnostics, diagnostic = null, after = 0) {\n let found = null;\n diagnostics.between(after, 1e9, (from, to, { spec }) => {\n if (diagnostic && spec.diagnostics.indexOf(diagnostic) < 0)\n return;\n if (!found)\n found = new SelectedDiagnostic(from, to, diagnostic || spec.diagnostics[0]);\n else if (spec.diagnostics.indexOf(found.diagnostic) < 0)\n return false;\n else\n found = new SelectedDiagnostic(found.from, to, found.diagnostic);\n });\n return found;\n}\nfunction hideTooltip(tr, tooltip) {\n let from = tooltip.pos, to = tooltip.end || from;\n let result = tr.state.facet(lintConfig).hideOn(tr, from, to);\n if (result != null)\n return result;\n let line = tr.startState.doc.lineAt(tooltip.pos);\n return !!(tr.effects.some(e => e.is(setDiagnosticsEffect)) || tr.changes.touchesRange(line.from, Math.max(line.to, to)));\n}\nfunction maybeEnableLint(state, effects) {\n return state.field(lintState, false) ? effects : effects.concat(StateEffect.appendConfig.of(lintExtensions));\n}\n/**\nReturns a transaction spec which updates the current set of\ndiagnostics, and enables the lint extension if if wasn't already\nactive.\n*/\nfunction setDiagnostics(state, diagnostics) {\n return {\n effects: maybeEnableLint(state, [setDiagnosticsEffect.of(diagnostics)])\n };\n}\n/**\nThe state effect that updates the set of active diagnostics. Can\nbe useful when writing an extension that needs to track these.\n*/\nconst setDiagnosticsEffect = /*@__PURE__*/StateEffect.define();\nconst togglePanel = /*@__PURE__*/StateEffect.define();\nconst movePanelSelection = /*@__PURE__*/StateEffect.define();\nconst lintState = /*@__PURE__*/StateField.define({\n create() {\n return new LintState(Decoration.none, null, null);\n },\n update(value, tr) {\n if (tr.docChanged && value.diagnostics.size) {\n let mapped = value.diagnostics.map(tr.changes), selected = null, panel = value.panel;\n if (value.selected) {\n let selPos = tr.changes.mapPos(value.selected.from, 1);\n selected = findDiagnostic(mapped, value.selected.diagnostic, selPos) || findDiagnostic(mapped, null, selPos);\n }\n if (!mapped.size && panel && tr.state.facet(lintConfig).autoPanel)\n panel = null;\n value = new LintState(mapped, panel, selected);\n }\n for (let effect of tr.effects) {\n if (effect.is(setDiagnosticsEffect)) {\n let panel = !tr.state.facet(lintConfig).autoPanel ? value.panel : effect.value.length ? LintPanel.open : null;\n value = LintState.init(effect.value, panel, tr.state);\n }\n else if (effect.is(togglePanel)) {\n value = new LintState(value.diagnostics, effect.value ? LintPanel.open : null, value.selected);\n }\n else if (effect.is(movePanelSelection)) {\n value = new LintState(value.diagnostics, value.panel, effect.value);\n }\n }\n return value;\n },\n provide: f => [showPanel.from(f, val => val.panel),\n EditorView.decorations.from(f, s => s.diagnostics)]\n});\n/**\nReturns the number of active lint diagnostics in the given state.\n*/\nfunction diagnosticCount(state) {\n let lint = state.field(lintState, false);\n return lint ? lint.diagnostics.size : 0;\n}\nconst activeMark = /*@__PURE__*/Decoration.mark({ class: \"cm-lintRange cm-lintRange-active\" });\nfunction lintTooltip(view, pos, side) {\n let { diagnostics } = view.state.field(lintState);\n let found, start = -1, end = -1;\n diagnostics.between(pos - (side < 0 ? 1 : 0), pos + (side > 0 ? 1 : 0), (from, to, { spec }) => {\n if (pos >= from && pos <= to &&\n (from == to || ((pos > from || side > 0) && (pos < to || side < 0)))) {\n found = spec.diagnostics;\n start = from;\n end = to;\n return false;\n }\n });\n let diagnosticFilter = view.state.facet(lintConfig).tooltipFilter;\n if (found && diagnosticFilter)\n found = diagnosticFilter(found, view.state);\n if (!found)\n return null;\n return {\n pos: start,\n end: end,\n above: true,\n create() {\n return { dom: diagnosticsTooltip(view, found) };\n }\n };\n}\nfunction diagnosticsTooltip(view, diagnostics) {\n return elt(\"ul\", { class: \"cm-tooltip-lint\" }, diagnostics.map(d => renderDiagnostic(view, d, false)));\n}\n/**\nCommand to open and focus the lint panel.\n*/\nconst openLintPanel = (view) => {\n let field = view.state.field(lintState, false);\n if (!field || !field.panel)\n view.dispatch({ effects: maybeEnableLint(view.state, [togglePanel.of(true)]) });\n let panel = getPanel(view, LintPanel.open);\n if (panel)\n panel.dom.querySelector(\".cm-panel-lint ul\").focus();\n return true;\n};\n/**\nCommand to close the lint panel, when open.\n*/\nconst closeLintPanel = (view) => {\n let field = view.state.field(lintState, false);\n if (!field || !field.panel)\n return false;\n view.dispatch({ effects: togglePanel.of(false) });\n return true;\n};\n/**\nMove the selection to the next diagnostic.\n*/\nconst nextDiagnostic = (view) => {\n let field = view.state.field(lintState, false);\n if (!field)\n return false;\n let sel = view.state.selection.main, next = findDiagnostic(field.diagnostics, null, sel.to + 1);\n if (!next) {\n next = findDiagnostic(field.diagnostics, null, 0);\n if (!next || next.from == sel.from && next.to == sel.to)\n return false;\n }\n view.dispatch({ selection: { anchor: next.from, head: next.to }, scrollIntoView: true });\n activateHover(view, next.from, 1, {\n tooltip: lintHover,\n until: tr => tr.docChanged || tr.newSelection.main.head < next.from || tr.newSelection.main.head > next.to\n });\n return true;\n};\n/**\nMove the selection to the previous diagnostic.\n*/\nconst previousDiagnostic = (view) => {\n var _a;\n let { state } = view, field = state.field(lintState, false);\n if (!field)\n return false;\n let sel = state.selection.main;\n let prevFrom, prevTo, lastFrom, lastTo;\n field.diagnostics.between(0, state.doc.length, (from, to) => {\n if (to < sel.to && (prevFrom == null || prevFrom < from)) {\n prevFrom = from;\n prevTo = to;\n }\n if (lastFrom == null || from > lastFrom) {\n lastFrom = from;\n lastTo = to;\n }\n });\n if (lastFrom == null || prevFrom == null && lastFrom == sel.from)\n return false;\n let from = prevFrom !== null && prevFrom !== void 0 ? prevFrom : lastFrom, to = (_a = prevTo !== null && prevTo !== void 0 ? prevTo : lastTo) !== null && _a !== void 0 ? _a : from;\n view.dispatch({ selection: { anchor: from, head: to }, scrollIntoView: true });\n activateHover(view, from, 1, {\n tooltip: lintHover,\n until: tr => tr.docChanged || tr.newSelection.main.head < from || tr.newSelection.main.head > to\n });\n return true;\n};\n/**\nA set of default key bindings for the lint functionality.\n\n- Ctrl-Shift-m (Cmd-Shift-m on macOS): [`openLintPanel`](https://codemirror.net/6/docs/ref/#lint.openLintPanel)\n- F8: [`nextDiagnostic`](https://codemirror.net/6/docs/ref/#lint.nextDiagnostic)\n*/\nconst lintKeymap = [\n { key: \"Mod-Shift-m\", run: openLintPanel, preventDefault: true },\n { key: \"F8\", run: nextDiagnostic }\n];\nconst lintPlugin = /*@__PURE__*/ViewPlugin.fromClass(class {\n constructor(view) {\n this.view = view;\n this.timeout = -1;\n this.set = true;\n let { delay } = view.state.facet(lintConfig);\n this.lintTime = Date.now() + delay;\n this.run = this.run.bind(this);\n this.timeout = setTimeout(this.run, delay);\n }\n run() {\n clearTimeout(this.timeout);\n let now = Date.now();\n if (now < this.lintTime - 10) {\n this.timeout = setTimeout(this.run, this.lintTime - now);\n }\n else {\n this.set = false;\n let { state } = this.view, { sources } = state.facet(lintConfig);\n if (sources.length)\n batchResults(sources.map(s => Promise.resolve(s(this.view))), annotations => {\n if (this.view.state.doc == state.doc)\n this.view.dispatch(setDiagnostics(this.view.state, annotations.reduce((a, b) => a.concat(b))));\n }, error => { logException(this.view.state, error); });\n }\n }\n update(update) {\n let config = update.state.facet(lintConfig);\n if (update.docChanged || config != update.startState.facet(lintConfig) ||\n config.needsRefresh && config.needsRefresh(update)) {\n this.lintTime = Date.now() + config.delay;\n if (!this.set) {\n this.set = true;\n this.timeout = setTimeout(this.run, config.delay);\n }\n }\n }\n force() {\n if (this.set) {\n this.lintTime = Date.now();\n this.run();\n }\n }\n destroy() {\n clearTimeout(this.timeout);\n }\n});\nfunction batchResults(promises, sink, error) {\n let collected = [], timeout = -1;\n for (let p of promises)\n p.then(value => {\n collected.push(value);\n clearTimeout(timeout);\n if (collected.length == promises.length)\n sink(collected);\n else\n timeout = setTimeout(() => sink(collected), 200);\n }, error);\n}\nconst lintConfig = /*@__PURE__*/Facet.define({\n combine(input) {\n return {\n sources: input.map(i => i.source).filter(x => x != null),\n ...combineConfig(input.map(i => i.config), {\n delay: 750,\n markerFilter: null,\n tooltipFilter: null,\n needsRefresh: null,\n hideOn: () => null,\n }, {\n delay: Math.max,\n markerFilter: combineFilter,\n tooltipFilter: combineFilter,\n needsRefresh: (a, b) => !a ? b : !b ? a : u => a(u) || b(u),\n hideOn: (a, b) => !a ? b : !b ? a : (t, x, y) => a(t, x, y) || b(t, x, y),\n autoPanel: (a, b) => a || b\n })\n };\n }\n});\nfunction combineFilter(a, b) {\n return !a ? b : !b ? a : (d, s) => b(a(d, s), s);\n}\n/**\nGiven a diagnostic source, this function returns an extension that\nenables linting with that source. It will be called whenever the\neditor is idle (after its content changed).\n\nNote that settings given here will apply to all linters active in\nthe editor. If `null` is given as source, this only configures the\nlint extension.\n*/\nfunction linter(source, config = {}) {\n return [\n lintConfig.of({ source, config }),\n lintPlugin,\n lintExtensions\n ];\n}\n/**\nForces any linters [configured](https://codemirror.net/6/docs/ref/#lint.linter) to run when the\neditor is idle to run right away.\n*/\nfunction forceLinting(view) {\n let plugin = view.plugin(lintPlugin);\n if (plugin)\n plugin.force();\n}\nfunction assignKeys(actions) {\n let assigned = [];\n if (actions)\n actions: for (let { name } of actions) {\n for (let i = 0; i < name.length; i++) {\n let ch = name[i];\n if (/[a-zA-Z]/.test(ch) && !assigned.some(c => c.toLowerCase() == ch.toLowerCase())) {\n assigned.push(ch);\n continue actions;\n }\n }\n assigned.push(\"\");\n }\n return assigned;\n}\nfunction renderDiagnostic(view, diagnostic, inPanel) {\n var _a;\n let keys = inPanel ? assignKeys(diagnostic.actions) : [];\n return elt(\"li\", { class: \"cm-diagnostic cm-diagnostic-\" + diagnostic.severity }, elt(\"span\", { class: \"cm-diagnosticText\" }, diagnostic.renderMessage ? diagnostic.renderMessage(view) : diagnostic.message), (_a = diagnostic.actions) === null || _a === void 0 ? void 0 : _a.map((action, i) => {\n let fired = false, click = (e) => {\n e.preventDefault();\n if (fired)\n return;\n fired = true;\n let found = findDiagnostic(view.state.field(lintState).diagnostics, diagnostic);\n if (found)\n action.apply(view, found.from, found.to);\n };\n let { name } = action, keyIndex = keys[i] ? name.indexOf(keys[i]) : -1;\n let nameElt = keyIndex < 0 ? name : [name.slice(0, keyIndex),\n elt(\"u\", name.slice(keyIndex, keyIndex + 1)),\n name.slice(keyIndex + 1)];\n let markClass = action.markClass ? \" \" + action.markClass : \"\";\n return elt(\"button\", {\n type: \"button\",\n class: \"cm-diagnosticAction\" + markClass,\n onclick: click,\n onmousedown: click,\n \"aria-label\": ` Action: ${name}${keyIndex < 0 ? \"\" : ` (access key \"${keys[i]})\"`}.`\n }, nameElt);\n }), diagnostic.source && elt(\"div\", { class: \"cm-diagnosticSource\" }, diagnostic.source));\n}\nclass DiagnosticWidget extends WidgetType {\n constructor(sev) {\n super();\n this.sev = sev;\n }\n eq(other) { return other.sev == this.sev; }\n toDOM() {\n return elt(\"span\", { class: \"cm-lintPoint cm-lintPoint-\" + this.sev });\n }\n}\nclass PanelItem {\n constructor(view, diagnostic) {\n this.diagnostic = diagnostic;\n this.id = \"item_\" + Math.floor(Math.random() * 0xffffffff).toString(16);\n this.dom = renderDiagnostic(view, diagnostic, true);\n this.dom.id = this.id;\n this.dom.setAttribute(\"role\", \"option\");\n }\n}\nclass LintPanel {\n constructor(view) {\n this.view = view;\n this.items = [];\n let onkeydown = (event) => {\n if (event.ctrlKey || event.altKey || event.metaKey)\n return;\n if (event.keyCode == 27) { // Escape\n closeLintPanel(this.view);\n this.view.focus();\n }\n else if (event.keyCode == 38 || event.keyCode == 33) { // ArrowUp, PageUp\n this.moveSelection((this.selectedIndex - 1 + this.items.length) % this.items.length);\n }\n else if (event.keyCode == 40 || event.keyCode == 34) { // ArrowDown, PageDown\n this.moveSelection((this.selectedIndex + 1) % this.items.length);\n }\n else if (event.keyCode == 36) { // Home\n this.moveSelection(0);\n }\n else if (event.keyCode == 35) { // End\n this.moveSelection(this.items.length - 1);\n }\n else if (event.keyCode == 13) { // Enter\n this.view.focus();\n }\n else if (event.keyCode >= 65 && event.keyCode <= 90 && this.selectedIndex >= 0) { // A-Z\n let { diagnostic } = this.items[this.selectedIndex], keys = assignKeys(diagnostic.actions);\n for (let i = 0; i < keys.length; i++)\n if (keys[i].toUpperCase().charCodeAt(0) == event.keyCode) {\n let found = findDiagnostic(this.view.state.field(lintState).diagnostics, diagnostic);\n if (found)\n diagnostic.actions[i].apply(view, found.from, found.to);\n }\n }\n else {\n return;\n }\n event.preventDefault();\n };\n let onclick = (event) => {\n for (let i = 0; i < this.items.length; i++) {\n if (this.items[i].dom.contains(event.target))\n this.moveSelection(i);\n }\n };\n this.list = elt(\"ul\", {\n tabIndex: 0,\n role: \"listbox\",\n \"aria-label\": this.view.state.phrase(\"Diagnostics\"),\n onkeydown,\n onclick\n });\n this.dom = elt(\"div\", { class: \"cm-panel-lint\" }, this.list, elt(\"button\", {\n type: \"button\",\n name: \"close\",\n \"aria-label\": this.view.state.phrase(\"close\"),\n onclick: () => closeLintPanel(this.view)\n }, \"×\"));\n this.update();\n }\n get selectedIndex() {\n let selected = this.view.state.field(lintState).selected;\n if (!selected)\n return -1;\n for (let i = 0; i < this.items.length; i++)\n if (this.items[i].diagnostic == selected.diagnostic)\n return i;\n return -1;\n }\n update() {\n let { diagnostics, selected } = this.view.state.field(lintState);\n let i = 0, needsSync = false, newSelectedItem = null;\n let seen = new Set();\n diagnostics.between(0, this.view.state.doc.length, (_start, _end, { spec }) => {\n for (let diagnostic of spec.diagnostics) {\n if (seen.has(diagnostic))\n continue;\n seen.add(diagnostic);\n let found = -1, item;\n for (let j = i; j < this.items.length; j++)\n if (this.items[j].diagnostic == diagnostic) {\n found = j;\n break;\n }\n if (found < 0) {\n item = new PanelItem(this.view, diagnostic);\n this.items.splice(i, 0, item);\n needsSync = true;\n }\n else {\n item = this.items[found];\n if (found > i) {\n this.items.splice(i, found - i);\n needsSync = true;\n }\n }\n if (selected && item.diagnostic == selected.diagnostic) {\n if (!item.dom.hasAttribute(\"aria-selected\")) {\n item.dom.setAttribute(\"aria-selected\", \"true\");\n newSelectedItem = item;\n }\n }\n else if (item.dom.hasAttribute(\"aria-selected\")) {\n item.dom.removeAttribute(\"aria-selected\");\n }\n i++;\n }\n });\n while (i < this.items.length && !(this.items.length == 1 && this.items[0].diagnostic.from < 0)) {\n needsSync = true;\n this.items.pop();\n }\n if (this.items.length == 0) {\n this.items.push(new PanelItem(this.view, {\n from: -1, to: -1,\n severity: \"info\",\n message: this.view.state.phrase(\"No diagnostics\")\n }));\n needsSync = true;\n }\n if (newSelectedItem) {\n this.list.setAttribute(\"aria-activedescendant\", newSelectedItem.id);\n this.view.requestMeasure({\n key: this,\n read: () => ({ sel: newSelectedItem.dom.getBoundingClientRect(), panel: this.list.getBoundingClientRect() }),\n write: ({ sel, panel }) => {\n let scaleY = panel.height / this.list.offsetHeight;\n if (sel.top < panel.top)\n this.list.scrollTop -= (panel.top - sel.top) / scaleY;\n else if (sel.bottom > panel.bottom)\n this.list.scrollTop += (sel.bottom - panel.bottom) / scaleY;\n }\n });\n }\n else if (this.selectedIndex < 0) {\n this.list.removeAttribute(\"aria-activedescendant\");\n }\n if (needsSync)\n this.sync();\n }\n sync() {\n let domPos = this.list.firstChild;\n function rm() {\n let prev = domPos;\n domPos = prev.nextSibling;\n prev.remove();\n }\n for (let item of this.items) {\n if (item.dom.parentNode == this.list) {\n while (domPos != item.dom)\n rm();\n domPos = item.dom.nextSibling;\n }\n else {\n this.list.insertBefore(item.dom, domPos);\n }\n }\n while (domPos)\n rm();\n }\n moveSelection(selectedIndex) {\n if (this.selectedIndex < 0)\n return;\n let field = this.view.state.field(lintState);\n let selection = findDiagnostic(field.diagnostics, this.items[selectedIndex].diagnostic);\n if (!selection)\n return;\n this.view.dispatch({\n selection: { anchor: selection.from, head: selection.to },\n scrollIntoView: true,\n effects: movePanelSelection.of(selection)\n });\n }\n static open(view) { return new LintPanel(view); }\n}\nfunction svg(content, attrs = `viewBox=\"0 0 40 40\"`) {\n return `url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" ${attrs}>${encodeURIComponent(content)}</svg>')`;\n}\nfunction underline(color) {\n return svg(`<path d=\"m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0\" stroke=\"${color}\" fill=\"none\" stroke-width=\".7\"/>`, `width=\"6\" height=\"3\"`);\n}\nconst baseTheme = /*@__PURE__*/EditorView.baseTheme({\n \".cm-diagnostic\": {\n padding: \"3px 6px 3px 8px\",\n marginLeft: \"-1px\",\n display: \"block\",\n whiteSpace: \"pre-wrap\"\n },\n \".cm-diagnostic-error\": { borderLeft: \"5px solid #d11\" },\n \".cm-diagnostic-warning\": { borderLeft: \"5px solid orange\" },\n \".cm-diagnostic-info\": { borderLeft: \"5px solid #999\" },\n \".cm-diagnostic-hint\": { borderLeft: \"5px solid #66d\" },\n \".cm-diagnosticAction\": {\n font: \"inherit\",\n border: \"none\",\n padding: \"2px 4px\",\n backgroundColor: \"#444\",\n color: \"white\",\n borderRadius: \"3px\",\n marginLeft: \"8px\",\n cursor: \"pointer\"\n },\n \".cm-diagnosticSource\": {\n fontSize: \"70%\",\n opacity: .7\n },\n \".cm-lintRange\": {\n backgroundPosition: \"left bottom\",\n backgroundRepeat: \"repeat-x\",\n paddingBottom: \"0.7px\",\n },\n \".cm-lintRange-error\": { backgroundImage: /*@__PURE__*/underline(\"#f11\") },\n \".cm-lintRange-warning\": { backgroundImage: /*@__PURE__*/underline(\"orange\") },\n \".cm-lintRange-info\": { backgroundImage: /*@__PURE__*/underline(\"#999\") },\n \".cm-lintRange-hint\": { backgroundImage: /*@__PURE__*/underline(\"#66d\") },\n \".cm-lintRange-active\": { backgroundColor: \"#ffdd9980\" },\n \".cm-tooltip-lint\": {\n padding: 0,\n margin: 0\n },\n \".cm-lintPoint\": {\n position: \"relative\",\n \"&:after\": {\n content: '\"\"',\n position: \"absolute\",\n bottom: 0,\n left: \"-2px\",\n borderLeft: \"3px solid transparent\",\n borderRight: \"3px solid transparent\",\n borderBottom: \"4px solid #d11\"\n }\n },\n \".cm-lintPoint-warning\": {\n \"&:after\": { borderBottomColor: \"orange\" }\n },\n \".cm-lintPoint-info\": {\n \"&:after\": { borderBottomColor: \"#999\" }\n },\n \".cm-lintPoint-hint\": {\n \"&:after\": { borderBottomColor: \"#66d\" }\n },\n \".cm-panel.cm-panel-lint\": {\n position: \"relative\",\n \"& ul\": {\n maxHeight: \"100px\",\n overflowY: \"auto\",\n \"& [aria-selected]\": {\n backgroundColor: \"#ddd\",\n \"& u\": { textDecoration: \"underline\" }\n },\n \"&:focus [aria-selected]\": {\n background_fallback: \"#bdf\",\n backgroundColor: \"Highlight\",\n color_fallback: \"white\",\n color: \"HighlightText\"\n },\n \"& u\": { textDecoration: \"none\" },\n padding: 0,\n margin: 0\n },\n \"& [name=close]\": {\n position: \"absolute\",\n top: \"0\",\n right: \"2px\",\n background: \"inherit\",\n border: \"none\",\n font: \"inherit\",\n padding: 0,\n margin: 0\n }\n },\n \"&dark .cm-lintRange-active\": { backgroundColor: \"#86714a80\" },\n \"&dark .cm-panel.cm-panel-lint ul\": {\n \"& [aria-selected]\": {\n backgroundColor: \"#2e343e\",\n },\n }\n});\nfunction severityWeight(sev) {\n return sev == \"error\" ? 4 : sev == \"warning\" ? 3 : sev == \"info\" ? 2 : 1;\n}\nfunction maxSeverity(diagnostics) {\n let sev = \"hint\", weight = 1;\n for (let d of diagnostics) {\n let w = severityWeight(d.severity);\n if (w > weight) {\n weight = w;\n sev = d.severity;\n }\n }\n return sev;\n}\nclass LintGutterMarker extends GutterMarker {\n constructor(diagnostics) {\n super();\n this.diagnostics = diagnostics;\n this.severity = maxSeverity(diagnostics);\n }\n toDOM(view) {\n let elt = document.createElement(\"div\");\n elt.className = \"cm-lint-marker cm-lint-marker-\" + this.severity;\n let diagnostics = this.diagnostics;\n let diagnosticsFilter = view.state.facet(lintGutterConfig).tooltipFilter;\n if (diagnosticsFilter)\n diagnostics = diagnosticsFilter(diagnostics, view.state);\n if (diagnostics.length)\n elt.onmouseover = () => gutterMarkerMouseOver(view, elt, diagnostics);\n return elt;\n }\n}\nfunction trackHoverOn(view, marker) {\n let mousemove = (event) => {\n let rect = marker.getBoundingClientRect();\n if (event.clientX > rect.left - 10 /* Hover.Margin */ && event.clientX < rect.right + 10 /* Hover.Margin */ &&\n event.clientY > rect.top - 10 /* Hover.Margin */ && event.clientY < rect.bottom + 10 /* Hover.Margin */)\n return;\n for (let target = event.target; target; target = target.parentNode) {\n if (target.nodeType == 1 && target.classList.contains(\"cm-tooltip-lint\"))\n return;\n }\n window.removeEventListener(\"mousemove\", mousemove);\n if (view.state.field(lintGutterTooltip))\n view.dispatch({ effects: setLintGutterTooltip.of(null) });\n };\n window.addEventListener(\"mousemove\", mousemove);\n}\nfunction gutterMarkerMouseOver(view, marker, diagnostics) {\n function hovered() {\n let line = view.elementAtHeight(marker.getBoundingClientRect().top + 5 - view.documentTop);\n const linePos = view.coordsAtPos(line.from);\n if (linePos) {\n view.dispatch({ effects: setLintGutterTooltip.of({\n pos: line.from,\n above: false,\n clip: false,\n create() {\n return {\n dom: diagnosticsTooltip(view, diagnostics),\n getCoords: () => marker.getBoundingClientRect()\n };\n }\n }) });\n }\n marker.onmouseout = marker.onmousemove = null;\n trackHoverOn(view, marker);\n }\n let { hoverTime } = view.state.facet(lintGutterConfig);\n let hoverTimeout = setTimeout(hovered, hoverTime);\n marker.onmouseout = () => {\n clearTimeout(hoverTimeout);\n marker.onmouseout = marker.onmousemove = null;\n };\n marker.onmousemove = () => {\n clearTimeout(hoverTimeout);\n hoverTimeout = setTimeout(hovered, hoverTime);\n };\n}\nfunction markersForDiagnostics(doc, diagnostics) {\n let byLine = Object.create(null);\n for (let diagnostic of diagnostics) {\n let line = doc.lineAt(diagnostic.from);\n (byLine[line.from] || (byLine[line.from] = [])).push(diagnostic);\n }\n let markers = [];\n for (let line in byLine) {\n markers.push(new LintGutterMarker(byLine[line]).range(+line));\n }\n return RangeSet.of(markers, true);\n}\nconst lintGutterExtension = /*@__PURE__*/gutter({\n class: \"cm-gutter-lint\",\n markers: view => view.state.field(lintGutterMarkers),\n widgetMarker: (view, widget, block) => {\n let diagnostics = [];\n view.state.field(lintGutterMarkers).between(block.from, block.to, (from, to, value) => {\n if (from > block.from && from < block.to)\n diagnostics.push(...value.diagnostics);\n });\n return diagnostics.length ? new LintGutterMarker(diagnostics) : null;\n }\n});\nconst lintGutterMarkers = /*@__PURE__*/StateField.define({\n create() {\n return RangeSet.empty;\n },\n update(markers, tr) {\n markers = markers.map(tr.changes);\n let diagnosticFilter = tr.state.facet(lintGutterConfig).markerFilter;\n for (let effect of tr.effects) {\n if (effect.is(setDiagnosticsEffect)) {\n let diagnostics = effect.value;\n if (diagnosticFilter)\n diagnostics = diagnosticFilter(diagnostics || [], tr.state);\n markers = markersForDiagnostics(tr.state.doc, diagnostics.slice(0));\n }\n }\n return markers;\n }\n});\nconst setLintGutterTooltip = /*@__PURE__*/StateEffect.define();\nconst lintGutterTooltip = /*@__PURE__*/StateField.define({\n create() { return null; },\n update(tooltip, tr) {\n if (tooltip && tr.docChanged)\n tooltip = hideTooltip(tr, tooltip) ? null : { ...tooltip, pos: tr.changes.mapPos(tooltip.pos) };\n return tr.effects.reduce((t, e) => e.is(setLintGutterTooltip) ? e.value : t, tooltip);\n },\n provide: field => showTooltip.from(field)\n});\nconst lintGutterTheme = /*@__PURE__*/EditorView.baseTheme({\n \".cm-gutter-lint\": {\n width: \"1.4em\",\n \"& .cm-gutterElement\": {\n padding: \".2em\"\n }\n },\n \".cm-lint-marker\": {\n width: \"1em\",\n height: \"1em\"\n },\n \".cm-lint-marker-info\": {\n content: /*@__PURE__*/svg(`<path fill=\"#aaf\" stroke=\"#77e\" stroke-width=\"6\" stroke-linejoin=\"round\" d=\"M5 5L35 5L35 35L5 35Z\"/>`)\n },\n \".cm-lint-marker-warning\": {\n content: /*@__PURE__*/svg(`<path fill=\"#fe8\" stroke=\"#fd7\" stroke-width=\"6\" stroke-linejoin=\"round\" d=\"M20 6L37 35L3 35Z\"/>`),\n },\n \".cm-lint-marker-error\": {\n content: /*@__PURE__*/svg(`<circle cx=\"20\" cy=\"20\" r=\"15\" fill=\"#f87\" stroke=\"#f43\" stroke-width=\"6\"/>`)\n },\n});\nconst lintHover = /*@__PURE__*/hoverTooltip(lintTooltip, { hideOn: hideTooltip });\nconst lintExtensions = [\n lintState,\n /*@__PURE__*/EditorView.decorations.compute([lintState], state => {\n let { selected, panel } = state.field(lintState);\n return !selected || !panel || selected.from == selected.to ? Decoration.none : Decoration.set([\n activeMark.range(selected.from, selected.to)\n ]);\n }),\n lintHover,\n baseTheme\n];\nconst lintGutterConfig = /*@__PURE__*/Facet.define({\n combine(configs) {\n return combineConfig(configs, {\n hoverTime: 300 /* Hover.Time */,\n markerFilter: null,\n tooltipFilter: null\n });\n }\n});\n/**\nReturns an extension that installs a gutter showing markers for\neach line that has diagnostics, which can be hovered over to see\nthe diagnostics.\n*/\nfunction lintGutter(config = {}) {\n return [lintGutterConfig.of(config), lintGutterMarkers, lintGutterExtension, lintGutterTheme, lintGutterTooltip];\n}\n/**\nIterate over the marked diagnostics for the given editor state,\ncalling `f` for each of them. Note that, if the document changed\nsince the diagnostics were created, the `Diagnostic` object will\nhold the original outdated position, whereas the `to` and `from`\narguments hold the diagnostic's current position.\n*/\nfunction forEachDiagnostic(state, f) {\n let lState = state.field(lintState, false);\n if (lState && lState.diagnostics.size) {\n let pending = [], pendingStart = [], lastEnd = -1;\n for (let iter = RangeSet.iter([lState.diagnostics]);; iter.next()) {\n for (let i = 0; i < pending.length; i++)\n if (!iter.value || iter.value.spec.diagnostics.indexOf(pending[i]) < 0) {\n f(pending[i], pendingStart[i], lastEnd);\n pending.splice(i, 1);\n pendingStart.splice(i--, 1);\n }\n if (!iter.value)\n break;\n for (let d of iter.value.spec.diagnostics)\n if (pending.indexOf(d) < 0) {\n pending.push(d);\n pendingStart.push(iter.from);\n }\n lastEnd = iter.to;\n }\n }\n}\n\nexport { closeLintPanel, diagnosticCount, forEachDiagnostic, forceLinting, lintGutter, lintKeymap, linter, nextDiagnostic, openLintPanel, previousDiagnostic, setDiagnostics, setDiagnosticsEffect };\n"],"x_google_ignoreList":[0],"mappings":"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"}