@richscripts/richtexteditor 2.15.0 → 2.16.0

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.
Files changed (96) hide show
  1. package/README.md +9 -0
  2. package/angular/build-manifest.json +4 -4
  3. package/angular/index.mjs +1 -1
  4. package/index.d.ts +42 -33
  5. package/integrations/shared.js +10 -0
  6. package/package.json +1 -1
  7. package/richtexteditor/all_plugins.js +2062 -1542
  8. package/richtexteditor/all_plugins.min.js +76 -61
  9. package/richtexteditor/lang/rte-lang-de.js +33 -0
  10. package/richtexteditor/lang/rte-lang-es.js +33 -0
  11. package/richtexteditor/lang/rte-lang-fr.js +33 -0
  12. package/richtexteditor/lang/rte-lang-it.js +33 -0
  13. package/richtexteditor/lang/rte-lang-ja.js +33 -0
  14. package/richtexteditor/lang/rte-lang-ko.js +33 -0
  15. package/richtexteditor/lang/rte-lang-nl.js +33 -0
  16. package/richtexteditor/lang/rte-lang-pt-pt.js +33 -0
  17. package/richtexteditor/lang/rte-lang-pt.js +33 -0
  18. package/richtexteditor/lang/rte-lang-ru.js +33 -0
  19. package/richtexteditor/lang/rte-lang-zh-Hans.js +33 -0
  20. package/richtexteditor/lang/rte-lang-zh-Hant.js +33 -0
  21. package/richtexteditor/plugins/a11yenhance.js +3 -1
  22. package/richtexteditor/plugins/a11yenhance.min.js +1 -1
  23. package/richtexteditor/plugins/accessibilitychecker.js +7 -7
  24. package/richtexteditor/plugins/accessibilitychecker.min.js +1 -1
  25. package/richtexteditor/plugins/aitoolkit.js +91 -83
  26. package/richtexteditor/plugins/aitoolkit.min.js +4 -4
  27. package/richtexteditor/plugins/all_plugins.js +2062 -1542
  28. package/richtexteditor/plugins/all_plugins.min.js +76 -61
  29. package/richtexteditor/plugins/autoembed.js +1 -1
  30. package/richtexteditor/plugins/autoembed.min.js +1 -1
  31. package/richtexteditor/plugins/charlimit.js +2 -2
  32. package/richtexteditor/plugins/charlimit.min.js +2 -2
  33. package/richtexteditor/plugins/comments.js +2 -2
  34. package/richtexteditor/plugins/comments.min.js +2 -2
  35. package/richtexteditor/plugins/contentminimap.js +3 -3
  36. package/richtexteditor/plugins/contentminimap.min.js +1 -1
  37. package/richtexteditor/plugins/crdt-engine.js +27 -1
  38. package/richtexteditor/plugins/documentimport.js +30 -8
  39. package/richtexteditor/plugins/documentimport.min.js +4 -4
  40. package/richtexteditor/plugins/docxexport.js +30 -1
  41. package/richtexteditor/plugins/docxexport.min.js +2 -2
  42. package/richtexteditor/plugins/emojiautocomplete.js +1 -1
  43. package/richtexteditor/plugins/emojiautocomplete.min.js +1 -1
  44. package/richtexteditor/plugins/html2pdf.js +7 -7
  45. package/richtexteditor/plugins/html2pdf.min.js +1 -1
  46. package/richtexteditor/plugins/imageeditor.js +19 -6
  47. package/richtexteditor/plugins/imageeditor.min.js +1 -1
  48. package/richtexteditor/plugins/insertcode.js +8 -8
  49. package/richtexteditor/plugins/insertcode.min.js +4 -4
  50. package/richtexteditor/plugins/insertemoji.js +4 -4
  51. package/richtexteditor/plugins/insertemoji.min.js +1 -1
  52. package/richtexteditor/plugins/insertgallery.js +4 -4
  53. package/richtexteditor/plugins/insertgallery.min.js +1 -1
  54. package/richtexteditor/plugins/inserttemplate.js +10 -2
  55. package/richtexteditor/plugins/inserttemplate.min.js +1 -1
  56. package/richtexteditor/plugins/markdownexport.js +1 -1
  57. package/richtexteditor/plugins/markdownexport.min.js +2 -2
  58. package/richtexteditor/plugins/mentionplugin.js +2 -2
  59. package/richtexteditor/plugins/mentionplugin.min.js +1 -1
  60. package/richtexteditor/plugins/mermaiddiagram.js +5 -5
  61. package/richtexteditor/plugins/mermaiddiagram.min.js +2 -2
  62. package/richtexteditor/plugins/nodetypes.js +1 -1
  63. package/richtexteditor/plugins/nodetypes.min.js +1 -1
  64. package/richtexteditor/plugins/pagination.js +2 -2
  65. package/richtexteditor/plugins/pagination.min.js +1 -1
  66. package/richtexteditor/plugins/pdfexport.js +1751 -1366
  67. package/richtexteditor/plugins/pdfexport.min.js +28 -13
  68. package/richtexteditor/plugins/readaloud.js +1 -1
  69. package/richtexteditor/plugins/readaloud.min.js +1 -1
  70. package/richtexteditor/plugins/revisionhistory.js +4 -4
  71. package/richtexteditor/plugins/revisionhistory.min.js +2 -2
  72. package/richtexteditor/plugins/rubyannotation.js +2 -2
  73. package/richtexteditor/plugins/rubyannotation.min.js +1 -1
  74. package/richtexteditor/plugins/sanitizer.js +57 -4
  75. package/richtexteditor/plugins/sanitizer.min.js +1 -1
  76. package/richtexteditor/plugins/slashcommand.js +2 -2
  77. package/richtexteditor/plugins/slashcommand.min.js +2 -2
  78. package/richtexteditor/plugins/smartchips.js +3 -3
  79. package/richtexteditor/plugins/smartchips.min.js +1 -1
  80. package/richtexteditor/plugins/spellcheck.js +3 -3
  81. package/richtexteditor/plugins/spellcheck.min.js +1 -1
  82. package/richtexteditor/plugins/stateinspector.js +2 -2
  83. package/richtexteditor/plugins/stateinspector.min.js +2 -2
  84. package/richtexteditor/plugins/structured-content-bridge.js +34 -8
  85. package/richtexteditor/plugins/structured-content-bridge.min.js +5 -5
  86. package/richtexteditor/plugins/textdirection.js +1 -1
  87. package/richtexteditor/plugins/textdirection.min.js +1 -1
  88. package/richtexteditor/plugins/trackedchanges.js +1 -1
  89. package/richtexteditor/plugins/trackedchanges.min.js +1 -1
  90. package/richtexteditor/plugins/yjscollab.js +2 -2
  91. package/richtexteditor/plugins/yjscollab.min.js +1 -1
  92. package/richtexteditor/rte-config.js +14 -36
  93. package/richtexteditor/rte-watchdog.js +3 -1
  94. package/richtexteditor/rte-webcomponent.js +3 -1
  95. package/richtexteditor/rte.js +16 -38
  96. package/richtexteditor/runtime/colorpicker_more_ns.htm +3 -1
