Commit Graph

731 Commits

Author SHA1 Message Date
Philipp Kühn
12602e77ef fix: add missing ProseMirror styles 2021-08-20 21:11:39 +02:00
Philipp Kühn
64409cad66 feat: allow wildcards when checking attributes in isActive, fix #1752 2021-08-20 10:51:46 +02:00
Philipp Kühn
920d9a0113 fix lint error 2021-08-13 15:50:18 +02:00
Philipp Kühn
9cf99fedc0 refactor: remove deprecated packages 2021-08-13 15:47:53 +02:00
Philipp Kühn
7f6ed0b1c0 feat: add transaction to all events if possible, see #1461 2021-08-13 14:01:50 +02:00
Philipp Kühn
956566eaad
fix: fix some react focus issues (#1724), fix #1716, fix #1608, fix #1520
* remove async createNodeViews

* focus asynchronously to fix weird bugs in react
2021-08-12 18:03:45 +02:00
Philipp Kühn
9425e7249a fix: improve calculation for min/max positions in selections, fix #1588 2021-08-11 15:06:31 +02:00
Philipp Kühn
f6f8cf9f93 fix: fix isEditable check on initialization 2021-08-09 17:40:45 +02:00
Philipp Kühn
80296aa8d0 refactoring 2021-08-09 17:24:18 +02:00
Robert van Hoesel
e6f67caef3
fix: fix updating editorProps via setOptions (#1540), fix #1518 2021-08-09 17:19:50 +02:00
castroCrea
aabdfd6f7d
fix: add CreateNodeFromContentOptions to insertContent (#1678)
*  Add CreateNodeFromContentOptions  to insertContent

* 📝 Add it to the doc
2021-08-09 15:40:17 +02:00
Philipp Kühn
c9869c8d30 fix: revert async focus, fix #1658 2021-07-30 09:33:55 +02:00
Hans Pagel
47d1d3425c
Examples: Syntax highlighting for React (#1583)
* Docs: Syntax highlighting - add react example

* Docs: Clean up syntax highlighting demo, make use of functional component

* fix: focus view asynchronously, fix #1520

Co-authored-by: Sven Adlung <info@svenadlung.de>
Co-authored-by: Philipp Kühn <kontakt@philipp-kuehn.com>
2021-07-28 23:42:11 +02:00
Philipp Kühn
c2ccf68e8b fix: fix a bug in markPasteRule 2021-07-28 17:18:08 +02:00
Philipp Kühn
73f1c50bca feat: add deleteNode command 2021-07-28 11:19:42 +02:00
Philipp Kühn
d720edbe24
feat!: provide more context to update function of node views, fix #1611
* add more powerful update option to node views

* add object params for all node view option props
2021-07-27 12:26:24 +02:00
Philipp Kühn
651e6911e3 feat: add ignoreMutation option to NodeViewRenderer, fix #1538 2021-07-26 18:44:02 +02:00
Philipp Kühn
4636b1a1a5 fix type for getAttributes 2021-07-26 15:36:12 +02:00
Joe Vallender
9ffd58cf25
feat: Allow a rule to be skipped from the getAttributes callback in markPasteRule (#1625)
For example: you are matching URLs with a Regex but want to make additional checks on the match array before deciding if you want to apply the mark or not. Returning null or false won't attempt to apply the mark. Currently the return value of getAttributes is applied unconditionally.
2021-07-26 15:13:05 +02:00
sibiraj-s
8ed6ac4219 Export NodeViewRendererOptions 2021-07-17 08:53:05 +02:00
Philipp Kühn
b4eda709a6 update splitListItem (https://github.com/ProseMirror/prosemirror/issues/1146) 2021-07-09 10:33:57 +02:00
Philipp Kühn
502b5b1cc9 fix: improve types for generateHTML 2021-06-17 23:41:42 +02:00
Philipp Kühn
2deb07fb00 fix: check for atom nodes in ignoreMutation handler, fix #1448 2021-06-14 15:56:24 +02:00
Philipp Kühn
f7890c0b42 refactoring 2021-06-14 15:35:43 +02:00
Philipp Kühn
fbc8fffb70 fix: remove editable check in updateAttributes, fix #1415 2021-06-14 15:34:09 +02:00
Philipp Kühn
b97bebe021 fix: fix a bug when insert newline at node start, fix #1411 2021-06-07 23:55:18 +02:00
Philipp Kühn
a757716f68 feat: add Tracker class 2021-06-04 23:57:41 +02:00
Philipp Kühn
8e29b5f854 improve types 2021-06-04 22:58:50 +02:00
Philipp Kühn
783ce4e3ac feat: add forEach command 2021-06-04 22:25:53 +02:00
Philipp Kühn
78e2a6e775 add generic to commands type 2021-06-04 21:56:29 +02:00
Philipp Kühn
d037c5656a fix: fix merging options on configure for multiple extension instances 2021-06-03 13:13:43 +02:00
Philipp Kühn
36dad2bbae feat: add setMeta command 2021-06-02 10:50:10 +02:00
Philipp Kühn
485fb8c74c fix: remove custom coordsAtPos method, fix #583 2021-06-01 18:57:46 +02:00
Philipp Kühn
2a4e02ade3 fix: prevent dispatch empty fragment when parsing content with insertContent 2021-06-01 18:20:01 +02:00
philippkuehn
f54b9c9b42 ci: fix code style linting errors 2021-05-31 17:20:25 +00:00
Markus Machatschek
52dd6e0e64 Prevent tiptap from creating duplicate style tags when injecting css 2021-05-31 19:12:05 +02:00
Philipp Kühn
3c4cc96fee fix: check for excluded marks in isMarkActive, fix #1388 2021-05-29 21:02:59 +02:00
Philipp Kühn
370966847e fix: fix error when calculating contentMatch within clearNodes command, fix #1361 2021-05-28 17:37:28 +02:00
Philipp Kühn
7b74d5849f fix lint errors 2021-05-28 15:16:33 +02:00
Philipp Kühn
e52f41ae78 fix: fix fragile schema validity test in splitBlock 2021-05-28 13:55:54 +02:00
Philipp Kühn
939fc3d93a fix: prevent bug when editor is destroyed very fast 2021-05-28 12:14:12 +02:00
Philipp Kühn
c0e68d5a25 fix: do not check for node selection within posToDOMRect 2021-05-24 20:40:24 +02:00
Philipp Kühn
a4ec4ffcfd fix: check for NodeSelection within posToDOMRect 2021-05-24 08:46:51 +02:00
Philipp Kühn
940fd69b61 fix: remove empty attributes in getDebugJSON 2021-05-19 18:27:12 +02:00
Philipp Kühn
8f101810fe fix: preserve whitespace when using insertContent command 2021-05-19 15:15:56 +02:00
Philipp Kühn
2f7a6adca5 feat: allow number for setTextSelection and insertContentAt 2021-05-19 00:25:36 +02:00
Philipp Kühn
fcee5f82c6 feat: add deleteNode method to node views 2021-05-19 00:03:41 +02:00
Philipp Kühn
f829b45bf0 fix: add marks to JSONContent type 2021-05-18 22:51:53 +02:00
Philipp Kühn
2ba3cad891 not sure about this one 2021-05-17 21:00:22 +02:00
Philipp Kühn
ff7dd9b919 feat: add support for checking for attributes in extendMarkRange 2021-05-17 13:00:54 +02:00
Philipp Kühn
5b8808a899 fix: fix export for getAttributes 2021-05-17 11:58:27 +02:00
Philipp Kühn
463661c5ed feat: add findChildrenInRange helper 2021-05-17 11:29:41 +02:00
Philipp Kühn
2bd17c7dc6 feat: export isList, fix #1326 2021-05-17 11:25:18 +02:00
Philipp Kühn
28737b1631 fix: fix missing extensions when using addExtension, fix #1309 2021-05-13 20:44:51 +02:00
Andrea Vaccari
655957d733 fix(core): Increment i in defaultBlockAt 2021-05-13 11:39:26 -05:00
Philipp Kühn
a35b2533eb fix: fix a bug in detecting a current list in toggleList command 2021-05-13 14:43:27 +02:00
Philipp Kühn
2a79f59c6d
Merge pull request #1301 from zcuric/feature/export-mark-helpers
feat: export mark helpers
2021-05-11 17:04:01 +02:00
Philipp Kühn
655c5647f0 fix: fix a bug when configurating the same extension multiple times 2021-05-11 17:03:34 +02:00
Zdravko Curic
313ab0eac7 feat: export mark helpers 2021-05-11 11:22:28 +02:00
Philipp Kühn
b4e2b6fc9d fix: set correct priority when extending extensions, fix #1288 2021-05-10 00:13:32 +02:00
Philipp Kühn
072905cb95 feat: add editor.getAttributes, deprecate editor.getNodeAttributes and editor.getMarkAttributes 2021-05-07 11:10:18 +02:00
Philipp Kühn
b0755cbad6
Merge pull request #1273 from ueberdosis/feature/generate-json-from-html
New Feature: Generate JSON from HTML
2021-05-07 10:37:17 +02:00
Philipp Kühn
0610fce06a
Merge pull request #1278 from zcuric/main
feat: expose node helpers
2021-05-07 10:35:34 +02:00
Philipp Kühn
129ad83167 fix: add support for priority and nested extension for getSchema 2021-05-07 10:25:55 +02:00
Philipp Kühn
cbc0dd8920 fix: remove editor from addExtensions context 2021-05-07 10:24:48 +02:00
Philipp Kühn
ae17bd101c refactoring 2021-05-07 10:08:30 +02:00
Philipp Kühn
7da647d99f fix: fix a bug that messed up pasted link attributes, fix #1284 2021-05-07 09:54:40 +02:00
Philipp Kühn
26e672e2f0 feat: add addExtensions option 2021-05-06 18:39:47 +02:00
Zdravko Curic
6048f9b31b feat: expose node helpers to core 2021-05-06 14:52:44 +02:00
Philipp Kühn
9399e3061f remove some deprecated commands 2021-05-05 23:45:17 +02:00
Hans Pagel
7feb19eb72 feature: add generateJSON utility function to generate JSON from a HTML string 2021-05-05 21:24:24 +02:00
Philipp Kühn
86d570fb79 feat: remove deprecated commands insertHTML, insertNode and insertText 2021-05-05 20:50:01 +02:00
Philipp Kühn
0030f083b0 docs: update content 2021-05-05 19:42:47 +02:00
Philipp Kühn
71740687f4 use replaceWith instead of replaceRangeWith in insertContentAt 2021-05-05 18:48:22 +02:00
Philipp Kühn
12b6f0e4f7 use tr.replaceRangeWith instead of tr.insert for insertContent command 2021-05-05 14:50:27 +02:00
Philipp Kühn
b5c51723ea remove insertText from insertContent 2021-05-05 14:13:58 +02:00
Philipp Kühn
63902d4bdb remove replaceRange from mention node 2021-05-05 13:49:32 +02:00
Philipp Kühn
ec838a11f2 improve Content type 2021-05-05 13:08:19 +02:00
Philipp Kühn
9ff7e2400e add insertContentAt command 2021-05-05 13:00:30 +02:00
Philipp Kühn
b131330ca1 don’t check for canReplaceWith within replaceRange 2021-05-04 20:51:32 +02:00
Philipp Kühn
b3fb0228e0 fix: ignore editable in dispatchTransaction, fix #1239 2021-05-04 10:46:32 +02:00
Philipp Kühn
80cf8bb71b throw error for missing mark/node type 2021-05-03 09:50:57 +02:00
Mark Zepeda
7426be019e
Fix returning true/false in can().chain().run()
I think this was previously meant to return a function in the proxy object getter, but now it's a standalone function and should return the result of the callbacks.
2021-05-02 20:04:10 -05:00
Philipp Kühn
0b67f18e3a fix: fix onBeforeCreate event handler, fix #1236 2021-04-27 21:52:22 +02:00
Philipp Kühn
234d23887b fix: prevent a bug for node views when pressing enter on iOS, fix #1214 2021-04-27 21:07:12 +02:00
Philipp Kühn
fb3990d333 use minMax fo selection commands 2021-04-27 11:52:50 +02:00
Philipp Kühn
811bf693eb feat: add setNodeSelection and setTextSelection commands 2021-04-27 11:41:24 +02:00
Philipp Kühn
592892edd1 fix: add correct type for parseOptions 2021-04-26 23:43:32 +02:00
Philipp Kühn
26785dbec0 fix: fix type error for commands 2021-04-26 23:33:45 +02:00
Philipp Kühn
9a40c17b34 fix: set correct type for emitUpdate 2021-04-25 21:04:26 +02:00
Philipp Kühn
cfd29fac86 fix: better merge mark attributes for existing marks, fix #1039 2021-04-23 08:58:03 +02:00
Philipp Kühn
1c8ca95de2 refactor: remove AnyObject type 2021-04-21 09:43:31 +02:00
Philipp Kühn
12f60abb73 feat: add name to extension context 2021-04-20 23:11:35 +02:00
Philipp Kühn
e0c2460a96 feat: add editor prop to KeyboardShortcutCommand 2021-04-20 22:58:09 +02:00
Philipp Kühn
4e6d43bbfb fix: fix a bug when dragging node views 2021-04-20 17:18:59 +02:00
Philipp Kühn
aa002a012b fix: fix extension option merging 2021-04-17 21:25:29 +02:00
Philipp Kühn
89b72b8608 refactoring: rename posToClientRect to posToDOMRect 2021-04-16 14:44:10 +02:00
Philipp Kühn
a0ba4542ef fix menu fade animations 2021-04-16 13:29:50 +02:00
Philipp Kühn
9f64015157 feat: remove resize event handler 2021-04-16 12:51:47 +02:00
Philipp Kühn
8dab6144a6 feat: add coordsAtPos and posToClientRect helper methods 2021-04-16 09:56:52 +02:00
Philipp Kühn
4137e00d98 fix: fix type for emitUpdate, fix #276 2021-04-16 00:17:09 +02:00
Philipp Kühn
afe12f1603 fix attributes 2021-04-15 23:14:47 +02:00
Philipp Kühn
08974c6332 fix lint errors 2021-04-15 22:58:13 +02:00
Philipp Kühn
b3596582da fix some more errors 2021-04-15 22:53:02 +02:00
Philipp Kühn
6c2eea094c wip: fix isList 2021-04-15 22:08:52 +02:00
Philipp Kühn
05434afc47 wip: add extension.name 2021-04-15 22:03:45 +02:00
Philipp Kühn
016bda4010 wip: fix extendNodeSchema and extendMarkSchema 2021-04-15 21:43:41 +02:00
Philipp Kühn
07bc40ce75 wip: add getExtensionField 2021-04-15 21:14:33 +02:00
Philipp Kühn
d194b90a61 wip: save hierachy within extension classes 2021-04-15 14:40:28 +02:00
Philipp Kühn
c40ce34eec wip: add some hierarchy tests 2021-04-14 09:48:38 +02:00
Philipp Kühn
0a6312382f fix: fix adding mark only with insertContent(), fix #264 2021-04-12 12:39:36 +02:00
Philipp Kühn
5e1ec5d2a6 feat: add parentConfig to extension context for more extendable extensions, fix #259 2021-04-12 11:11:02 +02:00
Philipp Kühn
e7fe7248af fix: add scrollIntoView for insertContent 2021-04-09 10:45:23 +02:00
Philipp Kühn
708ac94ceb fix: fix a bug when detecting changes within node views 2021-04-09 09:51:07 +02:00
Philipp Kühn
39147f5b02 fix: fixed type for Content 2021-04-09 08:22:13 +02:00
Philipp Kühn
d2c5b71c28 fix: improve drag position for node views even more 2021-04-09 00:11:29 +02:00
Philipp Kühn
5e5b8db6eb fix: improve drag position for node views 2021-04-08 23:53:47 +02:00
Philipp Kühn
95f31f48fd Merge branch 'main' into feature/extension-code-block-lowlight 2021-04-07 22:39:39 +02:00
Philipp Kühn
160ee9f846 enable clipboardTextSerializer again 2021-04-07 22:22:39 +02:00
Philipp Kühn
7877fbcb11 fix lint 2021-04-07 22:09:46 +02:00
Philipp Kühn
a0e2a830d7 refactor: remove isEditable from node views, remove viewUpdate event 2021-04-07 22:07:36 +02:00
Philipp Kühn
3334d930f3 feat: add resetAttributes() command, deprecate resetNodeAttributes() 2021-04-07 21:30:55 +02:00
Philipp Kühn
aac32b4df6 feat: add updateAttributes() command, deprecate updateNodeAttributes(), fix #254 2021-04-07 21:17:02 +02:00
Philipp Kühn
bb1ae659a4 feat: add priority option to extensions 2021-04-07 18:29:16 +02:00
Philipp Kühn
beb96c5cbf fix: remove debug log 2021-04-07 16:03:01 +02:00
Philipp Kühn
b8d9b7d4c7 feat: add insertContent() command, deprecate insertText(), insertHTML() and insertNode() 2021-04-07 11:53:37 +02:00
Philipp Kühn
704e01de6a Merge branch 'main' into feature/extension-code-block-lowlight
# Conflicts:
#	docs/src/docPages/api/nodes/code-block-lowlight.md
#	docs/src/links.yaml
2021-04-04 23:13:52 +02:00
Philipp Kühn
3a5cad6bea check for contenteditable within nodeviews 2021-04-04 09:50:36 +02:00
Philipp Kühn
6757813fd0 refactoring 2021-04-02 23:53:04 +02:00
Philipp Kühn
c8f384b9fc remove log 2021-04-02 22:20:20 +02:00
Philipp Kühn
a5e1030e4f add insertNode command 2021-04-02 21:55:25 +02:00
Philipp Kühn
7adf1853d7 add basic lowlight extension 2021-04-02 00:07:40 +02:00
Philipp Kühn
f2ca9322ee add keepOnSplit option for marks 2021-04-01 19:06:40 +02:00
Philipp Kühn
9cdc76a082 fix whitespace 2021-04-01 18:42:31 +02:00
Philipp Kühn
c68fa74ad1 add resize event 2021-04-01 16:21:47 +02:00
Philipp Kühn
f8d029040a fix type cycle bug in vite 2021-03-31 13:44:56 +02:00
Philipp Kühn
daa8e72477 add doc page for bubble menu 2021-03-30 14:07:18 +02:00
Philipp Kühn
4717d7ff9a fix more commands for cell selections 2021-03-28 21:30:47 +02:00
Philipp Kühn
9595a23eb8 fix updating marks for multiple table cells, fix #186 2021-03-28 21:07:56 +02:00
Philipp Kühn
43320e51c7 add isNodeEmpty helper method 2021-03-24 22:23:08 +01:00
Philipp Kühn
1a74bbb0fb improve node view handling with inputs, fix #211 2021-03-18 13:54:48 +01:00
Philipp Kühn
6e87882820 fix bug in markPasteRule, fix #215 2021-03-18 10:54:16 +01:00
Philipp Kühn
49fcf829f3 refactoring 2021-03-16 22:22:13 +01:00
Philipp Kühn
a76de1ab6d move some nodeview logic to core 2021-03-16 21:55:40 +01:00
Philipp Kühn
d0a15ad069 prevent dispatch on readonly 2021-03-15 13:27:52 +01:00
Philipp Kühn
15848473ed rename selection to selectionUpdate, add editor to event listener props 2021-03-09 09:50:03 +01:00
Philipp Kühn
c925160e78 add comment 2021-03-05 12:15:50 +01:00
Philipp Kühn
3bf900e7f6 add NodeViewWrapper and NodeViewContent component 2021-03-05 00:02:28 +01:00
Philipp Kühn
4721fe451f refactoring 2021-02-28 00:02:51 +01:00
Philipp Kühn
e31ddbd2d8 remove unused file 2021-02-26 19:03:41 +01:00
Philipp Kühn
92a6768b3d allow to define everything within extensions 2021-02-19 17:47:22 +01:00
Philipp Kühn
6fb28a2741 make extension configs extendable 2021-02-19 17:35:50 +01:00
Philipp Kühn
b06b368621 fix bug 2021-02-19 11:17:18 +01:00
Philipp Kühn
ba69a0d8f9 improve extending nodes and marks 2021-02-19 10:54:47 +01:00
Philipp Kühn
4a58978ffb add NodeSchemaFields interface 2021-02-19 10:09:25 +01:00
Philipp Kühn
6f9557294e add basic schema extender 2021-02-19 09:54:39 +01:00
Philipp Kühn
223512a536 refactoring 2021-02-18 22:44:50 +01:00
Philipp Kühn
3759f4cdee export core command types 2021-02-18 17:31:33 +01:00
Philipp Kühn
501d540c2d move selectionToInsertionEnd 2021-02-17 23:30:40 +01:00
Philipp Kühn
51772590cc add comment 2021-02-17 23:24:58 +01:00
Philipp Kühn
96bb2e188d fix addKeyboardShortcuts type 2021-02-16 22:59:45 +01:00
Philipp Kühn
c51081f34e fix storedMarks when using focus first, fix #94 2021-02-16 22:36:28 +01:00
Philipp Kühn
b896bff98b add todo 2021-02-16 19:02:01 +01:00
Philipp Kühn
65b8eff634 remove unused method 2021-02-16 18:56:18 +01:00
Philipp Kühn
744dab5601 remove proxy 2021-02-16 18:54:44 +01:00
Philipp Kühn
56b4df044f rename AllCommands to Commands 2021-02-16 18:39:37 +01:00
Philipp Kühn
a705134998 rename Commands to RawCommands 2021-02-16 18:36:37 +01:00
Philipp Kühn
381bc0ce49 refactoring 2021-02-16 18:28:43 +01:00
Philipp Kühn
8fda044502 refactoring 2021-02-16 18:00:40 +01:00
Philipp Kühn
ca8d1a4245 add command scope 2021-02-16 11:27:58 +01:00
Philipp Kühn
55ff908423 refactoring 2021-02-10 18:05:02 +01:00
Philipp Kühn
f70974678b remove proxy from createChain 2021-02-10 15:10:03 +01:00
Philipp Kühn
2340840621 remove registerCommands 2021-02-10 14:52:08 +01:00
Philipp Kühn
290ff76e37 add Commands interface 2021-02-10 09:59:35 +01:00
Philipp Kühn
2315357125 add keyboardShortcut and enter command 2021-02-09 21:04:33 +01:00
Philipp Kühn
e8232dd737 add basic enter command 2021-02-09 10:06:13 +01:00
Philipp Kühn
352bd74a2a add isPlainObject method 2021-01-29 22:51:03 +01:00
Philipp Kühn
90c6f77063 Merge branch 'main' into feature/plugin-order 2021-01-29 09:36:00 +01:00
Philipp Kühn
c2cb0e8752 rename 2021-01-29 09:34:53 +01:00
Philipp Kühn
97eb9c411c add getSplittedAttributes helper 2021-01-29 09:33:42 +01:00
Philipp Kühn
72ff2d212e improve clearNodes command 2021-01-29 08:56:52 +01:00
Philipp Kühn
4b4ec7d766 refactoring 2021-01-29 00:27:58 +01:00
Philipp Kühn
f71a51cbb0 fix bug 2021-01-29 00:24:31 +01:00
Philipp Kühn
89deb4c615 refactoring 2021-01-29 00:08:01 +01:00
Philipp Kühn
3039871767 add keepOnSplit option to splitListItem 2021-01-28 23:51:20 +01:00
Philipp Kühn
ee7daa3f43 add keepOnSplit option to attributes 2021-01-28 19:56:35 +01:00
Philipp Kühn
07cfc99502 improve plugin order 2021-01-28 17:39:57 +01:00
Philipp Kühn
6a5dde0101 refactoring 2021-01-28 09:57:20 +01:00
Philipp Kühn
4407d9a3d1 improve types 2021-01-28 09:50:17 +01:00
Philipp Kühn
bc55aa44e7 add type 2021-01-28 09:11:24 +01:00
Philipp Kühn
6ed7ce8089 add some return types 2021-01-28 09:04:55 +01:00
Hans Pagel
06b6fc25d4 add getCharacterCount method to the editor 2021-01-27 11:40:49 +01:00
Philipp Kühn
d13210820d remove prosemirror-utils 2021-01-25 13:39:35 +01:00
Philipp Kühn
2156891823 add deleteTableWhenAllCellsSelected 2021-01-24 23:28:51 +01:00
Philipp Kühn
a24409b05b Merge branch 'main' into feature/tables 2021-01-24 20:56:21 +01:00
Philipp Kühn
20f8adc0e4 change plugin order 2021-01-24 20:56:07 +01:00
Philipp Kühn
84cb526315 fix focus class 2021-01-23 00:14:19 +01:00
Philipp Kühn
605ead820f fix focus for tables 2021-01-22 23:56:33 +01:00
Hans Pagel
fde2b1572d add table commands, add tableRole to the schema, add buttons to the example 2021-01-22 20:01:01 +01:00
Philipp Kühn
a2d5eef6b2 add commands experiment 2021-01-21 12:13:20 +01:00