@bobfrankston/rmfmail 1.1.143 → 1.1.144

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -645,6 +645,30 @@ async function createTinyMceEditor(container2, opts = {}) {
645
645
  quickbars_selection_toolbar: "bold italic underline | forecolor | quicklink blockquote",
646
646
  quickbars_insert_toolbar: false,
647
647
  quickbars_image_toolbar: "alignleft aligncenter alignright",
648
+ // Code-sample dropdown languages. TinyMCE's default list omits
649
+ // "Text" / plain — every option triggers syntax highlighting
650
+ // which mangles unrelated paste content (Bob 2026-05-24).
651
+ // Adding Text first so it's the default; rest are the modern
652
+ // languages we actually paste.
653
+ codesample_languages: [
654
+ { text: "Text", value: "text" },
655
+ { text: "HTML/XML", value: "markup" },
656
+ { text: "JavaScript", value: "javascript" },
657
+ { text: "TypeScript", value: "typescript" },
658
+ { text: "CSS", value: "css" },
659
+ { text: "JSON", value: "json" },
660
+ { text: "Python", value: "python" },
661
+ { text: "Java", value: "java" },
662
+ { text: "C", value: "c" },
663
+ { text: "C++", value: "cpp" },
664
+ { text: "C#", value: "csharp" },
665
+ { text: "Go", value: "go" },
666
+ { text: "Rust", value: "rust" },
667
+ { text: "Ruby", value: "ruby" },
668
+ { text: "PHP", value: "php" },
669
+ { text: "Shell", value: "bash" },
670
+ { text: "SQL", value: "sql" }
671
+ ],
648
672
  // WebView's native spell-check (red underlines, right-click
649
673
  // "Add to dictionary"). Free; same UX as Quill's spellcheck=true.
650
674
  // Premium tinymcespellchecker plugin would replace this with a
@@ -701,16 +725,14 @@ async function createTinyMceEditor(container2, opts = {}) {
701
725
  // everything else so genuine HTML formatting (bold / italic /
702
726
  // tables / inline color) still comes through verbatim.
703
727
  content_style: [
704
- // High-contrast caret. Default native bar shape (thin vertical
705
- // line, browser-drawn caret-shape:block was too aggressive).
706
- // Color shifts by ancestor element so the caret doubles as a
707
- // formatting-mode indicator: blue plain red bold green
708
- // italic orange underline. Innermost wrapper wins on
709
- // combinations (em inside strong shows green).
710
- "body { font-family: system-ui, sans-serif; font-size: 14px; caret-color: #1e88e5; }",
711
- "b, strong { caret-color: #d32f2f; }",
712
- "i, em { caret-color: #2e7d32; }",
713
- "u { caret-color: #ef6c00; }",
728
+ // Blue caret. Native bar shape would be 1-2 px (hard to spot on
729
+ // hi-DPI), and a solid block is too aggressive — split the
730
+ // difference with caret-shape:block at 40% alpha: column-shaped
731
+ // (≈character width) but translucent so it reads as a tinted
732
+ // bar rather than a hard block. caret-shape falls back to bar
733
+ // where unsupported (older Chromium), so the colour still
734
+ // carries on those.
735
+ "body { font-family: system-ui, sans-serif; font-size: 14px; caret-color: rgba(30,136,229,0.45); caret-shape: block; }",
714
736
  "blockquote { border-left: 3px solid #c0c8d0; margin: 0 0 0 4px; padding: 2px 0 2px 10px; color: #555; }",
715
737
  "div.reply { margin-top: 0.5em; }",
716
738
  "div.reply > p:first-child { color: #666; font-size: 0.95em; margin: 0 0 4px 0; }",