gdpr audit implemented, email log, vollmachten, pdf delete cancel data privacy and vollmachten, removed message no id card in engergy car, and other contracts that are not telecom contracts, added insert counter for engery

This commit is contained in:
2026-03-21 11:59:53 +01:00
parent 89cf92eaf5
commit f2876f877e
1491 changed files with 265550 additions and 1292 deletions
+5
View File
@@ -0,0 +1,5 @@
import { Italic } from './italic.js'
export * from './italic.js'
export default Italic
+153
View File
@@ -0,0 +1,153 @@
import { Mark, markInputRule, markPasteRule, mergeAttributes } from '@tiptap/core'
export interface ItalicOptions {
/**
* HTML attributes to add to the italic element.
* @default {}
* @example { class: 'foo' }
*/
HTMLAttributes: Record<string, any>
}
declare module '@tiptap/core' {
interface Commands<ReturnType> {
italic: {
/**
* Set an italic mark
* @example editor.commands.setItalic()
*/
setItalic: () => ReturnType
/**
* Toggle an italic mark
* @example editor.commands.toggleItalic()
*/
toggleItalic: () => ReturnType
/**
* Unset an italic mark
* @example editor.commands.unsetItalic()
*/
unsetItalic: () => ReturnType
}
}
}
/**
* Matches an italic to a *italic* on input.
*/
export const starInputRegex = /(?:^|\s)(\*(?!\s+\*)((?:[^*]+))\*(?!\s+\*))$/
/**
* Matches an italic to a *italic* on paste.
*/
export const starPasteRegex = /(?:^|\s)(\*(?!\s+\*)((?:[^*]+))\*(?!\s+\*))/g
/**
* Matches an italic to a _italic_ on input.
*/
export const underscoreInputRegex = /(?:^|\s)(_(?!\s+_)((?:[^_]+))_(?!\s+_))$/
/**
* Matches an italic to a _italic_ on paste.
*/
export const underscorePasteRegex = /(?:^|\s)(_(?!\s+_)((?:[^_]+))_(?!\s+_))/g
/**
* This extension allows you to create italic text.
* @see https://www.tiptap.dev/api/marks/italic
*/
export const Italic = Mark.create<ItalicOptions>({
name: 'italic',
addOptions() {
return {
HTMLAttributes: {},
}
},
parseHTML() {
return [
{
tag: 'em',
},
{
tag: 'i',
getAttrs: node => (node as HTMLElement).style.fontStyle !== 'normal' && null,
},
{
style: 'font-style=normal',
clearMark: mark => mark.type.name === this.name,
},
{
style: 'font-style=italic',
},
]
},
renderHTML({ HTMLAttributes }) {
return ['em', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0]
},
addCommands() {
return {
setItalic:
() =>
({ commands }) => {
return commands.setMark(this.name)
},
toggleItalic:
() =>
({ commands }) => {
return commands.toggleMark(this.name)
},
unsetItalic:
() =>
({ commands }) => {
return commands.unsetMark(this.name)
},
}
},
markdownTokenName: 'em',
parseMarkdown: (token, helpers) => {
// Convert 'em' token to italic mark
return helpers.applyMark('italic', helpers.parseInline(token.tokens || []))
},
renderMarkdown: (node, h) => {
return `*${h.renderChildren(node)}*`
},
addKeyboardShortcuts() {
return {
'Mod-i': () => this.editor.commands.toggleItalic(),
'Mod-I': () => this.editor.commands.toggleItalic(),
}
},
addInputRules() {
return [
markInputRule({
find: starInputRegex,
type: this.type,
}),
markInputRule({
find: underscoreInputRegex,
type: this.type,
}),
]
},
addPasteRules() {
return [
markPasteRule({
find: starPasteRegex,
type: this.type,
}),
markPasteRule({
find: underscorePasteRegex,
type: this.type,
}),
]
},
})