feat: add codemirror to display xml editor for custom rss field

- replace hardcoded label values for play_episode_button component
This commit is contained in:
Yassine Doghri 2021-08-11 12:15:20 +00:00
parent 578022b8c5
commit f15f26240c
12 changed files with 726 additions and 24 deletions

View File

@ -585,7 +585,8 @@ class Episode extends Entity
*/
public function setCustomRssString(?string $customRssString = null): static
{
if ($customRssString === null) {
if ($customRssString === '') {
$this->attributes['custom_rss'] = null;
return $this;
}

View File

@ -487,6 +487,7 @@ class Podcast extends Entity
public function setCustomRssString(string $customRssString): static
{
if ($customRssString === '') {
$this->attributes['custom_rss'] = null;
return $this;
}

View File

@ -467,8 +467,8 @@ if (! function_exists('play_episode_button')) {
podcast="${podcastTitle}"
src="${source}"
mediaType="${mediaType}"
playLabel="Play"
playingLabel="Playing"
playLabel="${playLabel}"
playingLabel="${playingLabel}"
></play-episode-button>
CODE_SAMPLE;
}
@ -535,3 +535,28 @@ if (! function_exists('relative_time')) {
}
// ------------------------------------------------------------------------
if (! function_exists('xml_editor')) {
/**
* XML Editor field
*
* @param array<string, mixed> $customData
* @param array<string, mixed> $extra
*/
function xml_editor(array $customData = [], string $value = '', array $extra = []): string
{
$defaultData = [
'slot' => 'textarea',
'rows' => 5,
];
$data = array_merge($defaultData, $customData);
$textarea = form_textarea($data, $value, $extra);
return <<<CODE_SAMPLE
<xml-editor>${textarea}</time-ago>
CODE_SAMPLE;
}
}
// ------------------------------------------------------------------------

View File

@ -16,6 +16,7 @@ import Soundbites from "./modules/Soundbites";
import ThemePicker from "./modules/ThemePicker";
import Time from "./modules/Time";
import Tooltip from "./modules/Tooltip";
import "./modules/xml-editor";
Dropdown();
Tooltip();

View File

@ -1,15 +0,0 @@
<svg width="410" height="404" viewBox="0 0 410 404" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M399.641 59.5246L215.643 388.545C211.844 395.338 202.084 395.378 198.228 388.618L10.5817 59.5563C6.38087 52.1896 12.6802 43.2665 21.0281 44.7586L205.223 77.6824C206.398 77.8924 207.601 77.8904 208.776 77.6763L389.119 44.8058C397.439 43.2894 403.768 52.1434 399.641 59.5246Z" fill="url(#paint0_linear)"/>
<path d="M292.965 1.5744L156.801 28.2552C154.563 28.6937 152.906 30.5903 152.771 32.8664L144.395 174.33C144.198 177.662 147.258 180.248 150.51 179.498L188.42 170.749C191.967 169.931 195.172 173.055 194.443 176.622L183.18 231.775C182.422 235.487 185.907 238.661 189.532 237.56L212.947 230.446C216.577 229.344 220.065 232.527 219.297 236.242L201.398 322.875C200.278 328.294 207.486 331.249 210.492 326.603L212.5 323.5L323.454 102.072C325.312 98.3645 322.108 94.137 318.036 94.9228L279.014 102.454C275.347 103.161 272.227 99.746 273.262 96.1583L298.731 7.86689C299.767 4.27314 296.636 0.855181 292.965 1.5744Z" fill="url(#paint1_linear)"/>
<defs>
<linearGradient id="paint0_linear" x1="6.00017" y1="32.9999" x2="235" y2="344" gradientUnits="userSpaceOnUse">
<stop stop-color="#41D1FF"/>
<stop offset="1" stop-color="#BD34FE"/>
</linearGradient>
<linearGradient id="paint1_linear" x1="194.651" y1="8.81818" x2="236.076" y2="292.989" gradientUnits="userSpaceOnUse">
<stop stop-color="#FFEA83"/>
<stop offset="0.0833333" stop-color="#FFDD35"/>
<stop offset="1" stop-color="#FFA800"/>
</linearGradient>
</defs>
</svg>

Before

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -0,0 +1,68 @@
import { basicSetup } from "@codemirror/basic-setup";
import { xml } from "@codemirror/lang-xml";
import { EditorState } from "@codemirror/state";
import { EditorView } from "@codemirror/view";
import { css, html, LitElement, TemplateResult } from "lit";
import { customElement, queryAssignedNodes, state } from "lit/decorators.js";
import prettifyXML from "xml-formatter";
@customElement("xml-editor")
export class XMLEditor extends LitElement {
@queryAssignedNodes("textarea", true)
_textarea!: NodeListOf<HTMLTextAreaElement>;
@state()
editorState!: EditorState;
@state()
editorView!: EditorView;
firstUpdated(): void {
const minHeightEditor = EditorView.theme({
".cm-content, .cm-gutter": {
minHeight: this._textarea[0].clientHeight + "px",
},
});
this.editorState = EditorState.create({
doc: this._textarea[0].value
? prettifyXML(this._textarea[0].value, {
indentation: " ",
})
: "",
extensions: [basicSetup, xml(), minHeightEditor],
});
this.editorView = new EditorView({
state: this.editorState,
root: this.shadowRoot as ShadowRoot,
parent: this.shadowRoot as ShadowRoot,
});
this._textarea[0].hidden = true;
if (this._textarea[0].form) {
this._textarea[0].form.addEventListener("submit", () => {
this._textarea[0].value = this.editorView.state.doc.toString();
});
}
}
disconnectedCallback(): void {
if (this._textarea[0].form) {
this._textarea[0].form.removeEventListener("submit", () => {
this._textarea[0].value = this.editorView.state.doc.toString();
});
}
}
static styles = css`
.cm-wrap {
border: 1px solid #6b7280;
background-color: #ffffff;
}
`;
render(): TemplateResult<1> {
return html`<slot name="textarea"></slot>`;
}
}

View File

@ -226,6 +226,7 @@
[
'id' => 'description_footer',
'name' => 'description_footer',
'rows' => 6
],
old(
'description_footer',
@ -401,7 +402,7 @@
lang('Episode.form.custom_rss_hint'),
true,
) ?>
<?= form_textarea([
<?= xml_editor([
'id' => 'custom_rss',
'name' => 'custom_rss',
'class' => 'form-textarea',

View File

@ -236,6 +236,7 @@
[
'id' => 'description_footer',
'name' => 'description_footer',
'rows' => 6
],
old(
'description_footer',
@ -474,7 +475,7 @@
lang('Episode.form.custom_rss_hint'),
true,
) ?>
<?= form_textarea([
<?= xml_editor([
'id' => 'custom_rss',
'name' => 'custom_rss',
'class' => 'form-textarea',

View File

@ -340,7 +340,7 @@
lang('Podcast.form.custom_rss_hint'),
true,
) ?>
<?= form_textarea([
<?= xml_editor([
'id' => 'custom_rss',
'name' => 'custom_rss',
'class' => 'form-textarea',

View File

@ -335,7 +335,7 @@
lang('Podcast.form.custom_rss_hint'),
true,
) ?>
<?= form_textarea([
<?= xml_editor([
'id' => 'custom_rss',
'name' => 'custom_rss',
'class' => 'form-textarea',

615
package-lock.json generated
View File

@ -11,6 +11,11 @@
"dependencies": {
"@amcharts/amcharts4": "^4.10.21",
"@amcharts/amcharts4-geodata": "^4.1.21",
"@codemirror/basic-setup": "^0.18.2",
"@codemirror/commands": "^0.18.3",
"@codemirror/lang-xml": "^0.18.0",
"@codemirror/state": "^0.18.7",
"@codemirror/view": "^0.18.19",
"@github/clipboard-copy-element": "^1.1.2",
"@github/markdown-toolbar-element": "^1.5.1",
"@github/time-elements": "^3.1.2",
@ -21,7 +26,8 @@
"leaflet": "^1.7.1",
"leaflet.markercluster": "^1.5.1",
"lit": "^2.0.0-rc.2",
"marked": "^2.1.3"
"marked": "^2.1.3",
"xml-formatter": "^2.4.0"
},
"devDependencies": {
"@commitlint/cli": "^13.1.0",
@ -488,6 +494,242 @@
"integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==",
"dev": true
},
"node_modules/@codemirror/autocomplete": {
"version": "0.18.8",
"resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-0.18.8.tgz",
"integrity": "sha512-Va1Q763Vu/rVmIazru/ZnO2kkWVq6SlmMEjeD0qmxLAypyP6j/QNdpmaPDI1qb/+Mb9VFZBbac6a0aLTTi8qxQ==",
"dependencies": {
"@codemirror/language": "^0.18.0",
"@codemirror/state": "^0.18.0",
"@codemirror/text": "^0.18.0",
"@codemirror/tooltip": "^0.18.4",
"@codemirror/view": "^0.18.0",
"lezer-tree": "^0.13.0"
}
},
"node_modules/@codemirror/basic-setup": {
"version": "0.18.2",
"resolved": "https://registry.npmjs.org/@codemirror/basic-setup/-/basic-setup-0.18.2.tgz",
"integrity": "sha512-4UNFQ4jhU7wKxJH23AJcZW6Ho54VXUpmbtFnN5amIdtGci4ZLvci4M7JKgKFraHmKfDIYQnSzN8d8ohXR7CRhw==",
"dependencies": {
"@codemirror/autocomplete": "^0.18.0",
"@codemirror/closebrackets": "^0.18.0",
"@codemirror/commands": "^0.18.0",
"@codemirror/comment": "^0.18.0",
"@codemirror/fold": "^0.18.0",
"@codemirror/gutter": "^0.18.3",
"@codemirror/highlight": "^0.18.0",
"@codemirror/history": "^0.18.0",
"@codemirror/language": "^0.18.0",
"@codemirror/lint": "^0.18.0",
"@codemirror/matchbrackets": "^0.18.0",
"@codemirror/rectangular-selection": "^0.18.0",
"@codemirror/search": "^0.18.0",
"@codemirror/state": "^0.18.0",
"@codemirror/view": "^0.18.0"
}
},
"node_modules/@codemirror/closebrackets": {
"version": "0.18.0",
"resolved": "https://registry.npmjs.org/@codemirror/closebrackets/-/closebrackets-0.18.0.tgz",
"integrity": "sha512-O1RAgUkzF4nq/B8IyXenZKZ1rJi2Mc7I6y4IhWhELiTnjyQy7YdAthTsJ40mNr8kZ6gRbasYe3K7TraITElZJA==",
"dependencies": {
"@codemirror/language": "^0.18.0",
"@codemirror/rangeset": "^0.18.0",
"@codemirror/state": "^0.18.0",
"@codemirror/text": "^0.18.0",
"@codemirror/view": "^0.18.0"
}
},
"node_modules/@codemirror/commands": {
"version": "0.18.3",
"resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-0.18.3.tgz",
"integrity": "sha512-nHYDG13qOirioXTAKmjl10W2L0eZ1ftvmTwvUTNY27UWVBPFSpk5zDXP3WqJ0mgMhQ4AOFLJaTjJEO3hmPComg==",
"dependencies": {
"@codemirror/language": "^0.18.0",
"@codemirror/matchbrackets": "^0.18.0",
"@codemirror/state": "^0.18.0",
"@codemirror/text": "^0.18.0",
"@codemirror/view": "^0.18.0",
"lezer-tree": "^0.13.0"
}
},
"node_modules/@codemirror/comment": {
"version": "0.18.1",
"resolved": "https://registry.npmjs.org/@codemirror/comment/-/comment-0.18.1.tgz",
"integrity": "sha512-Inhqs0F24WE28Fcp1dBZghwixBGv1HDwY9MjE0d5tpMY/IPGI6uT30fGyHAXrir6hUqk7eJRkO4UYnODGOnoIA==",
"dependencies": {
"@codemirror/state": "^0.18.0",
"@codemirror/text": "^0.18.0",
"@codemirror/view": "^0.18.0"
}
},
"node_modules/@codemirror/fold": {
"version": "0.18.2",
"resolved": "https://registry.npmjs.org/@codemirror/fold/-/fold-0.18.2.tgz",
"integrity": "sha512-kkQ+stpUbOAU0ASPP9NW5uLLhe5LVC46m47zJUnWDlsT9rS5NZW6NDiWzrDlN8dWQT8fePzkMA174BG4tr2GJw==",
"dependencies": {
"@codemirror/gutter": "^0.18.0",
"@codemirror/language": "^0.18.0",
"@codemirror/rangeset": "^0.18.0",
"@codemirror/state": "^0.18.0",
"@codemirror/view": "^0.18.0"
}
},
"node_modules/@codemirror/gutter": {
"version": "0.18.4",
"resolved": "https://registry.npmjs.org/@codemirror/gutter/-/gutter-0.18.4.tgz",
"integrity": "sha512-Sf2IWshMi9zwVVqpGmd2NRplY0qfrE2IiBEII9n2gB9M8hgIMg5GCyhdnsUDsOm0gcSut65W62vV7/DfYJHQCA==",
"dependencies": {
"@codemirror/rangeset": "^0.18.3",
"@codemirror/state": "^0.18.0",
"@codemirror/view": "^0.18.0"
}
},
"node_modules/@codemirror/highlight": {
"version": "0.18.4",
"resolved": "https://registry.npmjs.org/@codemirror/highlight/-/highlight-0.18.4.tgz",
"integrity": "sha512-3azJntqWrShOIq/0kVcdMc9k7ACL0LQErgK+A6aWXmCj5Mx0gShq+Iajy8AMQ2zB0v3nhCBgFaniL1LLD5m5hQ==",
"dependencies": {
"@codemirror/language": "^0.18.0",
"@codemirror/rangeset": "^0.18.0",
"@codemirror/state": "^0.18.0",
"@codemirror/view": "^0.18.0",
"lezer-tree": "^0.13.0",
"style-mod": "^4.0.0"
}
},
"node_modules/@codemirror/history": {
"version": "0.18.1",
"resolved": "https://registry.npmjs.org/@codemirror/history/-/history-0.18.1.tgz",
"integrity": "sha512-Aad3p4zs6UYKCUMXYjh7cvPK0ajuL+rMib9yBZ61w81LLl6OkM31Xrn9J6CLJmPxCwP3OJFiqBmNSBQ05oIsTw==",
"dependencies": {
"@codemirror/state": "^0.18.3",
"@codemirror/view": "^0.18.0"
}
},
"node_modules/@codemirror/lang-xml": {
"version": "0.18.0",
"resolved": "https://registry.npmjs.org/@codemirror/lang-xml/-/lang-xml-0.18.0.tgz",
"integrity": "sha512-zME4OKbi1oXFhCslUW2VxIPTJFUb102ZOxszzlYbqtwuxXZFAhf/273Wy3C2diAcILRySO7Pv1qxTPnoIsJYYg==",
"dependencies": {
"@codemirror/autocomplete": "^0.18.0",
"@codemirror/highlight": "^0.18.0",
"@codemirror/language": "^0.18.0",
"@codemirror/state": "^0.18.0",
"lezer-tree": "^0.13.0",
"lezer-xml": "^0.13.0"
}
},
"node_modules/@codemirror/language": {
"version": "0.18.2",
"resolved": "https://registry.npmjs.org/@codemirror/language/-/language-0.18.2.tgz",
"integrity": "sha512-2Kz0Xyfvt1Ex2KfTUcYZ3IBxpnFCqHaJijwZknGBT7JXv9dwbOPs9SfPfL4oxVuDIHZx8JTPfoV3LTTJrm8M3Q==",
"dependencies": {
"@codemirror/state": "^0.18.0",
"@codemirror/text": "^0.18.0",
"@codemirror/view": "^0.18.0",
"lezer": "^0.13.4",
"lezer-tree": "^0.13.0"
}
},
"node_modules/@codemirror/lint": {
"version": "0.18.6",
"resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-0.18.6.tgz",
"integrity": "sha512-juE05YyDoLp9WCcR0hQagphOCIZ0r4WRocRFu9tbFwsMjfuForjn4m+wsLSDaDgp2Z9secMyOSGDpBNtVwM9lQ==",
"dependencies": {
"@codemirror/panel": "^0.18.1",
"@codemirror/state": "^0.18.0",
"@codemirror/tooltip": "^0.18.4",
"@codemirror/view": "^0.18.0",
"crelt": "^1.0.5"
}
},
"node_modules/@codemirror/matchbrackets": {
"version": "0.18.0",
"resolved": "https://registry.npmjs.org/@codemirror/matchbrackets/-/matchbrackets-0.18.0.tgz",
"integrity": "sha512-dPDopnZVkD54sSYdmQbyQbPdiuIA83p7XxX6Hp1ScEkOjukwCiFXiA/84x10FUTsQpUYp8bDzm7gwII119bGIw==",
"dependencies": {
"@codemirror/language": "^0.18.0",
"@codemirror/state": "^0.18.0",
"@codemirror/view": "^0.18.0",
"lezer-tree": "^0.13.0"
}
},
"node_modules/@codemirror/panel": {
"version": "0.18.2",
"resolved": "https://registry.npmjs.org/@codemirror/panel/-/panel-0.18.2.tgz",
"integrity": "sha512-ea/g2aAKtfmie1kD7C8GDutD/5u+uzRJr/varUiAbHKr1sAdjtz5xYvC3GBAMYMan1GOh0vD5zP1yEupJl3b3Q==",
"dependencies": {
"@codemirror/state": "^0.18.0",
"@codemirror/view": "^0.18.0"
}
},
"node_modules/@codemirror/rangeset": {
"version": "0.18.5",
"resolved": "https://registry.npmjs.org/@codemirror/rangeset/-/rangeset-0.18.5.tgz",
"integrity": "sha512-gvYniNeEbGRp74MM8EQ+0tylK85pVody4r4N5bs94msPwHQSKFkEmosl8tVmS0Z4e8gRtlB37m8/cWoRiuSz5Q==",
"dependencies": {
"@codemirror/state": "^0.18.0"
}
},
"node_modules/@codemirror/rectangular-selection": {
"version": "0.18.1",
"resolved": "https://registry.npmjs.org/@codemirror/rectangular-selection/-/rectangular-selection-0.18.1.tgz",
"integrity": "sha512-WpdIo6wyxamncvSZQEO1xsZArRnE5/NtNGnuLCjYUkW5JepdYtEJzIE9czaJqxVGrCBs//Lv58CbGX77/1GAoA==",
"dependencies": {
"@codemirror/state": "^0.18.0",
"@codemirror/text": "^0.18.1",
"@codemirror/view": "^0.18.18"
}
},
"node_modules/@codemirror/search": {
"version": "0.18.4",
"resolved": "https://registry.npmjs.org/@codemirror/search/-/search-0.18.4.tgz",
"integrity": "sha512-3chVkMPzl+pTUSqtimTicebhti4SLpvkj03pQx2aPZScXxIiYuDk4cLdIJK9omjmO1+oycRKbOrqvG7iZJJwMg==",
"dependencies": {
"@codemirror/panel": "^0.18.1",
"@codemirror/rangeset": "^0.18.0",
"@codemirror/state": "^0.18.6",
"@codemirror/text": "^0.18.0",
"@codemirror/view": "^0.18.0",
"crelt": "^1.0.5"
}
},
"node_modules/@codemirror/state": {
"version": "0.18.7",
"resolved": "https://registry.npmjs.org/@codemirror/state/-/state-0.18.7.tgz",
"integrity": "sha512-cVyTiAC9vv90NKmGOfNtBjyIem3BqKui1L5Hfcxurp8K9votQj2oH9COcgWPnQ2Xs64yC70tEuTt9DF1pj5PFQ==",
"dependencies": {
"@codemirror/text": "^0.18.0"
}
},
"node_modules/@codemirror/text": {
"version": "0.18.1",
"resolved": "https://registry.npmjs.org/@codemirror/text/-/text-0.18.1.tgz",
"integrity": "sha512-vjXs6mi1F418kucTPlFvnCt9glKnjtYssdXb8mm1oaY/F5O+tgGVepm9Z8F7AKWCQvW8Bns1D3uLz/DOIEywIw=="
},
"node_modules/@codemirror/tooltip": {
"version": "0.18.4",
"resolved": "https://registry.npmjs.org/@codemirror/tooltip/-/tooltip-0.18.4.tgz",
"integrity": "sha512-LDlDOSEfjoG24uapLN7exK3Z3JchYFKUwWqo1x/9YdlAkmD1ik7cMSQZboCquP1uJVcXhtbpKmaO6vENGVaarg==",
"dependencies": {
"@codemirror/state": "^0.18.0",
"@codemirror/view": "^0.18.0"
}
},
"node_modules/@codemirror/view": {
"version": "0.18.19",
"resolved": "https://registry.npmjs.org/@codemirror/view/-/view-0.18.19.tgz",
"integrity": "sha512-TmazVl8H3L+aYwlNb8xk6qADRb8KiYOO047pz51R4mGCg4Ja2siSjXktZgUvklsyWbUY7h9q+oAf4piH+mQZTw==",
"dependencies": {
"@codemirror/rangeset": "^0.18.2",
"@codemirror/state": "^0.18.0",
"@codemirror/text": "^0.18.1",
"style-mod": "^4.0.0",
"w3c-keyname": "^2.2.4"
}
},
"node_modules/@commitlint/cli": {
"version": "13.2.1",
"resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-13.2.1.tgz",
@ -3958,11 +4200,18 @@
"node": ">=0.8"
}
},
<<<<<<< HEAD
"node_modules/create-require": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
"integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
"dev": true
=======
"node_modules/crelt": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.5.tgz",
"integrity": "sha512-+BO9wPPi+DWTDcNYhr/W90myha8ptzftZT+LwcmUbbok0rcP/fequmFYCw8NMoH7pkAZQzU78b3kYrlua5a9eA=="
>>>>>>> 260759b (feat: add codemirror to display xml editor for custom rss field)
},
"node_modules/cross-env": {
"version": "7.0.3",
@ -8006,6 +8255,30 @@
"node": ">= 0.8.0"
}
},
"node_modules/lezer": {
"version": "0.13.5",
"resolved": "https://registry.npmjs.org/lezer/-/lezer-0.13.5.tgz",
"integrity": "sha512-cAiMQZGUo2BD8mpcz7Nv1TlKzWP7YIdIRrX41CiP5bk5t4GHxskOxWUx2iAOuHlz8dO+ivbuXr0J1bfHsWD+lQ==",
"deprecated": "This package has been replaced by @lezer/lr",
"dependencies": {
"lezer-tree": "^0.13.2"
}
},
"node_modules/lezer-tree": {
"version": "0.13.2",
"resolved": "https://registry.npmjs.org/lezer-tree/-/lezer-tree-0.13.2.tgz",
"integrity": "sha512-15ZxW8TxVNAOkHIo43Iouv4zbSkQQ5chQHBpwXcD2bBFz46RB4jYLEEww5l1V0xyIx9U2clSyyrLes+hAUFrGQ==",
"deprecated": "This package has been replaced by @lezer/common"
},
"node_modules/lezer-xml": {
"version": "0.13.4",
"resolved": "https://registry.npmjs.org/lezer-xml/-/lezer-xml-0.13.4.tgz",
"integrity": "sha512-mgA6ZfsxBWTG993vkVRonaHaSY4H78IChFI9+H6PiH8mJEG9OP2W1EiZmGbiv32OawF02vWzvTp3Lm3b9P1g9A==",
"deprecated": "This package has been replaced by @lezer/xml",
"dependencies": {
"lezer": "^0.13.3"
}
},
"node_modules/lilconfig": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.3.tgz",
@ -17501,6 +17774,11 @@
"node": ">=8"
}
},
"node_modules/style-mod": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.0.0.tgz",
"integrity": "sha512-OPhtyEjyyN9x3nhPsu76f52yUGXiZcgvsrFVtvTkyGRQJ0XK+GPc6ov1z+lRpbeabka+MYEQxOYRnt5nF30aMw=="
},
"node_modules/style-search": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz",
@ -18964,6 +19242,11 @@
"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",
@ -19230,11 +19513,30 @@
"resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz",
"integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg=="
},
"node_modules/xml-formatter": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/xml-formatter/-/xml-formatter-2.4.1.tgz",
"integrity": "sha512-UFnFRNum4BxicU9U4DPhIlHAQqHtT/vTdCvC6fiD78xlpug8YLgawW3MHmT1+eCAM7YomvMGZziiMz9AnExZgQ==",
"dependencies": {
"xml-parser-xo": "^3.1.2"
},
"engines": {
"node": ">= 10"
}
},
"node_modules/xml-name-validator": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
"integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw=="
},
"node_modules/xml-parser-xo": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/xml-parser-xo/-/xml-parser-xo-3.1.2.tgz",
"integrity": "sha512-Qyttmiy305unyg1ONpArT4FPDL3J+ohXWpMI1ecopClGMw53lCRHJ4FV/fVYHFU6qfEzMV0frqSlNaLo2dw15Q==",
"engines": {
"node": ">= 10"
}
},
"node_modules/xmlchars": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
@ -19801,6 +20103,242 @@
}
}
},
"@codemirror/autocomplete": {
"version": "0.18.8",
"resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-0.18.8.tgz",
"integrity": "sha512-Va1Q763Vu/rVmIazru/ZnO2kkWVq6SlmMEjeD0qmxLAypyP6j/QNdpmaPDI1qb/+Mb9VFZBbac6a0aLTTi8qxQ==",
"requires": {
"@codemirror/language": "^0.18.0",
"@codemirror/state": "^0.18.0",
"@codemirror/text": "^0.18.0",
"@codemirror/tooltip": "^0.18.4",
"@codemirror/view": "^0.18.0",
"lezer-tree": "^0.13.0"
}
},
"@codemirror/basic-setup": {
"version": "0.18.2",
"resolved": "https://registry.npmjs.org/@codemirror/basic-setup/-/basic-setup-0.18.2.tgz",
"integrity": "sha512-4UNFQ4jhU7wKxJH23AJcZW6Ho54VXUpmbtFnN5amIdtGci4ZLvci4M7JKgKFraHmKfDIYQnSzN8d8ohXR7CRhw==",
"requires": {
"@codemirror/autocomplete": "^0.18.0",
"@codemirror/closebrackets": "^0.18.0",
"@codemirror/commands": "^0.18.0",
"@codemirror/comment": "^0.18.0",
"@codemirror/fold": "^0.18.0",
"@codemirror/gutter": "^0.18.3",
"@codemirror/highlight": "^0.18.0",
"@codemirror/history": "^0.18.0",
"@codemirror/language": "^0.18.0",
"@codemirror/lint": "^0.18.0",
"@codemirror/matchbrackets": "^0.18.0",
"@codemirror/rectangular-selection": "^0.18.0",
"@codemirror/search": "^0.18.0",
"@codemirror/state": "^0.18.0",
"@codemirror/view": "^0.18.0"
}
},
"@codemirror/closebrackets": {
"version": "0.18.0",
"resolved": "https://registry.npmjs.org/@codemirror/closebrackets/-/closebrackets-0.18.0.tgz",
"integrity": "sha512-O1RAgUkzF4nq/B8IyXenZKZ1rJi2Mc7I6y4IhWhELiTnjyQy7YdAthTsJ40mNr8kZ6gRbasYe3K7TraITElZJA==",
"requires": {
"@codemirror/language": "^0.18.0",
"@codemirror/rangeset": "^0.18.0",
"@codemirror/state": "^0.18.0",
"@codemirror/text": "^0.18.0",
"@codemirror/view": "^0.18.0"
}
},
"@codemirror/commands": {
"version": "0.18.3",
"resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-0.18.3.tgz",
"integrity": "sha512-nHYDG13qOirioXTAKmjl10W2L0eZ1ftvmTwvUTNY27UWVBPFSpk5zDXP3WqJ0mgMhQ4AOFLJaTjJEO3hmPComg==",
"requires": {
"@codemirror/language": "^0.18.0",
"@codemirror/matchbrackets": "^0.18.0",
"@codemirror/state": "^0.18.0",
"@codemirror/text": "^0.18.0",
"@codemirror/view": "^0.18.0",
"lezer-tree": "^0.13.0"
}
},
"@codemirror/comment": {
"version": "0.18.1",
"resolved": "https://registry.npmjs.org/@codemirror/comment/-/comment-0.18.1.tgz",
"integrity": "sha512-Inhqs0F24WE28Fcp1dBZghwixBGv1HDwY9MjE0d5tpMY/IPGI6uT30fGyHAXrir6hUqk7eJRkO4UYnODGOnoIA==",
"requires": {
"@codemirror/state": "^0.18.0",
"@codemirror/text": "^0.18.0",
"@codemirror/view": "^0.18.0"
}
},
"@codemirror/fold": {
"version": "0.18.2",
"resolved": "https://registry.npmjs.org/@codemirror/fold/-/fold-0.18.2.tgz",
"integrity": "sha512-kkQ+stpUbOAU0ASPP9NW5uLLhe5LVC46m47zJUnWDlsT9rS5NZW6NDiWzrDlN8dWQT8fePzkMA174BG4tr2GJw==",
"requires": {
"@codemirror/gutter": "^0.18.0",
"@codemirror/language": "^0.18.0",
"@codemirror/rangeset": "^0.18.0",
"@codemirror/state": "^0.18.0",
"@codemirror/view": "^0.18.0"
}
},
"@codemirror/gutter": {
"version": "0.18.4",
"resolved": "https://registry.npmjs.org/@codemirror/gutter/-/gutter-0.18.4.tgz",
"integrity": "sha512-Sf2IWshMi9zwVVqpGmd2NRplY0qfrE2IiBEII9n2gB9M8hgIMg5GCyhdnsUDsOm0gcSut65W62vV7/DfYJHQCA==",
"requires": {
"@codemirror/rangeset": "^0.18.3",
"@codemirror/state": "^0.18.0",
"@codemirror/view": "^0.18.0"
}
},
"@codemirror/highlight": {
"version": "0.18.4",
"resolved": "https://registry.npmjs.org/@codemirror/highlight/-/highlight-0.18.4.tgz",
"integrity": "sha512-3azJntqWrShOIq/0kVcdMc9k7ACL0LQErgK+A6aWXmCj5Mx0gShq+Iajy8AMQ2zB0v3nhCBgFaniL1LLD5m5hQ==",
"requires": {
"@codemirror/language": "^0.18.0",
"@codemirror/rangeset": "^0.18.0",
"@codemirror/state": "^0.18.0",
"@codemirror/view": "^0.18.0",
"lezer-tree": "^0.13.0",
"style-mod": "^4.0.0"
}
},
"@codemirror/history": {
"version": "0.18.1",
"resolved": "https://registry.npmjs.org/@codemirror/history/-/history-0.18.1.tgz",
"integrity": "sha512-Aad3p4zs6UYKCUMXYjh7cvPK0ajuL+rMib9yBZ61w81LLl6OkM31Xrn9J6CLJmPxCwP3OJFiqBmNSBQ05oIsTw==",
"requires": {
"@codemirror/state": "^0.18.3",
"@codemirror/view": "^0.18.0"
}
},
"@codemirror/lang-xml": {
"version": "0.18.0",
"resolved": "https://registry.npmjs.org/@codemirror/lang-xml/-/lang-xml-0.18.0.tgz",
"integrity": "sha512-zME4OKbi1oXFhCslUW2VxIPTJFUb102ZOxszzlYbqtwuxXZFAhf/273Wy3C2diAcILRySO7Pv1qxTPnoIsJYYg==",
"requires": {
"@codemirror/autocomplete": "^0.18.0",
"@codemirror/highlight": "^0.18.0",
"@codemirror/language": "^0.18.0",
"@codemirror/state": "^0.18.0",
"lezer-tree": "^0.13.0",
"lezer-xml": "^0.13.0"
}
},
"@codemirror/language": {
"version": "0.18.2",
"resolved": "https://registry.npmjs.org/@codemirror/language/-/language-0.18.2.tgz",
"integrity": "sha512-2Kz0Xyfvt1Ex2KfTUcYZ3IBxpnFCqHaJijwZknGBT7JXv9dwbOPs9SfPfL4oxVuDIHZx8JTPfoV3LTTJrm8M3Q==",
"requires": {
"@codemirror/state": "^0.18.0",
"@codemirror/text": "^0.18.0",
"@codemirror/view": "^0.18.0",
"lezer": "^0.13.4",
"lezer-tree": "^0.13.0"
}
},
"@codemirror/lint": {
"version": "0.18.6",
"resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-0.18.6.tgz",
"integrity": "sha512-juE05YyDoLp9WCcR0hQagphOCIZ0r4WRocRFu9tbFwsMjfuForjn4m+wsLSDaDgp2Z9secMyOSGDpBNtVwM9lQ==",
"requires": {
"@codemirror/panel": "^0.18.1",
"@codemirror/state": "^0.18.0",
"@codemirror/tooltip": "^0.18.4",
"@codemirror/view": "^0.18.0",
"crelt": "^1.0.5"
}
},
"@codemirror/matchbrackets": {
"version": "0.18.0",
"resolved": "https://registry.npmjs.org/@codemirror/matchbrackets/-/matchbrackets-0.18.0.tgz",
"integrity": "sha512-dPDopnZVkD54sSYdmQbyQbPdiuIA83p7XxX6Hp1ScEkOjukwCiFXiA/84x10FUTsQpUYp8bDzm7gwII119bGIw==",
"requires": {
"@codemirror/language": "^0.18.0",
"@codemirror/state": "^0.18.0",
"@codemirror/view": "^0.18.0",
"lezer-tree": "^0.13.0"
}
},
"@codemirror/panel": {
"version": "0.18.2",
"resolved": "https://registry.npmjs.org/@codemirror/panel/-/panel-0.18.2.tgz",
"integrity": "sha512-ea/g2aAKtfmie1kD7C8GDutD/5u+uzRJr/varUiAbHKr1sAdjtz5xYvC3GBAMYMan1GOh0vD5zP1yEupJl3b3Q==",
"requires": {
"@codemirror/state": "^0.18.0",
"@codemirror/view": "^0.18.0"
}
},
"@codemirror/rangeset": {
"version": "0.18.5",
"resolved": "https://registry.npmjs.org/@codemirror/rangeset/-/rangeset-0.18.5.tgz",
"integrity": "sha512-gvYniNeEbGRp74MM8EQ+0tylK85pVody4r4N5bs94msPwHQSKFkEmosl8tVmS0Z4e8gRtlB37m8/cWoRiuSz5Q==",
"requires": {
"@codemirror/state": "^0.18.0"
}
},
"@codemirror/rectangular-selection": {
"version": "0.18.1",
"resolved": "https://registry.npmjs.org/@codemirror/rectangular-selection/-/rectangular-selection-0.18.1.tgz",
"integrity": "sha512-WpdIo6wyxamncvSZQEO1xsZArRnE5/NtNGnuLCjYUkW5JepdYtEJzIE9czaJqxVGrCBs//Lv58CbGX77/1GAoA==",
"requires": {
"@codemirror/state": "^0.18.0",
"@codemirror/text": "^0.18.1",
"@codemirror/view": "^0.18.18"
}
},
"@codemirror/search": {
"version": "0.18.4",
"resolved": "https://registry.npmjs.org/@codemirror/search/-/search-0.18.4.tgz",
"integrity": "sha512-3chVkMPzl+pTUSqtimTicebhti4SLpvkj03pQx2aPZScXxIiYuDk4cLdIJK9omjmO1+oycRKbOrqvG7iZJJwMg==",
"requires": {
"@codemirror/panel": "^0.18.1",
"@codemirror/rangeset": "^0.18.0",
"@codemirror/state": "^0.18.6",
"@codemirror/text": "^0.18.0",
"@codemirror/view": "^0.18.0",
"crelt": "^1.0.5"
}
},
"@codemirror/state": {
"version": "0.18.7",
"resolved": "https://registry.npmjs.org/@codemirror/state/-/state-0.18.7.tgz",
"integrity": "sha512-cVyTiAC9vv90NKmGOfNtBjyIem3BqKui1L5Hfcxurp8K9votQj2oH9COcgWPnQ2Xs64yC70tEuTt9DF1pj5PFQ==",
"requires": {
"@codemirror/text": "^0.18.0"
}
},
"@codemirror/text": {
"version": "0.18.1",
"resolved": "https://registry.npmjs.org/@codemirror/text/-/text-0.18.1.tgz",
"integrity": "sha512-vjXs6mi1F418kucTPlFvnCt9glKnjtYssdXb8mm1oaY/F5O+tgGVepm9Z8F7AKWCQvW8Bns1D3uLz/DOIEywIw=="
},
"@codemirror/tooltip": {
"version": "0.18.4",
"resolved": "https://registry.npmjs.org/@codemirror/tooltip/-/tooltip-0.18.4.tgz",
"integrity": "sha512-LDlDOSEfjoG24uapLN7exK3Z3JchYFKUwWqo1x/9YdlAkmD1ik7cMSQZboCquP1uJVcXhtbpKmaO6vENGVaarg==",
"requires": {
"@codemirror/state": "^0.18.0",
"@codemirror/view": "^0.18.0"
}
},
"@codemirror/view": {
"version": "0.18.19",
"resolved": "https://registry.npmjs.org/@codemirror/view/-/view-0.18.19.tgz",
"integrity": "sha512-TmazVl8H3L+aYwlNb8xk6qADRb8KiYOO047pz51R4mGCg4Ja2siSjXktZgUvklsyWbUY7h9q+oAf4piH+mQZTw==",
"requires": {
"@codemirror/rangeset": "^0.18.2",
"@codemirror/state": "^0.18.0",
"@codemirror/text": "^0.18.1",
"style-mod": "^4.0.0",
"w3c-keyname": "^2.2.4"
}
},
"@commitlint/cli": {
"version": "13.2.1",
"resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-13.2.1.tgz",
@ -22545,12 +23083,43 @@
"printj": "~1.1.0"
}
},
<<<<<<< HEAD
=======
<<<<<<< HEAD
<<<<<<< HEAD
>>>>>>> 260759b (feat: add codemirror to display xml editor for custom rss field)
"create-require": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
"integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
"dev": true
},
<<<<<<< HEAD
=======
<<<<<<< HEAD
"crelt": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.4.tgz",
"integrity": "sha512-l1cwMUOssGLEj5zgbut4lxJq95ZabOXVZnDybNqQRUtXh1lvUK7e7kJNm8SfvTQzYpE3AVJhIVUJKf382lMA7A=="
},
<<<<<<< HEAD
"@types/cacheable-request": {
"version": "6.0.2",
"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)
=======
>>>>>>> 4e51bf2 (fix(persons): set person picture as optional for better ux)
=======
"crelt": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.5.tgz",
"integrity": "sha512-+BO9wPPi+DWTDcNYhr/W90myha8ptzftZT+LwcmUbbok0rcP/fequmFYCw8NMoH7pkAZQzU78b3kYrlua5a9eA=="
},
>>>>>>> e2aaf4f (feat: add codemirror to display xml editor for custom rss field)
>>>>>>> 260759b (feat: add codemirror to display xml editor for custom rss field)
"cross-env": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz",
@ -25670,6 +26239,27 @@
"type-check": "~0.4.0"
}
},
"lezer": {
"version": "0.13.5",
"resolved": "https://registry.npmjs.org/lezer/-/lezer-0.13.5.tgz",
"integrity": "sha512-cAiMQZGUo2BD8mpcz7Nv1TlKzWP7YIdIRrX41CiP5bk5t4GHxskOxWUx2iAOuHlz8dO+ivbuXr0J1bfHsWD+lQ==",
"requires": {
"lezer-tree": "^0.13.2"
}
},
"lezer-tree": {
"version": "0.13.2",
"resolved": "https://registry.npmjs.org/lezer-tree/-/lezer-tree-0.13.2.tgz",
"integrity": "sha512-15ZxW8TxVNAOkHIo43Iouv4zbSkQQ5chQHBpwXcD2bBFz46RB4jYLEEww5l1V0xyIx9U2clSyyrLes+hAUFrGQ=="
},
"lezer-xml": {
"version": "0.13.4",
"resolved": "https://registry.npmjs.org/lezer-xml/-/lezer-xml-0.13.4.tgz",
"integrity": "sha512-mgA6ZfsxBWTG993vkVRonaHaSY4H78IChFI9+H6PiH8mJEG9OP2W1EiZmGbiv32OawF02vWzvTp3Lm3b9P1g9A==",
"requires": {
"lezer": "^0.13.3"
}
},
"lilconfig": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.3.tgz",
@ -34861,6 +35451,11 @@
"integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==",
"dev": true
},
"style-mod": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.0.0.tgz",
"integrity": "sha512-OPhtyEjyyN9x3nhPsu76f52yUGXiZcgvsrFVtvTkyGRQJ0XK+GPc6ov1z+lRpbeabka+MYEQxOYRnt5nF30aMw=="
},
"style-search": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz",
@ -36026,6 +36621,11 @@
"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",
@ -36228,11 +36828,24 @@
}
}
},
"xml-formatter": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/xml-formatter/-/xml-formatter-2.4.1.tgz",
"integrity": "sha512-UFnFRNum4BxicU9U4DPhIlHAQqHtT/vTdCvC6fiD78xlpug8YLgawW3MHmT1+eCAM7YomvMGZziiMz9AnExZgQ==",
"requires": {
"xml-parser-xo": "^3.1.2"
}
},
"xml-name-validator": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
"integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw=="
},
"xml-parser-xo": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/xml-parser-xo/-/xml-parser-xo-3.1.2.tgz",
"integrity": "sha512-Qyttmiy305unyg1ONpArT4FPDL3J+ohXWpMI1ecopClGMw53lCRHJ4FV/fVYHFU6qfEzMV0frqSlNaLo2dw15Q=="
},
"xmlchars": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",

View File

@ -29,6 +29,11 @@
"dependencies": {
"@amcharts/amcharts4-geodata": "^4.1.21",
"@amcharts/amcharts4": "^4.10.21",
"@codemirror/basic-setup": "^0.18.2",
"@codemirror/commands": "^0.18.3",
"@codemirror/lang-xml": "^0.18.0",
"@codemirror/state": "^0.18.7",
"@codemirror/view": "^0.18.19",
"@github/clipboard-copy-element": "^1.1.2",
"@github/markdown-toolbar-element": "^1.5.1",
"@github/time-elements": "^3.1.2",
@ -39,7 +44,8 @@
"leaflet.markercluster": "^1.5.1",
"leaflet": "^1.7.1",
"lit": "^2.0.0-rc.2",
"marked": "^2.1.3"
"marked": "^2.1.3",
"xml-formatter": "^2.4.0"
},
"devDependencies": {
"@commitlint/cli": "^13.1.0",