@@ -1 +1 @@
1
- RTE_DefaultConfig.plugin_insertemoji=RTE_Plugin_InsertEmoji;function RTE_Plugin_InsertEmoji(){function M(d){if(d.length>2)return d;if(d.length==1||d.charCodeAt(1)==65039||d.charCodeAt(1)==65039)return"&#"+d.charCodeAt(0)+";";var c=d.charCodeAt(0)-55356;if(c<0&&c>3)return d;var e=d.charCodeAt(1)-56324,t=c*1024+e+126980;return"&#x"+t.toString(16)+";"}var R=["smileys","people","animals","food","travel","activities","objects","symbols"];function D(d){return d==="recent"?i&&i.text_emoji_recent||"Recently used":i&&i["text_emoji_"+d]||d.charAt(0).toUpperCase()+d.substring(1)}var Y=["de","es","fr","it","ja","ko","nl","pt","pt-pt","ru","zh-Hans","zh-Hant"],j=null;function P(){var d=i&&i.text_uilocale;return d&&Y.indexOf(d)!==-1?d:""}function T(){var d=P();return d&&window.RTE_EmojiNames&&window.RTE_EmojiNames[d]||null}function $(d){var c=P();if(!(!c||T())){if(j){j.push(d);return}j=[d];var e=String(i&&i.url_base||"/richtexteditor").replace(/\/+$/,""),t=document.createElement("script");t.src=e+"/lang/emoji/rte-emoji-"+c+".js",t.charset="utf-8";var f=function(){var s=j||[];j=null;for(var b=0;b<s.length;b++)try{s[b]()}catch{}};t.onload=f,t.onerror=function(){j=null},(document.head||document.documentElement).appendChild(t)}}function C(d){var c=T();return c&&c[d.emoji]||d.keyword||""}function Q(d,c){if(d.keyword&&d.keyword.indexOf(c)!==-1)return!0;var e=T(),t=e&&e[d.emoji];return!!t&&String(t).toLowerCase().indexOf(c)!==-1}function Z(d){var c=i&&i.text_emoji_items||"{0} items";return c.split("{0}").join(String(d))}var dd=["\u{1F600}#grinning face|\u{1F603}#grinning face with big eyes|\u{1F604}#grinning face with smiling eyes|\u{1F601}#beaming face with smiling eyes|\u{1F606}#grinning squinting face|\u{1F605}#grinning face with sweat|\u{1F923}#rolling on the floor laughing|\u{1F602}#face with tears of joy|\u{1F642}#slightly smiling face|\u{1F643}#upside-down face|\u{1F609}#winking face|\u{1F60A}#smiling face with smiling eyes|\u{1F607}#smiling face with halo|\u{1F60D}#smiling face with heart-eyes|\u{1F929}#star-struck|\u{1F618}#face blowing a kiss|\u{1F617}#kissing face|\u{1F61A}#kissing face with closed eyes|\u{1F619}#kissing face with smiling eyes|\u{1F60B}#face savoring food|\u{1F61B}#face with tongue|\u{1F61C}#winking face with tongue|\u{1F92A}#zany face|\u{1F61D}#squinting face with tongue|\u{1F911}#money-mouth face|\u{1F917}#hugging face|\u{1F92D}#face with hand over mouth|\u{1F92B}#shushing face|\u{1F914}#thinking face|\u{1F910}#zipper-mouth face|\u{1F928}#face with raised eyebrow|\u{1F610}#neutral face|\u{1F611}#expressionless face|\u{1F636}#face without mouth|\u{1F60F}#smirking face|\u{1F612}#unamused face|\u{1F644}#face with rolling eyes|\u{1F62C}#grimacing face|\u{1F925}#lying face|\u{1F60C}#relieved face|\u{1F614}#pensive face|\u{1F62A}#sleepy face|\u{1F924}#drooling face|\u{1F634}#sleeping face|\u{1F637}#face with medical mask|\u{1F912}#face with thermometer|\u{1F915}#face with head-bandage|\u{1F922}#nauseated face|\u{1F92E}#face vomiting|\u{1F927}#sneezing face|\u{1F635}#dizzy face|\u{1F92F}#exploding head|\u{1F920}#cowboy hat face|\u{1F60E}#smiling face with sunglasses|\u{1F913}#nerd face|\u{1F9D0}#face with monocle|\u{1F615}#confused face|\u{1F61F}#worried face|\u{1F641}#slightly frowning face|\u2639\uFE0F#frowning face|\u{1F62E}#face with open mouth|\u{1F62F}#hushed face|\u{1F632}#astonished face|\u{1F633}#flushed face|\u{1F626}#frowning face with open mouth|\u{1F627}#anguished face|\u{1F628}#fearful face|\u{1F630}#anxious face with sweat|\u{1F625}#sad but relieved face|\u{1F622}#crying face|\u{1F62D}#loudly crying face|\u{1F631}#face screaming in fear|\u{1F616}#confounded face|\u{1F623}#persevering face|\u{1F61E}#disappointed face|\u{1F613}#downcast face with sweat|\u{1F629}#weary face|\u{1F62B}#tired face|\u{1F624}#face with steam from nose|\u{1F621}#pouting face|\u{1F620}#angry face|\u{1F92C}#face with symbols on mouth|\u{1F608}#smiling face with horns|\u{1F47F}#angry face with horns|\u{1F480}#skull|\u2620\uFE0F#skull and crossbones|\u{1F4A9}#pile of poo|\u{1F921}#clown face|\u{1F479}#ogre|\u{1F47A}#goblin|\u{1F47B}#ghost|\u{1F47D}#alien|\u{1F47E}#alien monster|\u{1F916}#robot|\u{1F63A}#grinning cat|\u{1F638}#grinning cat with smiling eyes|\u{1F639}#cat with tears of joy|\u{1F63B}#smiling cat with heart-eyes|\u{1F63C}#cat with wry smile|\u{1F63D}#kissing cat|\u{1F640}#weary cat|\u{1F63F}#crying cat|\u{1F63E}#pouting cat|\u{1F648}#see-no-evil monkey|\u{1F649}#hear-no-evil monkey|\u{1F64A}#speak-no-evil monkey|\u{1F48B}#kiss mark|\u{1F48C}#love letter|\u{1F498}#heart with arrow|\u{1F49D}#heart with ribbon|\u{1F496}#sparkling heart|\u{1F497}#growing heart|\u{1F493}#beating heart|\u{1F49E}#revolving hearts|\u{1F495}#two hearts|\u{1F49F}#heart decoration|\u2763\uFE0F#heart exclamation|\u{1F494}#broken heart|\u2764\uFE0F#red heart|\u{1F9E1}#orange heart|\u{1F49B}#yellow heart|\u{1F49A}#green heart|\u{1F499}#blue heart|\u{1F49C}#purple heart|\u{1F5A4}#black heart|\u{1F4AF}#hundred points|\u{1F4A2}#anger symbol|\u{1F4A5}#collision|\u{1F4AB}#dizzy|\u{1F4A6}#sweat droplets|\u{1F4A8}#dashing away|\u{1F4A3}#bomb|\u{1F4AC}#speech balloon|\u{1F4AD}#thought balloon|\u{1F4A4}#zzz","\u{1F44B}#waving hand|\u{1F91A}#raised back of hand|\u270B#raised hand|\u{1F596}#vulcan salute|\u{1F44C}#OK hand|\u270C\uFE0F#victory hand|\u{1F91E}#crossed fingers|\u{1F91F}#love-you gesture|\u{1F918}#sign of the horns|\u{1F919}#call me hand|\u{1F448}#backhand index pointing left|\u{1F449}#backhand index pointing right|\u{1F446}#backhand index pointing up|\u{1F595}#middle finger|\u{1F447}#backhand index pointing down|\u261D\uFE0F#index pointing up|\u{1F44D}#thumbs up|\u{1F44E}#thumbs down|\u270A#raised fist|\u{1F44A}#oncoming fist|\u{1F91B}#left-facing fist|\u{1F91C}#right-facing fist|\u{1F44F}#clapping hands|\u{1F64C}#raising hands|\u{1F450}#open hands|\u{1F932}#palms up together|\u{1F91D}#handshake|\u{1F64F}#folded hands|\u270D\uFE0F#writing hand|\u{1F485}#nail polish|\u{1F933}#selfie|\u{1F4AA}#flexed biceps|\u{1F442}#ear|\u{1F443}#nose|\u{1F9E0}#brain|\u{1F440}#eyes|\u{1F445}#tongue|\u{1F444}#mouth|\u{1F476}#baby|\u{1F9D2}#child|\u{1F466}#boy|\u{1F467}#girl|\u{1F9D1}#person|\u{1F471}#person with blond hair|\u{1F468}#man|\u{1F9D4}#man with beard|\u{1F469}#woman|\u{1F9D3}#older person|\u{1F474}#old man|\u{1F475}#old woman|\u{1F64D}#person frowning|\u{1F64E}#person pouting|\u{1F645}#person gesturing NO|\u{1F646}#person gesturing OK|\u{1F481}#person tipping hand|\u{1F64B}#person raising hand|\u{1F647}#person bowing|\u{1F926}#person facepalming|\u{1F937}#person shrugging|\u{1F46E}#police officer|\u{1F482}#guard|\u{1F477}#construction worker|\u{1F934}#prince|\u{1F478}#princess|\u{1F473}#person wearing turban|\u{1F472}#person with skullcap|\u{1F9D5}#woman with headscarf|\u{1F935}#person in tuxedo|\u{1F470}#person with veil|\u{1F930}#pregnant woman|\u{1F931}#breast-feeding|\u{1F47C}#baby angel|\u{1F385}#Santa Claus|\u{1F936}#Mrs. Claus|\u{1F9D9}#mage|\u{1F9DA}#fairy|\u{1F9DB}#vampire|\u{1F9DC}#merperson|\u{1F9DD}#elf|\u{1F9DE}#genie|\u{1F9DF}#zombie|\u{1F486}#person getting massage|\u{1F487}#person getting haircut|\u{1F6B6}#person walking|\u{1F3C3}#person running|\u{1F483}#woman dancing|\u{1F57A}#man dancing|\u{1F46F}#people with bunny ears|\u{1F9D6}#person in steamy room|\u{1F9D7}#person climbing|\u{1F93A}#person fencing|\u{1F3C7}#horse racing|\u26F7\uFE0F#skier|\u{1F3C2}#snowboarder|\u{1F3C4}#person surfing|\u{1F6A3}#person rowing boat|\u{1F3CA}#person swimming|\u26F9\uFE0F#person bouncing ball|\u{1F6B4}#person biking|\u{1F6B5}#person mountain biking|\u{1F938}#person cartwheeling|\u{1F93C}#people wrestling|\u{1F93D}#person playing water polo|\u{1F93E}#person playing handball|\u{1F939}#person juggling|\u{1F9D8}#person in lotus position|\u{1F6C0}#person taking bath|\u{1F6CC}#person in bed|\u{1F46D}#women holding hands|\u{1F46B}#woman and man holding hands|\u{1F46C}#men holding hands|\u{1F48F}#kiss|\u{1F491}#couple with heart|\u{1F46A}#family|\u{1F464}#bust in silhouette|\u{1F465}#busts in silhouette|\u{1F463}#footprints","\u{1F435}#monkey face|\u{1F412}#monkey|\u{1F98D}#gorilla|\u{1F436}#dog face|\u{1F415}#dog|\u{1F429}#poodle|\u{1F43A}#wolf|\u{1F98A}#fox|\u{1F431}#cat face|\u{1F408}#cat|\u{1F981}#lion|\u{1F42F}#tiger face|\u{1F405}#tiger|\u{1F406}#leopard|\u{1F434}#horse face|\u{1F40E}#horse|\u{1F984}#unicorn|\u{1F993}#zebra|\u{1F98C}#deer|\u{1F42E}#cow face|\u{1F402}#ox|\u{1F403}#water buffalo|\u{1F404}#cow|\u{1F437}#pig face|\u{1F416}#pig|\u{1F417}#boar|\u{1F43D}#pig nose|\u{1F40F}#ram|\u{1F411}#ewe|\u{1F410}#goat|\u{1F42A}#camel|\u{1F42B}#two-hump camel|\u{1F992}#giraffe|\u{1F418}#elephant|\u{1F98F}#rhinoceros|\u{1F42D}#mouse face|\u{1F401}#mouse|\u{1F400}#rat|\u{1F439}#hamster|\u{1F430}#rabbit face|\u{1F407}#rabbit|\u{1F994}#hedgehog|\u{1F987}#bat|\u{1F43B}#bear|\u{1F428}#koala|\u{1F43C}#panda|\u{1F43E}#paw prints|\u{1F983}#turkey|\u{1F414}#chicken|\u{1F413}#rooster|\u{1F423}#hatching chick|\u{1F424}#baby chick|\u{1F425}#front-facing baby chick|\u{1F426}#bird|\u{1F427}#penguin|\u{1F985}#eagle|\u{1F986}#duck|\u{1F989}#owl|\u{1F438}#frog|\u{1F40A}#crocodile|\u{1F422}#turtle|\u{1F98E}#lizard|\u{1F40D}#snake|\u{1F432}#dragon face|\u{1F409}#dragon|\u{1F995}#sauropod|\u{1F996}#T-Rex|\u{1F433}#spouting whale|\u{1F40B}#whale|\u{1F42C}#dolphin|\u{1F41F}#fish|\u{1F420}#tropical fish|\u{1F421}#blowfish|\u{1F988}#shark|\u{1F419}#octopus|\u{1F41A}#spiral shell|\u{1F40C}#snail|\u{1F98B}#butterfly|\u{1F41B}#bug|\u{1F41C}#ant|\u{1F41D}#honeybee|\u{1F41E}#lady beetle|\u{1F997}#cricket|\u{1F982}#scorpion|\u{1F490}#bouquet|\u{1F338}#cherry blossom|\u{1F4AE}#white flower|\u{1F339}#rose|\u{1F940}#wilted flower|\u{1F33A}#hibiscus|\u{1F33B}#sunflower|\u{1F33C}#blossom|\u{1F337}#tulip|\u{1F331}#seedling|\u{1F332}#evergreen tree|\u{1F333}#deciduous tree|\u{1F334}#palm tree|\u{1F335}#cactus|\u{1F33E}#sheaf of rice|\u{1F33F}#herb|\u2618\uFE0F#shamrock|\u{1F340}#four leaf clover|\u{1F341}#maple leaf|\u{1F342}#fallen leaf|\u{1F343}#leaf fluttering in wind","\u{1F347}#grapes|\u{1F348}#melon|\u{1F349}#watermelon|\u{1F34A}#tangerine|\u{1F34B}#lemon|\u{1F34C}#banana|\u{1F34D}#pineapple|\u{1F34E}#red apple|\u{1F34F}#green apple|\u{1F350}#pear|\u{1F351}#peach|\u{1F352}#cherries|\u{1F353}#strawberry|\u{1F95D}#kiwi fruit|\u{1F345}#tomato|\u{1F965}#coconut|\u{1F951}#avocado|\u{1F346}#eggplant|\u{1F954}#potato|\u{1F955}#carrot|\u{1F33D}#ear of corn|\u{1F952}#cucumber|\u{1F966}#broccoli|\u{1F344}#mushroom|\u{1F95C}#peanuts|\u{1F330}#chestnut|\u{1F35E}#bread|\u{1F950}#croissant|\u{1F956}#baguette bread|\u{1F968}#pretzel|\u{1F95E}#pancakes|\u{1F9C0}#cheese wedge|\u{1F356}#meat on bone|\u{1F357}#poultry leg|\u{1F969}#cut of meat|\u{1F953}#bacon|\u{1F354}#hamburger|\u{1F35F}#french fries|\u{1F355}#pizza|\u{1F32D}#hot dog|\u{1F96A}#sandwich|\u{1F32E}#taco|\u{1F32F}#burrito|\u{1F959}#stuffed flatbread|\u{1F95A}#egg|\u{1F373}#cooking|\u{1F958}#shallow pan of food|\u{1F372}#pot of food|\u{1F963}#bowl with spoon|\u{1F957}#green salad|\u{1F37F}#popcorn|\u{1F96B}#canned food|\u{1F371}#bento box|\u{1F358}#rice cracker|\u{1F359}#rice ball|\u{1F35A}#cooked rice|\u{1F35B}#curry rice|\u{1F35C}#steaming bowl|\u{1F35D}#spaghetti|\u{1F360}#roasted sweet potato|\u{1F362}#oden|\u{1F363}#sushi|\u{1F364}#fried shrimp|\u{1F365}#fish cake with swirl|\u{1F361}#dango|\u{1F95F}#dumpling|\u{1F960}#fortune cookie|\u{1F961}#takeout box|\u{1F980}#crab|\u{1F990}#shrimp|\u{1F991}#squid|\u{1F366}#soft ice cream|\u{1F367}#shaved ice|\u{1F368}#ice cream|\u{1F369}#doughnut|\u{1F36A}#cookie|\u{1F382}#birthday cake|\u{1F370}#shortcake|\u{1F967}#pie|\u{1F36B}#chocolate bar|\u{1F36C}#candy|\u{1F36D}#lollipop|\u{1F36E}#custard|\u{1F36F}#honey pot|\u{1F37C}#baby bottle|\u{1F95B}#glass of milk|\u2615#hot beverage|\u{1F375}#teacup without handle|\u{1F376}#sake|\u{1F37E}#bottle with popping cork|\u{1F377}#wine glass|\u{1F378}#cocktail glass|\u{1F379}#tropical drink|\u{1F37A}#beer mug|\u{1F37B}#clinking beer mugs|\u{1F942}#clinking glasses|\u{1F943}#tumbler glass|\u{1F964}#cup with straw|\u{1F962}#chopsticks|\u{1F374}#fork and knife|\u{1F944}#spoon|\u{1F52A}#kitchen knife|\u{1F3FA}#amphora","\u{1F30D}#globe showing Europe-Africa|\u{1F30E}#globe showing Americas|\u{1F30F}#globe showing Asia-Australia|\u{1F310}#globe with meridians|\u{1F5FE}#map of Japan|\u26F0\uFE0F#mountain|\u{1F30B}#volcano|\u{1F5FB}#mount fuji|\u{1F3E0}#house|\u{1F3E1}#house with garden|\u{1F3E2}#office building|\u{1F3E3}#Japanese post office|\u{1F3E4}#post office|\u{1F3E5}#hospital|\u{1F3E6}#bank|\u{1F3E8}#hotel|\u{1F3E9}#love hotel|\u{1F3EA}#convenience store|\u{1F3EB}#school|\u{1F3EC}#department store|\u{1F3ED}#factory|\u{1F3EF}#Japanese castle|\u{1F3F0}#castle|\u{1F492}#wedding|\u{1F5FC}#Tokyo tower|\u{1F5FD}#Statue of Liberty|\u26EA#church|\u{1F54C}#mosque|\u{1F54D}#synagogue|\u26E9\uFE0F#shinto shrine|\u{1F54B}#kaaba|\u26F2#fountain|\u26FA#tent|\u{1F301}#foggy|\u{1F303}#night with stars|\u{1F304}#sunrise over mountains|\u{1F305}#sunrise|\u{1F306}#cityscape at dusk|\u{1F307}#sunset|\u{1F309}#bridge at night|\u2668\uFE0F#hot springs|\u{1F3A0}#carousel horse|\u{1F3A1}#ferris wheel|\u{1F3A2}#roller coaster|\u{1F488}#barber pole|\u{1F3AA}#circus tent|\u{1F682}#locomotive|\u{1F683}#railway car|\u{1F684}#high-speed train|\u{1F685}#bullet train|\u{1F686}#train|\u{1F687}#metro|\u{1F688}#light rail|\u{1F689}#station|\u{1F68A}#tram|\u{1F69D}#monorail|\u{1F69E}#mountain railway|\u{1F68B}#tram car|\u{1F68C}#bus|\u{1F68D}#oncoming bus|\u{1F68E}#trolleybus|\u{1F690}#minibus|\u{1F691}#ambulance|\u{1F692}#fire engine|\u{1F693}#police car|\u{1F694}#oncoming police car|\u{1F695}#taxi|\u{1F696}#oncoming taxi|\u{1F697}#automobile|\u{1F698}#oncoming automobile|\u{1F699}#sport utility vehicle|\u{1F69A}#delivery truck|\u{1F69B}#articulated lorry|\u{1F69C}#tractor|\u{1F6F5}#motor scooter|\u{1F6B2}#bicycle|\u{1F6F4}#kick scooter|\u{1F68F}#bus stop|\u26FD#fuel pump|\u{1F6A8}#police car light|\u{1F6A5}#horizontal traffic light|\u{1F6A6}#vertical traffic light|\u{1F6D1}#stop sign|\u{1F6A7}#construction|\u2693#anchor|\u26F5#sailboat|\u{1F6F6}#canoe|\u{1F6A4}#speedboat|\u26F4\uFE0F#ferry|\u{1F6A2}#ship|\u2708\uFE0F#airplane|\u{1F6EB}#airplane departure|\u{1F6EC}#airplane arrival|\u{1F4BA}#seat|\u{1F681}#helicopter|\u{1F69F}#suspension railway|\u{1F6A0}#mountain cableway|\u{1F6A1}#aerial tramway|\u{1F680}#rocket|\u{1F6F8}#flying saucer|\u231B#hourglass done|\u23F3#hourglass not done|\u231A#watch|\u23F0#alarm clock|\u23F1\uFE0F#stopwatch|\u23F2\uFE0F#timer clock|\u{1F55B}#twelve o\u2019clock|\u{1F567}#twelve-thirty|\u{1F550}#one o\u2019clock|\u{1F55C}#one-thirty|\u{1F551}#two o\u2019clock|\u{1F55D}#two-thirty|\u{1F552}#three o\u2019clock|\u{1F55E}#three-thirty|\u{1F553}#four o\u2019clock|\u{1F55F}#four-thirty|\u{1F554}#five o\u2019clock|\u{1F560}#five-thirty|\u{1F555}#six o\u2019clock|\u{1F561}#six-thirty|\u{1F556}#seven o\u2019clock|\u{1F562}#seven-thirty|\u{1F557}#eight o\u2019clock|\u{1F563}#eight-thirty|\u{1F558}#nine o\u2019clock|\u{1F564}#nine-thirty|\u{1F559}#ten o\u2019clock|\u{1F565}#ten-thirty|\u{1F55A}#eleven o\u2019clock|\u{1F566}#eleven-thirty|\u{1F311}#new moon|\u{1F312}#waxing crescent moon|\u{1F313}#first quarter moon|\u{1F314}#waxing gibbous moon|\u{1F315}#full moon|\u{1F316}#waning gibbous moon|\u{1F317}#last quarter moon|\u{1F318}#waning crescent moon|\u{1F319}#crescent moon|\u{1F31A}#new moon face|\u{1F31B}#first quarter moon face|\u{1F31C}#last quarter moon face|\u2600\uFE0F#sun|\u{1F31D}#full moon face|\u{1F31E}#sun with face|\u2B50#star|\u{1F31F}#glowing star|\u{1F320}#shooting star|\u{1F30C}#milky way|\u2601\uFE0F#cloud|\u26C5#sun behind cloud|\u26C8\uFE0F#cloud with lightning and rain|\u{1F300}#cyclone|\u{1F308}#rainbow|\u{1F302}#closed umbrella|\u2602\uFE0F#umbrella|\u2614#umbrella with rain drops|\u26F1\uFE0F#umbrella on ground|\u26A1#high voltage|\u2744\uFE0F#snowflake|\u2603\uFE0F#snowman|\u26C4#snowman without snow|\u2604\uFE0F#comet|\u{1F525}#fire|\u{1F4A7}#droplet|\u{1F30A}#water wave","\u{1F383}#jack-o-lantern|\u{1F384}#Christmas tree|\u{1F386}#fireworks|\u{1F387}#sparkler|\u2728#sparkles|\u{1F388}#balloon|\u{1F389}#party popper|\u{1F38A}#confetti ball|\u{1F38B}#tanabata tree|\u{1F38D}#pine decoration|\u{1F38E}#Japanese dolls|\u{1F38F}#carp streamer|\u{1F390}#wind chime|\u{1F391}#moon viewing ceremony|\u{1F380}#ribbon|\u{1F381}#wrapped gift|\u{1F3AB}#ticket|\u{1F3C6}#trophy|\u{1F3C5}#sports medal|\u{1F947}#1st place medal|\u{1F948}#2nd place medal|\u{1F949}#3rd place medal|\u26BD#soccer ball|\u26BE#baseball|\u{1F3C0}#basketball|\u{1F3D0}#volleyball|\u{1F3C8}#american football|\u{1F3C9}#rugby football|\u{1F3BE}#tennis|\u{1F3B3}#bowling|\u{1F3CF}#cricket game|\u{1F3D1}#field hockey|\u{1F3D2}#ice hockey|\u{1F3D3}#ping pong|\u{1F3F8}#badminton|\u{1F94A}#boxing glove|\u{1F94B}#martial arts uniform|\u{1F945}#goal net|\u26F3#flag in hole|\u26F8\uFE0F#ice skate|\u{1F3A3}#fishing pole|\u{1F3BD}#running shirt|\u{1F3BF}#skis|\u{1F6F7}#sled|\u{1F94C}#curling stone|\u{1F3AF}#direct hit|\u{1F3B1}#pool 8 ball|\u{1F52E}#crystal ball|\u{1F3AE}#video game|\u{1F3B0}#slot machine|\u{1F3B2}#game die|\u2660\uFE0F#spade suit|\u2665\uFE0F#heart suit|\u2666\uFE0F#diamond suit|\u2663\uFE0F#club suit|\u{1F0CF}#joker|\u{1F004}#mahjong red dragon|\u{1F3B4}#flower playing cards|\u{1F3AD}#performing arts|\u{1F3A8}#artist palette","\u{1F453}#glasses|\u{1F454}#necktie|\u{1F455}#t-shirt|\u{1F456}#jeans|\u{1F9E3}#scarf|\u{1F9E4}#gloves|\u{1F9E5}#coat|\u{1F9E6}#socks|\u{1F457}#dress|\u{1F458}#kimono|\u{1F459}#bikini|\u{1F45A}#woman\u2019s clothes|\u{1F45B}#purse|\u{1F45C}#handbag|\u{1F45D}#clutch bag|\u{1F392}#backpack|\u{1F45E}#man\u2019s shoe|\u{1F45F}#running shoe|\u{1F460}#high-heeled shoe|\u{1F461}#woman\u2019s sandal|\u{1F462}#woman\u2019s boot|\u{1F451}#crown|\u{1F452}#woman\u2019s hat|\u{1F3A9}#top hat|\u{1F393}#graduation cap|\u{1F9E2}#billed cap|\u26D1\uFE0F#rescue worker\u2019s helmet|\u{1F4FF}#prayer beads|\u{1F484}#lipstick|\u{1F48D}#ring|\u{1F48E}#gem stone|\u{1F507}#muted speaker|\u{1F508}#speaker low volume|\u{1F509}#speaker medium volume|\u{1F50A}#speaker high volume|\u{1F4E2}#loudspeaker|\u{1F4E3}#megaphone|\u{1F4EF}#postal horn|\u{1F514}#bell|\u{1F515}#bell with slash|\u{1F3BC}#musical score|\u{1F3B5}#musical note|\u{1F3B6}#musical notes|\u{1F3A4}#microphone|\u{1F3A7}#headphone|\u{1F4FB}#radio|\u{1F3B7}#saxophone|\u{1F3B8}#guitar|\u{1F3B9}#musical keyboard|\u{1F3BA}#trumpet|\u{1F3BB}#violin|\u{1F941}#drum|\u{1F4F1}#mobile phone|\u{1F4F2}#mobile phone with arrow|\u260E\uFE0F#telephone|\u{1F4DE}#telephone receiver|\u{1F4DF}#pager|\u{1F4E0}#fax machine|\u{1F50B}#battery|\u{1F50C}#electric plug|\u{1F4BB}#laptop|\u2328\uFE0F#keyboard|\u{1F4BD}#computer disk|\u{1F4BE}#floppy disk|\u{1F4BF}#optical disk|\u{1F4C0}#dvd|\u{1F3A5}#movie camera|\u{1F3AC}#clapper board|\u{1F4FA}#television|\u{1F4F7}#camera|\u{1F4F8}#camera with flash|\u{1F4F9}#video camera|\u{1F4FC}#videocassette|\u{1F50D}#magnifying glass tilted left|\u{1F50E}#magnifying glass tilted right|\u{1F4A1}#light bulb|\u{1F526}#flashlight|\u{1F3EE}#red paper lantern|\u{1F4D4}#notebook with decorative cover|\u{1F4D5}#closed book|\u{1F4D6}#open book|\u{1F4D7}#green book|\u{1F4D8}#blue book|\u{1F4D9}#orange book|\u{1F4DA}#books|\u{1F4D3}#notebook|\u{1F4D2}#ledger|\u{1F4C3}#page with curl|\u{1F4DC}#scroll|\u{1F4C4}#page facing up|\u{1F4F0}#newspaper|\u{1F4D1}#bookmark tabs|\u{1F516}#bookmark|\u{1F4B0}#money bag|\u{1F4B4}#yen banknote|\u{1F4B5}#dollar banknote|\u{1F4B6}#euro banknote|\u{1F4B7}#pound banknote|\u{1F4B8}#money with wings|\u{1F4B3}#credit card|\u{1F4B9}#chart increasing with yen|\u2709\uFE0F#envelope|\u{1F4E7}#e-mail|\u{1F4E8}#incoming envelope|\u{1F4E9}#envelope with arrow|\u{1F4E4}#outbox tray|\u{1F4E5}#inbox tray|\u{1F4E6}#package|\u{1F4EB}#closed mailbox with raised flag|\u{1F4EA}#closed mailbox with lowered flag|\u{1F4EC}#open mailbox with raised flag|\u{1F4ED}#open mailbox with lowered flag|\u{1F4EE}#postbox|\u270F\uFE0F#pencil|\u2712\uFE0F#black nib|\u{1F4DD}#memo|\u{1F4BC}#briefcase|\u{1F4C1}#file folder|\u{1F4C2}#open file folder|\u{1F4C5}#calendar|\u{1F4C6}#tear-off calendar|\u{1F4C7}#card index|\u{1F4C8}#chart increasing|\u{1F4C9}#chart decreasing|\u{1F4CA}#bar chart|\u{1F4CB}#clipboard|\u{1F4CC}#pushpin|\u{1F4CD}#round pushpin|\u{1F4CE}#paperclip|\u{1F4CF}#straight ruler|\u{1F4D0}#triangular ruler|\u2702\uFE0F#scissors|\u{1F512}#locked|\u{1F513}#unlocked|\u{1F50F}#locked with pen|\u{1F510}#locked with key|\u{1F511}#key|\u{1F528}#hammer|\u26CF\uFE0F#pick|\u2692\uFE0F#hammer and pick|\u2694\uFE0F#crossed swords|\u{1F52B}#pistol|\u{1F3F9}#bow and arrow|\u{1F527}#wrench|\u{1F529}#nut and bolt|\u2699\uFE0F#gear|\u2696\uFE0F#balance scale|\u{1F517}#link|\u26D3\uFE0F#chains|\u2697\uFE0F#alembic|\u{1F52C}#microscope|\u{1F52D}#telescope|\u{1F4E1}#satellite antenna|\u{1F489}#syringe|\u{1F48A}#pill|\u{1F6AA}#door|\u{1F6BD}#toilet|\u{1F6BF}#shower|\u{1F6C1}#bathtub|\u{1F6D2}#shopping cart|\u{1F6AC}#cigarette|\u26B0\uFE0F#coffin|\u26B1\uFE0F#funeral urn|\u{1F5FF}#moai","\u{1F3E7}#ATM sign|\u{1F6AE}#litter in bin sign|\u{1F6B0}#potable water|\u267F#wheelchair symbol|\u{1F6B9}#men\u2019s room|\u{1F6BA}#women\u2019s room|\u{1F6BB}#restroom|\u{1F6BC}#baby symbol|\u{1F6BE}#water closet|\u{1F6C2}#passport control|\u{1F6C3}#customs|\u{1F6C4}#baggage claim|\u{1F6C5}#left luggage|\u26A0\uFE0F#warning|\u{1F6B8}#children crossing|\u26D4#no entry|\u{1F6AB}#prohibited|\u{1F6B3}#no bicycles|\u{1F6AD}#no smoking|\u{1F6AF}#no littering|\u{1F6B1}#non-potable water|\u{1F6B7}#no pedestrians|\u{1F4F5}#no mobile phones|\u{1F51E}#no one under eighteen|\u2622\uFE0F#radioactive|\u2623\uFE0F#biohazard|\u2B06\uFE0F#up arrow|\u2197\uFE0F#up-right arrow|\u27A1\uFE0F#right arrow|\u2198\uFE0F#down-right arrow|\u2B07\uFE0F#down arrow|\u2199\uFE0F#down-left arrow|\u2B05\uFE0F#left arrow|\u2196\uFE0F#up-left arrow|\u2195\uFE0F#up-down arrow|\u2194\uFE0F#left-right arrow|\u21A9\uFE0F#right arrow curving left|\u21AA\uFE0F#left arrow curving right|\u2934\uFE0F#right arrow curving up|\u2935\uFE0F#right arrow curving down|\u{1F503}#clockwise vertical arrows|\u{1F504}#counterclockwise arrows button|\u{1F519}#BACK arrow|\u{1F51A}#END arrow|\u{1F51B}#ON! arrow|\u{1F51C}#SOON arrow|\u{1F51D}#TOP arrow|\u{1F6D0}#place of worship|\u269B\uFE0F#atom symbol|\u2721\uFE0F#star of David|\u2638\uFE0F#wheel of dharma|\u262F\uFE0F#yin yang|\u271D\uFE0F#latin cross|\u2626\uFE0F#orthodox cross|\u262A\uFE0F#star and crescent|\u262E\uFE0F#peace symbol|\u{1F54E}#menorah|\u{1F52F}#dotted six-pointed star|\u2648#Aries|\u2649#Taurus|\u264A#Gemini|\u264B#Cancer|\u264C#Leo|\u264D#Virgo|\u264E#Libra|\u264F#Scorpio|\u2650#Sagittarius|\u2651#Capricorn|\u2652#Aquarius|\u2653#Pisces|\u26CE#Ophiuchus|\u{1F500}#shuffle tracks button|\u{1F501}#repeat button|\u{1F502}#repeat single button|\u25B6\uFE0F#play button|\u23E9#fast-forward button|\u23ED\uFE0F#next track button|\u23EF\uFE0F#play or pause button|\u25C0\uFE0F#reverse button|\u23EA#fast reverse button|\u23EE\uFE0F#last track button|\u{1F53C}#upwards button|\u23EB#fast up button|\u{1F53D}#downwards button|\u23EC#fast down button|\u23F8\uFE0F#pause button|\u23F9\uFE0F#stop button|\u23FA\uFE0F#record button|\u23CF\uFE0F#eject button|\u{1F3A6}#cinema|\u{1F505}#dim button|\u{1F506}#bright button|\u{1F4F6}#antenna bars|\u{1F4F3}#vibration mode|\u{1F4F4}#mobile phone off|\u2640\uFE0F#female sign|\u2642\uFE0F#male sign|\u2716\uFE0F#multiply|\u2795#plus|\u2796#minus|\u2797#divide|\u203C\uFE0F#double exclamation mark|\u2049\uFE0F#exclamation question mark|\u2753#question mark|\u2754#white question mark|\u2755#white exclamation mark|\u2757#exclamation mark|\u3030\uFE0F#wavy dash|\u{1F4B1}#currency exchange|\u{1F4B2}#heavy dollar sign|\u2695\uFE0F#medical symbol|\u267B\uFE0F#recycling symbol|\u269C\uFE0F#fleur-de-lis|\u{1F531}#trident emblem|\u{1F4DB}#name badge|\u{1F530}#Japanese symbol for beginner|\u2B55#hollow red circle|\u2705#check mark button|\u2611\uFE0F#check box with check|\u2714\uFE0F#check mark|\u274C#cross mark|\u274E#cross mark button|\u27B0#curly loop|\u27BF#double curly loop|\u303D\uFE0F#part alternation mark|\u2733\uFE0F#eight-spoked asterisk|\u2734\uFE0F#eight-pointed star|\u2747\uFE0F#sparkle|\xA9\uFE0F#copyright|\xAE\uFE0F#registered|\u2122\uFE0F#trade mark|\u{1F51F}#keycap: 10|\u{1F520}#input latin uppercase|\u{1F521}#input latin lowercase|\u{1F522}#input numbers|\u{1F523}#input symbols|\u{1F524}#input latin letters|\u{1F18E}#AB button (blood type)|\u{1F191}#CL button|\u{1F192}#COOL button|\u{1F193}#FREE button|\u2139\uFE0F#information|\u{1F194}#ID button|\u24C2\uFE0F#circled M|\u{1F195}#NEW button|\u{1F196}#NG button|\u{1F197}#OK button|\u{1F198}#SOS button|\u{1F199}#UP! button|\u{1F19A}#VS button|\u{1F201}#Japanese \u201Chere\u201D button|\u{1F236}#Japanese \u201Cnot free of charge\u201D button|\u{1F22F}#Japanese \u201Creserved\u201D button|\u{1F250}#Japanese \u201Cbargain\u201D button|\u{1F239}#Japanese \u201Cdiscount\u201D button|\u{1F21A}#Japanese \u201Cfree of charge\u201D button|\u{1F232}#Japanese \u201Cprohibited\u201D button|\u{1F251}#Japanese \u201Cacceptable\u201D button|\u{1F238}#Japanese \u201Capplication\u201D button|\u{1F234}#Japanese \u201Cpassing grade\u201D button|\u{1F233}#Japanese \u201Cvacancy\u201D button|\u3297\uFE0F#Japanese \u201Ccongratulations\u201D button|\u3299\uFE0F#Japanese \u201Csecret\u201D button|\u{1F23A}#Japanese \u201Copen for business\u201D button|\u{1F235}#Japanese \u201Cno vacancy\u201D button|\u{1F534}#red circle|\u{1F535}#blue circle|\u26AB#black circle|\u26AA#white circle|\u2B1B#black large square|\u2B1C#white large square|\u25FC\uFE0F#black medium square|\u25FB\uFE0F#white medium square|\u25FE#black medium-small square|\u25FD#white medium-small square|\u25AA\uFE0F#black small square|\u25AB\uFE0F#white small square|\u{1F536}#large orange diamond|\u{1F537}#large blue diamond|\u{1F538}#small orange diamond|\u{1F539}#small blue diamond|\u{1F53A}#red triangle pointed up|\u{1F53B}#red triangle pointed down|\u{1F4A0}#diamond with a dot|\u{1F518}#radio button|\u{1F533}#white square button|\u{1F532}#black square button"],l=null;function ud(){if(!l){l=[];for(var d=0;d<R.length;d++){for(var c=[],e={index:d,name:R[d],items:c},t=dd[d].split("|"),f=0;f<t.length;f++){var s=t[f],b=s.split("#");c.push({emoji:b[0],keyword:b[1]})}l.push(e)}}}var G="rte-emoji-recent",N=16,I=[];function H(){try{var d=window.localStorage&&window.localStorage.getItem(G);if(d){var c=JSON.parse(d);if(Array.isArray(c))return c.slice(0,N)}}catch{}return I.slice(0,N)}function ed(d){if(d){var c=H().filter(function(e){return e!==d});c.unshift(d),c=c.slice(0,N),I=c;try{window.localStorage&&window.localStorage.setItem(G,JSON.stringify(c))}catch{}}}function ad(){var d=H();if(!d.length)return null;for(var c={},e=0;e<l.length;e++)for(var t=0;t<l[e].items.length;t++)c[l[e].items[t].emoji]=l[e].items[t].keyword;for(var f=[],s=0;s<d.length;s++)f.push({emoji:d[s],keyword:c[d[s]]||""});return{index:-1,name:"recent",items:f}}var S=this,i,p;S.PluginName="InsertEmoji",S.InitConfig=function(d){i=d},S.InitEditor=function(d){p=d,p.toolbarFactoryMap.insertemoji=function(c){return p.createToolbarItemDropDownPanel(c,function(e){ud(),e.style.width="360px",e.style.height="420px",e.style.display="flex",e.style.flexDirection="column",e.onclick=function(u){if(u.target.nodeName=="GSPAN"){var a=u.target.getAttribute("title")||"";ed(a.split(" ")[0]),p.closeCurrentPopup();var o=e.closest&&e.closest("rte-dialog-inner");if(o&&typeof o.close=="function")try{o.close()}catch{}var n=u.target.getAttribute("htmlcode");p.insertHTML(n),p.collapse(!1),p.focus()}};function t(){var u=k.style.display!=="none"?k:v;return[].slice.call(u.querySelectorAll("gspan"))}function f(u,a,o){var n=a.getBoundingClientRect(),r=u.filter(function(x){var h=x.getBoundingClientRect();return o<0?h.bottom<=n.top+1:h.top>=n.bottom-1});if(!r.length)return null;var g=null;r.forEach(function(x){var h=x.getBoundingClientRect();(g===null||(o<0?h.top>g:h.top<g))&&(g=h.top)});var m=r.filter(function(x){return Math.abs(x.getBoundingClientRect().top-g)<2}),A=m[0],X=1/0;return m.forEach(function(x){var h=Math.abs(x.getBoundingClientRect().left-n.left);h<X&&(X=h,A=x)}),A}e.addEventListener("keydown",function(u){var a=u.target;if(!(!a||a.nodeName!=="GSPAN")){var o=t(),n=o.indexOf(a),r=null;if(u.key==="ArrowRight")r=o[n+1];else if(u.key==="ArrowLeft")r=o[n-1];else if(u.key==="ArrowDown")r=f(o,a,1);else if(u.key==="ArrowUp")r=f(o,a,-1);else if(u.key==="Home")r=o[0];else if(u.key==="End")r=o[o.length-1];else if(u.key==="Enter"||u.key===" "||u.key==="Spacebar"){u.preventDefault(),u.stopPropagation(),a.click();return}else if(u.key==="Escape"){u.preventDefault(),u.stopPropagation(),p.closeCurrentPopup();return}else return;u.preventDefault(),u.stopPropagation(),r&&r.focus()}},!0);var s=null,b=null;function q(){s!=null&&(s.style.backgroundColor="",s=null)}function cd(){q(),s=b,s.style.backgroundColor="#e6e6e6",b=null}var E=0;e.onmouseover=function(u){for(var a=u.target;a!=e;a=a.parentNode)if(a.nodeName=="GITEM"){if(a==b)return;b=a,clearTimeout(E),E=setTimeout(cd,10);return}},e.onmouseout=function(){clearTimeout(E),E=setTimeout(q,10)};var B=e.closest&&e.closest(".rte-dark")?"#93c5fd":"darkblue",K=w(e,"label","margin:5px;position:relative;");K.setAttribute("id","emojis_searchbar");var y=w(K,"input","width:100%;padding:5px 20px;border:solid 1px #ccc;border-radius:5px;");y.setAttribute("placeholder",p.getLangText("searchemojis")),y.setAttribute("aria-label",i&&i.text_searchemojis||"Search emojis");var U=0;y.onchange=y.onkeyup=y.onkeypress=y.onpaste=function(){clearTimeout(U),U=setTimeout(F,100)};function td(u){var a=[];a.push('<div style="padding:3px;margin-top:5px;color:'+B+';">'+D(u.name)+"</div>"),a.push('<div style="display:flex;flex-direction:row;flex-wrap:wrap;">');for(var o=0;o<u.items.length;o++){var n=u.items[o],r=M(n.emoji);a.push('<gitem class="rte-flex-column-center" style="width:32px;height:32px;margin:2px"><gspan role="menuitem" tabindex="0" aria-label="'+(C(n)||n.emoji).replace(/"/g,"")+'" htmlcode="'+r+'" title="'+n.emoji+" "+C(n).replace(/"/g,"")+'">'+r+"</gspan></gitem>")}return a.push("</div>"),a.join("")}function F(){var u=y.value.trim().toLowerCase();if(!u){J.style.display=v.style.display="",k.style.display="none";return}J.style.display=v.style.display="none",k.style.display="flex";for(var a=[],o=0,n=0;n<l.length;n++)for(var r=l[n],g=0;g<r.items.length;g++){var m=r.items[g];if(Q(m,u)){o++;var A=M(m.emoji);a.push('<gitem class="rte-flex-column-center" style="width:32px;height:32px;margin:2px"><gspan role="menuitem" tabindex="0" aria-label="'+(C(m)||m.emoji).replace(/"/g,"")+'" htmlcode="'+A+'" title="'+m.emoji+" "+C(m).replace(/"/g,"")+'">'+A+"</gspan></gitem>")}}k.innerHTML='<div style="width:100%;padding:3px;margin-top:5px;color:'+B+';text-align:center;">'+Z(o)+"</div>"+a.join("")}e.setAttribute("id","emoji-picker");var J=w(e,"div"),k=w(e,"div","display:none;flex-direction:row;flex-wrap:wrap;overflow-y:scroll;padding-bottom:55px"),v=w(e,"div","overflow-y:scroll;padding-bottom:55px;flex:999");k.setAttribute("role","menu"),k.setAttribute("aria-label",i&&i.text_emoji_results||"Search results"),v.setAttribute("role","menu"),v.setAttribute("aria-label",i&&i.text_emoji_grid||"Emoji");var V=0,z=ad();function L(u){V=u,v.innerHTML=td(u===-1?z:l[u]),v.scrollTop=0;for(var a=0;a<_.length;a++)_[a].className=_[a].__rteGroup===u?"rte-ui-active":""}for(var od=w(J,"rte-tabui"),rd=w(od,"rte-tabui-toolbar"),_=[],W=z?[{index:-1,name:"recent",items:[{emoji:"\u{1F558}"}]}].concat(l):l,O=0;O<W.length;O++)(function(u){var a=w(rd,"rte-tabui-toolbar-button","width:32px;text-align:center;margin:4px");a.setAttribute("title",D(u.name)),a.innerHTML=u.items[0].emoji,a.__rteGroup=u.index,a.onclick=function(){L(u.index)},_.push(a)})(W[O]);L(z?-1:0),$(function(){v.isConnected&&(k.style.display!=="none"?F():L(V))}),y.focus()})}};function w(d,c,e,t){var f=d.ownerDocument.createElement(c);return e&&(f.style.cssText=e),t&&(f.className=t),d.appendChild(f),f}}
1
+ RTE_DefaultConfig.plugin_insertemoji=RTE_Plugin_InsertEmoji;function RTE_Plugin_InsertEmoji(){function O(d){if(d.length>2)return d;if(d.length==1||d.charCodeAt(1)==65039||d.charCodeAt(1)==65039)return"&#"+d.charCodeAt(0)+";";var c=d.charCodeAt(0)-55356;if(c<0&&c>3)return d;var e=d.charCodeAt(1)-56324,t=c*1024+e+126980;return"&#x"+t.toString(16)+";"}var M=["smileys","people","animals","food","travel","activities","objects","symbols"];function D(d){return d==="recent"?i&&i.text_emoji_recent||"Recently used":i&&i["text_emoji_"+d]||d.charAt(0).toUpperCase()+d.substring(1)}var Y=["de","es","fr","it","ja","ko","nl","pt","pt-pt","ru","zh-Hans","zh-Hant"],j=null;function P(){var d=i&&i.text_uilocale;return d&&Y.indexOf(d)!==-1?d:""}function C(){var d=P();return d&&window.RTE_EmojiNames&&window.RTE_EmojiNames[d]||null}function $(d){var c=P();if(!(!c||C())){if(j){j.push(d);return}j=[d];var e=String(i&&i.url_base||"/richtexteditor").replace(/\/+$/,""),t=document.createElement("script");t.src=window.RTE_TrustedTypes.scriptURL(e+"/lang/emoji/rte-emoji-"+c+".js"),t.charset="utf-8";var f=function(){var s=j||[];j=null;for(var b=0;b<s.length;b++)try{s[b]()}catch{}};t.onload=f,t.onerror=function(){j=null},(document.head||document.documentElement).appendChild(t)}}function T(d){var c=C();return c&&c[d.emoji]||d.keyword||""}function Q(d,c){if(d.keyword&&d.keyword.indexOf(c)!==-1)return!0;var e=C(),t=e&&e[d.emoji];return!!t&&String(t).toLowerCase().indexOf(c)!==-1}function Z(d){var c=i&&i.text_emoji_items||"{0} items";return c.split("{0}").join(String(d))}var dd=["\u{1F600}#grinning face|\u{1F603}#grinning face with big eyes|\u{1F604}#grinning face with smiling eyes|\u{1F601}#beaming face with smiling eyes|\u{1F606}#grinning squinting face|\u{1F605}#grinning face with sweat|\u{1F923}#rolling on the floor laughing|\u{1F602}#face with tears of joy|\u{1F642}#slightly smiling face|\u{1F643}#upside-down face|\u{1F609}#winking face|\u{1F60A}#smiling face with smiling eyes|\u{1F607}#smiling face with halo|\u{1F60D}#smiling face with heart-eyes|\u{1F929}#star-struck|\u{1F618}#face blowing a kiss|\u{1F617}#kissing face|\u{1F61A}#kissing face with closed eyes|\u{1F619}#kissing face with smiling eyes|\u{1F60B}#face savoring food|\u{1F61B}#face with tongue|\u{1F61C}#winking face with tongue|\u{1F92A}#zany face|\u{1F61D}#squinting face with tongue|\u{1F911}#money-mouth face|\u{1F917}#hugging face|\u{1F92D}#face with hand over mouth|\u{1F92B}#shushing face|\u{1F914}#thinking face|\u{1F910}#zipper-mouth face|\u{1F928}#face with raised eyebrow|\u{1F610}#neutral face|\u{1F611}#expressionless face|\u{1F636}#face without mouth|\u{1F60F}#smirking face|\u{1F612}#unamused face|\u{1F644}#face with rolling eyes|\u{1F62C}#grimacing face|\u{1F925}#lying face|\u{1F60C}#relieved face|\u{1F614}#pensive face|\u{1F62A}#sleepy face|\u{1F924}#drooling face|\u{1F634}#sleeping face|\u{1F637}#face with medical mask|\u{1F912}#face with thermometer|\u{1F915}#face with head-bandage|\u{1F922}#nauseated face|\u{1F92E}#face vomiting|\u{1F927}#sneezing face|\u{1F635}#dizzy face|\u{1F92F}#exploding head|\u{1F920}#cowboy hat face|\u{1F60E}#smiling face with sunglasses|\u{1F913}#nerd face|\u{1F9D0}#face with monocle|\u{1F615}#confused face|\u{1F61F}#worried face|\u{1F641}#slightly frowning face|\u2639\uFE0F#frowning face|\u{1F62E}#face with open mouth|\u{1F62F}#hushed face|\u{1F632}#astonished face|\u{1F633}#flushed face|\u{1F626}#frowning face with open mouth|\u{1F627}#anguished face|\u{1F628}#fearful face|\u{1F630}#anxious face with sweat|\u{1F625}#sad but relieved face|\u{1F622}#crying face|\u{1F62D}#loudly crying face|\u{1F631}#face screaming in fear|\u{1F616}#confounded face|\u{1F623}#persevering face|\u{1F61E}#disappointed face|\u{1F613}#downcast face with sweat|\u{1F629}#weary face|\u{1F62B}#tired face|\u{1F624}#face with steam from nose|\u{1F621}#pouting face|\u{1F620}#angry face|\u{1F92C}#face with symbols on mouth|\u{1F608}#smiling face with horns|\u{1F47F}#angry face with horns|\u{1F480}#skull|\u2620\uFE0F#skull and crossbones|\u{1F4A9}#pile of poo|\u{1F921}#clown face|\u{1F479}#ogre|\u{1F47A}#goblin|\u{1F47B}#ghost|\u{1F47D}#alien|\u{1F47E}#alien monster|\u{1F916}#robot|\u{1F63A}#grinning cat|\u{1F638}#grinning cat with smiling eyes|\u{1F639}#cat with tears of joy|\u{1F63B}#smiling cat with heart-eyes|\u{1F63C}#cat with wry smile|\u{1F63D}#kissing cat|\u{1F640}#weary cat|\u{1F63F}#crying cat|\u{1F63E}#pouting cat|\u{1F648}#see-no-evil monkey|\u{1F649}#hear-no-evil monkey|\u{1F64A}#speak-no-evil monkey|\u{1F48B}#kiss mark|\u{1F48C}#love letter|\u{1F498}#heart with arrow|\u{1F49D}#heart with ribbon|\u{1F496}#sparkling heart|\u{1F497}#growing heart|\u{1F493}#beating heart|\u{1F49E}#revolving hearts|\u{1F495}#two hearts|\u{1F49F}#heart decoration|\u2763\uFE0F#heart exclamation|\u{1F494}#broken heart|\u2764\uFE0F#red heart|\u{1F9E1}#orange heart|\u{1F49B}#yellow heart|\u{1F49A}#green heart|\u{1F499}#blue heart|\u{1F49C}#purple heart|\u{1F5A4}#black heart|\u{1F4AF}#hundred points|\u{1F4A2}#anger symbol|\u{1F4A5}#collision|\u{1F4AB}#dizzy|\u{1F4A6}#sweat droplets|\u{1F4A8}#dashing away|\u{1F4A3}#bomb|\u{1F4AC}#speech balloon|\u{1F4AD}#thought balloon|\u{1F4A4}#zzz","\u{1F44B}#waving hand|\u{1F91A}#raised back of hand|\u270B#raised hand|\u{1F596}#vulcan salute|\u{1F44C}#OK hand|\u270C\uFE0F#victory hand|\u{1F91E}#crossed fingers|\u{1F91F}#love-you gesture|\u{1F918}#sign of the horns|\u{1F919}#call me hand|\u{1F448}#backhand index pointing left|\u{1F449}#backhand index pointing right|\u{1F446}#backhand index pointing up|\u{1F595}#middle finger|\u{1F447}#backhand index pointing down|\u261D\uFE0F#index pointing up|\u{1F44D}#thumbs up|\u{1F44E}#thumbs down|\u270A#raised fist|\u{1F44A}#oncoming fist|\u{1F91B}#left-facing fist|\u{1F91C}#right-facing fist|\u{1F44F}#clapping hands|\u{1F64C}#raising hands|\u{1F450}#open hands|\u{1F932}#palms up together|\u{1F91D}#handshake|\u{1F64F}#folded hands|\u270D\uFE0F#writing hand|\u{1F485}#nail polish|\u{1F933}#selfie|\u{1F4AA}#flexed biceps|\u{1F442}#ear|\u{1F443}#nose|\u{1F9E0}#brain|\u{1F440}#eyes|\u{1F445}#tongue|\u{1F444}#mouth|\u{1F476}#baby|\u{1F9D2}#child|\u{1F466}#boy|\u{1F467}#girl|\u{1F9D1}#person|\u{1F471}#person with blond hair|\u{1F468}#man|\u{1F9D4}#man with beard|\u{1F469}#woman|\u{1F9D3}#older person|\u{1F474}#old man|\u{1F475}#old woman|\u{1F64D}#person frowning|\u{1F64E}#person pouting|\u{1F645}#person gesturing NO|\u{1F646}#person gesturing OK|\u{1F481}#person tipping hand|\u{1F64B}#person raising hand|\u{1F647}#person bowing|\u{1F926}#person facepalming|\u{1F937}#person shrugging|\u{1F46E}#police officer|\u{1F482}#guard|\u{1F477}#construction worker|\u{1F934}#prince|\u{1F478}#princess|\u{1F473}#person wearing turban|\u{1F472}#person with skullcap|\u{1F9D5}#woman with headscarf|\u{1F935}#person in tuxedo|\u{1F470}#person with veil|\u{1F930}#pregnant woman|\u{1F931}#breast-feeding|\u{1F47C}#baby angel|\u{1F385}#Santa Claus|\u{1F936}#Mrs. Claus|\u{1F9D9}#mage|\u{1F9DA}#fairy|\u{1F9DB}#vampire|\u{1F9DC}#merperson|\u{1F9DD}#elf|\u{1F9DE}#genie|\u{1F9DF}#zombie|\u{1F486}#person getting massage|\u{1F487}#person getting haircut|\u{1F6B6}#person walking|\u{1F3C3}#person running|\u{1F483}#woman dancing|\u{1F57A}#man dancing|\u{1F46F}#people with bunny ears|\u{1F9D6}#person in steamy room|\u{1F9D7}#person climbing|\u{1F93A}#person fencing|\u{1F3C7}#horse racing|\u26F7\uFE0F#skier|\u{1F3C2}#snowboarder|\u{1F3C4}#person surfing|\u{1F6A3}#person rowing boat|\u{1F3CA}#person swimming|\u26F9\uFE0F#person bouncing ball|\u{1F6B4}#person biking|\u{1F6B5}#person mountain biking|\u{1F938}#person cartwheeling|\u{1F93C}#people wrestling|\u{1F93D}#person playing water polo|\u{1F93E}#person playing handball|\u{1F939}#person juggling|\u{1F9D8}#person in lotus position|\u{1F6C0}#person taking bath|\u{1F6CC}#person in bed|\u{1F46D}#women holding hands|\u{1F46B}#woman and man holding hands|\u{1F46C}#men holding hands|\u{1F48F}#kiss|\u{1F491}#couple with heart|\u{1F46A}#family|\u{1F464}#bust in silhouette|\u{1F465}#busts in silhouette|\u{1F463}#footprints","\u{1F435}#monkey face|\u{1F412}#monkey|\u{1F98D}#gorilla|\u{1F436}#dog face|\u{1F415}#dog|\u{1F429}#poodle|\u{1F43A}#wolf|\u{1F98A}#fox|\u{1F431}#cat face|\u{1F408}#cat|\u{1F981}#lion|\u{1F42F}#tiger face|\u{1F405}#tiger|\u{1F406}#leopard|\u{1F434}#horse face|\u{1F40E}#horse|\u{1F984}#unicorn|\u{1F993}#zebra|\u{1F98C}#deer|\u{1F42E}#cow face|\u{1F402}#ox|\u{1F403}#water buffalo|\u{1F404}#cow|\u{1F437}#pig face|\u{1F416}#pig|\u{1F417}#boar|\u{1F43D}#pig nose|\u{1F40F}#ram|\u{1F411}#ewe|\u{1F410}#goat|\u{1F42A}#camel|\u{1F42B}#two-hump camel|\u{1F992}#giraffe|\u{1F418}#elephant|\u{1F98F}#rhinoceros|\u{1F42D}#mouse face|\u{1F401}#mouse|\u{1F400}#rat|\u{1F439}#hamster|\u{1F430}#rabbit face|\u{1F407}#rabbit|\u{1F994}#hedgehog|\u{1F987}#bat|\u{1F43B}#bear|\u{1F428}#koala|\u{1F43C}#panda|\u{1F43E}#paw prints|\u{1F983}#turkey|\u{1F414}#chicken|\u{1F413}#rooster|\u{1F423}#hatching chick|\u{1F424}#baby chick|\u{1F425}#front-facing baby chick|\u{1F426}#bird|\u{1F427}#penguin|\u{1F985}#eagle|\u{1F986}#duck|\u{1F989}#owl|\u{1F438}#frog|\u{1F40A}#crocodile|\u{1F422}#turtle|\u{1F98E}#lizard|\u{1F40D}#snake|\u{1F432}#dragon face|\u{1F409}#dragon|\u{1F995}#sauropod|\u{1F996}#T-Rex|\u{1F433}#spouting whale|\u{1F40B}#whale|\u{1F42C}#dolphin|\u{1F41F}#fish|\u{1F420}#tropical fish|\u{1F421}#blowfish|\u{1F988}#shark|\u{1F419}#octopus|\u{1F41A}#spiral shell|\u{1F40C}#snail|\u{1F98B}#butterfly|\u{1F41B}#bug|\u{1F41C}#ant|\u{1F41D}#honeybee|\u{1F41E}#lady beetle|\u{1F997}#cricket|\u{1F982}#scorpion|\u{1F490}#bouquet|\u{1F338}#cherry blossom|\u{1F4AE}#white flower|\u{1F339}#rose|\u{1F940}#wilted flower|\u{1F33A}#hibiscus|\u{1F33B}#sunflower|\u{1F33C}#blossom|\u{1F337}#tulip|\u{1F331}#seedling|\u{1F332}#evergreen tree|\u{1F333}#deciduous tree|\u{1F334}#palm tree|\u{1F335}#cactus|\u{1F33E}#sheaf of rice|\u{1F33F}#herb|\u2618\uFE0F#shamrock|\u{1F340}#four leaf clover|\u{1F341}#maple leaf|\u{1F342}#fallen leaf|\u{1F343}#leaf fluttering in wind","\u{1F347}#grapes|\u{1F348}#melon|\u{1F349}#watermelon|\u{1F34A}#tangerine|\u{1F34B}#lemon|\u{1F34C}#banana|\u{1F34D}#pineapple|\u{1F34E}#red apple|\u{1F34F}#green apple|\u{1F350}#pear|\u{1F351}#peach|\u{1F352}#cherries|\u{1F353}#strawberry|\u{1F95D}#kiwi fruit|\u{1F345}#tomato|\u{1F965}#coconut|\u{1F951}#avocado|\u{1F346}#eggplant|\u{1F954}#potato|\u{1F955}#carrot|\u{1F33D}#ear of corn|\u{1F952}#cucumber|\u{1F966}#broccoli|\u{1F344}#mushroom|\u{1F95C}#peanuts|\u{1F330}#chestnut|\u{1F35E}#bread|\u{1F950}#croissant|\u{1F956}#baguette bread|\u{1F968}#pretzel|\u{1F95E}#pancakes|\u{1F9C0}#cheese wedge|\u{1F356}#meat on bone|\u{1F357}#poultry leg|\u{1F969}#cut of meat|\u{1F953}#bacon|\u{1F354}#hamburger|\u{1F35F}#french fries|\u{1F355}#pizza|\u{1F32D}#hot dog|\u{1F96A}#sandwich|\u{1F32E}#taco|\u{1F32F}#burrito|\u{1F959}#stuffed flatbread|\u{1F95A}#egg|\u{1F373}#cooking|\u{1F958}#shallow pan of food|\u{1F372}#pot of food|\u{1F963}#bowl with spoon|\u{1F957}#green salad|\u{1F37F}#popcorn|\u{1F96B}#canned food|\u{1F371}#bento box|\u{1F358}#rice cracker|\u{1F359}#rice ball|\u{1F35A}#cooked rice|\u{1F35B}#curry rice|\u{1F35C}#steaming bowl|\u{1F35D}#spaghetti|\u{1F360}#roasted sweet potato|\u{1F362}#oden|\u{1F363}#sushi|\u{1F364}#fried shrimp|\u{1F365}#fish cake with swirl|\u{1F361}#dango|\u{1F95F}#dumpling|\u{1F960}#fortune cookie|\u{1F961}#takeout box|\u{1F980}#crab|\u{1F990}#shrimp|\u{1F991}#squid|\u{1F366}#soft ice cream|\u{1F367}#shaved ice|\u{1F368}#ice cream|\u{1F369}#doughnut|\u{1F36A}#cookie|\u{1F382}#birthday cake|\u{1F370}#shortcake|\u{1F967}#pie|\u{1F36B}#chocolate bar|\u{1F36C}#candy|\u{1F36D}#lollipop|\u{1F36E}#custard|\u{1F36F}#honey pot|\u{1F37C}#baby bottle|\u{1F95B}#glass of milk|\u2615#hot beverage|\u{1F375}#teacup without handle|\u{1F376}#sake|\u{1F37E}#bottle with popping cork|\u{1F377}#wine glass|\u{1F378}#cocktail glass|\u{1F379}#tropical drink|\u{1F37A}#beer mug|\u{1F37B}#clinking beer mugs|\u{1F942}#clinking glasses|\u{1F943}#tumbler glass|\u{1F964}#cup with straw|\u{1F962}#chopsticks|\u{1F374}#fork and knife|\u{1F944}#spoon|\u{1F52A}#kitchen knife|\u{1F3FA}#amphora","\u{1F30D}#globe showing Europe-Africa|\u{1F30E}#globe showing Americas|\u{1F30F}#globe showing Asia-Australia|\u{1F310}#globe with meridians|\u{1F5FE}#map of Japan|\u26F0\uFE0F#mountain|\u{1F30B}#volcano|\u{1F5FB}#mount fuji|\u{1F3E0}#house|\u{1F3E1}#house with garden|\u{1F3E2}#office building|\u{1F3E3}#Japanese post office|\u{1F3E4}#post office|\u{1F3E5}#hospital|\u{1F3E6}#bank|\u{1F3E8}#hotel|\u{1F3E9}#love hotel|\u{1F3EA}#convenience store|\u{1F3EB}#school|\u{1F3EC}#department store|\u{1F3ED}#factory|\u{1F3EF}#Japanese castle|\u{1F3F0}#castle|\u{1F492}#wedding|\u{1F5FC}#Tokyo tower|\u{1F5FD}#Statue of Liberty|\u26EA#church|\u{1F54C}#mosque|\u{1F54D}#synagogue|\u26E9\uFE0F#shinto shrine|\u{1F54B}#kaaba|\u26F2#fountain|\u26FA#tent|\u{1F301}#foggy|\u{1F303}#night with stars|\u{1F304}#sunrise over mountains|\u{1F305}#sunrise|\u{1F306}#cityscape at dusk|\u{1F307}#sunset|\u{1F309}#bridge at night|\u2668\uFE0F#hot springs|\u{1F3A0}#carousel horse|\u{1F3A1}#ferris wheel|\u{1F3A2}#roller coaster|\u{1F488}#barber pole|\u{1F3AA}#circus tent|\u{1F682}#locomotive|\u{1F683}#railway car|\u{1F684}#high-speed train|\u{1F685}#bullet train|\u{1F686}#train|\u{1F687}#metro|\u{1F688}#light rail|\u{1F689}#station|\u{1F68A}#tram|\u{1F69D}#monorail|\u{1F69E}#mountain railway|\u{1F68B}#tram car|\u{1F68C}#bus|\u{1F68D}#oncoming bus|\u{1F68E}#trolleybus|\u{1F690}#minibus|\u{1F691}#ambulance|\u{1F692}#fire engine|\u{1F693}#police car|\u{1F694}#oncoming police car|\u{1F695}#taxi|\u{1F696}#oncoming taxi|\u{1F697}#automobile|\u{1F698}#oncoming automobile|\u{1F699}#sport utility vehicle|\u{1F69A}#delivery truck|\u{1F69B}#articulated lorry|\u{1F69C}#tractor|\u{1F6F5}#motor scooter|\u{1F6B2}#bicycle|\u{1F6F4}#kick scooter|\u{1F68F}#bus stop|\u26FD#fuel pump|\u{1F6A8}#police car light|\u{1F6A5}#horizontal traffic light|\u{1F6A6}#vertical traffic light|\u{1F6D1}#stop sign|\u{1F6A7}#construction|\u2693#anchor|\u26F5#sailboat|\u{1F6F6}#canoe|\u{1F6A4}#speedboat|\u26F4\uFE0F#ferry|\u{1F6A2}#ship|\u2708\uFE0F#airplane|\u{1F6EB}#airplane departure|\u{1F6EC}#airplane arrival|\u{1F4BA}#seat|\u{1F681}#helicopter|\u{1F69F}#suspension railway|\u{1F6A0}#mountain cableway|\u{1F6A1}#aerial tramway|\u{1F680}#rocket|\u{1F6F8}#flying saucer|\u231B#hourglass done|\u23F3#hourglass not done|\u231A#watch|\u23F0#alarm clock|\u23F1\uFE0F#stopwatch|\u23F2\uFE0F#timer clock|\u{1F55B}#twelve o\u2019clock|\u{1F567}#twelve-thirty|\u{1F550}#one o\u2019clock|\u{1F55C}#one-thirty|\u{1F551}#two o\u2019clock|\u{1F55D}#two-thirty|\u{1F552}#three o\u2019clock|\u{1F55E}#three-thirty|\u{1F553}#four o\u2019clock|\u{1F55F}#four-thirty|\u{1F554}#five o\u2019clock|\u{1F560}#five-thirty|\u{1F555}#six o\u2019clock|\u{1F561}#six-thirty|\u{1F556}#seven o\u2019clock|\u{1F562}#seven-thirty|\u{1F557}#eight o\u2019clock|\u{1F563}#eight-thirty|\u{1F558}#nine o\u2019clock|\u{1F564}#nine-thirty|\u{1F559}#ten o\u2019clock|\u{1F565}#ten-thirty|\u{1F55A}#eleven o\u2019clock|\u{1F566}#eleven-thirty|\u{1F311}#new moon|\u{1F312}#waxing crescent moon|\u{1F313}#first quarter moon|\u{1F314}#waxing gibbous moon|\u{1F315}#full moon|\u{1F316}#waning gibbous moon|\u{1F317}#last quarter moon|\u{1F318}#waning crescent moon|\u{1F319}#crescent moon|\u{1F31A}#new moon face|\u{1F31B}#first quarter moon face|\u{1F31C}#last quarter moon face|\u2600\uFE0F#sun|\u{1F31D}#full moon face|\u{1F31E}#sun with face|\u2B50#star|\u{1F31F}#glowing star|\u{1F320}#shooting star|\u{1F30C}#milky way|\u2601\uFE0F#cloud|\u26C5#sun behind cloud|\u26C8\uFE0F#cloud with lightning and rain|\u{1F300}#cyclone|\u{1F308}#rainbow|\u{1F302}#closed umbrella|\u2602\uFE0F#umbrella|\u2614#umbrella with rain drops|\u26F1\uFE0F#umbrella on ground|\u26A1#high voltage|\u2744\uFE0F#snowflake|\u2603\uFE0F#snowman|\u26C4#snowman without snow|\u2604\uFE0F#comet|\u{1F525}#fire|\u{1F4A7}#droplet|\u{1F30A}#water wave","\u{1F383}#jack-o-lantern|\u{1F384}#Christmas tree|\u{1F386}#fireworks|\u{1F387}#sparkler|\u2728#sparkles|\u{1F388}#balloon|\u{1F389}#party popper|\u{1F38A}#confetti ball|\u{1F38B}#tanabata tree|\u{1F38D}#pine decoration|\u{1F38E}#Japanese dolls|\u{1F38F}#carp streamer|\u{1F390}#wind chime|\u{1F391}#moon viewing ceremony|\u{1F380}#ribbon|\u{1F381}#wrapped gift|\u{1F3AB}#ticket|\u{1F3C6}#trophy|\u{1F3C5}#sports medal|\u{1F947}#1st place medal|\u{1F948}#2nd place medal|\u{1F949}#3rd place medal|\u26BD#soccer ball|\u26BE#baseball|\u{1F3C0}#basketball|\u{1F3D0}#volleyball|\u{1F3C8}#american football|\u{1F3C9}#rugby football|\u{1F3BE}#tennis|\u{1F3B3}#bowling|\u{1F3CF}#cricket game|\u{1F3D1}#field hockey|\u{1F3D2}#ice hockey|\u{1F3D3}#ping pong|\u{1F3F8}#badminton|\u{1F94A}#boxing glove|\u{1F94B}#martial arts uniform|\u{1F945}#goal net|\u26F3#flag in hole|\u26F8\uFE0F#ice skate|\u{1F3A3}#fishing pole|\u{1F3BD}#running shirt|\u{1F3BF}#skis|\u{1F6F7}#sled|\u{1F94C}#curling stone|\u{1F3AF}#direct hit|\u{1F3B1}#pool 8 ball|\u{1F52E}#crystal ball|\u{1F3AE}#video game|\u{1F3B0}#slot machine|\u{1F3B2}#game die|\u2660\uFE0F#spade suit|\u2665\uFE0F#heart suit|\u2666\uFE0F#diamond suit|\u2663\uFE0F#club suit|\u{1F0CF}#joker|\u{1F004}#mahjong red dragon|\u{1F3B4}#flower playing cards|\u{1F3AD}#performing arts|\u{1F3A8}#artist palette","\u{1F453}#glasses|\u{1F454}#necktie|\u{1F455}#t-shirt|\u{1F456}#jeans|\u{1F9E3}#scarf|\u{1F9E4}#gloves|\u{1F9E5}#coat|\u{1F9E6}#socks|\u{1F457}#dress|\u{1F458}#kimono|\u{1F459}#bikini|\u{1F45A}#woman\u2019s clothes|\u{1F45B}#purse|\u{1F45C}#handbag|\u{1F45D}#clutch bag|\u{1F392}#backpack|\u{1F45E}#man\u2019s shoe|\u{1F45F}#running shoe|\u{1F460}#high-heeled shoe|\u{1F461}#woman\u2019s sandal|\u{1F462}#woman\u2019s boot|\u{1F451}#crown|\u{1F452}#woman\u2019s hat|\u{1F3A9}#top hat|\u{1F393}#graduation cap|\u{1F9E2}#billed cap|\u26D1\uFE0F#rescue worker\u2019s helmet|\u{1F4FF}#prayer beads|\u{1F484}#lipstick|\u{1F48D}#ring|\u{1F48E}#gem stone|\u{1F507}#muted speaker|\u{1F508}#speaker low volume|\u{1F509}#speaker medium volume|\u{1F50A}#speaker high volume|\u{1F4E2}#loudspeaker|\u{1F4E3}#megaphone|\u{1F4EF}#postal horn|\u{1F514}#bell|\u{1F515}#bell with slash|\u{1F3BC}#musical score|\u{1F3B5}#musical note|\u{1F3B6}#musical notes|\u{1F3A4}#microphone|\u{1F3A7}#headphone|\u{1F4FB}#radio|\u{1F3B7}#saxophone|\u{1F3B8}#guitar|\u{1F3B9}#musical keyboard|\u{1F3BA}#trumpet|\u{1F3BB}#violin|\u{1F941}#drum|\u{1F4F1}#mobile phone|\u{1F4F2}#mobile phone with arrow|\u260E\uFE0F#telephone|\u{1F4DE}#telephone receiver|\u{1F4DF}#pager|\u{1F4E0}#fax machine|\u{1F50B}#battery|\u{1F50C}#electric plug|\u{1F4BB}#laptop|\u2328\uFE0F#keyboard|\u{1F4BD}#computer disk|\u{1F4BE}#floppy disk|\u{1F4BF}#optical disk|\u{1F4C0}#dvd|\u{1F3A5}#movie camera|\u{1F3AC}#clapper board|\u{1F4FA}#television|\u{1F4F7}#camera|\u{1F4F8}#camera with flash|\u{1F4F9}#video camera|\u{1F4FC}#videocassette|\u{1F50D}#magnifying glass tilted left|\u{1F50E}#magnifying glass tilted right|\u{1F4A1}#light bulb|\u{1F526}#flashlight|\u{1F3EE}#red paper lantern|\u{1F4D4}#notebook with decorative cover|\u{1F4D5}#closed book|\u{1F4D6}#open book|\u{1F4D7}#green book|\u{1F4D8}#blue book|\u{1F4D9}#orange book|\u{1F4DA}#books|\u{1F4D3}#notebook|\u{1F4D2}#ledger|\u{1F4C3}#page with curl|\u{1F4DC}#scroll|\u{1F4C4}#page facing up|\u{1F4F0}#newspaper|\u{1F4D1}#bookmark tabs|\u{1F516}#bookmark|\u{1F4B0}#money bag|\u{1F4B4}#yen banknote|\u{1F4B5}#dollar banknote|\u{1F4B6}#euro banknote|\u{1F4B7}#pound banknote|\u{1F4B8}#money with wings|\u{1F4B3}#credit card|\u{1F4B9}#chart increasing with yen|\u2709\uFE0F#envelope|\u{1F4E7}#e-mail|\u{1F4E8}#incoming envelope|\u{1F4E9}#envelope with arrow|\u{1F4E4}#outbox tray|\u{1F4E5}#inbox tray|\u{1F4E6}#package|\u{1F4EB}#closed mailbox with raised flag|\u{1F4EA}#closed mailbox with lowered flag|\u{1F4EC}#open mailbox with raised flag|\u{1F4ED}#open mailbox with lowered flag|\u{1F4EE}#postbox|\u270F\uFE0F#pencil|\u2712\uFE0F#black nib|\u{1F4DD}#memo|\u{1F4BC}#briefcase|\u{1F4C1}#file folder|\u{1F4C2}#open file folder|\u{1F4C5}#calendar|\u{1F4C6}#tear-off calendar|\u{1F4C7}#card index|\u{1F4C8}#chart increasing|\u{1F4C9}#chart decreasing|\u{1F4CA}#bar chart|\u{1F4CB}#clipboard|\u{1F4CC}#pushpin|\u{1F4CD}#round pushpin|\u{1F4CE}#paperclip|\u{1F4CF}#straight ruler|\u{1F4D0}#triangular ruler|\u2702\uFE0F#scissors|\u{1F512}#locked|\u{1F513}#unlocked|\u{1F50F}#locked with pen|\u{1F510}#locked with key|\u{1F511}#key|\u{1F528}#hammer|\u26CF\uFE0F#pick|\u2692\uFE0F#hammer and pick|\u2694\uFE0F#crossed swords|\u{1F52B}#pistol|\u{1F3F9}#bow and arrow|\u{1F527}#wrench|\u{1F529}#nut and bolt|\u2699\uFE0F#gear|\u2696\uFE0F#balance scale|\u{1F517}#link|\u26D3\uFE0F#chains|\u2697\uFE0F#alembic|\u{1F52C}#microscope|\u{1F52D}#telescope|\u{1F4E1}#satellite antenna|\u{1F489}#syringe|\u{1F48A}#pill|\u{1F6AA}#door|\u{1F6BD}#toilet|\u{1F6BF}#shower|\u{1F6C1}#bathtub|\u{1F6D2}#shopping cart|\u{1F6AC}#cigarette|\u26B0\uFE0F#coffin|\u26B1\uFE0F#funeral urn|\u{1F5FF}#moai","\u{1F3E7}#ATM sign|\u{1F6AE}#litter in bin sign|\u{1F6B0}#potable water|\u267F#wheelchair symbol|\u{1F6B9}#men\u2019s room|\u{1F6BA}#women\u2019s room|\u{1F6BB}#restroom|\u{1F6BC}#baby symbol|\u{1F6BE}#water closet|\u{1F6C2}#passport control|\u{1F6C3}#customs|\u{1F6C4}#baggage claim|\u{1F6C5}#left luggage|\u26A0\uFE0F#warning|\u{1F6B8}#children crossing|\u26D4#no entry|\u{1F6AB}#prohibited|\u{1F6B3}#no bicycles|\u{1F6AD}#no smoking|\u{1F6AF}#no littering|\u{1F6B1}#non-potable water|\u{1F6B7}#no pedestrians|\u{1F4F5}#no mobile phones|\u{1F51E}#no one under eighteen|\u2622\uFE0F#radioactive|\u2623\uFE0F#biohazard|\u2B06\uFE0F#up arrow|\u2197\uFE0F#up-right arrow|\u27A1\uFE0F#right arrow|\u2198\uFE0F#down-right arrow|\u2B07\uFE0F#down arrow|\u2199\uFE0F#down-left arrow|\u2B05\uFE0F#left arrow|\u2196\uFE0F#up-left arrow|\u2195\uFE0F#up-down arrow|\u2194\uFE0F#left-right arrow|\u21A9\uFE0F#right arrow curving left|\u21AA\uFE0F#left arrow curving right|\u2934\uFE0F#right arrow curving up|\u2935\uFE0F#right arrow curving down|\u{1F503}#clockwise vertical arrows|\u{1F504}#counterclockwise arrows button|\u{1F519}#BACK arrow|\u{1F51A}#END arrow|\u{1F51B}#ON! arrow|\u{1F51C}#SOON arrow|\u{1F51D}#TOP arrow|\u{1F6D0}#place of worship|\u269B\uFE0F#atom symbol|\u2721\uFE0F#star of David|\u2638\uFE0F#wheel of dharma|\u262F\uFE0F#yin yang|\u271D\uFE0F#latin cross|\u2626\uFE0F#orthodox cross|\u262A\uFE0F#star and crescent|\u262E\uFE0F#peace symbol|\u{1F54E}#menorah|\u{1F52F}#dotted six-pointed star|\u2648#Aries|\u2649#Taurus|\u264A#Gemini|\u264B#Cancer|\u264C#Leo|\u264D#Virgo|\u264E#Libra|\u264F#Scorpio|\u2650#Sagittarius|\u2651#Capricorn|\u2652#Aquarius|\u2653#Pisces|\u26CE#Ophiuchus|\u{1F500}#shuffle tracks button|\u{1F501}#repeat button|\u{1F502}#repeat single button|\u25B6\uFE0F#play button|\u23E9#fast-forward button|\u23ED\uFE0F#next track button|\u23EF\uFE0F#play or pause button|\u25C0\uFE0F#reverse button|\u23EA#fast reverse button|\u23EE\uFE0F#last track button|\u{1F53C}#upwards button|\u23EB#fast up button|\u{1F53D}#downwards button|\u23EC#fast down button|\u23F8\uFE0F#pause button|\u23F9\uFE0F#stop button|\u23FA\uFE0F#record button|\u23CF\uFE0F#eject button|\u{1F3A6}#cinema|\u{1F505}#dim button|\u{1F506}#bright button|\u{1F4F6}#antenna bars|\u{1F4F3}#vibration mode|\u{1F4F4}#mobile phone off|\u2640\uFE0F#female sign|\u2642\uFE0F#male sign|\u2716\uFE0F#multiply|\u2795#plus|\u2796#minus|\u2797#divide|\u203C\uFE0F#double exclamation mark|\u2049\uFE0F#exclamation question mark|\u2753#question mark|\u2754#white question mark|\u2755#white exclamation mark|\u2757#exclamation mark|\u3030\uFE0F#wavy dash|\u{1F4B1}#currency exchange|\u{1F4B2}#heavy dollar sign|\u2695\uFE0F#medical symbol|\u267B\uFE0F#recycling symbol|\u269C\uFE0F#fleur-de-lis|\u{1F531}#trident emblem|\u{1F4DB}#name badge|\u{1F530}#Japanese symbol for beginner|\u2B55#hollow red circle|\u2705#check mark button|\u2611\uFE0F#check box with check|\u2714\uFE0F#check mark|\u274C#cross mark|\u274E#cross mark button|\u27B0#curly loop|\u27BF#double curly loop|\u303D\uFE0F#part alternation mark|\u2733\uFE0F#eight-spoked asterisk|\u2734\uFE0F#eight-pointed star|\u2747\uFE0F#sparkle|\xA9\uFE0F#copyright|\xAE\uFE0F#registered|\u2122\uFE0F#trade mark|\u{1F51F}#keycap: 10|\u{1F520}#input latin uppercase|\u{1F521}#input latin lowercase|\u{1F522}#input numbers|\u{1F523}#input symbols|\u{1F524}#input latin letters|\u{1F18E}#AB button (blood type)|\u{1F191}#CL button|\u{1F192}#COOL button|\u{1F193}#FREE button|\u2139\uFE0F#information|\u{1F194}#ID button|\u24C2\uFE0F#circled M|\u{1F195}#NEW button|\u{1F196}#NG button|\u{1F197}#OK button|\u{1F198}#SOS button|\u{1F199}#UP! button|\u{1F19A}#VS button|\u{1F201}#Japanese \u201Chere\u201D button|\u{1F236}#Japanese \u201Cnot free of charge\u201D button|\u{1F22F}#Japanese \u201Creserved\u201D button|\u{1F250}#Japanese \u201Cbargain\u201D button|\u{1F239}#Japanese \u201Cdiscount\u201D button|\u{1F21A}#Japanese \u201Cfree of charge\u201D button|\u{1F232}#Japanese \u201Cprohibited\u201D button|\u{1F251}#Japanese \u201Cacceptable\u201D button|\u{1F238}#Japanese \u201Capplication\u201D button|\u{1F234}#Japanese \u201Cpassing grade\u201D button|\u{1F233}#Japanese \u201Cvacancy\u201D button|\u3297\uFE0F#Japanese \u201Ccongratulations\u201D button|\u3299\uFE0F#Japanese \u201Csecret\u201D button|\u{1F23A}#Japanese \u201Copen for business\u201D button|\u{1F235}#Japanese \u201Cno vacancy\u201D button|\u{1F534}#red circle|\u{1F535}#blue circle|\u26AB#black circle|\u26AA#white circle|\u2B1B#black large square|\u2B1C#white large square|\u25FC\uFE0F#black medium square|\u25FB\uFE0F#white medium square|\u25FE#black medium-small square|\u25FD#white medium-small square|\u25AA\uFE0F#black small square|\u25AB\uFE0F#white small square|\u{1F536}#large orange diamond|\u{1F537}#large blue diamond|\u{1F538}#small orange diamond|\u{1F539}#small blue diamond|\u{1F53A}#red triangle pointed up|\u{1F53B}#red triangle pointed down|\u{1F4A0}#diamond with a dot|\u{1F518}#radio button|\u{1F533}#white square button|\u{1F532}#black square button"],l=null;function ud(){if(!l){l=[];for(var d=0;d<M.length;d++){for(var c=[],e={index:d,name:M[d],items:c},t=dd[d].split("|"),f=0;f<t.length;f++){var s=t[f],b=s.split("#");c.push({emoji:b[0],keyword:b[1]})}l.push(e)}}}var G="rte-emoji-recent",N=16,I=[];function H(){try{var d=window.localStorage&&window.localStorage.getItem(G);if(d){var c=JSON.parse(d);if(Array.isArray(c))return c.slice(0,N)}}catch{}return I.slice(0,N)}function ed(d){if(d){var c=H().filter(function(e){return e!==d});c.unshift(d),c=c.slice(0,N),I=c;try{window.localStorage&&window.localStorage.setItem(G,JSON.stringify(c))}catch{}}}function ad(){var d=H();if(!d.length)return null;for(var c={},e=0;e<l.length;e++)for(var t=0;t<l[e].items.length;t++)c[l[e].items[t].emoji]=l[e].items[t].keyword;for(var f=[],s=0;s<d.length;s++)f.push({emoji:d[s],keyword:c[d[s]]||""});return{index:-1,name:"recent",items:f}}var S=this,i,h;S.PluginName="InsertEmoji",S.InitConfig=function(d){i=d},S.InitEditor=function(d){h=d,h.toolbarFactoryMap.insertemoji=function(c){return h.createToolbarItemDropDownPanel(c,function(e){ud(),e.style.width="360px",e.style.height="420px",e.style.display="flex",e.style.flexDirection="column",e.onclick=function(u){if(u.target.nodeName=="GSPAN"){var a=u.target.getAttribute("title")||"";ed(a.split(" ")[0]),h.closeCurrentPopup();var o=e.closest&&e.closest("rte-dialog-inner");if(o&&typeof o.close=="function")try{o.close()}catch{}var n=u.target.getAttribute("htmlcode");h.insertHTML(n),h.collapse(!1),h.focus()}};function t(){var u=k.style.display!=="none"?k:v;return[].slice.call(u.querySelectorAll("gspan"))}function f(u,a,o){var n=a.getBoundingClientRect(),r=u.filter(function(x){var g=x.getBoundingClientRect();return o<0?g.bottom<=n.top+1:g.top>=n.bottom-1});if(!r.length)return null;var p=null;r.forEach(function(x){var g=x.getBoundingClientRect();(p===null||(o<0?g.top>p:g.top<p))&&(p=g.top)});var m=r.filter(function(x){return Math.abs(x.getBoundingClientRect().top-p)<2}),_=m[0],X=1/0;return m.forEach(function(x){var g=Math.abs(x.getBoundingClientRect().left-n.left);g<X&&(X=g,_=x)}),_}e.addEventListener("keydown",function(u){var a=u.target;if(!(!a||a.nodeName!=="GSPAN")){var o=t(),n=o.indexOf(a),r=null;if(u.key==="ArrowRight")r=o[n+1];else if(u.key==="ArrowLeft")r=o[n-1];else if(u.key==="ArrowDown")r=f(o,a,1);else if(u.key==="ArrowUp")r=f(o,a,-1);else if(u.key==="Home")r=o[0];else if(u.key==="End")r=o[o.length-1];else if(u.key==="Enter"||u.key===" "||u.key==="Spacebar"){u.preventDefault(),u.stopPropagation(),a.click();return}else if(u.key==="Escape"){u.preventDefault(),u.stopPropagation(),h.closeCurrentPopup();return}else return;u.preventDefault(),u.stopPropagation(),r&&r.focus()}},!0);var s=null,b=null;function q(){s!=null&&(s.style.backgroundColor="",s=null)}function cd(){q(),s=b,s.style.backgroundColor="#e6e6e6",b=null}var A=0;e.onmouseover=function(u){for(var a=u.target;a!=e;a=a.parentNode)if(a.nodeName=="GITEM"){if(a==b)return;b=a,clearTimeout(A),A=setTimeout(cd,10);return}},e.onmouseout=function(){clearTimeout(A),A=setTimeout(q,10)};var B=e.closest&&e.closest(".rte-dark")?"#93c5fd":"darkblue",K=w(e,"label","margin:5px;position:relative;");K.setAttribute("id","emojis_searchbar");var y=w(K,"input","width:100%;padding:5px 20px;border:solid 1px #ccc;border-radius:5px;");y.setAttribute("placeholder",h.getLangText("searchemojis")),y.setAttribute("aria-label",i&&i.text_searchemojis||"Search emojis");var U=0;y.onchange=y.onkeyup=y.onkeypress=y.onpaste=function(){clearTimeout(U),U=setTimeout(F,100)};function td(u){var a=[];a.push('<div style="padding:3px;margin-top:5px;color:'+B+';">'+D(u.name)+"</div>"),a.push('<div style="display:flex;flex-direction:row;flex-wrap:wrap;">');for(var o=0;o<u.items.length;o++){var n=u.items[o],r=O(n.emoji);a.push('<gitem class="rte-flex-column-center" style="width:32px;height:32px;margin:2px"><gspan role="menuitem" tabindex="0" aria-label="'+(T(n)||n.emoji).replace(/"/g,"")+'" htmlcode="'+r+'" title="'+n.emoji+" "+T(n).replace(/"/g,"")+'">'+r+"</gspan></gitem>")}return a.push("</div>"),a.join("")}function F(){var u=y.value.trim().toLowerCase();if(!u){J.style.display=v.style.display="",k.style.display="none";return}J.style.display=v.style.display="none",k.style.display="flex";for(var a=[],o=0,n=0;n<l.length;n++)for(var r=l[n],p=0;p<r.items.length;p++){var m=r.items[p];if(Q(m,u)){o++;var _=O(m.emoji);a.push('<gitem class="rte-flex-column-center" style="width:32px;height:32px;margin:2px"><gspan role="menuitem" tabindex="0" aria-label="'+(T(m)||m.emoji).replace(/"/g,"")+'" htmlcode="'+_+'" title="'+m.emoji+" "+T(m).replace(/"/g,"")+'">'+_+"</gspan></gitem>")}}k.innerHTML=__RTE_TT('<div style="width:100%;padding:3px;margin-top:5px;color:'+B+';text-align:center;">'+Z(o)+"</div>"+a.join(""))}e.setAttribute("id","emoji-picker");var J=w(e,"div"),k=w(e,"div","display:none;flex-direction:row;flex-wrap:wrap;overflow-y:scroll;padding-bottom:55px"),v=w(e,"div","overflow-y:scroll;padding-bottom:55px;flex:999");k.setAttribute("role","menu"),k.setAttribute("aria-label",i&&i.text_emoji_results||"Search results"),v.setAttribute("role","menu"),v.setAttribute("aria-label",i&&i.text_emoji_grid||"Emoji");var V=0,R=ad();function L(u){V=u,v.innerHTML=__RTE_TT(td(u===-1?R:l[u])),v.scrollTop=0;for(var a=0;a<E.length;a++)E[a].className=E[a].__rteGroup===u?"rte-ui-active":""}for(var od=w(J,"rte-tabui"),rd=w(od,"rte-tabui-toolbar"),E=[],W=R?[{index:-1,name:"recent",items:[{emoji:"\u{1F558}"}]}].concat(l):l,z=0;z<W.length;z++)(function(u){var a=w(rd,"rte-tabui-toolbar-button","width:32px;text-align:center;margin:4px");a.setAttribute("title",D(u.name)),a.innerHTML=__RTE_TT(u.items[0].emoji),a.__rteGroup=u.index,a.onclick=function(){L(u.index)},E.push(a)})(W[z]);L(R?-1:0),$(function(){v.isConnected&&(k.style.display!=="none"?F():L(V))}),y.focus()})}};function w(d,c,e,t){var f=d.ownerDocument.createElement(c);return e&&(f.style.cssText=e),t&&(f.className=t),d.appendChild(f),f}}
@@ -433,7 +433,7 @@ function RTE_Plugin_InsertGallery() {
433
433
  button.title = glText("gl_open", "Open {0}", item.name);
434
434
 
435
435
  var selection = append(button, "div", "", "rte-gallery-browser-selection");
436
- selection.innerHTML = "&nbsp;";
436
+ selection.innerHTML = __RTE_TT("&nbsp;");
437
437
 
438
438
  var thumbnail = append(button, "div", "", "rte-gallery-browser-thumbnail rte-gallery-browser-thumbnail-folder");
439
439
  append(thumbnail, "div", "", "rte-gallery-browser-folder-icon");
@@ -458,7 +458,7 @@ function RTE_Plugin_InsertGallery() {
458
458
  button.setAttribute("aria-selected", isSelected ? "true" : "false");
459
459
 
460
460
  var selection = append(button, "div", "", "rte-gallery-browser-selection");
461
- selection.innerHTML = isSelected ? "&#10003;" : "&nbsp;";
461
+ selection.innerHTML = __RTE_TT(isSelected ? "&#10003;" : "&nbsp;");
462
462
 
463
463
  var thumbnail = append(button, "div", "", "rte-gallery-browser-thumbnail");
464
464
  var image = append(thumbnail, "img", "", "rte-gallery-browser-thumbnail-image");
@@ -516,8 +516,8 @@ function RTE_Plugin_InsertGallery() {
516
516
  setDisabled(uploadButton, state.loading);
517
517
  setDisabled(refreshButton, state.loading);
518
518
 
519
- folderGrid.innerHTML = "";
520
- grid.innerHTML = "";
519
+ folderGrid.innerHTML = __RTE_TT("");
520
+ grid.innerHTML = __RTE_TT("");
521
521
  show(empty, false);
522
522
  show(folderGrid, false);
523
523
  show(grid, true);
@@ -1 +1 @@
1
- RTE_DefaultConfig.plugin_insertgallery=RTE_Plugin_InsertGallery;function RTE_Plugin_InsertGallery(){var j=this,w,F;j.PluginName="InsertGallery";function s(e,l,d){var c=w&&w["text_"+e]||l;return d===void 0?c:c.split("{0}").join(String(d))}j.InitConfig=function(e){w=e,w.galleryImages||(w.galleryImages=[])},j.InitEditor=function(e){F=e,F.attachEvent("exec_command_insertgallery",function(l){l.returnValue=!0,j.DoInsertGallery()})};function i(e,l,d,c){var f=e.ownerDocument.createElement(l);return d&&(f.style.cssText=d),c&&(f.className=c),e.appendChild(f),f}function pe(){return w.galleryEndpoint||window.RichTextBoxGalleryUrl||""}function ve(e,l){var d=e.indexOf("?")>=0?"&":"?";return e+d+"folder="+encodeURIComponent(l||"")}function te(e,l,d,c){var f=new XMLHttpRequest;if(f.open(e,l,!0),f.onreadystatechange=function(){if(f.readyState===4){if(f.status<200||f.status>=300){c(null,"http-"+f.status);return}try{c(JSON.parse(f.responseText),null)}catch{c(null,"invalid-json")}}},f.onerror=function(){c(null,"network-error")},d){f.send(d);return}f.send()}function x(e){var l=String(e||"").split("#")[0].split("?")[0],d=l.lastIndexOf("/"),c=d>=0?l.substring(d+1):l;try{c=decodeURIComponent(c)}catch{}return c||s("gl_image","Image")}function H(e){return e?e<1024?e+" B":e<1024*1024?Math.round(e/1024)+" KB":Math.round(e*10/(1024*1024))/10+" MB":""}function le(e){var l=null;if(typeof e=="string")l={url:e,thumbnail:e,name:x(e)};else if(e instanceof Array)l={url:e[0],thumbnail:e[0],name:e[1]||x(e[0]),meta:e[2]||""};else if(e&&typeof e=="object"){var d=e.url||e.src||e.href;if(!d)return null;l={url:d,thumbnail:e.thumbnail||e.thumb||e.preview||d,name:e.name||e.text||e.title||x(d),meta:e.meta||e.description||e.alt||"",alt:typeof e.alt=="string"?e.alt:void 0}}return!l||!l.url?null:(l.thumbnail=l.thumbnail||l.url,l.name=l.name||x(l.url),l.source="preset",l.folder="",l.searchText=(l.name+" "+(l.meta||"")+" "+l.url).toLowerCase(),l)}function be(e){if(!e||!e.folder)return null;var l=e.name||x(e.folder)||e.folder;return{name:l,folder:e.folder,searchText:(l+" "+e.folder).toLowerCase()}}function he(e){if(!e||!e.url)return null;var l=e.name||x(e.url);return{name:l,url:e.url,thumbnail:e.thumbnail||e.url,folder:e.folder||"",source:e.source||"upload",size:e.size||0,alt:typeof e.alt=="string"?e.alt:void 0,searchText:(l+" "+e.url).toLowerCase()}}function C(e,l){e.disabled=!!l,l?e.setAttribute("aria-disabled","true"):e.removeAttribute("aria-disabled")}function p(e,l){e.style.display=l?"":"none"}j.DoInsertGallery=function(){var e=pe(),l=!!e,d=typeof window.richTextBoxUploadFile=="function",c=typeof window.rte_file_upload_handler=="function",f=d||c,b=[],ae=w.galleryImages||[],z;for(z=0;z<ae.length;z++){var ne=le(ae[z]);ne&&b.push(ne)}var Y=F.createDialog(F.getLangText("insertgallerytitle")||"Image gallery","rte-dialog-insertgallery"),oe=typeof Y.close=="function"?function(){Y.close()}:function(){F.closeCurrentPopup()},L=i(Y,"div","","rte-gallery-browser"),Q=[".jpg",".jpeg",".jfif",".png",".gif",".webp",".bmp",".avif"],ie=i(L,"div","","rte-dialog-browser-header"),ye=i(ie,"div","","rte-dialog-browser-copy");ye.innerText=l?s("gl_copyserver","Browse folders, upload new files, and insert the selected image into the editor."):s("gl_copylocal","Browse the available images, filter by name, and insert the selected image into the editor.");var me=i(ie,"div","","rte-dialog-browser-accept");me.innerText=s("gl_accepted","Accepted formats: {0}",Q.map(function(r){return r.replace(".","").toUpperCase()}).join(", "));var se=i(L,"div","","rte-gallery-browser-toolbar"),B=i(se,"div","","rte-gallery-browser-toolbar-group"),ue=i(se,"div","","rte-gallery-browser-toolbar-group rte-gallery-browser-toolbar-group-right"),k=i(B,"button","","rte-gallery-browser-button");k.type="button",k.innerText=s("gl_up","Up"),k.setAttribute("aria-label",s("gl_uparia","Go to the parent folder"));var V=i(B,"div","","rte-gallery-browser-path");V.innerText="/";var we=i(B,"div","","rte-gallery-browser-type");we.innerText=s("gl_imagefiles","Image files");var M=i(B,"button","","rte-gallery-browser-button");M.type="button",M.innerText=s("gl_newfolder","New folder");var E=i(B,"button","","rte-gallery-browser-button rte-gallery-browser-button-primary");E.type="button",E.innerText=s("gl_upload","Upload");var q=i(B,"button","","rte-gallery-browser-button");q.type="button",q.innerText=s("gl_refresh","Refresh");var U=i(ue,"input","","rte-gallery-browser-search");U.type="search",U.placeholder=s("gl_search","Search images"),U.setAttribute("aria-label",s("gl_search","Search images"));var N=i(ue,"input","display:none;");N.type="file",N.accept=Q.join(","),N.multiple=!0,p(k,l),p(V,l),p(M,l),p(E,f);var J=i(L,"div","","rte-gallery-browser-status");J.setAttribute("role","status"),J.setAttribute("aria-live","polite");var K=i(L,"div","","rte-gallery-browser-surface"),D=i(K,"div","","rte-gallery-browser-grid rte-gallery-browser-grid-folders");D.setAttribute("role","group"),D.setAttribute("aria-label",s("gl_folders","Folders"));var S=i(K,"div","","rte-gallery-browser-grid");S.setAttribute("role","listbox"),S.setAttribute("aria-label",s("gl_available","Available images"));var R=i(K,"div","","rte-gallery-browser-error");R.setAttribute("role","status"),p(R,!1);var G=i(K,"div","","rte-gallery-browser-empty"),W=i(L,"div","","rte-gallery-browser-footer"),Z=i(W,"div","","rte-gallery-browser-footer-text"),$=i(W,"button","","rte-gallery-browser-button");$.type="button",$.innerText=s("cancel","Cancel");var O=i(W,"button","","rte-gallery-browser-button rte-gallery-browser-button-primary");O.type="button",O.innerText=s("insert","Insert");var t={currentFolder:"",currentFolderDisplay:"/",parentFolder:null,folders:[],images:b.slice(0),selectedUrl:"",loading:!1,error:"",fallbackMode:!l};function de(r){var a=U.value.toLowerCase();if(!a)return r.slice(0);for(var o=[],n=0;n<r.length;n++)r[n].searchText.indexOf(a)>=0&&o.push(r[n]);return o}function fe(r){t.selectedUrl=r||"",t.error="",v()}function ge(){for(var r=null,a=0;a<t.images.length;a++)if(t.images[a].url===t.selectedUrl){r=t.images[a];break}r&&(F.insertImageByUrl(r.url,r.alt),oe(),F.focus())}function ce(r,a){var o=r+a,n=l?s("gl_in"," in {0}",t.currentFolderDisplay):"",u=(o===1?s("gl_item","1 item"):s("gl_items","{0} items",o))+n+". ";if(!t.selectedUrl){J.innerText=u+s("gl_noselection","No image selected."),Z.innerText=t.fallbackMode&&l?s("gl_presetnote","Showing packaged gallery items. Uploads still save into the current folder."):s("gl_choose","Choose an image to enable insert."),C(O,!0);return}var g=x(t.selectedUrl);J.innerText=u+s("gl_selected","Selected: {0}.",g),C(O,t.loading);for(var h=0;h<t.images.length;h++)if(t.images[h].url===t.selectedUrl){var y=H(t.images[h].size);Z.innerText=g+" ready to insert"+(y?" ("+y+").":".");return}Z.innerText=g+" ready to insert."}function _e(r){var a=i(D,"button","","rte-gallery-browser-card rte-gallery-folder-card");a.type="button",a.title=s("gl_open","Open {0}",r.name);var o=i(a,"div","","rte-gallery-browser-selection");o.innerHTML="&nbsp;";var n=i(a,"div","","rte-gallery-browser-thumbnail rte-gallery-browser-thumbnail-folder");i(n,"div","","rte-gallery-browser-folder-icon");var u=i(a,"div","","rte-gallery-browser-name");u.innerText=r.name;var g=i(a,"div","","rte-gallery-browser-meta");g.innerText=s("gl_folder","Folder"),a.onclick=function(){P(r.folder)}}function Te(r){var a=r.url===t.selectedUrl,o=i(S,"button","","rte-gallery-browser-card rte-gallery-image-card"+(a?" is-selected":""));o.type="button",o.title=r.name,o.setAttribute("role","option"),o.setAttribute("aria-selected",a?"true":"false");var n=i(o,"div","","rte-gallery-browser-selection");n.innerHTML=a?"&#10003;":"&nbsp;";var u=i(o,"div","","rte-gallery-browser-thumbnail"),g=i(u,"img","","rte-gallery-browser-thumbnail-image");g.src=r.thumbnail||r.url,g.alt=r.name;var h=i(o,"div","","rte-gallery-browser-name");h.innerText=r.name;var y=i(o,"div","","rte-gallery-browser-meta");y.innerText=r.meta||(r.source==="preset"?s("gl_preset","Preset image"):H(r.size))||r.url,o.onclick=function(){fe(r.url)},o.ondblclick=function(){fe(r.url),ge()}}function Fe(r){var a=[],o={},n;for(n=0;n<r.length;n++)a.push(r[n]),o[r[n].url]=!0;if(t.currentFolder)return a;for(n=0;n<b.length;n++)o[b[n].url]||a.push(b[n]);return a}function v(){var r=de(t.folders),a=de(t.images);if(V.innerText=t.currentFolderDisplay||"/",C(k,t.loading||t.parentFolder===null),C(M,t.loading),C(E,t.loading),C(q,t.loading),D.innerHTML="",S.innerHTML="",p(G,!1),p(D,!1),p(S,!0),t.loading){G.innerText=s("gl_loading","Loading gallery..."),p(G,!0),p(S,!1),ce(0,0);return}t.error?(R.innerText=t.error,p(R,!0)):p(R,!1);for(var o=0;o<r.length;o++)_e(r[o]);p(D,r.length>0);for(var n=0;n<a.length;n++)Te(a[n]);p(S,a.length>0),ce(r.length,a.length),!r.length&&!a.length&&(G.innerText=U.value?s("gl_nomatch","No folders or images match the current filter."):l?s("gl_emptyfolder","This folder is empty. Create a folder or upload an image to get started."):s("gl_noimages","No images are available. Upload a file to get started."),p(G,!0))}function ee(r,a){var o=[],n=[],u;if(t.currentFolder=r.currentFolder||"",t.currentFolderDisplay=r.currentFolderDisplay||"/",t.parentFolder=typeof r.parentFolder>"u"?null:r.parentFolder,t.fallbackMode=!!a,t.error="",r.folders)for(u=0;u<r.folders.length;u++){var g=be(r.folders[u]);g&&o.push(g)}if(r.images)for(u=0;u<r.images.length;u++){var h=he(r.images[u]);h&&n.push(h)}if(t.folders=o,t.images=Fe(n),t.selectedUrl){var y=!1;for(u=0;u<t.images.length;u++)if(t.images[u].url===t.selectedUrl){y=!0;break}y||(t.selectedUrl="")}}function xe(r){ee({currentFolder:"",currentFolderDisplay:"/",parentFolder:null,folders:[],images:[]},!0),t.images=b.slice(0),t.error=b.length?"":s("gl_unavailable","The image gallery is unavailable right now ({0}).",r),t.loading=!1,v()}var X="";function P(r,a){if(!l){t.images=b.slice(0),v();return}t.loading=!0,t.error="",v(),te("GET",ve(e,r),null,function(o,n){if(n){X="",xe(n);return}ee(o||{},!1),a&&(t.selectedUrl=a),t.error=X,X="",t.loading=!1,v()})}function Ue(){var r=window.prompt(s("gl_foldername","New folder name"),"");if(r){t.loading=!0,t.error="",v();var a=new FormData;a.append("action","create-folder"),a.append("folder",t.currentFolder||""),a.append("name",r),te("POST",e,a,function(o,n){if(n){t.loading=!1,t.error=s("gl_foldererror","The folder could not be created right now."),v();return}ee(o||{},!1),t.loading=!1,v()})}}function Se(r){var a=String(r.name||"").toLowerCase(),o=a.lastIndexOf(".");if(o<0||Q.indexOf(a.substring(o))<0)return r.name+" is not an accepted image format.";var n=parseInt(w.maxUploadFileSize,10);return n>0&&r.size>n?r.name+" is "+H(r.size)+". The maximum allowed size is "+H(n)+".":""}function Ae(r){var a=[],o=[],n;for(n=0;n<r.length;n++){var u=Se(r[n]);u?o.push(u):a.push(r[n])}if(!f)return;if(!a.length){o.length&&(t.error=o.join(" "),v());return}var g=[];function h(){var _=g.length?g[g.length-1]:"";if(l){X=o.join(" "),P(t.currentFolder,_||t.selectedUrl);return}for(var m=0;m<g.length;m++){var I=le(g[m]);I&&(I.source="upload",b.unshift(I),w.galleryImages.unshift(g[m]))}_&&(t.selectedUrl=_),t.images=b.slice(0),t.loading=!1,t.error=o.join(" "),v()}function y(_){if(_>=a.length){h();return}var m=a[_],I=!1;function re(A,T){I||(I=!0,A?g.push(A):o.push(typeof T=="string"&&T?T:s("gl_uploadfailed","Upload failed for {0}.",m.name)),y(_+1))}try{if(d){window.richTextBoxUploadFile(m,function(A,T){re(T?"":A,T?s("gl_uploadfailed","Upload failed for {0}.",m.name):"")},{folder:t.currentFolder},_,a);return}window.rte_file_upload_handler(m,function(A,T){re(A,T)},_,a)}catch{re("",s("gl_uploadfailed","Upload failed for {0}.",m.name))}}t.loading=!0,t.error="",v(),y(0)}k.onclick=function(){t.parentFolder!==null&&P(t.parentFolder)},M.onclick=Ue,E.onclick=function(){N.click()},N.onchange=function(){Ae(this.files),this.value=""},q.onclick=function(){P(t.currentFolder,t.selectedUrl)},U.oninput=v,$.onclick=oe,O.onclick=ge,l?P(""):v(),U.focus()}}
1
+ RTE_DefaultConfig.plugin_insertgallery=RTE_Plugin_InsertGallery;function RTE_Plugin_InsertGallery(){var I=this,w,F;I.PluginName="InsertGallery";function s(e,l,d){var c=w&&w["text_"+e]||l;return d===void 0?c:c.split("{0}").join(String(d))}I.InitConfig=function(e){w=e,w.galleryImages||(w.galleryImages=[])},I.InitEditor=function(e){F=e,F.attachEvent("exec_command_insertgallery",function(l){l.returnValue=!0,I.DoInsertGallery()})};function i(e,l,d,c){var f=e.ownerDocument.createElement(l);return d&&(f.style.cssText=d),c&&(f.className=c),e.appendChild(f),f}function pe(){return w.galleryEndpoint||window.RichTextBoxGalleryUrl||""}function ve(e,l){var d=e.indexOf("?")>=0?"&":"?";return e+d+"folder="+encodeURIComponent(l||"")}function te(e,l,d,c){var f=new XMLHttpRequest;if(f.open(e,l,!0),f.onreadystatechange=function(){if(f.readyState===4){if(f.status<200||f.status>=300){c(null,"http-"+f.status);return}try{c(JSON.parse(f.responseText),null)}catch{c(null,"invalid-json")}}},f.onerror=function(){c(null,"network-error")},d){f.send(d);return}f.send()}function x(e){var l=String(e||"").split("#")[0].split("?")[0],d=l.lastIndexOf("/"),c=d>=0?l.substring(d+1):l;try{c=decodeURIComponent(c)}catch{}return c||s("gl_image","Image")}function H(e){return e?e<1024?e+" B":e<1024*1024?Math.round(e/1024)+" KB":Math.round(e*10/(1024*1024))/10+" MB":""}function le(e){var l=null;if(typeof e=="string")l={url:e,thumbnail:e,name:x(e)};else if(e instanceof Array)l={url:e[0],thumbnail:e[0],name:e[1]||x(e[0]),meta:e[2]||""};else if(e&&typeof e=="object"){var d=e.url||e.src||e.href;if(!d)return null;l={url:d,thumbnail:e.thumbnail||e.thumb||e.preview||d,name:e.name||e.text||e.title||x(d),meta:e.meta||e.description||e.alt||"",alt:typeof e.alt=="string"?e.alt:void 0}}return!l||!l.url?null:(l.thumbnail=l.thumbnail||l.url,l.name=l.name||x(l.url),l.source="preset",l.folder="",l.searchText=(l.name+" "+(l.meta||"")+" "+l.url).toLowerCase(),l)}function be(e){if(!e||!e.folder)return null;var l=e.name||x(e.folder)||e.folder;return{name:l,folder:e.folder,searchText:(l+" "+e.folder).toLowerCase()}}function he(e){if(!e||!e.url)return null;var l=e.name||x(e.url);return{name:l,url:e.url,thumbnail:e.thumbnail||e.url,folder:e.folder||"",source:e.source||"upload",size:e.size||0,alt:typeof e.alt=="string"?e.alt:void 0,searchText:(l+" "+e.url).toLowerCase()}}function C(e,l){e.disabled=!!l,l?e.setAttribute("aria-disabled","true"):e.removeAttribute("aria-disabled")}function p(e,l){e.style.display=l?"":"none"}I.DoInsertGallery=function(){var e=pe(),l=!!e,d=typeof window.richTextBoxUploadFile=="function",c=typeof window.rte_file_upload_handler=="function",f=d||c,b=[],ae=w.galleryImages||[],z;for(z=0;z<ae.length;z++){var ne=le(ae[z]);ne&&b.push(ne)}var Y=F.createDialog(F.getLangText("insertgallerytitle")||"Image gallery","rte-dialog-insertgallery"),oe=typeof Y.close=="function"?function(){Y.close()}:function(){F.closeCurrentPopup()},R=i(Y,"div","","rte-gallery-browser"),Q=[".jpg",".jpeg",".jfif",".png",".gif",".webp",".bmp",".avif"],ie=i(R,"div","","rte-dialog-browser-header"),ye=i(ie,"div","","rte-dialog-browser-copy");ye.innerText=l?s("gl_copyserver","Browse folders, upload new files, and insert the selected image into the editor."):s("gl_copylocal","Browse the available images, filter by name, and insert the selected image into the editor.");var me=i(ie,"div","","rte-dialog-browser-accept");me.innerText=s("gl_accepted","Accepted formats: {0}",Q.map(function(r){return r.replace(".","").toUpperCase()}).join(", "));var se=i(R,"div","","rte-gallery-browser-toolbar"),B=i(se,"div","","rte-gallery-browser-toolbar-group"),ue=i(se,"div","","rte-gallery-browser-toolbar-group rte-gallery-browser-toolbar-group-right"),k=i(B,"button","","rte-gallery-browser-button");k.type="button",k.innerText=s("gl_up","Up"),k.setAttribute("aria-label",s("gl_uparia","Go to the parent folder"));var V=i(B,"div","","rte-gallery-browser-path");V.innerText="/";var we=i(B,"div","","rte-gallery-browser-type");we.innerText=s("gl_imagefiles","Image files");var j=i(B,"button","","rte-gallery-browser-button");j.type="button",j.innerText=s("gl_newfolder","New folder");var L=i(B,"button","","rte-gallery-browser-button rte-gallery-browser-button-primary");L.type="button",L.innerText=s("gl_upload","Upload");var q=i(B,"button","","rte-gallery-browser-button");q.type="button",q.innerText=s("gl_refresh","Refresh");var U=i(ue,"input","","rte-gallery-browser-search");U.type="search",U.placeholder=s("gl_search","Search images"),U.setAttribute("aria-label",s("gl_search","Search images"));var M=i(ue,"input","display:none;");M.type="file",M.accept=Q.join(","),M.multiple=!0,p(k,l),p(V,l),p(j,l),p(L,f);var J=i(R,"div","","rte-gallery-browser-status");J.setAttribute("role","status"),J.setAttribute("aria-live","polite");var K=i(R,"div","","rte-gallery-browser-surface"),D=i(K,"div","","rte-gallery-browser-grid rte-gallery-browser-grid-folders");D.setAttribute("role","group"),D.setAttribute("aria-label",s("gl_folders","Folders"));var S=i(K,"div","","rte-gallery-browser-grid");S.setAttribute("role","listbox"),S.setAttribute("aria-label",s("gl_available","Available images"));var N=i(K,"div","","rte-gallery-browser-error");N.setAttribute("role","status"),p(N,!1);var G=i(K,"div","","rte-gallery-browser-empty"),W=i(R,"div","","rte-gallery-browser-footer"),Z=i(W,"div","","rte-gallery-browser-footer-text"),$=i(W,"button","","rte-gallery-browser-button");$.type="button",$.innerText=s("cancel","Cancel");var O=i(W,"button","","rte-gallery-browser-button rte-gallery-browser-button-primary");O.type="button",O.innerText=s("insert","Insert");var t={currentFolder:"",currentFolderDisplay:"/",parentFolder:null,folders:[],images:b.slice(0),selectedUrl:"",loading:!1,error:"",fallbackMode:!l};function de(r){var a=U.value.toLowerCase();if(!a)return r.slice(0);for(var o=[],n=0;n<r.length;n++)r[n].searchText.indexOf(a)>=0&&o.push(r[n]);return o}function fe(r){t.selectedUrl=r||"",t.error="",v()}function ge(){for(var r=null,a=0;a<t.images.length;a++)if(t.images[a].url===t.selectedUrl){r=t.images[a];break}r&&(F.insertImageByUrl(r.url,r.alt),oe(),F.focus())}function ce(r,a){var o=r+a,n=l?s("gl_in"," in {0}",t.currentFolderDisplay):"",u=(o===1?s("gl_item","1 item"):s("gl_items","{0} items",o))+n+". ";if(!t.selectedUrl){J.innerText=u+s("gl_noselection","No image selected."),Z.innerText=t.fallbackMode&&l?s("gl_presetnote","Showing packaged gallery items. Uploads still save into the current folder."):s("gl_choose","Choose an image to enable insert."),C(O,!0);return}var g=x(t.selectedUrl);J.innerText=u+s("gl_selected","Selected: {0}.",g),C(O,t.loading);for(var h=0;h<t.images.length;h++)if(t.images[h].url===t.selectedUrl){var y=H(t.images[h].size);Z.innerText=g+" ready to insert"+(y?" ("+y+").":".");return}Z.innerText=g+" ready to insert."}function _e(r){var a=i(D,"button","","rte-gallery-browser-card rte-gallery-folder-card");a.type="button",a.title=s("gl_open","Open {0}",r.name);var o=i(a,"div","","rte-gallery-browser-selection");o.innerHTML=__RTE_TT("&nbsp;");var n=i(a,"div","","rte-gallery-browser-thumbnail rte-gallery-browser-thumbnail-folder");i(n,"div","","rte-gallery-browser-folder-icon");var u=i(a,"div","","rte-gallery-browser-name");u.innerText=r.name;var g=i(a,"div","","rte-gallery-browser-meta");g.innerText=s("gl_folder","Folder"),a.onclick=function(){P(r.folder)}}function Te(r){var a=r.url===t.selectedUrl,o=i(S,"button","","rte-gallery-browser-card rte-gallery-image-card"+(a?" is-selected":""));o.type="button",o.title=r.name,o.setAttribute("role","option"),o.setAttribute("aria-selected",a?"true":"false");var n=i(o,"div","","rte-gallery-browser-selection");n.innerHTML=__RTE_TT(a?"&#10003;":"&nbsp;");var u=i(o,"div","","rte-gallery-browser-thumbnail"),g=i(u,"img","","rte-gallery-browser-thumbnail-image");g.src=r.thumbnail||r.url,g.alt=r.name;var h=i(o,"div","","rte-gallery-browser-name");h.innerText=r.name;var y=i(o,"div","","rte-gallery-browser-meta");y.innerText=r.meta||(r.source==="preset"?s("gl_preset","Preset image"):H(r.size))||r.url,o.onclick=function(){fe(r.url)},o.ondblclick=function(){fe(r.url),ge()}}function Fe(r){var a=[],o={},n;for(n=0;n<r.length;n++)a.push(r[n]),o[r[n].url]=!0;if(t.currentFolder)return a;for(n=0;n<b.length;n++)o[b[n].url]||a.push(b[n]);return a}function v(){var r=de(t.folders),a=de(t.images);if(V.innerText=t.currentFolderDisplay||"/",C(k,t.loading||t.parentFolder===null),C(j,t.loading),C(L,t.loading),C(q,t.loading),D.innerHTML=__RTE_TT(""),S.innerHTML=__RTE_TT(""),p(G,!1),p(D,!1),p(S,!0),t.loading){G.innerText=s("gl_loading","Loading gallery..."),p(G,!0),p(S,!1),ce(0,0);return}t.error?(N.innerText=t.error,p(N,!0)):p(N,!1);for(var o=0;o<r.length;o++)_e(r[o]);p(D,r.length>0);for(var n=0;n<a.length;n++)Te(a[n]);p(S,a.length>0),ce(r.length,a.length),!r.length&&!a.length&&(G.innerText=U.value?s("gl_nomatch","No folders or images match the current filter."):l?s("gl_emptyfolder","This folder is empty. Create a folder or upload an image to get started."):s("gl_noimages","No images are available. Upload a file to get started."),p(G,!0))}function ee(r,a){var o=[],n=[],u;if(t.currentFolder=r.currentFolder||"",t.currentFolderDisplay=r.currentFolderDisplay||"/",t.parentFolder=typeof r.parentFolder>"u"?null:r.parentFolder,t.fallbackMode=!!a,t.error="",r.folders)for(u=0;u<r.folders.length;u++){var g=be(r.folders[u]);g&&o.push(g)}if(r.images)for(u=0;u<r.images.length;u++){var h=he(r.images[u]);h&&n.push(h)}if(t.folders=o,t.images=Fe(n),t.selectedUrl){var y=!1;for(u=0;u<t.images.length;u++)if(t.images[u].url===t.selectedUrl){y=!0;break}y||(t.selectedUrl="")}}function xe(r){ee({currentFolder:"",currentFolderDisplay:"/",parentFolder:null,folders:[],images:[]},!0),t.images=b.slice(0),t.error=b.length?"":s("gl_unavailable","The image gallery is unavailable right now ({0}).",r),t.loading=!1,v()}var X="";function P(r,a){if(!l){t.images=b.slice(0),v();return}t.loading=!0,t.error="",v(),te("GET",ve(e,r),null,function(o,n){if(n){X="",xe(n);return}ee(o||{},!1),a&&(t.selectedUrl=a),t.error=X,X="",t.loading=!1,v()})}function Ue(){var r=window.prompt(s("gl_foldername","New folder name"),"");if(r){t.loading=!0,t.error="",v();var a=new FormData;a.append("action","create-folder"),a.append("folder",t.currentFolder||""),a.append("name",r),te("POST",e,a,function(o,n){if(n){t.loading=!1,t.error=s("gl_foldererror","The folder could not be created right now."),v();return}ee(o||{},!1),t.loading=!1,v()})}}function Se(r){var a=String(r.name||"").toLowerCase(),o=a.lastIndexOf(".");if(o<0||Q.indexOf(a.substring(o))<0)return r.name+" is not an accepted image format.";var n=parseInt(w.maxUploadFileSize,10);return n>0&&r.size>n?r.name+" is "+H(r.size)+". The maximum allowed size is "+H(n)+".":""}function Ae(r){var a=[],o=[],n;for(n=0;n<r.length;n++){var u=Se(r[n]);u?o.push(u):a.push(r[n])}if(!f)return;if(!a.length){o.length&&(t.error=o.join(" "),v());return}var g=[];function h(){var _=g.length?g[g.length-1]:"";if(l){X=o.join(" "),P(t.currentFolder,_||t.selectedUrl);return}for(var m=0;m<g.length;m++){var E=le(g[m]);E&&(E.source="upload",b.unshift(E),w.galleryImages.unshift(g[m]))}_&&(t.selectedUrl=_),t.images=b.slice(0),t.loading=!1,t.error=o.join(" "),v()}function y(_){if(_>=a.length){h();return}var m=a[_],E=!1;function re(A,T){E||(E=!0,A?g.push(A):o.push(typeof T=="string"&&T?T:s("gl_uploadfailed","Upload failed for {0}.",m.name)),y(_+1))}try{if(d){window.richTextBoxUploadFile(m,function(A,T){re(T?"":A,T?s("gl_uploadfailed","Upload failed for {0}.",m.name):"")},{folder:t.currentFolder},_,a);return}window.rte_file_upload_handler(m,function(A,T){re(A,T)},_,a)}catch{re("",s("gl_uploadfailed","Upload failed for {0}.",m.name))}}t.loading=!0,t.error="",v(),y(0)}k.onclick=function(){t.parentFolder!==null&&P(t.parentFolder)},j.onclick=Ue,L.onclick=function(){M.click()},M.onchange=function(){Ae(this.files),this.value=""},q.onclick=function(){P(t.currentFolder,t.selectedUrl)},U.oninput=v,$.onclick=oe,O.onclick=ge,l?P(""):v(),U.focus()}}
@@ -49,7 +49,7 @@ function RTE_Plugin_InsertTemplate() {
49
49
 
50
50
  function stripHtml(html) {
51
51
  var div = document.createElement("div");
52
- div.innerHTML = html || "";
52
+ div.innerHTML = __RTE_TT(html || "");
53
53
  return div.innerText || div.textContent || "";
54
54
  }
55
55
 
@@ -208,6 +208,14 @@ function RTE_Plugin_InsertTemplate() {
208
208
  var i;
209
209
 
210
210
  empty.style.display = items.length ? "none" : "block";
211
+ // 2026-10-26 with no templates configured at all, "No templates match the current filter." was wrong: say
212
+ // there are none (the default list is empty since it shipped two "My Doc 1" demos).
213
+ // tools/templates/template-defaults.mjs
214
+ if (!items.length) {
215
+ empty.innerText = getTemplates().length
216
+ ? pText("tp_nomatch", "No templates match the current filter.")
217
+ : pText("tp_none", "No templates are available.");
218
+ }
211
219
 
212
220
  for (i = 0; i < items.length; i++) {
213
221
  (function (item) {
@@ -222,7 +230,7 @@ function RTE_Plugin_InsertTemplate() {
222
230
  var preview = append(card, "div", "", "rte-template-card-preview");
223
231
  var previewBody = append(preview, "div", "", "rte-template-card-preview-body");
224
232
  var canvas = append(previewBody, "div", "", "rte-template-card-preview-canvas");
225
- canvas.innerHTML = item.html;
233
+ canvas.innerHTML = __RTE_TT(item.html);
226
234
  scalePreview(previewBody, canvas);
227
235
 
228
236
  var footer = append(card, "div", "", "rte-template-card-footer");
@@ -1 +1 @@
1
- RTE_DefaultConfig.plugin_inserttemplate=RTE_Plugin_InsertTemplate;function RTE_Plugin_InsertTemplate(){var b=this,h,f;b.PluginName="InsertTemplate";function o(e,t,s){var p=h&&h["text_"+e]||t;return s===void 0?p:p.split("{0}").join(String(s))}b.InitConfig=function(e){h=e,h.htmlTemplates||(h.htmlTemplates=[])},b.InitEditor=function(e){f=e,f.attachEvent("exec_command_inserttemplate",function(t){t.returnValue=!0,b.DoInsertTemplate()})};function l(e,t,s,p){var d=e.ownerDocument.createElement(t);return s&&(d.style.cssText=s),p&&(d.className=p),e.appendChild(d),d}function j(e){for(;e.firstChild;)e.removeChild(e.firstChild)}function A(e){var t=document.createElement("div");return t.innerHTML=e||"",t.innerText||t.textContent||""}function B(e,t){return e instanceof Array?{id:"template-"+t,title:e[0]||o("tp_template","Template {0}",t+1),html:e[1]||"",meta:e[2]||""}:e&&typeof e=="object"?{id:e.id||"template-"+t,title:e.title||e.name||e.text||o("tp_template","Template {0}",t+1),html:e.html||e.content||"",meta:e.meta||e.description||""}:typeof e=="string"?{id:"template-"+t,title:o("tp_template","Template {0}",t+1),html:e,meta:""}:null}function F(e,t){var s=206,p=166,d=Math.max(t.scrollWidth,1),g=Math.max(t.scrollHeight,1),v=Math.min(1,s/d,p/g);t.style.transformOrigin="top left",t.style.transform="scale("+v+")",t.style.width=d+"px",t.style.height=g+"px"}b.DoInsertTemplate=function(){var e=f.createDialog(f.getLangText("inserttemplatetitle")||"Insert template","rte-dialog-inserttemplate"),t=typeof e.close=="function"?function(){e.close()}:function(){f.closeCurrentPopup()},s=l(e,"div","","rte-dialog-browser"),p=l(s,"div","","rte-dialog-browser-header"),d=l(p,"div","","rte-dialog-browser-copy");d.innerText=o("tp_copy","Preview reusable layouts, search by name, and replace the current editor content with a selected template.");var g=l(s,"div","","rte-dialog-browser-toolbar"),v=l(g,"input","","rte-dialog-browser-search");v.type="search",v.placeholder=o("tp_search","Search templates"),v.setAttribute("aria-label",o("tp_search","Search templates"));var x=l(g,"div","","rte-dialog-browser-count");x.setAttribute("role","status"),x.setAttribute("aria-live","polite");var L=l(s,"div","","rte-dialog-browser-scrollpanel"),y=l(L,"div","","rte-dialog-browser-grid rte-template-grid");y.setAttribute("role","listbox"),y.setAttribute("aria-label",o("tp_available","Available templates"));var I=l(L,"div","","rte-dialog-browser-empty");I.innerText=o("tp_nomatch","No templates match the current filter.");var _=l(s,"div","","rte-gallery-browser-footer"),k=l(_,"div","","rte-gallery-browser-footer-text");k.innerText=o("tp_select","Select a template to replace the current content.");var C=l(_,"button","","rte-gallery-browser-button");C.type="button",C.innerText=o("cancel","Cancel");var w=l(_,"button","","rte-gallery-browser-button rte-gallery-browser-button-primary");w.type="button",w.innerText=o("tp_replace","Replace Content"),w.disabled=!0;var u="";function S(){var a=[],r=h.htmlTemplates||[],n;for(n=0;n<r.length;n++){var i=B(r[n],n);i&&i.html&&a.push(i)}return a}function D(){var a=v.value.replace(/^\s+|\s+$/g,"").toLowerCase(),r=S();return a?r.filter(function(n){var i=A(n.html).toLowerCase();return n.title.toLowerCase().indexOf(a)>=0||i.indexOf(a)>=0||n.meta&&n.meta.toLowerCase().indexOf(a)>=0}):r}function E(a){var r=null,n;for(n=0;n<a.length;n++)if(a[n].id===u){r=a[n];break}x.innerText=a.length===1?o("tp_count1","1 template"):o("tp_countn","{0} templates",a.length),k.innerText=r?o("tp_ready","Ready to replace the editor content with {0}.",r.title):o("tp_select","Select a template to replace the current content."),w.disabled=!r}function H(){var a=S(),r;for(r=0;r<a.length;r++)if(a[r].id===u){f.setHTMLCode(a[r].html,{undoable:!0}),t(),f.focus();return}}function M(){j(y);var a=D(),r;for(I.style.display=a.length?"none":"block",r=0;r<a.length;r++)(function(i){var c=l(y,"button","","rte-dialog-browser-card");c.type="button",c.setAttribute("role","option"),c.setAttribute("aria-selected",i.id===u?"true":"false"),i.id===u&&c.classList.add("is-selected");var N=l(c,"div","","rte-template-card-preview"),P=l(N,"div","","rte-template-card-preview-body"),R=l(P,"div","","rte-template-card-preview-canvas");R.innerHTML=i.html,F(P,R);var O=l(c,"div","","rte-template-card-footer"),W=l(O,"div","","rte-template-card-title");W.innerText=i.title;var q=l(O,"div","","rte-template-card-meta");q.innerText=i.meta||A(i.html).substring(0,80)||o("tp_reusable","Reusable template"),c.onclick=function(){u=i.id;for(var T=y.querySelectorAll(".rte-dialog-browser-card"),m=0;m<T.length;m++)T[m].classList.toggle("is-selected",T[m]===c),T[m].setAttribute("aria-selected",T[m]===c?"true":"false");E(D())},c.ondblclick=function(){u=i.id,H()}})(a[r]);if(u){var n=!1;for(r=0;r<a.length;r++)if(a[r].id===u){n=!0;break}n||(u="")}E(a)}v.oninput=M,C.onclick=t,w.onclick=H,M(),v.focus()}}
1
+ RTE_DefaultConfig.plugin_inserttemplate=RTE_Plugin_InsertTemplate;function RTE_Plugin_InsertTemplate(){var b=this,h,f;b.PluginName="InsertTemplate";function o(e,t,s){var p=h&&h["text_"+e]||t;return s===void 0?p:p.split("{0}").join(String(s))}b.InitConfig=function(e){h=e,h.htmlTemplates||(h.htmlTemplates=[])},b.InitEditor=function(e){f=e,f.attachEvent("exec_command_inserttemplate",function(t){t.returnValue=!0,b.DoInsertTemplate()})};function l(e,t,s,p){var d=e.ownerDocument.createElement(t);return s&&(d.style.cssText=s),p&&(d.className=p),e.appendChild(d),d}function O(e){for(;e.firstChild;)e.removeChild(e.firstChild)}function I(e){var t=document.createElement("div");return t.innerHTML=__RTE_TT(e||""),t.innerText||t.textContent||""}function j(e,t){return e instanceof Array?{id:"template-"+t,title:e[0]||o("tp_template","Template {0}",t+1),html:e[1]||"",meta:e[2]||""}:e&&typeof e=="object"?{id:e.id||"template-"+t,title:e.title||e.name||e.text||o("tp_template","Template {0}",t+1),html:e.html||e.content||"",meta:e.meta||e.description||""}:typeof e=="string"?{id:"template-"+t,title:o("tp_template","Template {0}",t+1),html:e,meta:""}:null}function B(e,t){var s=206,p=166,d=Math.max(t.scrollWidth,1),g=Math.max(t.scrollHeight,1),v=Math.min(1,s/d,p/g);t.style.transformOrigin="top left",t.style.transform="scale("+v+")",t.style.width=d+"px",t.style.height=g+"px"}b.DoInsertTemplate=function(){var e=f.createDialog(f.getLangText("inserttemplatetitle")||"Insert template","rte-dialog-inserttemplate"),t=typeof e.close=="function"?function(){e.close()}:function(){f.closeCurrentPopup()},s=l(e,"div","","rte-dialog-browser"),p=l(s,"div","","rte-dialog-browser-header"),d=l(p,"div","","rte-dialog-browser-copy");d.innerText=o("tp_copy","Preview reusable layouts, search by name, and replace the current editor content with a selected template.");var g=l(s,"div","","rte-dialog-browser-toolbar"),v=l(g,"input","","rte-dialog-browser-search");v.type="search",v.placeholder=o("tp_search","Search templates"),v.setAttribute("aria-label",o("tp_search","Search templates"));var _=l(g,"div","","rte-dialog-browser-count");_.setAttribute("role","status"),_.setAttribute("aria-live","polite");var k=l(s,"div","","rte-dialog-browser-scrollpanel"),T=l(k,"div","","rte-dialog-browser-grid rte-template-grid");T.setAttribute("role","listbox"),T.setAttribute("aria-label",o("tp_available","Available templates"));var x=l(k,"div","","rte-dialog-browser-empty");x.innerText=o("tp_nomatch","No templates match the current filter.");var C=l(s,"div","","rte-gallery-browser-footer"),E=l(C,"div","","rte-gallery-browser-footer-text");E.innerText=o("tp_select","Select a template to replace the current content.");var A=l(C,"button","","rte-gallery-browser-button");A.type="button",A.innerText=o("cancel","Cancel");var y=l(C,"button","","rte-gallery-browser-button rte-gallery-browser-button-primary");y.type="button",y.innerText=o("tp_replace","Replace Content"),y.disabled=!0;var u="";function L(){var r=[],a=h.htmlTemplates||[],n;for(n=0;n<a.length;n++){var i=j(a[n],n);i&&i.html&&r.push(i)}return r}function R(){var r=v.value.replace(/^\s+|\s+$/g,"").toLowerCase(),a=L();return r?a.filter(function(n){var i=I(n.html).toLowerCase();return n.title.toLowerCase().indexOf(r)>=0||i.indexOf(r)>=0||n.meta&&n.meta.toLowerCase().indexOf(r)>=0}):a}function S(r){var a=null,n;for(n=0;n<r.length;n++)if(r[n].id===u){a=r[n];break}_.innerText=r.length===1?o("tp_count1","1 template"):o("tp_countn","{0} templates",r.length),E.innerText=a?o("tp_ready","Ready to replace the editor content with {0}.",a.title):o("tp_select","Select a template to replace the current content."),y.disabled=!a}function D(){var r=L(),a;for(a=0;a<r.length;a++)if(r[a].id===u){f.setHTMLCode(r[a].html,{undoable:!0}),t(),f.focus();return}}function H(){O(T);var r=R(),a;for(x.style.display=r.length?"none":"block",r.length||(x.innerText=L().length?o("tp_nomatch","No templates match the current filter."):o("tp_none","No templates are available.")),a=0;a<r.length;a++)(function(i){var c=l(T,"button","","rte-dialog-browser-card");c.type="button",c.setAttribute("role","option"),c.setAttribute("aria-selected",i.id===u?"true":"false"),i.id===u&&c.classList.add("is-selected");var F=l(c,"div","","rte-template-card-preview"),M=l(F,"div","","rte-template-card-preview-body"),P=l(M,"div","","rte-template-card-preview-canvas");P.innerHTML=__RTE_TT(i.html),B(M,P);var N=l(c,"div","","rte-template-card-footer"),W=l(N,"div","","rte-template-card-title");W.innerText=i.title;var q=l(N,"div","","rte-template-card-meta");q.innerText=i.meta||I(i.html).substring(0,80)||o("tp_reusable","Reusable template"),c.onclick=function(){u=i.id;for(var w=T.querySelectorAll(".rte-dialog-browser-card"),m=0;m<w.length;m++)w[m].classList.toggle("is-selected",w[m]===c),w[m].setAttribute("aria-selected",w[m]===c?"true":"false");S(R())},c.ondblclick=function(){u=i.id,D()}})(r[a]);if(u){var n=!1;for(a=0;a<r.length;a++)if(r[a].id===u){n=!0;break}n||(u="")}S(r)}v.oninput=H,A.onclick=t,y.onclick=D,H(),v.focus()}}
@@ -159,7 +159,7 @@ function RTE_Plugin_MarkdownExport() {
159
159
  if (!state) return;
160
160
  var html = "";
161
161
  try { html = editor.fromMarkdown(state.area.value, { apply: false }); } catch (e) { html = ""; }
162
- state.preview.innerHTML = html;
162
+ state.preview.innerHTML = __RTE_TT(html);
163
163
  syncPreviewScroll();
164
164
  }
165
165
 
@@ -1,2 +1,2 @@
1
- window.RTE_DefaultConfig||(window.RTE_DefaultConfig={}),RTE_DefaultConfig.plugin_markdownexport=RTE_Plugin_MarkdownExport,typeof RTE_DefaultConfig.markdownExportEnabled>"u"&&(RTE_DefaultConfig.markdownExportEnabled=!0);function RTE_Plugin_MarkdownExport(){var h=this,i,t;h.PluginName="MarkdownExport",h.InitConfig=function(o){i=o},h.InitEditor=function(o){t=o,t.getMarkdown=function(){if(typeof t.toMarkdown=="function")return t.toMarkdown();var e=t.getEditable();return e&&(e.innerText||e.textContent)||""},t.copyAsMarkdown=function(){var e=t.getMarkdown();return _(e)},t.downloadMarkdown=function(e){var r=t.getMarkdown(),d=x(e),l=d?d+".md":E();return T(r,l)};var n=null;t.isMarkdownMode=function(){return!!n},t.toggleMarkdownMode=function(){return n?L():N()};var a=!0;t.isMarkdownPreview=function(){return!!n&&a},t.setMarkdownPreview=function(e){return a=!!e,n&&C(),t.isMarkdownPreview()};var p=t.getHTMLCode,u=function(){return n&&!n.locked?t.fromMarkdown(n.area.value,{apply:!1}):p.apply(t,arguments)};t.getHTML=u,t.getHTMLCode=u;function c(e,r,d){return i&&i["text_"+e]?i["text_"+e]:r&&i&&i.text_language&&i.text_language!=="Language"&&i["text_"+r]?i["text_"+r]:d}function N(){var e=t.iframe;if(!e||!e.parentNode)return!1;var r=e.ownerDocument;R(r);var d=t.toMarkdown(),l=r.createElement("div");l.className="rte-markdown-note",l.textContent=i&&i.text_md_note||"Markdown mode. Markdown keeps headings, lists, links, emphasis, code and tables. Colours, footnotes, comments and other formatting are not kept when you change the text.";var s=r.createElement("textarea");s.className="rte-markdown-mode",s.setAttribute("spellcheck","false"),s.setAttribute("aria-label",i&&i.text_md_source||"Markdown source"),l.id="rte-markdown-note-"+new Date().getTime()+"-"+Math.floor(Math.random()*1e6),s.setAttribute("aria-describedby",l.id),s.value=d;var m=!1;try{m=!!(t.getReadOnly&&t.getReadOnly()||t.getCommentsOnly&&t.getCommentsOnly())}catch{m=!1}!m&&t.__trackHook&&t.__trackHook("refuse",{message:i&&i.text_md_suggestlocked||"Suggesting is on, so the Markdown source is view only. Turn suggesting off to edit as Markdown."})===!0&&(m=!0),m&&(s.readOnly=!0,l.textContent=i&&i.text_md_viewonly||"Markdown source, view only: this document cannot be changed here right now.");var f=r.createElement("button");f.type="button",f.className="rte-markdown-preview-toggle";var w=r.createElement("div");w.className="rte-markdown-bar",w.appendChild(f);var g=r.createElement("div");g.className="rte-markdown-split";var v=r.createElement("div");v.className="rte-markdown-preview",v.setAttribute("role","region"),v.setAttribute("aria-label",c("markdownpreview","preview","Markdown preview")),g.appendChild(s),g.appendChild(v),e.style.display="none",e.parentNode.insertBefore(l,e.nextSibling),e.parentNode.insertBefore(w,l.nextSibling),e.parentNode.insertBefore(g,w.nextSibling),n={area:s,note:l,frame:e,original:d,split:g,preview:v,toggle:f,bar:w,timer:0,locked:m},f.onclick=function(){t.setMarkdownPreview(!a)},s.addEventListener("scroll",M),s.addEventListener("input",function(){var k=n;!k||!a||(clearTimeout(k.timer),k.timer=setTimeout(y,120))}),C();try{s.focus()}catch{}return!0}function L(){var e=n,r=e.area.value;n=null,!e.locked&&r!==e.original&&t.setHTMLCode(t.fromMarkdown(r,{apply:!1}),{undoable:!0}),clearTimeout(e.timer),e.split.parentNode&&e.split.parentNode.removeChild(e.split),e.bar.parentNode&&e.bar.parentNode.removeChild(e.bar),e.note.parentNode&&e.note.parentNode.removeChild(e.note),e.frame.style.display="";try{t.focus()}catch{}return!0}function y(){var e=n;if(e){var r="";try{r=t.fromMarkdown(e.area.value,{apply:!1})}catch{r=""}e.preview.innerHTML=r,M()}}function M(){var e=n;if(!(!e||!a)){var r=e.area,d=e.preview,l=r.scrollHeight-r.clientHeight,s=l>0?r.scrollTop/l:0;d.scrollTop=Math.round(s*Math.max(0,d.scrollHeight-d.clientHeight))}}function C(){var e=n;e.preview.style.display=a?"":"none",e.split.className="rte-markdown-split"+(a?" has-preview":""),e.toggle.setAttribute("aria-pressed",a?"true":"false"),e.toggle.textContent=a?c("markdownpreview_hide","","Hide preview"):c("markdownpreview_show","","Show preview"),a&&y()}function R(e){if(!e.getElementById("rte-markdown-mode-styles")){var r=e.createElement("style");r.id="rte-markdown-mode-styles",r.appendChild(e.createTextNode(".rte-markdown-mode{display:block;box-sizing:border-box;width:100%;min-height:240px;margin:0;padding:12px 14px;border:1px solid #cbd5e1;border-radius:8px;font:14px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;color:#0f172a;background:#fff;resize:vertical;}.rte-markdown-note{margin:0 0 6px;font:13px/1.4 system-ui,sans-serif;color:#475569;}.rte-markdown-split.has-preview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;}@media (max-width:640px){.rte-markdown-split.has-preview{grid-template-columns:minmax(0,1fr);}}.rte-markdown-preview{box-sizing:border-box;min-height:240px;max-height:70vh;overflow:auto;padding:12px 14px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;color:#0f172a;font:15px/1.6 system-ui,sans-serif;overflow-wrap:anywhere;}.rte-markdown-preview img{max-width:100%;height:auto;}.rte-markdown-preview table{border-collapse:collapse;}.rte-markdown-preview th,.rte-markdown-preview td{border:1px solid #cbd5e1;padding:4px 8px;}.rte-markdown-bar{margin:0 0 6px;}.rte-markdown-preview-toggle{padding:2px 10px;min-height:24px;border:1px solid #94a3b8;border-radius:6px;background:#fff;color:#0f172a;font:12px/1.4 system-ui,sans-serif;cursor:pointer;}.rte-markdown-preview-toggle:focus-visible{outline:2px solid #1d4ed8;outline-offset:2px;}")),(e.head||e.documentElement).appendChild(r)}}};function E(){try{var o=t.getEditable();if(o){var n=o.querySelector("h1,h2,h3"),a=n?n.textContent:o.textContent||"";a=(a||"").trim().split(`
2
- `)[0].slice(0,60);var p=x(a);if(p)return p+".md"}}catch{}return"document.md"}function x(o){return o?(o=String(o).replace(/\.md$/i,""),o=o.replace(/[\\/:*?"<>|\u0000-\u001f]+/g," ").replace(/\s+/g," ").trim(),o=o.replace(/[ .]+$/,""),o):""}function _(o){try{if(navigator.clipboard&&navigator.clipboard.writeText)return navigator.clipboard.writeText(o).then(function(){return!0},function(){return b(o)})}catch{}return Promise.resolve(b(o))}function b(o){try{var n=document,a=n.createElement("textarea");a.value=o,a.style.position="fixed",a.style.top="-1000px",a.style.opacity="0",n.body.appendChild(a),a.focus(),a.select();var p=!1;try{p=n.execCommand("copy")}catch{p=!1}return n.body.removeChild(a),p}catch{return!1}}function T(o,n){try{var a=new Blob([o],{type:"text/markdown;charset=utf-8"}),p=(window.URL||window.webkitURL).createObjectURL(a),u=document.createElement("a");return u.href=p,u.download=n,u.style.display="none",document.body.appendChild(u),u.click(),setTimeout(function(){try{document.body.removeChild(u)}catch{}try{(window.URL||window.webkitURL).revokeObjectURL(p)}catch{}},0),!0}catch{return!1}}}
1
+ window.RTE_DefaultConfig||(window.RTE_DefaultConfig={}),RTE_DefaultConfig.plugin_markdownexport=RTE_Plugin_MarkdownExport,typeof RTE_DefaultConfig.markdownExportEnabled>"u"&&(RTE_DefaultConfig.markdownExportEnabled=!0);function RTE_Plugin_MarkdownExport(){var h=this,i,t;h.PluginName="MarkdownExport",h.InitConfig=function(o){i=o},h.InitEditor=function(o){t=o,t.getMarkdown=function(){if(typeof t.toMarkdown=="function")return t.toMarkdown();var e=t.getEditable();return e&&(e.innerText||e.textContent)||""},t.copyAsMarkdown=function(){var e=t.getMarkdown();return E(e)},t.downloadMarkdown=function(e){var r=t.getMarkdown(),d=x(e),l=d?d+".md":_();return T(r,l)};var n=null;t.isMarkdownMode=function(){return!!n},t.toggleMarkdownMode=function(){return n?R():N()};var a=!0;t.isMarkdownPreview=function(){return!!n&&a},t.setMarkdownPreview=function(e){return a=!!e,n&&C(),t.isMarkdownPreview()};var p=t.getHTMLCode,u=function(){return n&&!n.locked?t.fromMarkdown(n.area.value,{apply:!1}):p.apply(t,arguments)};t.getHTML=u,t.getHTMLCode=u;function c(e,r,d){return i&&i["text_"+e]?i["text_"+e]:r&&i&&i.text_language&&i.text_language!=="Language"&&i["text_"+r]?i["text_"+r]:d}function N(){var e=t.iframe;if(!e||!e.parentNode)return!1;var r=e.ownerDocument;L(r);var d=t.toMarkdown(),l=r.createElement("div");l.className="rte-markdown-note",l.textContent=i&&i.text_md_note||"Markdown mode. Markdown keeps headings, lists, links, emphasis, code and tables. Colours, footnotes, comments and other formatting are not kept when you change the text.";var s=r.createElement("textarea");s.className="rte-markdown-mode",s.setAttribute("spellcheck","false"),s.setAttribute("aria-label",i&&i.text_md_source||"Markdown source"),l.id="rte-markdown-note-"+new Date().getTime()+"-"+Math.floor(Math.random()*1e6),s.setAttribute("aria-describedby",l.id),s.value=d;var m=!1;try{m=!!(t.getReadOnly&&t.getReadOnly()||t.getCommentsOnly&&t.getCommentsOnly())}catch{m=!1}!m&&t.__trackHook&&t.__trackHook("refuse",{message:i&&i.text_md_suggestlocked||"Suggesting is on, so the Markdown source is view only. Turn suggesting off to edit as Markdown."})===!0&&(m=!0),m&&(s.readOnly=!0,l.textContent=i&&i.text_md_viewonly||"Markdown source, view only: this document cannot be changed here right now.");var f=r.createElement("button");f.type="button",f.className="rte-markdown-preview-toggle";var w=r.createElement("div");w.className="rte-markdown-bar",w.appendChild(f);var g=r.createElement("div");g.className="rte-markdown-split";var v=r.createElement("div");v.className="rte-markdown-preview",v.setAttribute("role","region"),v.setAttribute("aria-label",c("markdownpreview","preview","Markdown preview")),g.appendChild(s),g.appendChild(v),e.style.display="none",e.parentNode.insertBefore(l,e.nextSibling),e.parentNode.insertBefore(w,l.nextSibling),e.parentNode.insertBefore(g,w.nextSibling),n={area:s,note:l,frame:e,original:d,split:g,preview:v,toggle:f,bar:w,timer:0,locked:m},f.onclick=function(){t.setMarkdownPreview(!a)},s.addEventListener("scroll",M),s.addEventListener("input",function(){var k=n;!k||!a||(clearTimeout(k.timer),k.timer=setTimeout(y,120))}),C();try{s.focus()}catch{}return!0}function R(){var e=n,r=e.area.value;n=null,!e.locked&&r!==e.original&&t.setHTMLCode(t.fromMarkdown(r,{apply:!1}),{undoable:!0}),clearTimeout(e.timer),e.split.parentNode&&e.split.parentNode.removeChild(e.split),e.bar.parentNode&&e.bar.parentNode.removeChild(e.bar),e.note.parentNode&&e.note.parentNode.removeChild(e.note),e.frame.style.display="";try{t.focus()}catch{}return!0}function y(){var e=n;if(e){var r="";try{r=t.fromMarkdown(e.area.value,{apply:!1})}catch{r=""}e.preview.innerHTML=__RTE_TT(r),M()}}function M(){var e=n;if(!(!e||!a)){var r=e.area,d=e.preview,l=r.scrollHeight-r.clientHeight,s=l>0?r.scrollTop/l:0;d.scrollTop=Math.round(s*Math.max(0,d.scrollHeight-d.clientHeight))}}function C(){var e=n;e.preview.style.display=a?"":"none",e.split.className="rte-markdown-split"+(a?" has-preview":""),e.toggle.setAttribute("aria-pressed",a?"true":"false"),e.toggle.textContent=a?c("markdownpreview_hide","","Hide preview"):c("markdownpreview_show","","Show preview"),a&&y()}function L(e){if(!e.getElementById("rte-markdown-mode-styles")){var r=e.createElement("style");r.id="rte-markdown-mode-styles",r.appendChild(e.createTextNode(".rte-markdown-mode{display:block;box-sizing:border-box;width:100%;min-height:240px;margin:0;padding:12px 14px;border:1px solid #cbd5e1;border-radius:8px;font:14px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;color:#0f172a;background:#fff;resize:vertical;}.rte-markdown-note{margin:0 0 6px;font:13px/1.4 system-ui,sans-serif;color:#475569;}.rte-markdown-split.has-preview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;}@media (max-width:640px){.rte-markdown-split.has-preview{grid-template-columns:minmax(0,1fr);}}.rte-markdown-preview{box-sizing:border-box;min-height:240px;max-height:70vh;overflow:auto;padding:12px 14px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;color:#0f172a;font:15px/1.6 system-ui,sans-serif;overflow-wrap:anywhere;}.rte-markdown-preview img{max-width:100%;height:auto;}.rte-markdown-preview table{border-collapse:collapse;}.rte-markdown-preview th,.rte-markdown-preview td{border:1px solid #cbd5e1;padding:4px 8px;}.rte-markdown-bar{margin:0 0 6px;}.rte-markdown-preview-toggle{padding:2px 10px;min-height:24px;border:1px solid #94a3b8;border-radius:6px;background:#fff;color:#0f172a;font:12px/1.4 system-ui,sans-serif;cursor:pointer;}.rte-markdown-preview-toggle:focus-visible{outline:2px solid #1d4ed8;outline-offset:2px;}")),(e.head||e.documentElement).appendChild(r)}}};function _(){try{var o=t.getEditable();if(o){var n=o.querySelector("h1,h2,h3"),a=n?n.textContent:o.textContent||"";a=(a||"").trim().split(`
2
+ `)[0].slice(0,60);var p=x(a);if(p)return p+".md"}}catch{}return"document.md"}function x(o){return o?(o=String(o).replace(/\.md$/i,""),o=o.replace(/[\\/:*?"<>|\u0000-\u001f]+/g," ").replace(/\s+/g," ").trim(),o=o.replace(/[ .]+$/,""),o):""}function E(o){try{if(navigator.clipboard&&navigator.clipboard.writeText)return navigator.clipboard.writeText(o).then(function(){return!0},function(){return b(o)})}catch{}return Promise.resolve(b(o))}function b(o){try{var n=document,a=n.createElement("textarea");a.value=o,a.style.position="fixed",a.style.top="-1000px",a.style.opacity="0",n.body.appendChild(a),a.focus(),a.select();var p=!1;try{p=n.execCommand("copy")}catch{p=!1}return n.body.removeChild(a),p}catch{return!1}}function T(o,n){try{var a=new Blob([o],{type:"text/markdown;charset=utf-8"}),p=(window.URL||window.webkitURL).createObjectURL(a),u=document.createElement("a");return u.href=p,u.download=n,u.style.display="none",document.body.appendChild(u),u.click(),setTimeout(function(){try{document.body.removeChild(u)}catch{}try{(window.URL||window.webkitURL).revokeObjectURL(p)}catch{}},0),!0}catch{return!1}}}
@@ -331,7 +331,7 @@ function RTE_Plugin_Mention() {
331
331
 
332
332
  function showLoading() {
333
333
  if (!popupEl) return;
334
- popupEl.innerHTML = "";
334
+ popupEl.innerHTML = __RTE_TT("");
335
335
  var loader = popupHost.createElement("div");
336
336
  loader.className = "rte-mention-loading";
337
337
  loader.textContent = pText("mn_searching", "Searching\u2026");
@@ -341,7 +341,7 @@ function RTE_Plugin_Mention() {
341
341
 
342
342
  function renderItems() {
343
343
  if (!popupEl) return;
344
- popupEl.innerHTML = "";
344
+ popupEl.innerHTML = __RTE_TT("");
345
345
  statusEl = null;
346
346
 
347
347
  if (!items.length) {
@@ -1,3 +1,3 @@
1
- window.RTE_DefaultConfig||(window.RTE_DefaultConfig={}),RTE_DefaultConfig.plugin_mention=RTE_Plugin_Mention;function RTE_Plugin_Mention(){var C=this,l,s,v=null,a=null,T=null,b=[],d=null,h=null,p=[],g=0,E=!1,A=0,x=null;C.PluginName="Mention";function N(e,t,n){var r=l&&l["text_"+e]||t;return n===void 0?r:r.split("{0}").join(String(n))}C.InitConfig=function(e){l=e,l.mentionEnabled!==!1&&(l.mentionTrigger=l.mentionTrigger||"@",l.mentionDebounceMs=l.mentionDebounceMs==null?150:l.mentionDebounceMs,l.mentionMaxItems=l.mentionMaxItems||8,l.mentionStaticList=l.mentionStaticList||null,l.mentionSource=l.mentionSource||null,l.mentionInsertClass=l.mentionInsertClass||"rte-mention",l.mentionTriggers=l.mentionTriggers||null)},C.InitEditor=function(e){if(s=e,l.mentionEnabled!==!1){if(s.mentions={register:S,remove:j,list:function(){return b.slice()},close:m,isOpen:function(){return!!a}},(l.mentionSource||l.mentionStaticList)&&S({trigger:l.mentionTrigger,source:l.mentionSource||function(r){return U(l.mentionStaticList,r)}}),Array.isArray(l.mentionTriggers))for(var t=0;t<l.mentionTriggers.length;t++)S(l.mentionTriggers[t]);$();var n=function(r,i,o){s.bindDocumentEvent?s.bindDocumentEvent(r,i,o):s.getDocument().addEventListener(r,i,o)};n("keydown",B,!0),n("input",K,!0),n("compositionstart",function(){E=!0}),n("compositionend",function(){E=!1}),n("mousedown",function(r){r.target&&r.target.closest&&r.target.closest("."+l.mentionInsertClass)||m()},!0),n("blur",function(){setTimeout(m,150)},!0),window.addEventListener("scroll",H,!0),window.addEventListener("resize",H,!0)}};function _(e){return function(t,n){return new Promise(function(r,i){var o=!1,u=function(f){o||(o=!0,r(f))},c;try{c=e(t,u,n)}catch(f){i(f);return}c!==void 0&&Promise.resolve(c).then(function(f){f!==void 0&&u(f)},i)})}}function S(e){if(!(!e||!e.trigger)){var t=typeof e.source=="function"?e.source:typeof e.search=="function"?_(e.search):null;if(!t){window.console&&console.warn&&console.warn('RichTextEditor mentions: trigger "'+e.trigger+'" was not registered - pass search(query, done) or source(query).');return}var n=k(e.trigger),r={trigger:e.trigger,source:t,renderItem:e.renderItem||null,renderInsert:e.renderInsert||null,insertClass:e.insertClass||l.mentionInsertClass,label:e.label||"mentions "+e.trigger};n>=0?b[n]=r:b.push(r)}}function j(e){var t=k(e);t>=0&&b.splice(t,1)}function k(e){for(var t=0;t<b.length;t++)if(b[t].trigger===e)return t;return-1}function y(e){return e&&(e.label||e.name||e.id)||""}function D(e){return e&&(e.subtitle||e.email)||""}function U(e,t){if(!Array.isArray(e))return[];if(!t)return e.slice(0,50);var n=t.toLowerCase();return e.filter(function(r){var i=(y(r)+" "+D(r)+" "+(r.id||"")).toLowerCase();return i.indexOf(n)!==-1})}function B(e){if(!E){if(a)switch(e.key){case"ArrowDown":e.preventDefault(),e.stopPropagation(),z(1);return;case"ArrowUp":e.preventDefault(),e.stopPropagation(),z(-1);return;case"Enter":case"Tab":if(p.length){e.preventDefault(),e.stopPropagation(),I();return}m();return;case"Escape":case"Esc":e.preventDefault(),e.stopPropagation(),m();return}if(!e.ctrlKey&&!e.metaKey&&!e.altKey){var t=k(e.key);if(t>=0&&V()){var n=b[t];setTimeout(function(){W(n)},0)}}}}function K(){a&&Y()}function V(){var e=s.getSelection();if(!e||e.rangeCount===0||!e.isCollapsed)return!1;for(var t=e.getRangeAt(0),n=t.startContainer,r=t.startOffset,i=s.getEditable(),o=n.nodeType===1?n:n.parentNode;o&&o!==i;){var u=o.nodeName;if(u==="CODE"||u==="PRE"||o.classList&&o.classList.contains(l.mentionInsertClass))return!1;o=o.parentNode}if(n.nodeType===3){if(r===0)return!0;var c=n.nodeValue.charAt(r-1);return/\s/.test(c)}return!0}function W(e){m();var t=s.getSelection();if(!(!t||t.rangeCount===0)){var n=t.getRangeAt(0).cloneRange();d=e,h={range:n,startNode:n.startContainer,startOffset:n.startOffset,triggerCharCount:1,query:""},X(),R(),O("")}}function m(){x&&(clearTimeout(x),x=null),a&&a.parentNode&&a.parentNode.removeChild(a),a=null,T=null,d=null,h=null,p=[],g=0}function Y(){if(h){var e=s.getSelection();if(!e||e.rangeCount===0||!e.isCollapsed){m();return}var t=e.getRangeAt(0),n=t.startContainer;if(n!==h.startNode){m();return}var r=t.startOffset;if(r<h.startOffset){m();return}var i=(n.nodeType===3?n.nodeValue:"")||"",o=i.substring(h.startOffset,r);if(/\s/.test(o)){m();return}h.query=o,O(o),R()}}function O(e){if(!d)return;var t=++A;x&&(clearTimeout(x),x=null);var n=e.length===0?0:l.mentionDebounceMs;function r(){F();var i;try{i=d.source(e,{trigger:d.trigger})}catch(o){console.warn("Mention source threw:",o),i=[]}Promise.resolve(i).then(function(o){t!==A||!a||(p=Array.isArray(o)?o.slice(0,l.mentionMaxItems):[],g=0,M())},function(o){t!==A||!a||(console.warn("Mention source failed:",o),p=[],M())})}n>0?x=setTimeout(r,n):r()}function X(){v=s.iframe.ownerDocument,a=v.createElement("div");var e=!1;try{var t=s.container&&s.container.classList;e=!!t&&(t.contains("rte-dark")||t.contains("rte-auto-dark")&&!t.contains("rte-light")&&!!(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches))}catch{e=!1}a.className="rte-mention-popup"+(e?" rte-mention-popup-dark":""),a.setAttribute("role","listbox"),a.setAttribute("aria-label",d.label),v.body.appendChild(a)}function F(){if(a){a.innerHTML="";var e=v.createElement("div");e.className="rte-mention-loading",e.textContent=N("mn_searching","Searching\u2026"),a.appendChild(e),T=e}}function M(){if(a){if(a.innerHTML="",T=null,!p.length){var e=v.createElement("div");e.className="rte-mention-empty",e.textContent=N("mn_nomatches","No matches"),a.appendChild(e);return}for(var t=0;t<p.length;t++)(function(n,r){var i=v.createElement("button");if(i.type="button",i.className="rte-mention-item"+(r===g?" rte-mention-item-active":""),i.setAttribute("role","option"),i.setAttribute("aria-selected",r===g?"true":"false"),i.setAttribute("data-index",r),d.renderItem&&d.renderItem.length<2){var o=d.renderItem(n);o&&o.nodeType?i.appendChild(o):o!=null&&o!==""?i.textContent=String(o):P(i,n)}else d.renderItem?d.renderItem(i,n):P(i,n);i.addEventListener("mousedown",function(u){u.preventDefault(),u.stopPropagation(),g=r,I()}),i.addEventListener("click",function(u){a&&(u.preventDefault(),u.stopPropagation(),g=r,I())}),i.addEventListener("mouseenter",function(){g!==r&&(g=r,q())}),a.appendChild(i)})(p[t],t)}}function P(e,t){var n=v.createElement("span");if(n.className="rte-mention-avatar",t.avatarUrl){var r=v.createElement("img");r.src=t.avatarUrl,r.alt="",n.appendChild(r)}else n.textContent=G(y(t)||"?");e.appendChild(n);var i=v.createElement("span");i.className="rte-mention-body";var o=v.createElement("span");o.className="rte-mention-label",o.textContent=y(t),i.appendChild(o);var u=D(t);if(u){var c=v.createElement("span");c.className="rte-mention-subtitle",c.textContent=u,i.appendChild(c)}e.appendChild(i)}function G(e){var t=String(e).trim().split(/\s+/);return t[0]?t.length===1?t[0].charAt(0).toUpperCase():(t[0].charAt(0)+t[t.length-1].charAt(0)).toUpperCase():"?"}function q(){if(a){for(var e=a.querySelectorAll(".rte-mention-item"),t=0;t<e.length;t++){var n=+e[t].getAttribute("data-index"),r=n===g;e[t].classList.toggle("rte-mention-item-active",r),e[t].setAttribute("aria-selected",r?"true":"false")}J()}}function J(){if(a){var e=a.querySelector(".rte-mention-item-active");if(e){var t=e.offsetTop,n=t+e.offsetHeight;t<a.scrollTop?a.scrollTop=t:n>a.scrollTop+a.clientHeight&&(a.scrollTop=n-a.clientHeight)}}}function z(e){p.length&&(g=(g+e+p.length)%p.length,q())}function I(){if(!p.length){m();return}var e=p[g],t=h,n=d;m(),!(!e||!t||!n)&&(Q(t),Z(n,e))}function Q(e){var t=e.startNode;if(t){var n=e.startOffset-(e.triggerCharCount||0);n<0&&(n=0);var r=s.getSelection();if(!(!r||r.rangeCount===0)){var i=r.getRangeAt(0),o=i.startContainer,u=i.startOffset,c=s.getDocument().createRange();c.setStart(t,n),c.setEnd(o,u);try{c.deleteContents()}catch{return}r.removeAllRanges(),r.addRange(c)}}}function Z(e,t){var n=s.getDocument(),r,i=function(ee){var w=n.createElement("span");return w.className=e.insertClass,w.setAttribute("contenteditable","false"),w.setAttribute("data-rte-mention-id",t.id!=null?t.id:""),w.setAttribute("data-rte-mention-trigger",e.trigger),w.textContent=ee,w};if(e.renderInsert&&e.renderInsert.length<2){var o=e.renderInsert(t);r=o&&o.nodeType?o:i(o!=null&&o!==""?String(o):e.trigger+y(t))}else e.renderInsert?r=e.renderInsert(n,t):r=i(e.trigger+y(t));if(r){var u=s.getSelection();if(!(!u||u.rangeCount===0)){var c=u.getRangeAt(0);c.insertNode(r);var f=n.createTextNode("\xA0");r.parentNode.insertBefore(f,r.nextSibling);var L=n.createRange();L.setStartAfter(f),L.collapse(!0),u.removeAllRanges(),u.addRange(L)}}}function R(){if(!(!a||!h)){var e=s.iframe,t=e.getBoundingClientRect(),n=h.range.getClientRects(),r=n&&n.length?n[n.length-1]:null;r||(r=h.range.getBoundingClientRect());var i=e.offsetWidth&&t.width>0?t.width/e.offsetWidth:1,o=t.left+(r.left||0)*i+window.pageXOffset,u=t.top+(r.bottom||r.top||0)*i+window.pageYOffset+4;a.style.position="absolute",a.style.left=o+"px",a.style.top=u+"px";var c=window.innerHeight||document.documentElement.clientHeight,f=a.getBoundingClientRect();f.bottom>c-8&&t.top+(r.top||0)*i>f.height+16&&(a.style.top=t.top+(r.top||0)*i+window.pageYOffset-f.height-4+"px")}}function H(){a&&R()}function $(){var e=s&&s.iframe&&s.iframe.ownerDocument||document;if(!e.querySelector("style[data-rte-mention]")){var t=e.createElement("style");t.setAttribute("data-rte-mention","1"),t.textContent=["/* 2026-07-12 mention picker precision */",".rte-mention-popup{position:absolute;z-index:2147483000;min-width:240px;max-width:min(340px,calc(100vw - 24px));max-height:min(320px,60vh);overflow-y:auto;padding:5px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,251,255,.96));border:1px solid rgba(148,163,184,.22);box-shadow:0 14px 32px rgba(29,78,216,.12),0 2px 8px rgba(15,23,42,.08);border-radius:8px;font-family:Aptos,'Segoe UI',sans-serif;font-size:13px;color:#172033;scrollbar-width:thin}",".rte-mention-item{display:flex;align-items:center;gap:9px;width:100%;min-height:40px;padding:6px 8px;border:0;background:transparent;text-align:left;cursor:pointer;color:inherit;font:inherit;border-radius:7px}",".rte-mention-item:hover,.rte-mention-item-active{background:#eef4ff;color:#0f3f9f}",".rte-mention-avatar{flex:0 0 30px;width:30px;height:30px;border-radius:8px;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;background:#e7eefb;color:#315277;font-size:11px;font-weight:800;letter-spacing:.02em;box-shadow:inset 0 0 0 1px rgba(148,163,184,.18)}",".rte-mention-avatar img{width:100%;height:100%;object-fit:cover}",".rte-mention-item-active .rte-mention-avatar{background:#ffffff;color:#0f3f9f}",".rte-mention-body{display:flex;flex-direction:column;min-width:0;flex:1}",".rte-mention-label{font-weight:750;font-size:13px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}",".rte-mention-subtitle{font-size:11px;color:#64748b;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}",".rte-mention-item-active .rte-mention-subtitle{color:#315277}",".rte-mention-loading,.rte-mention-empty{padding:14px 16px;color:#52657e;font-size:12px;font-weight:700;text-align:center}",".rte-mention{display:inline-block;padding:1px 7px;border-radius:999px;background:#eef4ff;color:#0f3f9f;font-weight:650;cursor:default;border:1px solid rgba(37,99,235,.16)}",".rte-mention:hover{background:#e4edff}",".rte-mention-popup.rte-mention-popup-dark{background:linear-gradient(180deg,#1e293b,#0f172a);border-color:#334155;color:#e2e8f0;box-shadow:0 18px 40px rgba(0,0,0,.5)}",".rte-mention-popup-dark .rte-mention-item:hover,.rte-mention-popup-dark .rte-mention-item-active{background:#1e3a8a;color:#ffffff}",".rte-mention-popup-dark .rte-mention-avatar{background:#334155;color:#e2e8f0}",".rte-mention-popup-dark .rte-mention-item-active .rte-mention-avatar{background:#0f172a;color:#bfdbfe}",".rte-mention-popup-dark .rte-mention-subtitle{color:#94a3b8}",".rte-mention-popup-dark .rte-mention-item-active .rte-mention-subtitle{color:#bfdbfe}",".rte-mention-popup-dark .rte-mention-loading,.rte-mention-popup-dark .rte-mention-empty{color:#94a3b8}"].join(`
1
+ window.RTE_DefaultConfig||(window.RTE_DefaultConfig={}),RTE_DefaultConfig.plugin_mention=RTE_Plugin_Mention;function RTE_Plugin_Mention(){var C=this,l,s,v=null,a=null,T=null,b=[],d=null,h=null,p=[],g=0,E=!1,A=0,x=null;C.PluginName="Mention";function N(e,t,n){var r=l&&l["text_"+e]||t;return n===void 0?r:r.split("{0}").join(String(n))}C.InitConfig=function(e){l=e,l.mentionEnabled!==!1&&(l.mentionTrigger=l.mentionTrigger||"@",l.mentionDebounceMs=l.mentionDebounceMs==null?150:l.mentionDebounceMs,l.mentionMaxItems=l.mentionMaxItems||8,l.mentionStaticList=l.mentionStaticList||null,l.mentionSource=l.mentionSource||null,l.mentionInsertClass=l.mentionInsertClass||"rte-mention",l.mentionTriggers=l.mentionTriggers||null)},C.InitEditor=function(e){if(s=e,l.mentionEnabled!==!1){if(s.mentions={register:S,remove:j,list:function(){return b.slice()},close:m,isOpen:function(){return!!a}},(l.mentionSource||l.mentionStaticList)&&S({trigger:l.mentionTrigger,source:l.mentionSource||function(r){return U(l.mentionStaticList,r)}}),Array.isArray(l.mentionTriggers))for(var t=0;t<l.mentionTriggers.length;t++)S(l.mentionTriggers[t]);$();var n=function(r,i,o){s.bindDocumentEvent?s.bindDocumentEvent(r,i,o):s.getDocument().addEventListener(r,i,o)};n("keydown",B,!0),n("input",K,!0),n("compositionstart",function(){E=!0}),n("compositionend",function(){E=!1}),n("mousedown",function(r){r.target&&r.target.closest&&r.target.closest("."+l.mentionInsertClass)||m()},!0),n("blur",function(){setTimeout(m,150)},!0),window.addEventListener("scroll",z,!0),window.addEventListener("resize",z,!0)}};function H(e){return function(t,n){return new Promise(function(r,i){var o=!1,u=function(f){o||(o=!0,r(f))},c;try{c=e(t,u,n)}catch(f){i(f);return}c!==void 0&&Promise.resolve(c).then(function(f){f!==void 0&&u(f)},i)})}}function S(e){if(!(!e||!e.trigger)){var t=typeof e.source=="function"?e.source:typeof e.search=="function"?H(e.search):null;if(!t){window.console&&console.warn&&console.warn('RichTextEditor mentions: trigger "'+e.trigger+'" was not registered - pass search(query, done) or source(query).');return}var n=k(e.trigger),r={trigger:e.trigger,source:t,renderItem:e.renderItem||null,renderInsert:e.renderInsert||null,insertClass:e.insertClass||l.mentionInsertClass,label:e.label||"mentions "+e.trigger};n>=0?b[n]=r:b.push(r)}}function j(e){var t=k(e);t>=0&&b.splice(t,1)}function k(e){for(var t=0;t<b.length;t++)if(b[t].trigger===e)return t;return-1}function y(e){return e&&(e.label||e.name||e.id)||""}function D(e){return e&&(e.subtitle||e.email)||""}function U(e,t){if(!Array.isArray(e))return[];if(!t)return e.slice(0,50);var n=t.toLowerCase();return e.filter(function(r){var i=(y(r)+" "+D(r)+" "+(r.id||"")).toLowerCase();return i.indexOf(n)!==-1})}function B(e){if(!E){if(a)switch(e.key){case"ArrowDown":e.preventDefault(),e.stopPropagation(),q(1);return;case"ArrowUp":e.preventDefault(),e.stopPropagation(),q(-1);return;case"Enter":case"Tab":if(p.length){e.preventDefault(),e.stopPropagation(),I();return}m();return;case"Escape":case"Esc":e.preventDefault(),e.stopPropagation(),m();return}if(!e.ctrlKey&&!e.metaKey&&!e.altKey){var t=k(e.key);if(t>=0&&V()){var n=b[t];setTimeout(function(){W(n)},0)}}}}function K(){a&&Y()}function V(){var e=s.getSelection();if(!e||e.rangeCount===0||!e.isCollapsed)return!1;for(var t=e.getRangeAt(0),n=t.startContainer,r=t.startOffset,i=s.getEditable(),o=n.nodeType===1?n:n.parentNode;o&&o!==i;){var u=o.nodeName;if(u==="CODE"||u==="PRE"||o.classList&&o.classList.contains(l.mentionInsertClass))return!1;o=o.parentNode}if(n.nodeType===3){if(r===0)return!0;var c=n.nodeValue.charAt(r-1);return/\s/.test(c)}return!0}function W(e){m();var t=s.getSelection();if(!(!t||t.rangeCount===0)){var n=t.getRangeAt(0).cloneRange();d=e,h={range:n,startNode:n.startContainer,startOffset:n.startOffset,triggerCharCount:1,query:""},X(),R(),O("")}}function m(){x&&(clearTimeout(x),x=null),a&&a.parentNode&&a.parentNode.removeChild(a),a=null,T=null,d=null,h=null,p=[],g=0}function Y(){if(h){var e=s.getSelection();if(!e||e.rangeCount===0||!e.isCollapsed){m();return}var t=e.getRangeAt(0),n=t.startContainer;if(n!==h.startNode){m();return}var r=t.startOffset;if(r<h.startOffset){m();return}var i=(n.nodeType===3?n.nodeValue:"")||"",o=i.substring(h.startOffset,r);if(/\s/.test(o)){m();return}h.query=o,O(o),R()}}function O(e){if(!d)return;var t=++A;x&&(clearTimeout(x),x=null);var n=e.length===0?0:l.mentionDebounceMs;function r(){F();var i;try{i=d.source(e,{trigger:d.trigger})}catch(o){console.warn("Mention source threw:",o),i=[]}Promise.resolve(i).then(function(o){t!==A||!a||(p=Array.isArray(o)?o.slice(0,l.mentionMaxItems):[],g=0,M())},function(o){t!==A||!a||(console.warn("Mention source failed:",o),p=[],M())})}n>0?x=setTimeout(r,n):r()}function X(){v=s.iframe.ownerDocument,a=v.createElement("div");var e=!1;try{var t=s.container&&s.container.classList;e=!!t&&(t.contains("rte-dark")||t.contains("rte-auto-dark")&&!t.contains("rte-light")&&!!(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches))}catch{e=!1}a.className="rte-mention-popup"+(e?" rte-mention-popup-dark":""),a.setAttribute("role","listbox"),a.setAttribute("aria-label",d.label),v.body.appendChild(a)}function F(){if(a){a.innerHTML=__RTE_TT("");var e=v.createElement("div");e.className="rte-mention-loading",e.textContent=N("mn_searching","Searching\u2026"),a.appendChild(e),T=e}}function M(){if(a){if(a.innerHTML=__RTE_TT(""),T=null,!p.length){var e=v.createElement("div");e.className="rte-mention-empty",e.textContent=N("mn_nomatches","No matches"),a.appendChild(e);return}for(var t=0;t<p.length;t++)(function(n,r){var i=v.createElement("button");if(i.type="button",i.className="rte-mention-item"+(r===g?" rte-mention-item-active":""),i.setAttribute("role","option"),i.setAttribute("aria-selected",r===g?"true":"false"),i.setAttribute("data-index",r),d.renderItem&&d.renderItem.length<2){var o=d.renderItem(n);o&&o.nodeType?i.appendChild(o):o!=null&&o!==""?i.textContent=String(o):P(i,n)}else d.renderItem?d.renderItem(i,n):P(i,n);i.addEventListener("mousedown",function(u){u.preventDefault(),u.stopPropagation(),g=r,I()}),i.addEventListener("click",function(u){a&&(u.preventDefault(),u.stopPropagation(),g=r,I())}),i.addEventListener("mouseenter",function(){g!==r&&(g=r,_())}),a.appendChild(i)})(p[t],t)}}function P(e,t){var n=v.createElement("span");if(n.className="rte-mention-avatar",t.avatarUrl){var r=v.createElement("img");r.src=t.avatarUrl,r.alt="",n.appendChild(r)}else n.textContent=G(y(t)||"?");e.appendChild(n);var i=v.createElement("span");i.className="rte-mention-body";var o=v.createElement("span");o.className="rte-mention-label",o.textContent=y(t),i.appendChild(o);var u=D(t);if(u){var c=v.createElement("span");c.className="rte-mention-subtitle",c.textContent=u,i.appendChild(c)}e.appendChild(i)}function G(e){var t=String(e).trim().split(/\s+/);return t[0]?t.length===1?t[0].charAt(0).toUpperCase():(t[0].charAt(0)+t[t.length-1].charAt(0)).toUpperCase():"?"}function _(){if(a){for(var e=a.querySelectorAll(".rte-mention-item"),t=0;t<e.length;t++){var n=+e[t].getAttribute("data-index"),r=n===g;e[t].classList.toggle("rte-mention-item-active",r),e[t].setAttribute("aria-selected",r?"true":"false")}J()}}function J(){if(a){var e=a.querySelector(".rte-mention-item-active");if(e){var t=e.offsetTop,n=t+e.offsetHeight;t<a.scrollTop?a.scrollTop=t:n>a.scrollTop+a.clientHeight&&(a.scrollTop=n-a.clientHeight)}}}function q(e){p.length&&(g=(g+e+p.length)%p.length,_())}function I(){if(!p.length){m();return}var e=p[g],t=h,n=d;m(),!(!e||!t||!n)&&(Q(t),Z(n,e))}function Q(e){var t=e.startNode;if(t){var n=e.startOffset-(e.triggerCharCount||0);n<0&&(n=0);var r=s.getSelection();if(!(!r||r.rangeCount===0)){var i=r.getRangeAt(0),o=i.startContainer,u=i.startOffset,c=s.getDocument().createRange();c.setStart(t,n),c.setEnd(o,u);try{c.deleteContents()}catch{return}r.removeAllRanges(),r.addRange(c)}}}function Z(e,t){var n=s.getDocument(),r,i=function(ee){var w=n.createElement("span");return w.className=e.insertClass,w.setAttribute("contenteditable","false"),w.setAttribute("data-rte-mention-id",t.id!=null?t.id:""),w.setAttribute("data-rte-mention-trigger",e.trigger),w.textContent=ee,w};if(e.renderInsert&&e.renderInsert.length<2){var o=e.renderInsert(t);r=o&&o.nodeType?o:i(o!=null&&o!==""?String(o):e.trigger+y(t))}else e.renderInsert?r=e.renderInsert(n,t):r=i(e.trigger+y(t));if(r){var u=s.getSelection();if(!(!u||u.rangeCount===0)){var c=u.getRangeAt(0);c.insertNode(r);var f=n.createTextNode("\xA0");r.parentNode.insertBefore(f,r.nextSibling);var L=n.createRange();L.setStartAfter(f),L.collapse(!0),u.removeAllRanges(),u.addRange(L)}}}function R(){if(!(!a||!h)){var e=s.iframe,t=e.getBoundingClientRect(),n=h.range.getClientRects(),r=n&&n.length?n[n.length-1]:null;r||(r=h.range.getBoundingClientRect());var i=e.offsetWidth&&t.width>0?t.width/e.offsetWidth:1,o=t.left+(r.left||0)*i+window.pageXOffset,u=t.top+(r.bottom||r.top||0)*i+window.pageYOffset+4;a.style.position="absolute",a.style.left=o+"px",a.style.top=u+"px";var c=window.innerHeight||document.documentElement.clientHeight,f=a.getBoundingClientRect();f.bottom>c-8&&t.top+(r.top||0)*i>f.height+16&&(a.style.top=t.top+(r.top||0)*i+window.pageYOffset-f.height-4+"px")}}function z(){a&&R()}function $(){var e=s&&s.iframe&&s.iframe.ownerDocument||document;if(!e.querySelector("style[data-rte-mention]")){var t=e.createElement("style");t.setAttribute("data-rte-mention","1"),t.textContent=["/* 2026-07-12 mention picker precision */",".rte-mention-popup{position:absolute;z-index:2147483000;min-width:240px;max-width:min(340px,calc(100vw - 24px));max-height:min(320px,60vh);overflow-y:auto;padding:5px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,251,255,.96));border:1px solid rgba(148,163,184,.22);box-shadow:0 14px 32px rgba(29,78,216,.12),0 2px 8px rgba(15,23,42,.08);border-radius:8px;font-family:Aptos,'Segoe UI',sans-serif;font-size:13px;color:#172033;scrollbar-width:thin}",".rte-mention-item{display:flex;align-items:center;gap:9px;width:100%;min-height:40px;padding:6px 8px;border:0;background:transparent;text-align:left;cursor:pointer;color:inherit;font:inherit;border-radius:7px}",".rte-mention-item:hover,.rte-mention-item-active{background:#eef4ff;color:#0f3f9f}",".rte-mention-avatar{flex:0 0 30px;width:30px;height:30px;border-radius:8px;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;background:#e7eefb;color:#315277;font-size:11px;font-weight:800;letter-spacing:.02em;box-shadow:inset 0 0 0 1px rgba(148,163,184,.18)}",".rte-mention-avatar img{width:100%;height:100%;object-fit:cover}",".rte-mention-item-active .rte-mention-avatar{background:#ffffff;color:#0f3f9f}",".rte-mention-body{display:flex;flex-direction:column;min-width:0;flex:1}",".rte-mention-label{font-weight:750;font-size:13px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}",".rte-mention-subtitle{font-size:11px;color:#64748b;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}",".rte-mention-item-active .rte-mention-subtitle{color:#315277}",".rte-mention-loading,.rte-mention-empty{padding:14px 16px;color:#52657e;font-size:12px;font-weight:700;text-align:center}",".rte-mention{display:inline-block;padding:1px 7px;border-radius:999px;background:#eef4ff;color:#0f3f9f;font-weight:650;cursor:default;border:1px solid rgba(37,99,235,.16)}",".rte-mention:hover{background:#e4edff}",".rte-mention-popup.rte-mention-popup-dark{background:linear-gradient(180deg,#1e293b,#0f172a);border-color:#334155;color:#e2e8f0;box-shadow:0 18px 40px rgba(0,0,0,.5)}",".rte-mention-popup-dark .rte-mention-item:hover,.rte-mention-popup-dark .rte-mention-item-active{background:#1e3a8a;color:#ffffff}",".rte-mention-popup-dark .rte-mention-avatar{background:#334155;color:#e2e8f0}",".rte-mention-popup-dark .rte-mention-item-active .rte-mention-avatar{background:#0f172a;color:#bfdbfe}",".rte-mention-popup-dark .rte-mention-subtitle{color:#94a3b8}",".rte-mention-popup-dark .rte-mention-item-active .rte-mention-subtitle{color:#bfdbfe}",".rte-mention-popup-dark .rte-mention-loading,.rte-mention-popup-dark .rte-mention-empty{color:#94a3b8}"].join(`
2
2
  `),e.head.appendChild(t),s&&typeof s.ensureStyleSheetLive=="function"&&s.ensureStyleSheetLive(e,t,"rte-mentionplugin-style",t.textContent);var n=s.getDocument();if(n&&n.head&&!n.querySelector("style[data-rte-mention-inline]")){var r=n.createElement("style");r.setAttribute("data-rte-mention-inline","1"),r.textContent=[".rte-mention{display:inline-block;padding:1px 7px;border-radius:999px;background:#eef4ff;color:#0f3f9f;font-weight:650;cursor:default;border:1px solid rgba(37,99,235,.16);user-select:all}",".rte-mention:hover{background:#e4edff}"].join(`
3
3
  `),n.head.appendChild(r),s&&typeof s.ensureStyleSheetLive=="function"&&s.ensureStyleSheetLive(n,r,"rte-mentionplugin-iStyle",r.textContent)}}}}
@@ -165,7 +165,7 @@ function RTE_Plugin_MermaidDiagram() {
165
165
  var doc = target.ownerDocument;
166
166
  var win = doc.defaultView || window;
167
167
  function fallback(msg) {
168
- target.innerHTML = "";
168
+ target.innerHTML = __RTE_TT("");
169
169
  var pre = doc.createElement("pre");
170
170
  pre.className = "rte-mermaid-src";
171
171
  pre.textContent = source;
@@ -174,9 +174,9 @@ function RTE_Plugin_MermaidDiagram() {
174
174
  }
175
175
  if (typeof config.diagramResolver === "function") {
176
176
  return Promise.resolve().then(function () { return config.diagramResolver(source); }).then(function (res) {
177
- if (res && res.svg) { target.innerHTML = res.svg; }
177
+ if (res && res.svg) { target.innerHTML = __RTE_TT(res.svg); }
178
178
  else if (res && res.imageUrl) {
179
- target.innerHTML = "";
179
+ target.innerHTML = __RTE_TT("");
180
180
  var img = doc.createElement("img"); img.src = res.imageUrl; img.alt = "diagram"; img.style.maxWidth = "100%";
181
181
  target.appendChild(img);
182
182
  } else { fallback(""); }
@@ -186,7 +186,7 @@ function RTE_Plugin_MermaidDiagram() {
186
186
  if (mermaid && typeof mermaid.render === "function") {
187
187
  var id = "rtemmd" + (++RTE_MermaidSeq);
188
188
  return mermaidRender(mermaid, id, source).then(function (svg) {
189
- target.innerHTML = svg;
189
+ target.innerHTML = __RTE_TT(svg);
190
190
  }).catch(function (e) { fallback(e && e.message ? e.message : "render error"); });
191
191
  }
192
192
  fallback("");
@@ -262,7 +262,7 @@ function RTE_Plugin_MermaidDiagram() {
262
262
  previewTimer = setTimeout(function () {
263
263
  var holder = preview.ownerDocument.createElement("div");
264
264
  holder.className = "rte-mermaid-render";
265
- preview.innerHTML = "";
265
+ preview.innerHTML = __RTE_TT("");
266
266
  preview.appendChild(holder);
267
267
  renderInto(holder, src);
268
268
  }, 250);
@@ -11,6 +11,6 @@ window.RTE_DefaultConfig||(window.RTE_DefaultConfig={}),RTE_DefaultConfig.plugin
11
11
  dateFormat YYYY-MM-DD
12
12
  section Phase 1
13
13
  Spec :a1, 2026-01-01, 20d
14
- Build :after a1, 30d`];var RTE_MermaidSeq=0;function RTE_Plugin_MermaidDiagram(){var s=this,f,n;s.PluginName="MermaidDiagram";function v(e,t,r){var a=f&&f["text_"+e]||t;return r===void 0?a:a.split("{0}").join(String(r))}s.InitConfig=function(e){f=e},s.InitEditor=function(e){n=e,n.renderDiagrams=function(){return s.RenderAll()},n.attachEvent("exec_command_insertdiagram",function(r){r.returnValue=!0,s.OpenDiagramDialog()});try{var t=n.getEditable();t&&t.addEventListener("dblclick",function(r){var a=b(r.target,t);a&&(r.preventDefault(),s.OpenDiagramDialog(a))}),t&&t.addEventListener("click",function(r){for(var a=r.target;a&&a!==t;){if(a.nodeType===1&&a.getAttribute&&a.getAttribute("data-rte-mermaid-remove")==="1"){var i=b(a,t);i&&(r.preventDefault(),r.stopPropagation(),R(i));return}a=a.parentNode}},!0),t&&t.addEventListener("keydown",function(r){if(!(r.key!=="Delete"&&r.key!=="Backspace")){var a=S();a&&(r.preventDefault(),R(a))}},!0)}catch{}};function u(e,t,r,a){var i=e.ownerDocument.createElement(t);return r&&(i.style.cssText=r),a&&(i.className=a),e.appendChild(i),i}function C(e){return String(e).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function E(e){return String(e).replace(/&quot;/g,'"').replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/&amp;/g,"&")}function B(e){return String(e).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function b(e,t){for(;e&&e!==t;){if(e.nodeType===1&&e.classList&&e.classList.contains("rte-mermaid"))return e;e=e.parentNode}return null}function S(){try{var e=n.getSelection();return!e||e.rangeCount===0?null:b(e.getRangeAt(0).startContainer,n.getEditable())}catch{return null}}function R(e){if(!(!e||!e.parentNode)){e.parentNode.removeChild(e);try{typeof n.fireChange=="function"&&n.fireChange()}catch{}try{n.focus()}catch{}}}function L(e){if(!(!e||e.getElementById("rte-mermaid-styles"))){var t=".rte-mermaid{position:relative;display:block;margin:12px 0;padding:12px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;text-align:center;overflow:auto;}.rte-mermaid-remove{position:absolute;top:7px;right:7px;width:24px;height:24px;border:1px solid rgba(15,23,42,.14);border-radius:999px;background:rgba(255,255,255,.96);color:#334155;font:700 13px/1 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;box-shadow:0 4px 12px rgba(15,23,42,.12);opacity:0;cursor:pointer;transition:opacity 120ms,border-color 120ms,color 120ms;}.rte-mermaid:hover .rte-mermaid-remove,.rte-mermaid-remove:focus{opacity:1;}.rte-mermaid-remove:hover{border-color:rgba(220,38,38,.38);color:#b91c1c;}.rte-mermaid svg{max-width:100%;height:auto;}.rte-mermaid .rte-mermaid-src{display:block;text-align:left;white-space:pre;overflow:auto;font:12px ui-monospace,Consolas,monospace;color:#334155;background:#f8fafc;border-radius:6px;padding:10px;margin:0;}.rte-mermaid .rte-mermaid-err{color:#b91c1c;font:12px ui-monospace,monospace;text-align:left;}",r=e.createElement("style");r.id="rte-mermaid-styles",r.appendChild(e.createTextNode(t)),(e.head||e.getElementsByTagName("head")[0]||e.documentElement).appendChild(r),n&&typeof n.ensureStyleSheetLive=="function"&&n.ensureStyleSheetLive(e,r,"rte-mermaid-styles",r.textContent)}}function k(e){try{return e.mermaid||e.parent&&e.parent.mermaid||null}catch{return null}}function _(e,t,r){return new Promise(function(a,i){try{var d=e.render(t,r);d&&typeof d.then=="function"?d.then(function(l){a(l&&l.svg?l.svg:l)},i):typeof d=="string"?a(d):i(new Error("Unsupported Mermaid API"))}catch(l){i(l)}})}function x(e,t){var r=e.ownerDocument,a=r.defaultView||window;function i(o){e.innerHTML="";var c=r.createElement("pre");if(c.className="rte-mermaid-src",c.textContent=t,e.appendChild(c),o){var g=r.createElement("div");g.className="rte-mermaid-err",g.textContent=o,e.appendChild(g)}}if(typeof f.diagramResolver=="function")return Promise.resolve().then(function(){return f.diagramResolver(t)}).then(function(o){if(o&&o.svg)e.innerHTML=o.svg;else if(o&&o.imageUrl){e.innerHTML="";var c=r.createElement("img");c.src=o.imageUrl,c.alt="diagram",c.style.maxWidth="100%",e.appendChild(c)}else i("")}).catch(function(o){i(o&&o.message?o.message:"resolver error")});var d=k(a);if(d&&typeof d.render=="function"){var l="rtemmd"+ ++RTE_MermaidSeq;return _(d,l,t).then(function(o){e.innerHTML=o}).catch(function(o){i(o&&o.message?o.message:"render error")})}return i(""),Promise.resolve()}s.RenderAll=function(){var e=n.getEditable();if(!e)return 0;L(n.getDocument());for(var t=e.querySelectorAll(".rte-mermaid[data-diagram]"),r=0;r<t.length;r++){var a=t[r],i=a.querySelector(".rte-mermaid-render");i||(i=a.ownerDocument.createElement("div"),i.className="rte-mermaid-render",a.appendChild(i)),x(i,E(a.getAttribute("data-diagram")||""))}return t.length};function N(e,t){var r=C(e);return'<div class="rte-mermaid" data-rte-diagram="1" data-diagram="'+r+'" contenteditable="false"'+(t?' id="'+t+'"':"")+'><button type="button" class="rte-mermaid-remove" data-rte-mermaid-remove="1" aria-label="Remove diagram" title="Remove diagram">x</button><div class="rte-mermaid-render"><pre class="rte-mermaid-src">'+B(e)+"</pre></div></div>"}s.OpenDiagramDialog=function(e){e||(e=S());var t=e?E(e.getAttribute("data-diagram")||""):"",r=n.createDialog(n.getLangText&&n.getLangText("insertdiagramtitle")||"Insert / edit diagram","rte-dialog-diagram"),a=typeof r.close=="function"?function(){r.close()}:function(){n.closeCurrentPopup()},i=r.ownerDocument.defaultView||window,d=u(r,"div","padding:14px;min-width:480px;font:13px -apple-system,Segoe UI,sans-serif");u(d,"div","font-weight:600;margin-bottom:4px").innerText=n.getLangText&&n.getLangText("insertdiagramlabel")||"Mermaid";var l=u(d,"textarea","width:100%;box-sizing:border-box;min-height:120px;padding:8px 10px;border:1px solid #cbd5e1;border-radius:8px;font:12px ui-monospace,Consolas,monospace;resize:vertical");l.value=t,l.placeholder=`graph TD
14
+ Build :after a1, 30d`];var RTE_MermaidSeq=0;function RTE_Plugin_MermaidDiagram(){var s=this,f,n;s.PluginName="MermaidDiagram";function v(e,t,r){var a=f&&f["text_"+e]||t;return r===void 0?a:a.split("{0}").join(String(r))}s.InitConfig=function(e){f=e},s.InitEditor=function(e){n=e,n.renderDiagrams=function(){return s.RenderAll()},n.attachEvent("exec_command_insertdiagram",function(r){r.returnValue=!0,s.OpenDiagramDialog()});try{var t=n.getEditable();t&&t.addEventListener("dblclick",function(r){var a=b(r.target,t);a&&(r.preventDefault(),s.OpenDiagramDialog(a))}),t&&t.addEventListener("click",function(r){for(var a=r.target;a&&a!==t;){if(a.nodeType===1&&a.getAttribute&&a.getAttribute("data-rte-mermaid-remove")==="1"){var i=b(a,t);i&&(r.preventDefault(),r.stopPropagation(),R(i));return}a=a.parentNode}},!0),t&&t.addEventListener("keydown",function(r){if(!(r.key!=="Delete"&&r.key!=="Backspace")){var a=_();a&&(r.preventDefault(),R(a))}},!0)}catch{}};function u(e,t,r,a){var i=e.ownerDocument.createElement(t);return r&&(i.style.cssText=r),a&&(i.className=a),e.appendChild(i),i}function E(e){return String(e).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function C(e){return String(e).replace(/&quot;/g,'"').replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/&amp;/g,"&")}function M(e){return String(e).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function b(e,t){for(;e&&e!==t;){if(e.nodeType===1&&e.classList&&e.classList.contains("rte-mermaid"))return e;e=e.parentNode}return null}function _(){try{var e=n.getSelection();return!e||e.rangeCount===0?null:b(e.getRangeAt(0).startContainer,n.getEditable())}catch{return null}}function R(e){if(!(!e||!e.parentNode)){e.parentNode.removeChild(e);try{typeof n.fireChange=="function"&&n.fireChange()}catch{}try{n.focus()}catch{}}}function S(e){if(!(!e||e.getElementById("rte-mermaid-styles"))){var t=".rte-mermaid{position:relative;display:block;margin:12px 0;padding:12px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;text-align:center;overflow:auto;}.rte-mermaid-remove{position:absolute;top:7px;right:7px;width:24px;height:24px;border:1px solid rgba(15,23,42,.14);border-radius:999px;background:rgba(255,255,255,.96);color:#334155;font:700 13px/1 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;box-shadow:0 4px 12px rgba(15,23,42,.12);opacity:0;cursor:pointer;transition:opacity 120ms,border-color 120ms,color 120ms;}.rte-mermaid:hover .rte-mermaid-remove,.rte-mermaid-remove:focus{opacity:1;}.rte-mermaid-remove:hover{border-color:rgba(220,38,38,.38);color:#b91c1c;}.rte-mermaid svg{max-width:100%;height:auto;}.rte-mermaid .rte-mermaid-src{display:block;text-align:left;white-space:pre;overflow:auto;font:12px ui-monospace,Consolas,monospace;color:#334155;background:#f8fafc;border-radius:6px;padding:10px;margin:0;}.rte-mermaid .rte-mermaid-err{color:#b91c1c;font:12px ui-monospace,monospace;text-align:left;}",r=e.createElement("style");r.id="rte-mermaid-styles",r.appendChild(e.createTextNode(t)),(e.head||e.getElementsByTagName("head")[0]||e.documentElement).appendChild(r),n&&typeof n.ensureStyleSheetLive=="function"&&n.ensureStyleSheetLive(e,r,"rte-mermaid-styles",r.textContent)}}function L(e){try{return e.mermaid||e.parent&&e.parent.mermaid||null}catch{return null}}function B(e,t,r){return new Promise(function(a,i){try{var d=e.render(t,r);d&&typeof d.then=="function"?d.then(function(l){a(l&&l.svg?l.svg:l)},i):typeof d=="string"?a(d):i(new Error("Unsupported Mermaid API"))}catch(l){i(l)}})}function x(e,t){var r=e.ownerDocument,a=r.defaultView||window;function i(o){e.innerHTML=__RTE_TT("");var c=r.createElement("pre");if(c.className="rte-mermaid-src",c.textContent=t,e.appendChild(c),o){var g=r.createElement("div");g.className="rte-mermaid-err",g.textContent=o,e.appendChild(g)}}if(typeof f.diagramResolver=="function")return Promise.resolve().then(function(){return f.diagramResolver(t)}).then(function(o){if(o&&o.svg)e.innerHTML=__RTE_TT(o.svg);else if(o&&o.imageUrl){e.innerHTML=__RTE_TT("");var c=r.createElement("img");c.src=o.imageUrl,c.alt="diagram",c.style.maxWidth="100%",e.appendChild(c)}else i("")}).catch(function(o){i(o&&o.message?o.message:"resolver error")});var d=L(a);if(d&&typeof d.render=="function"){var l="rtemmd"+ ++RTE_MermaidSeq;return B(d,l,t).then(function(o){e.innerHTML=__RTE_TT(o)}).catch(function(o){i(o&&o.message?o.message:"render error")})}return i(""),Promise.resolve()}s.RenderAll=function(){var e=n.getEditable();if(!e)return 0;S(n.getDocument());for(var t=e.querySelectorAll(".rte-mermaid[data-diagram]"),r=0;r<t.length;r++){var a=t[r],i=a.querySelector(".rte-mermaid-render");i||(i=a.ownerDocument.createElement("div"),i.className="rte-mermaid-render",a.appendChild(i)),x(i,C(a.getAttribute("data-diagram")||""))}return t.length};function N(e,t){var r=E(e);return'<div class="rte-mermaid" data-rte-diagram="1" data-diagram="'+r+'" contenteditable="false"'+(t?' id="'+t+'"':"")+'><button type="button" class="rte-mermaid-remove" data-rte-mermaid-remove="1" aria-label="Remove diagram" title="Remove diagram">x</button><div class="rte-mermaid-render"><pre class="rte-mermaid-src">'+M(e)+"</pre></div></div>"}s.OpenDiagramDialog=function(e){e||(e=_());var t=e?C(e.getAttribute("data-diagram")||""):"",r=n.createDialog(n.getLangText&&n.getLangText("insertdiagramtitle")||"Insert / edit diagram","rte-dialog-diagram"),a=typeof r.close=="function"?function(){r.close()}:function(){n.closeCurrentPopup()},i=r.ownerDocument.defaultView||window,d=u(r,"div","padding:14px;min-width:480px;font:13px -apple-system,Segoe UI,sans-serif");u(d,"div","font-weight:600;margin-bottom:4px").innerText=n.getLangText&&n.getLangText("insertdiagramlabel")||"Mermaid";var l=u(d,"textarea","width:100%;box-sizing:border-box;min-height:120px;padding:8px 10px;border:1px solid #cbd5e1;border-radius:8px;font:12px ui-monospace,Consolas,monospace;resize:vertical");l.value=t,l.placeholder=`graph TD
15
15
  A --> B`;var o=u(d,"div","display:flex;flex-wrap:wrap;gap:6px;margin:8px 0");(f.diagramSamples||[]).forEach(function(p){var m=u(o,"button","font:11px ui-monospace,monospace;padding:3px 8px;border:1px solid #e2e8f0;border-radius:6px;background:#f8fafc;cursor:pointer");m.type="button",m.textContent=(p.split(`
16
- `)[0]||"sample").slice(0,22),m.title=p,m.onclick=function(){l.value=p,y(),l.focus()}}),u(d,"div","font-weight:600;margin:10px 0 4px").innerText=n.getLangText&&n.getLangText("insertdiagrampreview")||"Preview";var c=u(d,"div","min-height:80px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;overflow:auto;text-align:center"),g=u(d,"div","font-size:11px;color:#94a3b8;margin-top:4px");typeof f.diagramResolver!="function"&&!k(i)&&(g.innerText=v("dg_norenderer","No Mermaid renderer detected on the page \u2014 the diagram is stored as source and will render wherever Mermaid (or config.diagramResolver) is available."));var h=null;function y(){var p=l.value.trim();if(!p){c.textContent="";return}h&&clearTimeout(h),h=setTimeout(function(){var m=c.ownerDocument.createElement("div");m.className="rte-mermaid-render",c.innerHTML="",c.appendChild(m),x(m,p)},250)}l.oninput=y,setTimeout(function(){l.focus(),y()},0);var A=u(d,"div","display:flex;justify-content:flex-end;gap:8px;margin-top:14px"),w=u(A,"button","padding:6px 14px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;cursor:pointer");w.type="button",w.textContent=v("cancel","Cancel"),w.onclick=a;var D=u(A,"button","padding:6px 14px;border:1px solid #1d67ba;border-radius:8px;background:#1d67ba;color:#fff;cursor:pointer");D.type="button",D.textContent=e?v("update","Update"):v("insert","Insert"),D.onclick=function(){var p=l.value.trim();if(!p){a();return}if(L(n.getDocument()),e){e.setAttribute("data-diagram",C(p));var m=e.querySelector(".rte-mermaid-render");m||(m=e.ownerDocument.createElement("div"),m.className="rte-mermaid-render",e.appendChild(m)),x(m,p),a(),n.focus();return}var M="rtemmd-pending-"+ ++RTE_MermaidSeq;n.insertHTML(N(p,M)),a();try{var P=n.getDocument(),T=P.getElementById(M);if(T){T.removeAttribute("id");var m=T.querySelector(".rte-mermaid-render");x(m,p)}}catch{}n.focus()}}}
16
+ `)[0]||"sample").slice(0,22),m.title=p,m.onclick=function(){l.value=p,y(),l.focus()}}),u(d,"div","font-weight:600;margin:10px 0 4px").innerText=n.getLangText&&n.getLangText("insertdiagrampreview")||"Preview";var c=u(d,"div","min-height:80px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;overflow:auto;text-align:center"),g=u(d,"div","font-size:11px;color:#94a3b8;margin-top:4px");typeof f.diagramResolver!="function"&&!L(i)&&(g.innerText=v("dg_norenderer","No Mermaid renderer detected on the page \u2014 the diagram is stored as source and will render wherever Mermaid (or config.diagramResolver) is available."));var h=null;function y(){var p=l.value.trim();if(!p){c.textContent="";return}h&&clearTimeout(h),h=setTimeout(function(){var m=c.ownerDocument.createElement("div");m.className="rte-mermaid-render",c.innerHTML=__RTE_TT(""),c.appendChild(m),x(m,p)},250)}l.oninput=y,setTimeout(function(){l.focus(),y()},0);var k=u(d,"div","display:flex;justify-content:flex-end;gap:8px;margin-top:14px"),T=u(k,"button","padding:6px 14px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;cursor:pointer");T.type="button",T.textContent=v("cancel","Cancel"),T.onclick=a;var w=u(k,"button","padding:6px 14px;border:1px solid #1d67ba;border-radius:8px;background:#1d67ba;color:#fff;cursor:pointer");w.type="button",w.textContent=e?v("update","Update"):v("insert","Insert"),w.onclick=function(){var p=l.value.trim();if(!p){a();return}if(S(n.getDocument()),e){e.setAttribute("data-diagram",E(p));var m=e.querySelector(".rte-mermaid-render");m||(m=e.ownerDocument.createElement("div"),m.className="rte-mermaid-render",e.appendChild(m)),x(m,p),a(),n.focus();return}var A="rtemmd-pending-"+ ++RTE_MermaidSeq;n.insertHTML(N(p,A)),a();try{var P=n.getDocument(),D=P.getElementById(A);if(D){D.removeAttribute("id");var m=D.querySelector(".rte-mermaid-render");x(m,p)}}catch{}n.focus()}}}
@@ -341,7 +341,7 @@ function RTE_Plugin_NodeTypes() {
341
341
  var html = fn ? safe(fn, el, null) : null;
342
342
  if (html === null || html === undefined) continue;
343
343
  var holder = doc.createElement(found[i].type.inline ? "span" : "div");
344
- holder.innerHTML = String(html);
344
+ holder.innerHTML = __RTE_TT(String(html));
345
345
  el.parentNode.insertBefore(holder, el);
346
346
  el.parentNode.removeChild(el);
347
347
  swaps.push({ holder: holder, original: el });