diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 706ff2ad..5f66164a 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -25,19 +25,20 @@ } }, "extensions": [ - "mikestead.dotenv", + "bierner.lit-html", "bmewburn.vscode-intelephense-client", - "streetsidesoftware.code-spell-checker", - "naumovs.color-highlight", - "heybourn.headwind", - "wayou.vscode-todo-highlight", - "esbenp.prettier-vscode", "bradlc.vscode-tailwindcss", - "jamesbirtles.svelte-vscode", - "dbaeumer.vscode-eslint", - "stylelint.vscode-stylelint", - "eamodio.gitlens", "breezelin.phpstan", - "kasik96.latte" + "dbaeumer.vscode-eslint", + "eamodio.gitlens", + "esbenp.prettier-vscode", + "heybourn.headwind", + "jamesbirtles.svelte-vscode", + "kasik96.latte", + "mikestead.dotenv", + "naumovs.color-highlight", + "streetsidesoftware.code-spell-checker", + "stylelint.vscode-stylelint", + "wayou.vscode-todo-highlight" ] } diff --git a/app/Helpers/form_helper.php b/app/Helpers/form_helper.php index 69edf75e..e80bfd40 100644 --- a/app/Helpers/form_helper.php +++ b/app/Helpers/form_helper.php @@ -157,17 +157,9 @@ if (! function_exists('form_multiselect')) { ): string { $defaultExtra = [ 'data-class' => $customExtra['class'], - 'data-select-text' => lang('Common.forms.multiSelect.selectText'), - 'data-loading-text' => lang('Common.forms.multiSelect.loadingText'), - 'data-no-results-text' => lang('Common.forms.multiSelect.noResultsText'), - 'data-no-choices-text' => lang('Common.forms.multiSelect.noChoicesText'), - 'data-max-item-text' => lang('Common.forms.multiSelect.maxItemText'), + 'multiple' => 'multiple', ]; - $extra = stringify_attributes(array_merge($defaultExtra, $customExtra)); - - if (stripos($extra, 'multiple') === false) { - $extra .= ' multiple="multiple"'; - } + $extra = array_merge($defaultExtra, $customExtra); return form_dropdown($name, $options, $selected, $extra); } @@ -179,43 +171,31 @@ if (! function_exists('form_dropdown')) { /** * Drop-down Menu (based on html select tag) * - * @param array|string $data - * @param array $options - * @param string|string[] $selected - * @param array|string $extra + * @param array $options + * @param string[] $selected + * @param array $customExtra */ function form_dropdown( - string | array $data = '', + string $name = '', array $options = [], - string | array $selected = [], - string | array $extra = '' + array $selected = [], + array $customExtra = [] ): string { - $defaults = []; - if (is_array($data)) { - if (isset($data['selected'])) { - $selected = $data['selected']; - unset($data['selected']); // select tags don't have a selected attribute - } - if (isset($data['options'])) { - $options = $data['options']; - unset($data['options']); // select tags don't use an options attribute - } - } else { - $defaults = [ - 'name' => $data, - ]; - } - - if (! is_array($selected)) { - $selected = [$selected]; - } - if (! is_array($options)) { - $options = [$options]; - } + $defaultExtra = [ + 'data-select-text' => lang('Common.forms.multiSelect.selectText'), + 'data-loading-text' => lang('Common.forms.multiSelect.loadingText'), + 'data-no-results-text' => lang('Common.forms.multiSelect.noResultsText'), + 'data-no-choices-text' => lang('Common.forms.multiSelect.noChoicesText'), + 'data-max-item-text' => lang('Common.forms.multiSelect.maxItemText'), + ]; + $extra = array_merge($defaultExtra, $customExtra); + $defaults = [ + 'name' => $name, + ]; // standardize selected as strings, like the option keys will be. foreach ($selected as $key => $item) { - $selected[$key] = (string) $item; + $selected[$key] = $item; } $placeholderOption = ''; @@ -230,11 +210,10 @@ if (! function_exists('form_dropdown')) { $extra = stringify_attributes($extra); $multiple = (count($selected) > 1 && stripos($extra, 'multiple') === false) ? ' multiple="multiple"' : ''; - $form = '\n"; $form .= $placeholderOption; foreach ($options as $key => $val) { - $key = (string) $key; if (is_array($val)) { if ($val === []) { continue; @@ -257,4 +236,80 @@ if (! function_exists('form_dropdown')) { } } +//-------------------------------------------------------------------- + +if (! function_exists('form_editor')) { + /** + * Markdown editor + * + * @param array $data + * @param array|string $extra + */ + function form_markdown_editor(array $data = [], string $value = '', string | array $extra = ''): string + { + $editorClass = 'w-full flex flex-col bg-white border border-gray-500 focus-within:ring-1 focus-within:ring-blue-600'; + if (array_key_exists('class', $data) && $data['class'] !== '') { + $editorClass .= ' ' . $data['class']; + unset($data['class']); + } + + $data['class'] = 'border-none outline-none focus:border-none focus:outline-none w-full h-full'; + + return '
' . + '
' . + '' . + '' . + '' . + '' . + '' . + '
' . + '' . icon( + 'heading' + ) . '' . + '' . icon( + 'bold' + ) . '' . + '' . icon( + 'italic' + ) . '' . + '
' . + '
' . + '' . icon( + 'list-unordered' + ) . '' . + '' . icon( + 'list-ordered' + ) . '' . + '
' . + '
' . + '' . icon( + 'quote' + ) . '' . + '' . icon( + 'link' + ) . '' . + '' . icon( + 'image-add' + ) . '' . + '
' . + '
' . + '
' . + '
' . + form_textarea($data, $value, $extra) . + '' . + '
' . + '' . + '
'; + } +} + // ------------------------------------------------------------------------ diff --git a/app/Language/en/Common.php b/app/Language/en/Common.php index b406878c..0bf26a68 100644 --- a/app/Language/en/Common.php +++ b/app/Language/en/Common.php @@ -24,6 +24,11 @@ return [ 'pageInfo' => 'Page {currentPage} out of {pageCount}', 'go_back' => 'Go back', 'forms' => [ + 'editor' => [ + 'write' => 'Write', + 'preview' => 'Preview', + 'help' => 'Powered by markdown', + ], 'multiSelect' => [ 'selectText' => 'Press to select', 'loadingText' => 'Loading...', diff --git a/app/Language/fr/Common.php b/app/Language/fr/Common.php index 668a1607..a3415467 100644 --- a/app/Language/fr/Common.php +++ b/app/Language/fr/Common.php @@ -24,6 +24,11 @@ return [ 'pageInfo' => 'Page {currentPage} sur {pageCount}', 'go_back' => 'Retour en arrière', 'forms' => [ + 'editor' => [ + 'write' => 'Écrire', + 'preview' => 'Aperçu', + 'help' => 'Propulsé par markdown', + ], 'multiSelect' => [ 'selectText' => 'Cliquez pour selectionner', 'loadingText' => 'Chargement...', diff --git a/app/Resources/icons/bold.svg b/app/Resources/icons/bold.svg new file mode 100644 index 00000000..b5fb5947 --- /dev/null +++ b/app/Resources/icons/bold.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/app/Resources/icons/heading.svg b/app/Resources/icons/heading.svg new file mode 100644 index 00000000..0ae177f1 --- /dev/null +++ b/app/Resources/icons/heading.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/app/Resources/icons/image-add.svg b/app/Resources/icons/image-add.svg new file mode 100644 index 00000000..dca9aa8b --- /dev/null +++ b/app/Resources/icons/image-add.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/app/Resources/icons/italic.svg b/app/Resources/icons/italic.svg new file mode 100644 index 00000000..4203e07e --- /dev/null +++ b/app/Resources/icons/italic.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/app/Resources/icons/list-ordered.svg b/app/Resources/icons/list-ordered.svg new file mode 100644 index 00000000..be282082 --- /dev/null +++ b/app/Resources/icons/list-ordered.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/app/Resources/icons/list-unordered.svg b/app/Resources/icons/list-unordered.svg new file mode 100644 index 00000000..41809a3a --- /dev/null +++ b/app/Resources/icons/list-unordered.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/app/Resources/icons/markdown.svg b/app/Resources/icons/markdown.svg new file mode 100644 index 00000000..ab3edd2b --- /dev/null +++ b/app/Resources/icons/markdown.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/app/Resources/icons/quote.svg b/app/Resources/icons/quote.svg new file mode 100644 index 00000000..a83df6c4 --- /dev/null +++ b/app/Resources/icons/quote.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/app/Resources/js/admin.ts b/app/Resources/js/admin.ts index 6e291aa3..79f83272 100644 --- a/app/Resources/js/admin.ts +++ b/app/Resources/js/admin.ts @@ -1,8 +1,10 @@ +import "@github/markdown-toolbar-element"; import ClientTimezone from "./modules/ClientTimezone"; import Clipboard from "./modules/Clipboard"; import DateTimePicker from "./modules/DateTimePicker"; import Dropdown from "./modules/Dropdown"; -import MarkdownEditor from "./modules/MarkdownEditor"; +import "./modules/markdown-preview"; +import "./modules/markdown-write-preview"; import MultiSelect from "./modules/MultiSelect"; import PublishMessageWarning from "./modules/PublishMessageWarning"; import Select from "./modules/Select"; @@ -15,7 +17,6 @@ import Tooltip from "./modules/Tooltip"; Dropdown(); Tooltip(); -MarkdownEditor(); Select(); MultiSelect(); Slugify(); diff --git a/app/Resources/js/modules/MarkdownEditor.ts b/app/Resources/js/modules/MarkdownEditor.ts deleted file mode 100644 index 07dfe266..00000000 --- a/app/Resources/js/modules/MarkdownEditor.ts +++ /dev/null @@ -1,159 +0,0 @@ -import { exampleSetup } from "prosemirror-example-setup"; -import "prosemirror-example-setup/style/style.css"; -import { - defaultMarkdownParser, - defaultMarkdownSerializer, - schema, -} from "prosemirror-markdown"; -import "prosemirror-menu/style/menu.css"; -import { EditorState } from "prosemirror-state"; -import { EditorView } from "prosemirror-view"; -import "prosemirror-view/style/prosemirror.css"; - -class MarkdownView { - textarea: HTMLTextAreaElement; - - constructor(target: HTMLTextAreaElement) { - this.textarea = target; - this.textarea.classList.add("w-full", "h-full"); - } - - content() { - return this.textarea.innerHTML; - } - focus() { - this.textarea.focus(); - } - show() { - this.textarea.classList.remove("hidden"); - } - hide() { - this.textarea.classList.add("hidden"); - } -} - -class ProseMirrorView { - editorContainer: HTMLDivElement; - view: EditorView; - - constructor(target: HTMLTextAreaElement, content: string) { - this.editorContainer = document.createElement("div"); - this.editorContainer.classList.add("bg-white", "border"); - this.editorContainer.style.minHeight = "200px"; - const editor = target.parentNode?.insertBefore( - this.editorContainer, - target.nextSibling - ); - - this.view = new EditorView(editor, { - state: EditorState.create({ - doc: defaultMarkdownParser.parse(content), - plugins: exampleSetup({ schema }), - }), - dispatchTransaction: (transaction) => { - const newState = this.view.state.apply(transaction); - this.view.updateState(newState); - - if (transaction.docChanged) { - target.innerHTML = this.content(); - } - }, - attributes: { - class: "prose-sm px-3 py-2 overflow-y-auto focus:ring", - style: "min-height: 200px; max-height: 500px", - }, - }); - } - - content(): string { - return defaultMarkdownSerializer.serialize(this.view.state.doc) || ""; - } - focus() { - this.view.focus(); - } - show() { - this.editorContainer.classList.remove("hidden"); - } - hide() { - this.editorContainer.classList.add("hidden"); - } -} - -const MarkdownEditor = (): void => { - const targets: NodeListOf = document.querySelectorAll( - "textarea[data-editor='markdown']" - ); - const activeClass = "font-semibold"; - - for (let i = 0; i < targets.length; i++) { - const target = targets[i]; - - const wysiwygBtn = document.createElement("button"); - wysiwygBtn.classList.add( - activeClass, - "py-1", - "px-2", - "bg-white", - "border", - "text-xs", - "outline-none", - "focus:ring" - ); - wysiwygBtn.setAttribute("type", "button"); - wysiwygBtn.innerHTML = "Wysiwyg"; - const markdownBtn = document.createElement("button"); - markdownBtn.classList.add( - "py-1", - "px-2", - "bg-white", - "border", - "text-xs", - "outline-none", - "focus:ring" - ); - markdownBtn.setAttribute("type", "button"); - markdownBtn.innerHTML = "Markdown"; - - const viewButtons = document.createElement("div"); - viewButtons.appendChild(wysiwygBtn); - viewButtons.appendChild(markdownBtn); - viewButtons.classList.add( - "inline-flex", - "absolute", - "top-0", - "right-0", - "-mt-6" - ); - - const markdownEditorContainer = document.createElement("div"); - markdownEditorContainer.classList.add("relative"); - markdownEditorContainer.style.minHeight = "200px"; - target.parentNode?.appendChild(markdownEditorContainer); - markdownEditorContainer.appendChild(target); - - // show WYSIWYG editor by default - target.classList.add("hidden"); - const markdownView = new MarkdownView(target); - const wysiwygView = new ProseMirrorView(target, markdownView.content()); - - markdownEditorContainer.appendChild(viewButtons); - - markdownBtn.addEventListener("click", () => { - if (markdownBtn.classList.contains(activeClass)) return; - markdownBtn.classList.add(activeClass); - wysiwygBtn.classList.remove(activeClass); - wysiwygView.hide(); - markdownView.show(); - }); - - wysiwygBtn.addEventListener("click", () => { - if (wysiwygBtn.classList.contains(activeClass)) return; - wysiwygBtn.classList.add(activeClass); - markdownBtn.classList.remove(activeClass); - markdownView.hide(); - wysiwygView.show(); - }); - } -}; - -export default MarkdownEditor; diff --git a/app/Resources/js/modules/MultiSelect.ts b/app/Resources/js/modules/MultiSelect.ts index 2a5927fe..34a12592 100644 --- a/app/Resources/js/modules/MultiSelect.ts +++ b/app/Resources/js/modules/MultiSelect.ts @@ -10,8 +10,11 @@ const MultiSelect = (): void => { new Choices(multiSelect, { maxItemCount: parseInt(multiSelect.dataset.maxItemCount || "-1"), + loadingText: multiSelect.dataset.loadingText, itemSelectText: multiSelect.dataset.selectText, maxItemText: multiSelect.dataset.maxItemText, + noChoicesText: multiSelect.dataset.noChoicesText, + noResultsText: multiSelect.dataset.noResultsText, removeItemButton: true, classNames: { containerOuter: "choices", diff --git a/app/Resources/js/modules/Select.ts b/app/Resources/js/modules/Select.ts index e776b14e..d3c5dce4 100644 --- a/app/Resources/js/modules/Select.ts +++ b/app/Resources/js/modules/Select.ts @@ -10,6 +10,11 @@ const Select = (): void => { const select = selects[i]; new Choices(select, { + loadingText: select.dataset.loadingText, + itemSelectText: select.dataset.selectText, + maxItemText: select.dataset.maxItemText, + noChoicesText: select.dataset.noChoicesText, + noResultsText: select.dataset.noResultsText, classNames: { containerOuter: "choices", containerInner: "choices__inner", diff --git a/app/Resources/js/modules/markdown-preview.ts b/app/Resources/js/modules/markdown-preview.ts new file mode 100644 index 00000000..f93b5dc5 --- /dev/null +++ b/app/Resources/js/modules/markdown-preview.ts @@ -0,0 +1,60 @@ +import MarkdownToolbarElement from "@github/markdown-toolbar-element"; +import { html, LitElement, TemplateResult } from "lit"; +import { customElement, property } from "lit/decorators.js"; +import { unsafeHTML } from "lit/directives/unsafe-html.js"; +import marked from "marked"; + +@customElement("markdown-preview") +export class MarkdownPreview extends LitElement { + @property() + for!: string; + + @property() + _textarea!: HTMLTextAreaElement; + + @property() + _markdownToolbar!: MarkdownToolbarElement; + + @property() + _show = false; + + connectedCallback(): void { + super.connectedCallback(); + + this._textarea = document.getElementById(this.for) as HTMLTextAreaElement; + this._markdownToolbar = document.querySelector( + `markdown-toolbar[for=${this.for}]` + ) as MarkdownToolbarElement; + } + + hide(): void { + this._show = false; + this.classList.add("hidden"); + this._markdownToolbar.classList.remove("hidden"); + } + + show(): void { + this._show = true; + this.classList.remove("hidden"); + this._markdownToolbar.classList.add("hidden"); + } + + markdownToHtml(): string { + const renderer = new marked.Renderer(); + renderer.link = function () { + // eslint-disable-next-line prefer-rest-params + const link = marked.Renderer.prototype.link.apply(this, arguments as any); + return link.replace(" { + return html`${this._show + ? html`${unsafeHTML(this.markdownToHtml())}` + : html``}`; + } +} diff --git a/app/Resources/js/modules/markdown-write-preview.ts b/app/Resources/js/modules/markdown-write-preview.ts new file mode 100644 index 00000000..7c8947c3 --- /dev/null +++ b/app/Resources/js/modules/markdown-write-preview.ts @@ -0,0 +1,47 @@ +import { html, LitElement, TemplateResult } from "lit"; +import { customElement, property, queryAssignedNodes } from "lit/decorators.js"; +import { MarkdownPreview } from "./markdown-preview"; + +@customElement("markdown-write-preview") +export class MarkdownWritePreview extends LitElement { + @property() + for!: string; + + @property() + _textarea: HTMLTextAreaElement | null = null; + + @property() + _markdownPreview!: MarkdownPreview; + + @queryAssignedNodes("write", true) + _write!: NodeListOf; + + @queryAssignedNodes("preview", true) + _preview!: NodeListOf; + + connectedCallback(): void { + super.connectedCallback(); + + this._textarea = document.getElementById(this.for) as HTMLTextAreaElement; + this._markdownPreview = document.querySelector( + `markdown-preview[for=${this.for}]` + ) as MarkdownPreview; + } + + write(): void { + this._markdownPreview.hide(); + this._write[0].classList.add("font-semibold"); + this._preview[0].classList.remove("font-semibold"); + } + + preview(): void { + this._markdownPreview.show(); + this._preview[0].classList.add("font-semibold"); + this._write[0].classList.remove("font-semibold"); + } + + render(): TemplateResult<1> { + return html` + `; + } +} diff --git a/app/Resources/types/js/admin.d.ts b/app/Resources/types/js/admin.d.ts index cb0ff5c3..4efc2a2c 100644 --- a/app/Resources/types/js/admin.d.ts +++ b/app/Resources/types/js/admin.d.ts @@ -1 +1,3 @@ -export {}; +import "@github/markdown-toolbar-element"; +import "./modules/markdown-preview"; +import "./modules/markdown-write-preview"; diff --git a/app/Resources/types/js/main.d.ts b/app/Resources/types/js/main.d.ts deleted file mode 100644 index e69de29b..00000000 diff --git a/app/Resources/types/js/modules/MarkdownEditor.d.ts b/app/Resources/types/js/modules/MarkdownEditor.d.ts deleted file mode 100644 index f8d018b6..00000000 --- a/app/Resources/types/js/modules/MarkdownEditor.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import "prosemirror-example-setup/style/style.css"; -import "prosemirror-menu/style/menu.css"; -import "prosemirror-view/style/prosemirror.css"; -declare const MarkdownEditor: () => void; -export default MarkdownEditor; diff --git a/app/Resources/types/js/modules/markdown-preview.d.ts b/app/Resources/types/js/modules/markdown-preview.d.ts new file mode 100644 index 00000000..2132ecef --- /dev/null +++ b/app/Resources/types/js/modules/markdown-preview.d.ts @@ -0,0 +1,13 @@ +import MarkdownToolbarElement from "@github/markdown-toolbar-element"; +import { LitElement, TemplateResult } from "lit"; +export declare class MarkdownPreview extends LitElement { + for: string; + _textarea: HTMLTextAreaElement; + _markdownToolbar: MarkdownToolbarElement; + _show: boolean; + connectedCallback(): void; + hide(): void; + show(): void; + markdownToHtml(): string; + render(): TemplateResult<1>; +} diff --git a/app/Resources/types/js/modules/markdown-write-preview.d.ts b/app/Resources/types/js/modules/markdown-write-preview.d.ts new file mode 100644 index 00000000..1f646a9b --- /dev/null +++ b/app/Resources/types/js/modules/markdown-write-preview.d.ts @@ -0,0 +1,13 @@ +import { LitElement, TemplateResult } from "lit"; +import { MarkdownPreview } from "./markdown-preview"; +export declare class MarkdownWritePreview extends LitElement { + for: string; + _textarea: HTMLTextAreaElement | null; + _markdownPreview: MarkdownPreview; + _write: NodeListOf; + _preview: NodeListOf; + connectedCallback(): void; + write(): void; + preview(): void; + render(): TemplateResult<1>; +} diff --git a/app/Views/admin/_layout.php b/app/Views/admin/_layout.php index ad660a84..c5375af6 100644 --- a/app/Views/admin/_layout.php +++ b/app/Views/admin/_layout.php @@ -20,7 +20,7 @@ include('admin/_sidebar') ?> -
+
diff --git a/app/Views/admin/contributor/add.php b/app/Views/admin/contributor/add.php index 38f3efa4..5c982f2d 100644 --- a/app/Views/admin/contributor/add.php +++ b/app/Views/admin/contributor/add.php @@ -17,7 +17,7 @@ - 'user', 'class' => 'form-select mb-4', 'required' => 'required', @@ -25,7 +25,7 @@ ]) ?> - 'role', 'class' => 'form-select mb-4', 'required' => 'required', diff --git a/app/Views/admin/contributor/edit.php b/app/Views/admin/contributor/edit.php index 33398d99..a0be336a 100644 --- a/app/Views/admin/contributor/edit.php +++ b/app/Views/admin/contributor/edit.php @@ -17,7 +17,7 @@ - 'role', 'class' => 'form-select mb-4', 'required' => 'required', diff --git a/app/Views/admin/episode/create.php b/app/Views/admin/episode/create.php index 77501a20..ef7e2a7d 100644 --- a/app/Views/admin/episode/create.php +++ b/app/Views/admin/episode/create.php @@ -201,15 +201,13 @@
- 'description', 'name' => 'description', - 'class' => 'form-textarea', 'required' => 'required', ], old('description', '', false), - 'data-editor="markdown"', ) ?>
@@ -219,19 +217,18 @@ 'description_footer', [], lang('Episode.form.description_footer_hint'), + true ) ?> - 'description_footer', 'name' => 'description_footer', - 'class' => 'form-textarea', ], old( 'description_footer', $podcast->episode_description_footer_markdown ?? '', false, ), - 'data-editor="markdown"', ) ?>
diff --git a/app/Views/admin/episode/edit.php b/app/Views/admin/episode/edit.php index d394982c..1373b351 100644 --- a/app/Views/admin/episode/edit.php +++ b/app/Views/admin/episode/edit.php @@ -211,15 +211,13 @@
- 'description', 'name' => 'description', - 'class' => 'form-textarea', 'required' => 'required', ], old('description', $episode->description_markdown, false), - 'data-editor="markdown"', ) ?>
@@ -229,19 +227,18 @@ 'description_footer', [], lang('Episode.form.description_footer_hint'), + true ) ?> - 'description_footer', 'name' => 'description_footer', - 'class' => 'form-textarea', ], old( 'description_footer', $podcast->episode_description_footer_markdown ?? '', false, ), - 'data-editor="markdown"', ) ?>
diff --git a/app/Views/admin/page/create.php b/app/Views/admin/page/create.php index 94b00916..75a1ef7f 100644 --- a/app/Views/admin/page/create.php +++ b/app/Views/admin/page/create.php @@ -38,15 +38,14 @@
- 'content', 'name' => 'content', - 'class' => 'form-textarea', 'required' => 'required', ], old('content', '', false), - 'data-editor="markdown"', + ['rows' => '20'] ) ?>
diff --git a/app/Views/admin/page/edit.php b/app/Views/admin/page/edit.php index 3fee95ad..7a2a581a 100644 --- a/app/Views/admin/page/edit.php +++ b/app/Views/admin/page/edit.php @@ -38,15 +38,13 @@
- 'content', 'name' => 'content', - 'class' => 'form-textarea', 'required' => 'required', ], old('content', $page->content_markdown, false), - 'data-editor="markdown"', ) ?>
diff --git a/app/Views/admin/podcast/create.php b/app/Views/admin/podcast/create.php index 97ee5bb4..eb63ac93 100644 --- a/app/Views/admin/podcast/create.php +++ b/app/Views/admin/podcast/create.php @@ -82,15 +82,13 @@
- 'description', 'name' => 'description', - 'class' => 'form-textarea', 'required' => 'required', ], old('description', '', false), - 'data-editor="markdown"', ) ?>
@@ -103,14 +101,14 @@ ) ?> - 'language', 'class' => 'form-select mb-4', 'required' => 'required', ]) ?> - 'category', 'class' => 'form-select mb-4', 'required' => 'required', @@ -127,7 +125,7 @@ 'other_categories', 'class' => 'mb-4', @@ -282,11 +280,11 @@
-
+
'text-sm'], lang('Podcast.form.partner_id_hint'), true, ) ?> @@ -297,11 +295,11 @@ 'value' => old('partner_id'), ]) ?>
-
+
'text-sm'], lang('Podcast.form.partner_link_url_hint'), true, ) ?> @@ -312,11 +310,11 @@ 'value' => old('partner_link_url'), ]) ?>
-
+
'text-sm'], lang('Podcast.form.partner_image_url_hint'), true, ) ?> diff --git a/app/Views/admin/podcast/edit.php b/app/Views/admin/podcast/edit.php index c0ca9e64..a49bdf17 100644 --- a/app/Views/admin/podcast/edit.php +++ b/app/Views/admin/podcast/edit.php @@ -68,15 +68,12 @@
- 'description', 'name' => 'description', - 'class' => 'form-textarea', 'required' => 'required', ], - old('description', $podcast->description_markdown, false), - 'data-editor="markdown"', + old('description', $podcast->description_markdown, false) ) ?>
@@ -92,7 +89,7 @@ language_code), + [old('language', $podcast->language_code)], [ 'id' => 'language', 'class' => 'form-select mb-4', @@ -104,7 +101,7 @@ category_id), + [old('category', (string) $podcast->category_id)], [ 'id' => 'category', 'class' => 'form-select mb-4', diff --git a/app/Views/admin/podcast/import.php b/app/Views/admin/podcast/import.php index 0172e854..369a8a4b 100644 --- a/app/Views/admin/podcast/import.php +++ b/app/Views/admin/podcast/import.php @@ -68,14 +68,14 @@
- 'language', 'class' => 'form-select mb-4', 'required' => 'required', ]) ?> - 'category', 'class' => 'form-select mb-4', 'required' => 'required', diff --git a/app/Views/install/cache_config.php b/app/Views/install/cache_config.php index 3a254303..0f54c0fb 100644 --- a/app/Views/install/cache_config.php +++ b/app/Views/install/cache_config.php @@ -23,7 +23,7 @@ 'redis' => lang('Install.form.cacheHandlerOptions.redis'), 'predis' => lang('Install.form.cacheHandlerOptions.predis'), ], - old('cache_handler', 'file'), + [old('cache_handler', 'file')], [ 'id' => 'cache_handler', 'name' => 'cache_handler', diff --git a/package-lock.json b/package-lock.json index 247882c2..de1db64d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,17 +11,14 @@ "dependencies": { "@amcharts/amcharts4": "^4.10.20", "@amcharts/amcharts4-geodata": "^4.1.21", + "@github/markdown-toolbar-element": "^1.5.1", "@popperjs/core": "^2.9.2", - "@rollup/plugin-multi-entry": "^4.0.0", "choices.js": "^9.0.1", "flatpickr": "^4.6.9", "leaflet": "^1.7.1", "leaflet.markercluster": "^1.5.1", "lit": "^2.0.0-rc.2", - "prosemirror-example-setup": "^1.1.2", - "prosemirror-markdown": "^1.5.1", - "prosemirror-state": "^1.3.4", - "prosemirror-view": "^1.18.11" + "marked": "^2.1.3" }, "devDependencies": { <<<<<<< HEAD @@ -46,10 +43,11 @@ "@tailwindcss/typography": "^0.4.1", >>>>>>> dfa437f (fix: rename podcast name to podcast handle to clarify field usage) "@types/leaflet": "^1.7.5", + "@types/marked": "^2.0.4", "@types/prosemirror-markdown": "^1.5.2", "@types/prosemirror-view": "^1.18.0", - "@typescript-eslint/eslint-plugin": "^4.28.4", - "@typescript-eslint/parser": "^4.28.4", + "@typescript-eslint/eslint-plugin": "^4.28.5", + "@typescript-eslint/parser": "^4.28.5", "cpy-cli": "^3.1.1", "cross-env": "^7.0.3", "cssnano": "^5.0.7", @@ -60,6 +58,7 @@ "husky": "^7.0.1", "is-ci": "^3.0.0", "lint-staged": "^11.1.1", + "lit": "^2.0.0-rc.2", "postcss-import": "^14.0.2", "postcss-preset-env": "^6.7.0", <<<<<<< HEAD @@ -83,8 +82,12 @@ "svgo": "^2.3.1", "tailwindcss": "^2.2.7", "typescript": "^4.3.5", +<<<<<<< HEAD "vite": "^2.4.3" >>>>>>> dfa437f (fix: rename podcast name to podcast handle to clarify field usage) +======= + "vite": "^2.4.4" +>>>>>>> 87ca2cf (fix(md-editor): build new markdown editor with lit + github/markdown-toolbar-element) } }, "node_modules/@amcharts/amcharts4": { @@ -1118,6 +1121,11 @@ "resolved": "https://registry.npmjs.org/@foliojs-fork/restructure/-/restructure-2.0.2.tgz", "integrity": "sha512-59SgoZ3EXbkfSX7b63tsou/SDGzwUEK6MuB5sKqgVK1/XE0fxmpsOb9DQI8LXW3KfGnAjImCGhhEb7uPPAUVNA==" }, + "node_modules/@github/markdown-toolbar-element": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@github/markdown-toolbar-element/-/markdown-toolbar-element-1.5.3.tgz", + "integrity": "sha512-fNgAuHBWWzqxMvkTMM7ijqPryLmnPVOi4OWp8YyUC74YgtJCRvQyL7gl9SzNLMXmGQxiRVIYbUJxa61X1oRObw==" + }, "node_modules/@humanwhocodes/config-array": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", @@ -1141,7 +1149,8 @@ "node_modules/@lit/reactive-element": { "version": "1.0.0-rc.2", "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.0.0-rc.2.tgz", - "integrity": "sha512-cujeIl5Ei8FC7UHf4/4Q3bRJOtdTe1vpJV/JEBYCggedmQ+2P8A2oz7eE+Vxi6OJ4nc0X+KZxXnBoH4QrEbmEQ==" + "integrity": "sha512-cujeIl5Ei8FC7UHf4/4Q3bRJOtdTe1vpJV/JEBYCggedmQ+2P8A2oz7eE+Vxi6OJ4nc0X+KZxXnBoH4QrEbmEQ==", + "dev": true }, "node_modules/@mrmlnc/readdir-enhanced": { "version": "2.2.1", @@ -1360,29 +1369,6 @@ "url": "https://opencollective.com/popperjs" } }, - "node_modules/@rollup/plugin-multi-entry": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-multi-entry/-/plugin-multi-entry-4.0.0.tgz", - "integrity": "sha512-1Sw86rwFxrNS7ECY3iSZ7T940xKnruNGpmQDgSDVTp+VTa1g5cPXNzBgp+IoOer41CiVeGFLwYwvicVoJLHEDQ==", - "dependencies": { - "@rollup/plugin-virtual": "^2.0.3", - "matched": "^5.0.0" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0 || ^2.0.0" - } - }, - "node_modules/@rollup/plugin-virtual": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@rollup/plugin-virtual/-/plugin-virtual-2.0.3.tgz", - "integrity": "sha512-pw6ziJcyjZtntQ//bkad9qXaBx665SgEL8C8KI5wO8G5iU5MPxvdWrQyVaAvjojGm9tJoS8M9Z/EEepbqieYmw==", - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" - } - }, "node_modules/@semantic-release/changelog": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/@semantic-release/changelog/-/changelog-6.0.1.tgz", @@ -2295,6 +2281,12 @@ "@types/mdurl": "*" } }, + "node_modules/@types/marked": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/marked/-/marked-2.0.5.tgz", + "integrity": "sha512-shRZ7XnYFD/8n8zSjKvFdto1QNSf4tONZIlNEZGrJe8GsOE8DL/hG1Hbl8gZlfLnjS7+f5tZGIaTgfpyW38h4w==", + "dev": true + }, "node_modules/@types/mdast": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.3.tgz", @@ -2414,7 +2406,8 @@ "node_modules/@types/trusted-types": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-1.0.6.tgz", - "integrity": "sha512-230RC8sFeHoT6sSUlRO6a8cAnclO06eeiq1QDfiv2FGCLWFvvERWgwIQD4FWqD9A69BN7Lzee4OXwoMVnnsWDw==" + "integrity": "sha512-230RC8sFeHoT6sSUlRO6a8cAnclO06eeiq1QDfiv2FGCLWFvvERWgwIQD4FWqD9A69BN7Lzee4OXwoMVnnsWDw==", + "dev": true }, "node_modules/@types/unist": { "version": "2.0.3", @@ -2848,6 +2841,7 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, "dependencies": { "sprintf-js": "~1.0.2" } @@ -4885,11 +4879,6 @@ "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", "dev": true }, - "node_modules/crelt": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.4.tgz", - "integrity": "sha512-l1cwMUOssGLEj5zgbut4lxJq95ZabOXVZnDybNqQRUtXh1lvUK7e7kJNm8SfvTQzYpE3AVJhIVUJKf382lMA7A==" - }, "node_modules/cross-env": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", @@ -6227,84 +6216,6 @@ "esbuild-windows-arm64": "0.13.9" } }, - "node_modules/esbuild-android-arm64": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.13.9.tgz", - "integrity": "sha512-Ty0hKldtjJVLHwUwbKR4GFPiXBo5iQ3aE1OLBar9lh3myaRkUGEb+Ypl74LEKa0+t/9lS3Ev1N5+5P2Sq6UvNQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/esbuild-darwin-64": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.13.9.tgz", - "integrity": "sha512-Ay0/b98v0oYp3ApXNQ7QPbaSkCT9WjBU6h8bMB1SYrQ/PmHgwph91fb9V0pfOLKK1rYWypfrNbI0MyT2tWN+rQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/esbuild-darwin-arm64": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.13.9.tgz", - "integrity": "sha512-nJB8chaJdWathCe6EyIiMIqfyEzbuXPyNsPlL3bYRB1zFCF8feXT874D4IHbJ/w8B6BpY3sM1Clr/I/DK8E4ow==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/esbuild-freebsd-64": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.13.9.tgz", - "integrity": "sha512-ktaBujf12XLkVXLGx7WjFcmh1tt34tm7gP4pHkhvbzbHrq+BbXwcl4EsW+5JT9VNKl7slOGf4Qnua/VW7ZcnIw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/esbuild-freebsd-arm64": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.13.9.tgz", - "integrity": "sha512-vVa5zps4dmwpXwv/amxVpIWvFJuUPWQkpV+PYtZUW9lqjXsQ3LBHP51Q1cXZZBIrqwszLsEyJPa5GuDOY15hzQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/esbuild-linux-32": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.13.9.tgz", - "integrity": "sha512-HxoW9QNqhO8VW1l7aBiYQH4lobeHq85+blZ4nlZ7sg5CNhGRRwnMlV6S08VYKz6V0YKnHb5OqJxx2HZuTZ7tgQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, "node_modules/esbuild-linux-64": { "version": "0.13.9", "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.13.9.tgz", @@ -6318,136 +6229,6 @@ "linux" ] }, - "node_modules/esbuild-linux-arm": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.13.9.tgz", - "integrity": "sha512-DT0S+ufCVXatPZHjkCaBgZSFIV8FzY4GEHz/BlkitTWzUvT1dIUXjPIRPnqBUVa+0AyS1bZSfHzv9hTT4LHz7A==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/esbuild-linux-arm64": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.13.9.tgz", - "integrity": "sha512-IjbhZpW5VQYK4nVI4dj/mLvH5oXAIf57OI8BYVkCqrdVXJwR8nVrSqux3zJSY+ElrkOK3DtG9iTPpmqvBXaU0g==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/esbuild-linux-mips64le": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.13.9.tgz", - "integrity": "sha512-ec9RgAM4r+fe1ZmG16qeMwEHdcIvqeW8tpnpkfSQu9T4487KtQF6lg3TQasTarrLLEe7Qpy+E+r4VwC8eeZySQ==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/esbuild-linux-ppc64le": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.13.9.tgz", - "integrity": "sha512-7b2/wg8T1n/L1BgCWlMSez0aXfGkNjFuOqMBQdnTti3LRuUwzGJcrhRf/FdZGJ5/evML9mqu60vLRuXW1TdXCg==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/esbuild-netbsd-64": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.13.9.tgz", - "integrity": "sha512-PiZu3h4+Szj0iZPgvuD2Y0isOXnlNetmF6jMcOwW54BScwynW24/baE+z7PfDyNFgjV04Ga2THdcpbKBDhgWQw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ] - }, - "node_modules/esbuild-openbsd-64": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.13.9.tgz", - "integrity": "sha512-SJKN4Ez+ilY7mu+1gAdGQ9N6dktBfbEkiOAvw+hT7xHrNnTnrTGH0FT4qx9dazB9HX6D04L4PXmVOyynqi+oEQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ] - }, - "node_modules/esbuild-sunos-64": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.13.9.tgz", - "integrity": "sha512-9N0RjZ7cElE8ifrS0nBrLQgBMQNPiIIKO2GzLXy7Ms8AM3KjfLiV2G2+9O0B9paXjRAHchIwazTeOyeWb1vyWA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ] - }, - "node_modules/esbuild-windows-32": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.13.9.tgz", - "integrity": "sha512-awxWs1kns+RfjhqBbTbdlePjqZrAE2XMaAQJNg9dtu+C7ghC3QKsqXbu0C26OuF5YeAdJcq9q+IdG6WPLjvj9w==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/esbuild-windows-64": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.13.9.tgz", - "integrity": "sha512-VmA9GQMCzOr8rFfD72Dum1+AWhJui7ZO6sYwp6rBHYu4vLmWITTSUsd/zgXXmZuHBPkkvxLJLF8XsKFCRKflJA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/esbuild-windows-arm64": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.13.9.tgz", - "integrity": "sha512-P/jPY2JwmTpgEPh9BkXpCe690tcDSSo0K9BHTniSeEAEz26kPpqldVa4XDm0R+hNnFA7ecEgNskr4QAxE1ry0w==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, "node_modules/escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -7678,19 +7459,6 @@ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -9581,14 +9349,6 @@ "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", "dev": true }, - "node_modules/linkify-it": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", - "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==", - "dependencies": { - "uc.micro": "^1.0.1" - } - }, "node_modules/lint-staged": { "version": "11.2.4", "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-11.2.4.tgz", @@ -9811,6 +9571,7 @@ "version": "2.0.0-rc.2", "resolved": "https://registry.npmjs.org/lit/-/lit-2.0.0-rc.2.tgz", "integrity": "sha512-BOCuoJR04WaTV8UqTKk09cNcQA10Aq2LCcBOiHuF7TzWH5RNDsbCBP5QM9sLBSotGTXbDug/gFO08jq6TbyEtw==", + "dev": true, "dependencies": { "@lit/reactive-element": "^1.0.0-rc.2", "lit-element": "^3.0.0-rc.2", @@ -9821,6 +9582,7 @@ "version": "3.0.0-rc.2", "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.0.0-rc.2.tgz", "integrity": "sha512-2Z7DabJ3b5K+p5073vFjMODoaWqy5PIaI4y6ADKm+fCGc8OnX9fU9dMoUEBZjFpd/bEFR9PBp050tUtBnT9XTQ==", + "dev": true, "dependencies": { "@lit/reactive-element": "^1.0.0-rc.2", "lit-html": "^2.0.0-rc.3" @@ -9830,6 +9592,7 @@ "version": "2.0.0-rc.3", "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.0.0-rc.3.tgz", "integrity": "sha512-Y6P8LlAyQuqvzq6l/Nc4z5/P5M/rVLYKQIRxcNwSuGajK0g4kbcBFQqZmgvqKG+ak+dHZjfm2HUw9TF5N/pkCw==", + "dev": true, "dependencies": { "@types/trusted-types": "^1.0.1" } @@ -10279,31 +10042,14 @@ "node": ">=0.10.0" } }, - "node_modules/markdown-it": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-10.0.0.tgz", - "integrity": "sha512-YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg==", - "dependencies": { - "argparse": "^1.0.7", - "entities": "~2.0.0", - "linkify-it": "^2.0.0", - "mdurl": "^1.0.1", - "uc.micro": "^1.0.5" - }, - "bin": { - "markdown-it": "bin/markdown-it.js" - } - }, - "node_modules/markdown-it/node_modules/entities": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", - "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==" - }, "node_modules/marked": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/marked/-/marked-2.1.3.tgz", "integrity": "sha512-/Q+7MGzaETqifOMWYEA7HVMaZb4XbcRfaOzcSsHZEith83KGlvaSG33u0SKu89Mj5h+T8V2hM+8O45Qc5XTgwA==", +<<<<<<< HEAD "dev": true, +======= +>>>>>>> 87ca2cf (fix(md-editor): build new markdown editor with lit + github/markdown-toolbar-element) "bin": { "marked": "bin/marked" }, @@ -10355,21 +10101,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/matched": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/matched/-/matched-5.0.1.tgz", - "integrity": "sha512-E1fhSTPRyhAlNaNvGXAgZQlq1hL0bgYMTk/6bktVlIhzUnX/SZs7296ACdVeNJE8xFNGSuvd9IpI7vSnmcqLvw==", - "dependencies": { - "glob": "^7.1.6", - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, "node_modules/mathml-tag-names": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", @@ -10425,11 +10156,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/mdurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" - }, "node_modules/meow": { "version": "8.1.2", "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", @@ -13994,11 +13720,6 @@ "node": ">= 0.8.0" } }, - "node_modules/orderedmap": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/orderedmap/-/orderedmap-1.1.1.tgz", - "integrity": "sha512-3Ux8um0zXbVacKUkcytc0u3HgC0b0bBLT+I60r2J/En72cI0nZffqrA7Xtf2Hqs27j1g82llR5Mhbd0Z1XW4AQ==" - }, "node_modules/os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", @@ -14379,6 +14100,7 @@ "version": "2.2.3", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz", "integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==", + "dev": true, "engines": { "node": ">=8.6" }, @@ -17914,145 +17636,6 @@ "node": ">=0.4.0" } }, - "node_modules/prosemirror-commands": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/prosemirror-commands/-/prosemirror-commands-1.1.4.tgz", - "integrity": "sha512-kj4Qi+8h3EpJtZuuEDwZ9h2/QNGWDsIX/CzjmClxi9GhxWyBUMVUvIFk0mgdqHyX20lLeGmOpc0TLA5aPzgpWg==", - "dependencies": { - "prosemirror-model": "^1.0.0", - "prosemirror-state": "^1.0.0", - "prosemirror-transform": "^1.0.0" - } - }, - "node_modules/prosemirror-dropcursor": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/prosemirror-dropcursor/-/prosemirror-dropcursor-1.3.2.tgz", - "integrity": "sha512-4c94OUGyobGnwcQI70OXyMhE/9T4aTgjU+CHxkd5c7D+jH/J0mKM/lk+jneFVKt7+E4/M0D9HzRPifu8U28Thw==", - "dependencies": { - "prosemirror-state": "^1.0.0", - "prosemirror-transform": "^1.1.0", - "prosemirror-view": "^1.1.0" - } - }, - "node_modules/prosemirror-example-setup": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prosemirror-example-setup/-/prosemirror-example-setup-1.1.2.tgz", - "integrity": "sha512-MTpIMyqk08jFnzxeRMCinCEMtVSTUtxKgQBGxfCbVe9C6zIOqp9qZZJz5Ojaad1GETySyuj8+OIHHvQsIaaaGQ==", - "dependencies": { - "prosemirror-commands": "^1.0.0", - "prosemirror-dropcursor": "^1.0.0", - "prosemirror-gapcursor": "^1.0.0", - "prosemirror-history": "^1.0.0", - "prosemirror-inputrules": "^1.0.0", - "prosemirror-keymap": "^1.0.0", - "prosemirror-menu": "^1.0.0", - "prosemirror-schema-list": "^1.0.0", - "prosemirror-state": "^1.0.0" - } - }, - "node_modules/prosemirror-gapcursor": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/prosemirror-gapcursor/-/prosemirror-gapcursor-1.1.5.tgz", - "integrity": "sha512-SjbUZq5pgsBDuV3hu8GqgIpZR5eZvGLM+gPQTqjVVYSMUCfKW3EGXTEYaLHEl1bGduwqNC95O3bZflgtAb4L6w==", - "dependencies": { - "prosemirror-keymap": "^1.0.0", - "prosemirror-model": "^1.0.0", - "prosemirror-state": "^1.0.0", - "prosemirror-view": "^1.0.0" - } - }, - "node_modules/prosemirror-history": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/prosemirror-history/-/prosemirror-history-1.1.3.tgz", - "integrity": "sha512-zGDotijea+vnfnyyUGyiy1wfOQhf0B/b6zYcCouBV8yo6JmrE9X23M5q7Nf/nATywEZbgRLG70R4DmfSTC+gfg==", - "dependencies": { - "prosemirror-state": "^1.2.2", - "prosemirror-transform": "^1.0.0", - "rope-sequence": "^1.3.0" - } - }, - "node_modules/prosemirror-inputrules": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prosemirror-inputrules/-/prosemirror-inputrules-1.1.2.tgz", - "integrity": "sha512-Ja5Z3BWestlHYGvtSGqyvxMeB8QEuBjlHM8YnKtLGUXMDp965qdDV4goV8lJb17kIWHk7e7JNj6Catuoa3302g==", - "dependencies": { - "prosemirror-state": "^1.0.0", - "prosemirror-transform": "^1.0.0" - } - }, - "node_modules/prosemirror-keymap": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/prosemirror-keymap/-/prosemirror-keymap-1.1.4.tgz", - "integrity": "sha512-Al8cVUOnDFL4gcI5IDlG6xbZ0aOD/i3B17VT+1JbHWDguCgt/lBHVTHUBcKvvbSg6+q/W4Nj1Fu6bwZSca3xjg==", - "dependencies": { - "prosemirror-state": "^1.0.0", - "w3c-keyname": "^2.2.0" - } - }, - "node_modules/prosemirror-markdown": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/prosemirror-markdown/-/prosemirror-markdown-1.5.1.tgz", - "integrity": "sha512-QvucPHx+gKOQW1SETKUysrful9VBjKqpCFmPotgLfVZ3BdQEGy/NEIFhaXXo3TcuW316MMnKfA90K7GE5I7z8A==", - "dependencies": { - "markdown-it": "^10.0.0", - "prosemirror-model": "^1.0.0" - } - }, - "node_modules/prosemirror-menu": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/prosemirror-menu/-/prosemirror-menu-1.1.4.tgz", - "integrity": "sha512-2ROsji/X9ciDnVSRvSTqFygI34GEdHfQSsK4zBKjPxSEroeiHHcdRMS1ofNIf2zM0Vpp5/YqfpxynElymQkqzg==", - "dependencies": { - "crelt": "^1.0.0", - "prosemirror-commands": "^1.0.0", - "prosemirror-history": "^1.0.0", - "prosemirror-state": "^1.0.0" - } - }, - "node_modules/prosemirror-model": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/prosemirror-model/-/prosemirror-model-1.15.0.tgz", - "integrity": "sha512-hQJv7SnIhlAy9ga3lhPPgaufhvCbQB9tHwscJ9E1H1pPHmN8w5V/lURueoYv9Kc3/bpNWoyHa8r3g//m7N0ChQ==", - "dependencies": { - "orderedmap": "^1.1.0" - } - }, - "node_modules/prosemirror-schema-list": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prosemirror-schema-list/-/prosemirror-schema-list-1.1.2.tgz", - "integrity": "sha512-dgM9PwtM4twa5WsgSYMB+J8bwjnR43DAD3L9MsR9rKm/nZR5Y85xcjB7gusVMSsbQ2NomMZF03RE6No6mTnclQ==", - "dependencies": { - "prosemirror-model": "^1.0.0", - "prosemirror-transform": "^1.0.0" - } - }, - "node_modules/prosemirror-state": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/prosemirror-state/-/prosemirror-state-1.3.4.tgz", - "integrity": "sha512-Xkkrpd1y/TQ6HKzN3agsQIGRcLckUMA9u3j207L04mt8ToRgpGeyhbVv0HI7omDORIBHjR29b7AwlATFFf2GLA==", - "dependencies": { - "prosemirror-model": "^1.0.0", - "prosemirror-transform": "^1.0.0" - } - }, - "node_modules/prosemirror-transform": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/prosemirror-transform/-/prosemirror-transform-1.2.7.tgz", - "integrity": "sha512-/107Lo2zeDgXuJBxb8s/clNu0Z2W8Gv3MKmkuSS/68Mcr7LBaUnN/Hj2g+GUxEJ7MpExCzFs65GrsNo2K9rxUQ==", - "dependencies": { - "prosemirror-model": "^1.0.0" - } - }, - "node_modules/prosemirror-view": { - "version": "1.20.3", - "resolved": "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.20.3.tgz", - "integrity": "sha512-2ImL9K/tIEk+aC2GT8shzfmT2U0Y8UQZ13L5AY0A4Tcj09o/ICGE362gKUE3Ze/Xr/nMw61Zv5JMSQUszAj9dw==", - "dependencies": { - "prosemirror-model": "^1.14.3", - "prosemirror-state": "^1.0.0", - "prosemirror-transform": "^1.1.0" - } - }, "node_modules/protocols": { "version": "1.4.8", "resolved": "https://registry.npmjs.org/protocols/-/protocols-1.4.8.tgz", @@ -18691,6 +18274,7 @@ "version": "2.58.3", "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.58.3.tgz", "integrity": "sha512-ei27MSw1KhRur4p87Q0/Va2NAYqMXOX++FNEumMBcdreIRLURKy+cE2wcDJKBn0nfmhP2ZGrJkP1XPO+G8FJQw==", + "dev": true, "bin": { "rollup": "dist/bin/rollup" }, @@ -18701,11 +18285,6 @@ "fsevents": "~2.3.2" } }, - "node_modules/rope-sequence": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/rope-sequence/-/rope-sequence-1.3.2.tgz", - "integrity": "sha512-ku6MFrwEVSVmXLvy3dYph3LAMNS0890K7fabn+0YIRQ2T96T9F4gkFf0vf0WW0JUraNWwGRtInEpH7yO4tbQZg==" - }, "node_modules/run-async": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", @@ -19502,7 +19081,8 @@ "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true }, "node_modules/ssf": { "version": "0.11.2", @@ -21316,11 +20896,6 @@ "node": ">=4.2.0" } }, - "node_modules/uc.micro": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", - "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" - }, "node_modules/uglify-js": { "version": "2.8.29", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", @@ -21773,11 +21348,6 @@ "browser-process-hrtime": "^1.0.0" } }, - "node_modules/w3c-keyname": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.4.tgz", - "integrity": "sha512-tOhfEwEzFLJzf6d1ZPkYfGj+FWhIpBux9ppoP3rlclw3Z0BZv3N7b7030Z1kYth+6rDuAsXUFr+d0VE6Ed1ikw==" - }, "node_modules/w3c-xmlserializer": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", @@ -23087,6 +22657,11 @@ "resolved": "https://registry.npmjs.org/@foliojs-fork/restructure/-/restructure-2.0.2.tgz", "integrity": "sha512-59SgoZ3EXbkfSX7b63tsou/SDGzwUEK6MuB5sKqgVK1/XE0fxmpsOb9DQI8LXW3KfGnAjImCGhhEb7uPPAUVNA==" }, + "@github/markdown-toolbar-element": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@github/markdown-toolbar-element/-/markdown-toolbar-element-1.5.3.tgz", + "integrity": "sha512-fNgAuHBWWzqxMvkTMM7ijqPryLmnPVOi4OWp8YyUC74YgtJCRvQyL7gl9SzNLMXmGQxiRVIYbUJxa61X1oRObw==" + }, "@humanwhocodes/config-array": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", @@ -23107,7 +22682,8 @@ "@lit/reactive-element": { "version": "1.0.0-rc.2", "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.0.0-rc.2.tgz", - "integrity": "sha512-cujeIl5Ei8FC7UHf4/4Q3bRJOtdTe1vpJV/JEBYCggedmQ+2P8A2oz7eE+Vxi6OJ4nc0X+KZxXnBoH4QrEbmEQ==" + "integrity": "sha512-cujeIl5Ei8FC7UHf4/4Q3bRJOtdTe1vpJV/JEBYCggedmQ+2P8A2oz7eE+Vxi6OJ4nc0X+KZxXnBoH4QrEbmEQ==", + "dev": true }, "@mrmlnc/readdir-enhanced": { "version": "2.2.1", @@ -23322,21 +22898,6 @@ "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.10.2.tgz", "integrity": "sha512-IXf3XA7+XyN7CP9gGh/XB0UxVMlvARGEgGXLubFICsUMGz6Q+DU+i4gGlpOxTjKvXjkJDJC8YdqdKkDj9qZHEQ==" }, - "@rollup/plugin-multi-entry": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-multi-entry/-/plugin-multi-entry-4.0.0.tgz", - "integrity": "sha512-1Sw86rwFxrNS7ECY3iSZ7T940xKnruNGpmQDgSDVTp+VTa1g5cPXNzBgp+IoOer41CiVeGFLwYwvicVoJLHEDQ==", - "requires": { - "@rollup/plugin-virtual": "^2.0.3", - "matched": "^5.0.0" - } - }, - "@rollup/plugin-virtual": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@rollup/plugin-virtual/-/plugin-virtual-2.0.3.tgz", - "integrity": "sha512-pw6ziJcyjZtntQ//bkad9qXaBx665SgEL8C8KI5wO8G5iU5MPxvdWrQyVaAvjojGm9tJoS8M9Z/EEepbqieYmw==", - "requires": {} - }, "@semantic-release/changelog": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/@semantic-release/changelog/-/changelog-5.0.1.tgz", @@ -23919,6 +23480,12 @@ "@types/mdurl": "*" } }, + "@types/marked": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/marked/-/marked-2.0.5.tgz", + "integrity": "sha512-shRZ7XnYFD/8n8zSjKvFdto1QNSf4tONZIlNEZGrJe8GsOE8DL/hG1Hbl8gZlfLnjS7+f5tZGIaTgfpyW38h4w==", + "dev": true + }, "@types/mdast": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.3.tgz", @@ -24038,7 +23605,8 @@ "@types/trusted-types": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-1.0.6.tgz", - "integrity": "sha512-230RC8sFeHoT6sSUlRO6a8cAnclO06eeiq1QDfiv2FGCLWFvvERWgwIQD4FWqD9A69BN7Lzee4OXwoMVnnsWDw==" + "integrity": "sha512-230RC8sFeHoT6sSUlRO6a8cAnclO06eeiq1QDfiv2FGCLWFvvERWgwIQD4FWqD9A69BN7Lzee4OXwoMVnnsWDw==", + "dev": true }, "@types/unist": { "version": "2.0.3", @@ -24331,6 +23899,7 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, "requires": { "sprintf-js": "~1.0.2" } @@ -26343,6 +25912,7 @@ "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", "dev": true }, +<<<<<<< HEAD "crelt": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.4.tgz", @@ -26354,6 +25924,8 @@ "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz", "integrity": "sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==", ======= +======= +>>>>>>> 87ca2cf (fix(md-editor): build new markdown editor with lit + github/markdown-toolbar-element) "cross-env": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", @@ -27503,48 +27075,6 @@ "esbuild-windows-arm64": "0.13.9" } }, - "esbuild-android-arm64": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.13.9.tgz", - "integrity": "sha512-Ty0hKldtjJVLHwUwbKR4GFPiXBo5iQ3aE1OLBar9lh3myaRkUGEb+Ypl74LEKa0+t/9lS3Ev1N5+5P2Sq6UvNQ==", - "dev": true, - "optional": true - }, - "esbuild-darwin-64": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.13.9.tgz", - "integrity": "sha512-Ay0/b98v0oYp3ApXNQ7QPbaSkCT9WjBU6h8bMB1SYrQ/PmHgwph91fb9V0pfOLKK1rYWypfrNbI0MyT2tWN+rQ==", - "dev": true, - "optional": true - }, - "esbuild-darwin-arm64": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.13.9.tgz", - "integrity": "sha512-nJB8chaJdWathCe6EyIiMIqfyEzbuXPyNsPlL3bYRB1zFCF8feXT874D4IHbJ/w8B6BpY3sM1Clr/I/DK8E4ow==", - "dev": true, - "optional": true - }, - "esbuild-freebsd-64": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.13.9.tgz", - "integrity": "sha512-ktaBujf12XLkVXLGx7WjFcmh1tt34tm7gP4pHkhvbzbHrq+BbXwcl4EsW+5JT9VNKl7slOGf4Qnua/VW7ZcnIw==", - "dev": true, - "optional": true - }, - "esbuild-freebsd-arm64": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.13.9.tgz", - "integrity": "sha512-vVa5zps4dmwpXwv/amxVpIWvFJuUPWQkpV+PYtZUW9lqjXsQ3LBHP51Q1cXZZBIrqwszLsEyJPa5GuDOY15hzQ==", - "dev": true, - "optional": true - }, - "esbuild-linux-32": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.13.9.tgz", - "integrity": "sha512-HxoW9QNqhO8VW1l7aBiYQH4lobeHq85+blZ4nlZ7sg5CNhGRRwnMlV6S08VYKz6V0YKnHb5OqJxx2HZuTZ7tgQ==", - "dev": true, - "optional": true - }, "esbuild-linux-64": { "version": "0.13.9", "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.13.9.tgz", @@ -27552,76 +27082,6 @@ "dev": true, "optional": true }, - "esbuild-linux-arm": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.13.9.tgz", - "integrity": "sha512-DT0S+ufCVXatPZHjkCaBgZSFIV8FzY4GEHz/BlkitTWzUvT1dIUXjPIRPnqBUVa+0AyS1bZSfHzv9hTT4LHz7A==", - "dev": true, - "optional": true - }, - "esbuild-linux-arm64": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.13.9.tgz", - "integrity": "sha512-IjbhZpW5VQYK4nVI4dj/mLvH5oXAIf57OI8BYVkCqrdVXJwR8nVrSqux3zJSY+ElrkOK3DtG9iTPpmqvBXaU0g==", - "dev": true, - "optional": true - }, - "esbuild-linux-mips64le": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.13.9.tgz", - "integrity": "sha512-ec9RgAM4r+fe1ZmG16qeMwEHdcIvqeW8tpnpkfSQu9T4487KtQF6lg3TQasTarrLLEe7Qpy+E+r4VwC8eeZySQ==", - "dev": true, - "optional": true - }, - "esbuild-linux-ppc64le": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.13.9.tgz", - "integrity": "sha512-7b2/wg8T1n/L1BgCWlMSez0aXfGkNjFuOqMBQdnTti3LRuUwzGJcrhRf/FdZGJ5/evML9mqu60vLRuXW1TdXCg==", - "dev": true, - "optional": true - }, - "esbuild-netbsd-64": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.13.9.tgz", - "integrity": "sha512-PiZu3h4+Szj0iZPgvuD2Y0isOXnlNetmF6jMcOwW54BScwynW24/baE+z7PfDyNFgjV04Ga2THdcpbKBDhgWQw==", - "dev": true, - "optional": true - }, - "esbuild-openbsd-64": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.13.9.tgz", - "integrity": "sha512-SJKN4Ez+ilY7mu+1gAdGQ9N6dktBfbEkiOAvw+hT7xHrNnTnrTGH0FT4qx9dazB9HX6D04L4PXmVOyynqi+oEQ==", - "dev": true, - "optional": true - }, - "esbuild-sunos-64": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.13.9.tgz", - "integrity": "sha512-9N0RjZ7cElE8ifrS0nBrLQgBMQNPiIIKO2GzLXy7Ms8AM3KjfLiV2G2+9O0B9paXjRAHchIwazTeOyeWb1vyWA==", - "dev": true, - "optional": true - }, - "esbuild-windows-32": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.13.9.tgz", - "integrity": "sha512-awxWs1kns+RfjhqBbTbdlePjqZrAE2XMaAQJNg9dtu+C7ghC3QKsqXbu0C26OuF5YeAdJcq9q+IdG6WPLjvj9w==", - "dev": true, - "optional": true - }, - "esbuild-windows-64": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.13.9.tgz", - "integrity": "sha512-VmA9GQMCzOr8rFfD72Dum1+AWhJui7ZO6sYwp6rBHYu4vLmWITTSUsd/zgXXmZuHBPkkvxLJLF8XsKFCRKflJA==", - "dev": true, - "optional": true - }, - "esbuild-windows-arm64": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.13.9.tgz", - "integrity": "sha512-P/jPY2JwmTpgEPh9BkXpCe690tcDSSo0K9BHTniSeEAEz26kPpqldVa4XDm0R+hNnFA7ecEgNskr4QAxE1ry0w==", - "dev": true, - "optional": true - }, "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -28637,12 +28097,6 @@ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "optional": true - }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -32234,14 +31688,6 @@ "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", "dev": true }, - "linkify-it": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", - "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==", - "requires": { - "uc.micro": "^1.0.1" - } - }, "lint-staged": { "version": "10.5.4", "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-10.5.4.tgz", @@ -32418,6 +31864,7 @@ "version": "2.0.0-rc.2", "resolved": "https://registry.npmjs.org/lit/-/lit-2.0.0-rc.2.tgz", "integrity": "sha512-BOCuoJR04WaTV8UqTKk09cNcQA10Aq2LCcBOiHuF7TzWH5RNDsbCBP5QM9sLBSotGTXbDug/gFO08jq6TbyEtw==", + "dev": true, "requires": { "@lit/reactive-element": "^1.0.0-rc.2", "lit-element": "^3.0.0-rc.2", @@ -32428,6 +31875,7 @@ "version": "3.0.0-rc.2", "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.0.0-rc.2.tgz", "integrity": "sha512-2Z7DabJ3b5K+p5073vFjMODoaWqy5PIaI4y6ADKm+fCGc8OnX9fU9dMoUEBZjFpd/bEFR9PBp050tUtBnT9XTQ==", + "dev": true, "requires": { "@lit/reactive-element": "^1.0.0-rc.2", "lit-html": "^2.0.0-rc.3" @@ -32437,6 +31885,7 @@ "version": "2.0.0-rc.3", "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.0.0-rc.3.tgz", "integrity": "sha512-Y6P8LlAyQuqvzq6l/Nc4z5/P5M/rVLYKQIRxcNwSuGajK0g4kbcBFQqZmgvqKG+ak+dHZjfm2HUw9TF5N/pkCw==", + "dev": true, "requires": { "@types/trusted-types": "^1.0.1" } @@ -32778,30 +32227,15 @@ "object-visit": "^1.0.0" } }, - "markdown-it": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-10.0.0.tgz", - "integrity": "sha512-YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg==", - "requires": { - "argparse": "^1.0.7", - "entities": "~2.0.0", - "linkify-it": "^2.0.0", - "mdurl": "^1.0.1", - "uc.micro": "^1.0.5" - }, - "dependencies": { - "entities": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", - "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==" - } - } - }, "marked": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/marked/-/marked-2.1.3.tgz", +<<<<<<< HEAD "integrity": "sha512-/Q+7MGzaETqifOMWYEA7HVMaZb4XbcRfaOzcSsHZEith83KGlvaSG33u0SKu89Mj5h+T8V2hM+8O45Qc5XTgwA==", "dev": true +======= + "integrity": "sha512-/Q+7MGzaETqifOMWYEA7HVMaZb4XbcRfaOzcSsHZEith83KGlvaSG33u0SKu89Mj5h+T8V2hM+8O45Qc5XTgwA==" +>>>>>>> 87ca2cf (fix(md-editor): build new markdown editor with lit + github/markdown-toolbar-element) }, "marked-terminal": { "version": "4.2.0", @@ -32834,15 +32268,6 @@ } } }, - "matched": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/matched/-/matched-5.0.1.tgz", - "integrity": "sha512-E1fhSTPRyhAlNaNvGXAgZQlq1hL0bgYMTk/6bktVlIhzUnX/SZs7296ACdVeNJE8xFNGSuvd9IpI7vSnmcqLvw==", - "requires": { - "glob": "^7.1.6", - "picomatch": "^2.2.1" - } - }, "mathml-tag-names": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", @@ -32882,6 +32307,7 @@ "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==", "dev": true }, +<<<<<<< HEAD "mdn-data": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", @@ -32893,6 +32319,8 @@ "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" }, +======= +>>>>>>> 87ca2cf (fix(md-editor): build new markdown editor with lit + github/markdown-toolbar-element) "meow": { "version": "8.1.2", "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", @@ -36091,11 +35519,6 @@ "word-wrap": "^1.2.3" } }, - "orderedmap": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/orderedmap/-/orderedmap-1.1.1.tgz", - "integrity": "sha512-3Ux8um0zXbVacKUkcytc0u3HgC0b0bBLT+I60r2J/En72cI0nZffqrA7Xtf2Hqs27j1g82llR5Mhbd0Z1XW4AQ==" - }, "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", @@ -36383,7 +35806,8 @@ "picomatch": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz", - "integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==" + "integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==", + "dev": true }, "pify": { "version": "2.3.0", @@ -39028,145 +38452,6 @@ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true }, - "prosemirror-commands": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/prosemirror-commands/-/prosemirror-commands-1.1.4.tgz", - "integrity": "sha512-kj4Qi+8h3EpJtZuuEDwZ9h2/QNGWDsIX/CzjmClxi9GhxWyBUMVUvIFk0mgdqHyX20lLeGmOpc0TLA5aPzgpWg==", - "requires": { - "prosemirror-model": "^1.0.0", - "prosemirror-state": "^1.0.0", - "prosemirror-transform": "^1.0.0" - } - }, - "prosemirror-dropcursor": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/prosemirror-dropcursor/-/prosemirror-dropcursor-1.3.2.tgz", - "integrity": "sha512-4c94OUGyobGnwcQI70OXyMhE/9T4aTgjU+CHxkd5c7D+jH/J0mKM/lk+jneFVKt7+E4/M0D9HzRPifu8U28Thw==", - "requires": { - "prosemirror-state": "^1.0.0", - "prosemirror-transform": "^1.1.0", - "prosemirror-view": "^1.1.0" - } - }, - "prosemirror-example-setup": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prosemirror-example-setup/-/prosemirror-example-setup-1.1.2.tgz", - "integrity": "sha512-MTpIMyqk08jFnzxeRMCinCEMtVSTUtxKgQBGxfCbVe9C6zIOqp9qZZJz5Ojaad1GETySyuj8+OIHHvQsIaaaGQ==", - "requires": { - "prosemirror-commands": "^1.0.0", - "prosemirror-dropcursor": "^1.0.0", - "prosemirror-gapcursor": "^1.0.0", - "prosemirror-history": "^1.0.0", - "prosemirror-inputrules": "^1.0.0", - "prosemirror-keymap": "^1.0.0", - "prosemirror-menu": "^1.0.0", - "prosemirror-schema-list": "^1.0.0", - "prosemirror-state": "^1.0.0" - } - }, - "prosemirror-gapcursor": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/prosemirror-gapcursor/-/prosemirror-gapcursor-1.1.5.tgz", - "integrity": "sha512-SjbUZq5pgsBDuV3hu8GqgIpZR5eZvGLM+gPQTqjVVYSMUCfKW3EGXTEYaLHEl1bGduwqNC95O3bZflgtAb4L6w==", - "requires": { - "prosemirror-keymap": "^1.0.0", - "prosemirror-model": "^1.0.0", - "prosemirror-state": "^1.0.0", - "prosemirror-view": "^1.0.0" - } - }, - "prosemirror-history": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/prosemirror-history/-/prosemirror-history-1.1.3.tgz", - "integrity": "sha512-zGDotijea+vnfnyyUGyiy1wfOQhf0B/b6zYcCouBV8yo6JmrE9X23M5q7Nf/nATywEZbgRLG70R4DmfSTC+gfg==", - "requires": { - "prosemirror-state": "^1.2.2", - "prosemirror-transform": "^1.0.0", - "rope-sequence": "^1.3.0" - } - }, - "prosemirror-inputrules": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prosemirror-inputrules/-/prosemirror-inputrules-1.1.2.tgz", - "integrity": "sha512-Ja5Z3BWestlHYGvtSGqyvxMeB8QEuBjlHM8YnKtLGUXMDp965qdDV4goV8lJb17kIWHk7e7JNj6Catuoa3302g==", - "requires": { - "prosemirror-state": "^1.0.0", - "prosemirror-transform": "^1.0.0" - } - }, - "prosemirror-keymap": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/prosemirror-keymap/-/prosemirror-keymap-1.1.4.tgz", - "integrity": "sha512-Al8cVUOnDFL4gcI5IDlG6xbZ0aOD/i3B17VT+1JbHWDguCgt/lBHVTHUBcKvvbSg6+q/W4Nj1Fu6bwZSca3xjg==", - "requires": { - "prosemirror-state": "^1.0.0", - "w3c-keyname": "^2.2.0" - } - }, - "prosemirror-markdown": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/prosemirror-markdown/-/prosemirror-markdown-1.5.1.tgz", - "integrity": "sha512-QvucPHx+gKOQW1SETKUysrful9VBjKqpCFmPotgLfVZ3BdQEGy/NEIFhaXXo3TcuW316MMnKfA90K7GE5I7z8A==", - "requires": { - "markdown-it": "^10.0.0", - "prosemirror-model": "^1.0.0" - } - }, - "prosemirror-menu": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/prosemirror-menu/-/prosemirror-menu-1.1.4.tgz", - "integrity": "sha512-2ROsji/X9ciDnVSRvSTqFygI34GEdHfQSsK4zBKjPxSEroeiHHcdRMS1ofNIf2zM0Vpp5/YqfpxynElymQkqzg==", - "requires": { - "crelt": "^1.0.0", - "prosemirror-commands": "^1.0.0", - "prosemirror-history": "^1.0.0", - "prosemirror-state": "^1.0.0" - } - }, - "prosemirror-model": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/prosemirror-model/-/prosemirror-model-1.15.0.tgz", - "integrity": "sha512-hQJv7SnIhlAy9ga3lhPPgaufhvCbQB9tHwscJ9E1H1pPHmN8w5V/lURueoYv9Kc3/bpNWoyHa8r3g//m7N0ChQ==", - "requires": { - "orderedmap": "^1.1.0" - } - }, - "prosemirror-schema-list": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prosemirror-schema-list/-/prosemirror-schema-list-1.1.2.tgz", - "integrity": "sha512-dgM9PwtM4twa5WsgSYMB+J8bwjnR43DAD3L9MsR9rKm/nZR5Y85xcjB7gusVMSsbQ2NomMZF03RE6No6mTnclQ==", - "requires": { - "prosemirror-model": "^1.0.0", - "prosemirror-transform": "^1.0.0" - } - }, - "prosemirror-state": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/prosemirror-state/-/prosemirror-state-1.3.4.tgz", - "integrity": "sha512-Xkkrpd1y/TQ6HKzN3agsQIGRcLckUMA9u3j207L04mt8ToRgpGeyhbVv0HI7omDORIBHjR29b7AwlATFFf2GLA==", - "requires": { - "prosemirror-model": "^1.0.0", - "prosemirror-transform": "^1.0.0" - } - }, - "prosemirror-transform": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/prosemirror-transform/-/prosemirror-transform-1.2.7.tgz", - "integrity": "sha512-/107Lo2zeDgXuJBxb8s/clNu0Z2W8Gv3MKmkuSS/68Mcr7LBaUnN/Hj2g+GUxEJ7MpExCzFs65GrsNo2K9rxUQ==", - "requires": { - "prosemirror-model": "^1.0.0" - } - }, - "prosemirror-view": { - "version": "1.20.3", - "resolved": "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.20.3.tgz", - "integrity": "sha512-2ImL9K/tIEk+aC2GT8shzfmT2U0Y8UQZ13L5AY0A4Tcj09o/ICGE362gKUE3Ze/Xr/nMw61Zv5JMSQUszAj9dw==", - "requires": { - "prosemirror-model": "^1.14.3", - "prosemirror-state": "^1.0.0", - "prosemirror-transform": "^1.1.0" - } - }, "protocols": { "version": "1.4.8", "resolved": "https://registry.npmjs.org/protocols/-/protocols-1.4.8.tgz", @@ -39676,15 +38961,11 @@ "version": "2.58.3", "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.58.3.tgz", "integrity": "sha512-ei27MSw1KhRur4p87Q0/Va2NAYqMXOX++FNEumMBcdreIRLURKy+cE2wcDJKBn0nfmhP2ZGrJkP1XPO+G8FJQw==", + "dev": true, "requires": { "fsevents": "~2.3.2" } }, - "rope-sequence": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/rope-sequence/-/rope-sequence-1.3.2.tgz", - "integrity": "sha512-ku6MFrwEVSVmXLvy3dYph3LAMNS0890K7fabn+0YIRQ2T96T9F4gkFf0vf0WW0JUraNWwGRtInEpH7yO4tbQZg==" - }, "run-async": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", @@ -40343,7 +39624,8 @@ "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true }, "ssf": { "version": "0.11.2", @@ -41638,11 +40920,6 @@ "integrity": "sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==", "dev": true }, - "uc.micro": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", - "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" - }, "uglify-js": { "version": "2.8.29", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", @@ -41979,11 +41256,6 @@ "browser-process-hrtime": "^1.0.0" } }, - "w3c-keyname": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.4.tgz", - "integrity": "sha512-tOhfEwEzFLJzf6d1ZPkYfGj+FWhIpBux9ppoP3rlclw3Z0BZv3N7b7030Z1kYth+6rDuAsXUFr+d0VE6Ed1ikw==" - }, "w3c-xmlserializer": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", diff --git a/package.json b/package.json index 853c3bc1..73906c65 100644 --- a/package.json +++ b/package.json @@ -28,19 +28,16 @@ "prepare": "is-ci || husky install" }, "dependencies": { - "@amcharts/amcharts4": "^4.10.20", "@amcharts/amcharts4-geodata": "^4.1.21", + "@amcharts/amcharts4": "^4.10.20", + "@github/markdown-toolbar-element": "^1.5.1", "@popperjs/core": "^2.9.2", - "@rollup/plugin-multi-entry": "^4.0.0", "choices.js": "^9.0.1", "flatpickr": "^4.6.9", - "leaflet": "^1.7.1", "leaflet.markercluster": "^1.5.1", + "leaflet": "^1.7.1", "lit": "^2.0.0-rc.2", - "prosemirror-example-setup": "^1.1.2", - "prosemirror-markdown": "^1.5.1", - "prosemirror-state": "^1.3.4", - "prosemirror-view": "^1.18.11" + "marked": "^2.1.3" }, "devDependencies": { "@commitlint/cli": "^13.1.0", @@ -53,31 +50,33 @@ "@tailwindcss/line-clamp": "^0.2.1", "@tailwindcss/typography": "^0.4.1", "@types/leaflet": "^1.7.5", + "@types/marked": "^2.0.4", "@types/prosemirror-markdown": "^1.5.2", "@types/prosemirror-view": "^1.18.0", - "@typescript-eslint/eslint-plugin": "^4.28.4", - "@typescript-eslint/parser": "^4.28.4", + "@typescript-eslint/eslint-plugin": "^4.28.5", + "@typescript-eslint/parser": "^4.28.5", "cpy-cli": "^3.1.1", "cross-env": "^7.0.3", "cssnano": "^5.0.7", "cz-conventional-changelog": "^3.3.0", - "eslint": "^7.31.0", "eslint-config-prettier": "^8.3.0", "eslint-plugin-prettier": "^3.4.0", + "eslint": "^7.31.0", "husky": "^7.0.1", "is-ci": "^3.0.0", "lint-staged": "^11.1.1", + "lit": "^2.0.0-rc.2", "postcss-import": "^14.0.2", "postcss-preset-env": "^6.7.0", - "prettier": "2.3.2", "prettier-plugin-organize-imports": "^2.3.3", + "prettier": "2.3.2", "semantic-release": "^17.4.4", - "stylelint": "^13.13.1", "stylelint-config-standard": "^22.0.0", + "stylelint": "^13.13.1", "svgo": "^2.3.1", "tailwindcss": "^2.2.7", "typescript": "^4.3.5", - "vite": "^2.4.3" + "vite": "^2.4.4" }, "lint-staged": { "*.{js,ts,css,md,json}": "prettier --write",