signal-desktop/ts/quill/formatting/spoilerBlot.ts
2025-01-28 09:31:42 -08:00

25 lines
683 B
TypeScript

// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import InlineBlot from '@signalapp/quill-cjs/blots/inline';
// eslint-disable-next-line @typescript-eslint/no-explicit-any
type AnyRecord = Record<string, any>;
export class SpoilerBlot extends InlineBlot {
static override blotName = 'spoiler';
static override className = 'quill--spoiler';
static override formats(): AnyRecord {
return {
spoiler: true,
};
}
override optimize(context: AnyRecord): void {
super.optimize(context);
if (!this.domNode.classList.contains(this.statics.className)) {
this.domNode.classList.add(this.statics.className);
}
}
}