reactjs-tiptap-editor-pro 0.2.31 โ†’ 0.2.32

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 (333) hide show
  1. package/lib/RichTextEditor-BwbqJLnA.cjs +141 -0
  2. package/lib/RichTextEditor-iGJ6-rbq.js +8833 -0
  3. package/lib/extension-bundle.cjs +33 -0
  4. package/lib/extension-bundle.d.cts +947 -0
  5. package/lib/extension-bundle.d.ts +947 -0
  6. package/lib/extension-bundle.js +5755 -0
  7. package/lib/index-DV-nXpU1.cjs +1 -0
  8. package/lib/index-M6H3FoBi.js +1147 -0
  9. package/lib/index.cjs +1 -0
  10. package/lib/index.d.cts +513 -0
  11. package/lib/index.d.ts +513 -0
  12. package/lib/index.js +16 -0
  13. package/lib/locale-bundle.cjs +1 -0
  14. package/lib/locale-bundle.d.cts +1140 -0
  15. package/lib/locale-bundle.d.ts +1140 -0
  16. package/lib/locale-bundle.js +9 -0
  17. package/lib/style.css +1 -0
  18. package/lib/tiptap-DkWHMWDt.js +6061 -0
  19. package/lib/tiptap-gBG-1T-V.cjs +116 -0
  20. package/lib/vendor-BJ0Yf78E.cjs +8114 -0
  21. package/lib/vendor-Cpa6z-M0.js +67575 -0
  22. package/package.json +58 -5
  23. package/src/components/ActionButton.tsx +0 -103
  24. package/src/components/ActionMenuButton.tsx +0 -76
  25. package/src/components/BubbleMenu.tsx +0 -93
  26. package/src/components/CharactorCount.tsx +0 -50
  27. package/src/components/ColorPicker.tsx +0 -272
  28. package/src/components/RichTextEditor.tsx +0 -212
  29. package/src/components/SizeSetter/SizeSetter.tsx +0 -102
  30. package/src/components/Toolbar.tsx +0 -108
  31. package/src/components/icons/Activity.tsx +0 -19
  32. package/src/components/icons/Animas.tsx +0 -24
  33. package/src/components/icons/AspectRatio.tsx +0 -13
  34. package/src/components/icons/Blockquote.tsx +0 -17
  35. package/src/components/icons/ColumnAddLeft.tsx +0 -7
  36. package/src/components/icons/ColumnAddRight.tsx +0 -7
  37. package/src/components/icons/DeleteColumn.tsx +0 -26
  38. package/src/components/icons/DeleteRow.tsx +0 -26
  39. package/src/components/icons/Direction.tsx +0 -7
  40. package/src/components/icons/Excalidraw.tsx +0 -7
  41. package/src/components/icons/ExportPdf.tsx +0 -8
  42. package/src/components/icons/ExportWord.tsx +0 -24
  43. package/src/components/icons/FileWordOutline.tsx +0 -13
  44. package/src/components/icons/Flag.tsx +0 -19
  45. package/src/components/icons/Food.tsx +0 -20
  46. package/src/components/icons/GIfIcon.tsx +0 -10
  47. package/src/components/icons/Icon.tsx +0 -30
  48. package/src/components/icons/ImportWord.tsx +0 -23
  49. package/src/components/icons/LeftToRight.tsx +0 -7
  50. package/src/components/icons/LineHeight.tsx +0 -13
  51. package/src/components/icons/MenuDown.tsx +0 -24
  52. package/src/components/icons/Mermaid.tsx +0 -13
  53. package/src/components/icons/NoFill.tsx +0 -7
  54. package/src/components/icons/Object.tsx +0 -24
  55. package/src/components/icons/RightToLeft.tsx +0 -7
  56. package/src/components/icons/SizeL.tsx +0 -9
  57. package/src/components/icons/SizeM.tsx +0 -13
  58. package/src/components/icons/SizeS.tsx +0 -13
  59. package/src/components/icons/Symbol.tsx +0 -19
  60. package/src/components/icons/Travel.tsx +0 -24
  61. package/src/components/icons/Twitter.tsx +0 -7
  62. package/src/components/icons/icons.ts +0 -212
  63. package/src/components/icons/index.ts +0 -12
  64. package/src/components/index.ts +0 -9
  65. package/src/components/menus/bubble.ts +0 -395
  66. package/src/components/menus/components/BubbleMenuContent.tsx +0 -15
  67. package/src/components/menus/components/BubbleMenuDrawer.tsx +0 -128
  68. package/src/components/menus/components/BubbleMenuExcalidraw.tsx +0 -91
  69. package/src/components/menus/components/BubbleMenuIframe.tsx +0 -143
  70. package/src/components/menus/components/BubbleMenuKatex.tsx +0 -136
  71. package/src/components/menus/components/BubbleMenuLink.tsx +0 -99
  72. package/src/components/menus/components/BubbleMenuMedia.tsx +0 -235
  73. package/src/components/menus/components/BubbleMenuMermaid.tsx +0 -128
  74. package/src/components/menus/components/BubbleMenuText.tsx +0 -102
  75. package/src/components/menus/components/BubbleMenuTwitter.tsx +0 -91
  76. package/src/components/menus/components/ColumnsBubbleMenu.tsx +0 -59
  77. package/src/components/menus/components/ContentMenu.tsx +0 -396
  78. package/src/components/menus/components/TableBubbleMenu.tsx +0 -362
  79. package/src/components/menus/index.ts +0 -7
  80. package/src/components/ui/button.tsx +0 -56
  81. package/src/components/ui/checkbox.tsx +0 -30
  82. package/src/components/ui/dialog.tsx +0 -128
  83. package/src/components/ui/dropdown-menu.tsx +0 -203
  84. package/src/components/ui/emoji-picker.tsx +0 -166
  85. package/src/components/ui/index.ts +0 -14
  86. package/src/components/ui/input.tsx +0 -25
  87. package/src/components/ui/label.tsx +0 -26
  88. package/src/components/ui/popover.tsx +0 -31
  89. package/src/components/ui/select.tsx +0 -162
  90. package/src/components/ui/separator.tsx +0 -31
  91. package/src/components/ui/switch.tsx +0 -29
  92. package/src/components/ui/tabs.tsx +0 -55
  93. package/src/components/ui/textarea.tsx +0 -24
  94. package/src/components/ui/toast.tsx +0 -129
  95. package/src/components/ui/toaster.tsx +0 -44
  96. package/src/components/ui/toggle.tsx +0 -45
  97. package/src/components/ui/tooltip.tsx +0 -30
  98. package/src/components/ui/use-toast.ts +0 -197
  99. package/src/constants/index.ts +0 -223
  100. package/src/constants/resetCSS.ts +0 -139
  101. package/src/extension-bundle.ts +0 -2
  102. package/src/extensions/Attachment/Attachment.ts +0 -144
  103. package/src/extensions/Attachment/components/NodeViewAttachment/FileIcon.tsx +0 -69
  104. package/src/extensions/Attachment/components/NodeViewAttachment/FileIconString.ts +0 -28
  105. package/src/extensions/Attachment/components/NodeViewAttachment/NodeViewAttachment.tsx +0 -155
  106. package/src/extensions/Attachment/components/NodeViewAttachment/index.module.scss +0 -23
  107. package/src/extensions/Attachment/index.ts +0 -1
  108. package/src/extensions/BaseKit.ts +0 -253
  109. package/src/extensions/Blockquote/Blockquote.ts +0 -31
  110. package/src/extensions/Blockquote/index.ts +0 -1
  111. package/src/extensions/Bold/Bold.ts +0 -26
  112. package/src/extensions/Bold/index.ts +0 -1
  113. package/src/extensions/BulletList/BulletList.ts +0 -28
  114. package/src/extensions/BulletList/index.ts +0 -1
  115. package/src/extensions/Clear/Clear.ts +0 -24
  116. package/src/extensions/Clear/index.ts +0 -1
  117. package/src/extensions/Code/Code.ts +0 -26
  118. package/src/extensions/Code/index.ts +0 -1
  119. package/src/extensions/CodeBlock/CodeBlock.ts +0 -54
  120. package/src/extensions/CodeBlock/components/CodeBlockActiveButton.tsx +0 -66
  121. package/src/extensions/CodeBlock/components/NodeViewCodeBlock/NodeViewCodeBlock.tsx +0 -89
  122. package/src/extensions/CodeBlock/components/NodeViewCodeBlock/index.module.scss +0 -81
  123. package/src/extensions/CodeBlock/highlighter.ts +0 -132
  124. package/src/extensions/CodeBlock/index.ts +0 -1
  125. package/src/extensions/CodeBlock/shiki-plugin.ts +0 -213
  126. package/src/extensions/Color/Color.ts +0 -52
  127. package/src/extensions/Color/components/ColorActionButton.tsx +0 -104
  128. package/src/extensions/Color/index.ts +0 -1
  129. package/src/extensions/Document/Document.ts +0 -8
  130. package/src/extensions/Document/index.ts +0 -1
  131. package/src/extensions/Drawer/Drawer.ts +0 -177
  132. package/src/extensions/Drawer/components/ControlDrawer/ControlDrawer.module.scss +0 -85
  133. package/src/extensions/Drawer/components/ControlDrawer/ControlDrawer.tsx +0 -598
  134. package/src/extensions/Drawer/components/ControlDrawer/icon.tsx +0 -500
  135. package/src/extensions/Drawer/components/DrawerActiveButton.tsx +0 -239
  136. package/src/extensions/Drawer/components/EditDrawerBlock.tsx +0 -238
  137. package/src/extensions/Drawer/components/NodeViewDrawer/NodeViewDrawer.tsx +0 -260
  138. package/src/extensions/Drawer/index.ts +0 -1
  139. package/src/extensions/Emoji/Emoji.ts +0 -146
  140. package/src/extensions/Emoji/components/EmojiList/EmojiList.tsx +0 -103
  141. package/src/extensions/Emoji/components/EmojiList/emojis.ts +0 -1858
  142. package/src/extensions/Emoji/components/EmojiPicker/EmojiPicker.tsx +0 -61
  143. package/src/extensions/Emoji/index.ts +0 -1
  144. package/src/extensions/Excalidraw/Excalidraw.ts +0 -123
  145. package/src/extensions/Excalidraw/components/ExcalidrawActiveButton.tsx +0 -138
  146. package/src/extensions/Excalidraw/components/NodeViewExcalidraw/NodeViewExcalidraw.tsx +0 -178
  147. package/src/extensions/Excalidraw/components/NodeViewExcalidraw/index.module.scss +0 -43
  148. package/src/extensions/Excalidraw/index.ts +0 -1
  149. package/src/extensions/ExportPdf/ExportPdf.ts +0 -25
  150. package/src/extensions/ExportPdf/index.ts +0 -1
  151. package/src/extensions/ExportWord/ExportWord.ts +0 -87
  152. package/src/extensions/ExportWord/index.ts +0 -1
  153. package/src/extensions/FontFamily/FontFamily.ts +0 -64
  154. package/src/extensions/FontFamily/components/FontFamilyButton.tsx +0 -97
  155. package/src/extensions/FontFamily/index.ts +0 -1
  156. package/src/extensions/FontSize/FontSize.ts +0 -119
  157. package/src/extensions/FontSize/components/FontSizeMenuButton.tsx +0 -84
  158. package/src/extensions/FontSize/index.ts +0 -1
  159. package/src/extensions/FormatPainter/FormatPainter.ts +0 -121
  160. package/src/extensions/FormatPainter/index.ts +0 -1
  161. package/src/extensions/Heading/Heading.ts +0 -57
  162. package/src/extensions/Heading/components/HeadingButton.tsx +0 -96
  163. package/src/extensions/Heading/index.ts +0 -1
  164. package/src/extensions/Highlight/Highlight.ts +0 -36
  165. package/src/extensions/Highlight/components/HighlightActionButton.tsx +0 -108
  166. package/src/extensions/Highlight/index.ts +0 -1
  167. package/src/extensions/History/History.ts +0 -39
  168. package/src/extensions/History/components/HistoryActionButton.tsx +0 -74
  169. package/src/extensions/History/index.ts +0 -1
  170. package/src/extensions/HorizontalRule/HorizontalRule.ts +0 -42
  171. package/src/extensions/HorizontalRule/index.ts +0 -1
  172. package/src/extensions/Iframe/Iframe.ts +0 -140
  173. package/src/extensions/Iframe/components/IframeNodeView.tsx +0 -92
  174. package/src/extensions/Iframe/components/index.module.scss +0 -40
  175. package/src/extensions/Iframe/embed.ts +0 -487
  176. package/src/extensions/Iframe/index.ts +0 -1
  177. package/src/extensions/Image/Image.ts +0 -303
  178. package/src/extensions/Image/components/ActionImageButton.tsx +0 -186
  179. package/src/extensions/Image/components/ImageCropper.tsx +0 -198
  180. package/src/extensions/Image/components/ImageView.tsx +0 -271
  181. package/src/extensions/Image/index.ts +0 -1
  182. package/src/extensions/Image/store.ts +0 -15
  183. package/src/extensions/ImageGif/ImageGif.ts +0 -176
  184. package/src/extensions/ImageGif/components/ImageGifActionButton.tsx +0 -138
  185. package/src/extensions/ImageGif/components/ImageGifView.tsx +0 -260
  186. package/src/extensions/ImageGif/index.ts +0 -1
  187. package/src/extensions/ImportWord/ImportWord.ts +0 -52
  188. package/src/extensions/ImportWord/components/ImportWordButton.tsx +0 -151
  189. package/src/extensions/ImportWord/index.ts +0 -1
  190. package/src/extensions/Indent/Indent.ts +0 -110
  191. package/src/extensions/Indent/index.ts +0 -1
  192. package/src/extensions/Italic/Italic.ts +0 -29
  193. package/src/extensions/Italic/index.ts +0 -1
  194. package/src/extensions/Katex/Katex.ts +0 -109
  195. package/src/extensions/Katex/components/KatexActiveButton.tsx +0 -117
  196. package/src/extensions/Katex/components/KatexWrapper.tsx +0 -53
  197. package/src/extensions/Katex/index.ts +0 -1
  198. package/src/extensions/LineHeight/LineHeight.ts +0 -76
  199. package/src/extensions/LineHeight/components/LineHeightDropdown.tsx +0 -93
  200. package/src/extensions/LineHeight/index.ts +0 -1
  201. package/src/extensions/Link/Link.ts +0 -92
  202. package/src/extensions/Link/components/LinkEditBlock.tsx +0 -110
  203. package/src/extensions/Link/components/LinkEditPopover.tsx +0 -46
  204. package/src/extensions/Link/components/LinkViewBlock.tsx +0 -54
  205. package/src/extensions/Link/index.ts +0 -1
  206. package/src/extensions/ListItem/ListItem.ts +0 -1
  207. package/src/extensions/ListItem/index.ts +0 -1
  208. package/src/extensions/Mention/Mention.ts +0 -100
  209. package/src/extensions/Mention/components/NodeViewMentionList/NodeViewMentionList.tsx +0 -94
  210. package/src/extensions/Mention/components/NodeViewMentionList/index.module.scss +0 -38
  211. package/src/extensions/Mention/index.ts +0 -1
  212. package/src/extensions/Mermaid/Mermaid.ts +0 -177
  213. package/src/extensions/Mermaid/components/EditMermaidBlock.tsx +0 -155
  214. package/src/extensions/Mermaid/components/MermaidActiveButton.tsx +0 -151
  215. package/src/extensions/Mermaid/components/NodeViewMermaid/NodeViewMermaid.tsx +0 -260
  216. package/src/extensions/Mermaid/index.ts +0 -1
  217. package/src/extensions/MoreMark/MoreMark.ts +0 -102
  218. package/src/extensions/MoreMark/components/ActionMoreButton.tsx +0 -97
  219. package/src/extensions/MoreMark/index.ts +0 -1
  220. package/src/extensions/MultiColumn/Column.ts +0 -36
  221. package/src/extensions/MultiColumn/MultiColumn.ts +0 -111
  222. package/src/extensions/MultiColumn/components/ColumnActionButton.ts +0 -22
  223. package/src/extensions/MultiColumn/index.ts +0 -3
  224. package/src/extensions/OrderedList/OrderedList.ts +0 -28
  225. package/src/extensions/OrderedList/index.ts +0 -1
  226. package/src/extensions/SearchAndReplace/SearchAndReplace.ts +0 -395
  227. package/src/extensions/SearchAndReplace/components/SearchAndReplaceButton.tsx +0 -190
  228. package/src/extensions/SearchAndReplace/index.ts +0 -1
  229. package/src/extensions/Selection/Selection.ts +0 -32
  230. package/src/extensions/Selection/index.ts +0 -1
  231. package/src/extensions/SlashCommand/SlashCommand.ts +0 -255
  232. package/src/extensions/SlashCommand/components/CommandsList.tsx +0 -180
  233. package/src/extensions/SlashCommand/groups.ts +0 -183
  234. package/src/extensions/SlashCommand/index.ts +0 -1
  235. package/src/extensions/SlashCommand/types.ts +0 -24
  236. package/src/extensions/Strike/Strike.ts +0 -26
  237. package/src/extensions/Strike/index.ts +0 -1
  238. package/src/extensions/Subscript/Subscript.ts +0 -88
  239. package/src/extensions/Subscript/index.ts +0 -1
  240. package/src/extensions/Table/Cell.ts +0 -131
  241. package/src/extensions/Table/Header.ts +0 -93
  242. package/src/extensions/Table/Row.ts +0 -8
  243. package/src/extensions/Table/Table.ts +0 -60
  244. package/src/extensions/Table/cell-background.ts +0 -112
  245. package/src/extensions/Table/components/CreateTablePopover.tsx +0 -132
  246. package/src/extensions/Table/components/TableActionButton.tsx +0 -42
  247. package/src/extensions/Table/index.ts +0 -6
  248. package/src/extensions/Table/utils.ts +0 -352
  249. package/src/extensions/TableOfContent/TableOfContent.ts +0 -124
  250. package/src/extensions/TableOfContent/components/NodeViewTableOfContent.tsx +0 -116
  251. package/src/extensions/TableOfContent/components/TableOfContentActionButton.tsx +0 -27
  252. package/src/extensions/TableOfContent/components/index.module.scss +0 -40
  253. package/src/extensions/TableOfContent/index.ts +0 -1
  254. package/src/extensions/TaskList/TaskList.ts +0 -46
  255. package/src/extensions/TaskList/index.ts +0 -1
  256. package/src/extensions/TextAlign/TextAlign.ts +0 -68
  257. package/src/extensions/TextAlign/components/TextAlignMenuButton.tsx +0 -103
  258. package/src/extensions/TextAlign/index.ts +0 -1
  259. package/src/extensions/TextBubble/TextBubble.ts +0 -22
  260. package/src/extensions/TextBubble/components/TextDropdown.tsx +0 -146
  261. package/src/extensions/TextBubble/index.ts +0 -1
  262. package/src/extensions/TextDirection/TextDirection.ts +0 -97
  263. package/src/extensions/TextDirection/components/TextDirectionButton.tsx +0 -103
  264. package/src/extensions/TextDirection/index.ts +0 -1
  265. package/src/extensions/TrailingNode/TrailingNode.ts +0 -71
  266. package/src/extensions/TrailingNode/index.ts +0 -1
  267. package/src/extensions/Twitter/Twitter.ts +0 -161
  268. package/src/extensions/Twitter/components/FormEditLinkTwitter.tsx +0 -68
  269. package/src/extensions/Twitter/components/NodeViewTweet.tsx +0 -30
  270. package/src/extensions/Twitter/components/TwitterActiveButton.tsx +0 -41
  271. package/src/extensions/Twitter/index.ts +0 -1
  272. package/src/extensions/UnderLine/Underline.ts +0 -30
  273. package/src/extensions/UnderLine/index.ts +0 -1
  274. package/src/extensions/Video/Video.ts +0 -204
  275. package/src/extensions/Video/components/ActiveVideoButton.tsx +0 -191
  276. package/src/extensions/Video/index.ts +0 -1
  277. package/src/extensions/Video/store.ts +0 -15
  278. package/src/extensions/index.ts +0 -122
  279. package/src/hooks/useActive.tsx +0 -24
  280. package/src/hooks/useAttributes.tsx +0 -45
  281. package/src/hooks/useCopy.tsx +0 -20
  282. package/src/hooks/useEditorState.tsx +0 -23
  283. package/src/hooks/useExtension.tsx +0 -29
  284. package/src/index.ts +0 -8
  285. package/src/lib/utils.ts +0 -7
  286. package/src/locale-bundle.ts +0 -3
  287. package/src/locales/en.ts +0 -173
  288. package/src/locales/hu.ts +0 -173
  289. package/src/locales/index.tsx +0 -163
  290. package/src/locales/pt-br.ts +0 -173
  291. package/src/locales/vi.ts +0 -173
  292. package/src/locales/zh-cn.ts +0 -173
  293. package/src/plugins/DragHandle/index.ts +0 -375
  294. package/src/plugins/DragHandle/range.ts +0 -114
  295. package/src/plugins/DragHandle/utils.ts +0 -80
  296. package/src/plugins/image-upload.ts +0 -160
  297. package/src/store/ProviderRichText.tsx +0 -53
  298. package/src/store/editableEditor.ts +0 -15
  299. package/src/store/fast-context.tsx +0 -70
  300. package/src/store/store.ts +0 -35
  301. package/src/styles/ProseMirror.scss +0 -176
  302. package/src/styles/columns.scss +0 -23
  303. package/src/styles/editor.scss +0 -411
  304. package/src/styles/global.scss +0 -87
  305. package/src/styles/index.scss +0 -5
  306. package/src/styles/mention.scss +0 -6
  307. package/src/theme/theme.ts +0 -15
  308. package/src/types.ts +0 -271
  309. package/src/utils/_event.ts +0 -55
  310. package/src/utils/color.ts +0 -67
  311. package/src/utils/columns.ts +0 -142
  312. package/src/utils/customEvents/customEvents.ts +0 -18
  313. package/src/utils/customEvents/events.constant.ts +0 -11
  314. package/src/utils/delete-node.ts +0 -46
  315. package/src/utils/dom-dataset.ts +0 -121
  316. package/src/utils/download.ts +0 -17
  317. package/src/utils/dynamicCSS.ts +0 -192
  318. package/src/utils/editor-container-size.ts +0 -28
  319. package/src/utils/file.ts +0 -112
  320. package/src/utils/getRenderContainer.ts +0 -41
  321. package/src/utils/indent.ts +0 -99
  322. package/src/utils/is-mobile.ts +0 -57
  323. package/src/utils/json.ts +0 -18
  324. package/src/utils/line-height.ts +0 -109
  325. package/src/utils/lru-cache.ts +0 -145
  326. package/src/utils/mitt.ts +0 -114
  327. package/src/utils/node.ts +0 -92
  328. package/src/utils/pdf.ts +0 -72
  329. package/src/utils/plateform.ts +0 -49
  330. package/src/utils/shortId.ts +0 -5
  331. package/src/utils/storage.ts +0 -18
  332. package/src/utils/utils.ts +0 -71
  333. package/src/vite-env.d.ts +0 -3
@@ -0,0 +1,33 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("./tiptap-gBG-1T-V.cjs"),p=require("./vendor-BJ0Yf78E.cjs"),a=require("react/jsx-runtime"),g=require("react"),N=require("lucide-react"),r=require("./RichTextEditor-BwbqJLnA.cjs"),w=require("./index-DV-nXpU1.cjs"),q=require("shiki"),be=require("@radix-ui/react-select"),pe=require("@radix-ui/react-slot"),J=require("tippy.js"),Y=require("scroll-into-view-if-needed"),z=require("frimousse"),oe=require("docx"),P=require("prosemirror-docx");function ie(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const D=ie(g),A=ie(be),Q=g.forwardRef(({asChild:e,...t},n)=>{var s;const o=r.icons[t.icon],i=e?pe.Slot:r.Button;return a.jsxs(r.Tooltip,{children:[a.jsx(r.TooltipTrigger,{asChild:!0,children:a.jsx(i,{className:"h-[32px] min-w-24 overflow-hidden px-[5px] py-0",disabled:t==null?void 0:t.disabled,ref:n,variant:"ghost",...t,children:a.jsxs("div",{className:"flex h-full items-center font-normal",children:[(t==null?void 0:t.title)&&a.jsx("div",{className:"grow truncate text-left text-sm",children:t==null?void 0:t.title}),o&&a.jsx(o,{className:"ml-1 size-3 shrink-0 text-zinc-500"})]})})}),a.jsx(r.TooltipContent,{children:a.jsxs("div",{className:"flex max-w-24 flex-col items-center text-center",children:[(t==null?void 0:t.tooltip)&&a.jsx("div",{children:t==null?void 0:t.tooltip}),a.jsx("div",{className:"flex",children:!!((s=t==null?void 0:t.shortcutKeys)!=null&&s.length)&&a.jsx("span",{children:r.getShortcutKeys(t==null?void 0:t.shortcutKeys)})})]})})]})}),we=h.Bold.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button:({editor:t,t:n})=>({component:r.ActionButton,componentProps:{action:()=>t.commands.toggleBold(),isActive:()=>t.isActive("bold")||!1,disabled:!t.can().toggleBold(),icon:"Bold",shortcutKeys:["mod","B"],tooltip:n("editor.bold.tooltip")}})}}}),xe=h.Italic.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button({editor:t,t:n}){return{component:r.ActionButton,componentProps:{action:()=>t.commands.toggleItalic(),isActive:()=>t.isActive("italic")||!1,disabled:!t.can().toggleItalic(),shortcutKeys:["mod","I"],icon:"Italic",tooltip:n("editor.italic.tooltip")}}}}}}),ye=h.Underline.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button({editor:t,t:n}){return{component:r.ActionButton,componentProps:{action:()=>t.commands.toggleUnderline(),isActive:()=>t.isActive("underline")||!1,disabled:!t.can().toggleUnderline(),icon:"Underline",shortcutKeys:["mod","U"],tooltip:n("editor.underline.tooltip")}}}}}}),ke=h.Strike.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button:({editor:t,t:n})=>({component:r.ActionButton,componentProps:{action:()=>t.commands.toggleStrike(),isActive:()=>t.isActive("strike")||!1,disabled:!t.can().toggleStrike(),icon:"Strikethrough",shortcutKeys:["shift","mod","S"],tooltip:n("editor.strike.tooltip")}})}}}),ve=h.Code.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button:({editor:t,t:n})=>({component:r.ActionButton,componentProps:{action:()=>t.commands.toggleCode(),isActive:()=>t.isActive("code")||!1,disabled:!t.can().toggleCode(),icon:"Code",shortcutKeys:["mod","E"],tooltip:n("editor.code.tooltip")}})}}});let M,O;const V=new Set,W=new Set;function je(){return M}function Ce(e){if(!M&&!O){const t=e.themes.filter(o=>!!o&&o in q.bundledThemes),n=e.languages.filter(o=>!!o&&o in q.bundledLanguages);return O=q.createHighlighter({themes:t,langs:n}).then(o=>{M=o}),O}if(O)return O}async function ae(e){return M&&!M.getLoadedThemes().includes(e)&&!W.has(e)&&e in q.bundledThemes?(W.add(e),await M.loadTheme(e),W.delete(e),!0):!1}async function se(e){return M&&!M.getLoadedLanguages().includes(e)&&!V.has(e)&&e in q.bundledLanguages?(V.add(e),await M.loadLanguage(e),V.delete(e),!0):!1}async function Ae({doc:e,name:t,defaultTheme:n,defaultLanguage:o}){const i=h.findChildren(e,c=>c.type.name===t),s=[...i.map(c=>c.node.attrs.theme),n],l=[...i.map(c=>c.node.attrs.language),o];M?await Promise.all([...s.flatMap(c=>ae(c)),...l.flatMap(c=>!!c&&se(c))]):await Ce({languages:l,themes:s})}function X({doc:e,name:t,defaultTheme:n,defaultLanguage:o}){const i=[];return h.findChildren(e,l=>l.type.name===t).forEach(l=>{let c=l.pos+1,m=l.node.attrs.language||o;const u=l.node.attrs.theme||n,d=je();if(!d)return;d.getLoadedLanguages().includes(m)||(m="plaintext");const f=d.getLoadedThemes().includes(u)?u:d.getLoadedThemes()[0],_=d.codeToTokensBase(l.node.textContent,{lang:m,theme:f});for(const b of _){for(const k of b){const v=c+k.content.length,S=p.Decoration.inline(c,v,{style:`color: ${k.color}`});i.push(S),c=v}c+=1}}),p.DecorationSet.create(e,i)}function Ne({name:e,defaultLanguage:t,defaultTheme:n}){const o=new p.Plugin({key:new p.PluginKey("shiki"),view(i){class s{constructor(){this.initDecorations()}update(){this.checkUndecoratedBlocks()}destroy(){}async initDecorations(){const c=i.state.doc;await Ae({doc:c,name:e,defaultLanguage:t,defaultTheme:n});const m=i.state.tr.setMeta("shikiPluginForceDecoration",!0);i.dispatch(m)}async checkUndecoratedBlocks(){const c=h.findChildren(i.state.doc,d=>d.type.name===e);if((await Promise.all(c.flatMap(d=>[ae(d.node.attrs.theme),se(d.node.attrs.language)]))).includes(!0)){const d=i.state.tr.setMeta("shikiPluginForceDecoration",!0);i.dispatch(d)}}}return new s},state:{init:(i,{doc:s})=>X({doc:s,name:e,defaultLanguage:t,defaultTheme:n}),apply:(i,s,l,c)=>{const m=l.selection.$head.parent.type.name,u=c.selection.$head.parent.type.name,d=h.findChildren(l.doc,b=>b.type.name===e),f=h.findChildren(c.doc,b=>b.type.name===e),_=i.docChanged&&([m,u].includes(e)||f.length!==d.length||i.steps.some(b=>b.from!==void 0&&b.to!==void 0&&d.some(k=>k.pos>=b.from&&k.pos+k.node.nodeSize<=b.to)));return i.getMeta("shikiPluginForceDecoration")||_?X({doc:i.doc,name:e,defaultLanguage:t,defaultTheme:n}):s.map(i.mapping,i.doc)}},props:{decorations(i){return o.getState(i)}}});return o}function Se({action:e,languages:t,...n}){const o=s=>{e(s)},i=g.useMemo(()=>t==null?void 0:t.map(s=>({title:w.MAP_LANGUAGE_CODE_LABELS[s]||s,language:s})),[t]);return a.jsxs(r.DropdownMenu,{children:[a.jsx(r.DropdownMenuTrigger,{disabled:n==null?void 0:n.disabled,asChild:!0,children:a.jsx(r.ActionButton,{tooltip:n==null?void 0:n.tooltip,disabled:n==null?void 0:n.disabled,icon:n==null?void 0:n.icon})}),a.jsx(r.DropdownMenuContent,{className:"w-full !max-h-[180px] !overflow-y-scroll",children:i==null?void 0:i.map(s=>a.jsx(r.DropdownMenuItem,{onClick:()=>o(s.language),children:a.jsx("div",{className:"h-full ml-1",children:s.title})},`codeblock-${s.title}`))})]})}const Te=A.Root,Ee=A.Value,re=D.forwardRef(({className:e,children:t,...n},o)=>a.jsxs(A.Trigger,{ref:o,className:r.cn("flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",e),...n,children:[t,a.jsx(A.Icon,{asChild:!0,children:a.jsx(N.ChevronDown,{className:"h-4 w-4 opacity-50"})})]}));re.displayName=A.Trigger.displayName;const le=D.forwardRef(({className:e,...t},n)=>a.jsx(A.ScrollUpButton,{ref:n,className:r.cn("flex cursor-default items-center justify-center py-1",e),...t,children:a.jsx(N.ChevronUp,{className:"h-4 w-4"})}));le.displayName=A.ScrollUpButton.displayName;const ce=D.forwardRef(({className:e,...t},n)=>a.jsx(A.ScrollDownButton,{ref:n,className:r.cn("flex cursor-default items-center justify-center py-1",e),...t,children:a.jsx(N.ChevronDown,{className:"h-4 w-4"})}));ce.displayName=A.ScrollDownButton.displayName;const de=D.forwardRef(({className:e,children:t,position:n="popper",...o},i)=>a.jsx(A.Portal,{children:a.jsxs(A.Content,{ref:i,className:r.cn("relative z-50 max-h-60 overflow-y-auto min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",n==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:n,...o,children:[a.jsx(le,{}),a.jsx(A.Viewport,{className:r.cn("p-1",n==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:t}),a.jsx(ce,{})]})}));de.displayName=A.Content.displayName;const Le=D.forwardRef(({className:e,...t},n)=>a.jsx(A.Label,{ref:n,className:r.cn("py-1.5 pl-8 pr-2 text-sm font-semibold",e),...t}));Le.displayName=A.Label.displayName;const Z=D.forwardRef(({className:e,children:t,...n},o)=>a.jsxs(A.Item,{ref:o,className:r.cn("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...n,children:[a.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:a.jsx(A.ItemIndicator,{children:a.jsx(N.Check,{className:"h-4 w-4"})})}),a.jsx(A.ItemText,{children:t})]}));Z.displayName=A.Item.displayName;const Me=D.forwardRef(({className:e,...t},n)=>a.jsx(A.Separator,{ref:n,className:r.cn("-mx-1 my-1 h-px bg-muted",e),...t}));Me.displayName=A.Separator.displayName;function Pe(){const[e,t]=g.useState(!1);return{isCopied:e,copyToClipboard:async o=>{try{await navigator.clipboard.writeText(o),t(!0),setTimeout(()=>t(!1),2e3)}catch(i){console.error("Failed to copy text: ",i),t(!1)}}}}const He="_wrap_fsdar_1",Re="_maxHeight_fsdar_10",Ie="_btnCopy_fsdar_13",ze="_btnDelete_fsdar_14",De="_blockInfo_fsdar_18",Be="_blockInfoEditable_fsdar_28",Oe="_selectLang_fsdar_32",Fe="_copied_fsdar_58",R={wrap:He,maxHeight:Re,btnCopy:Ie,btnDelete:ze,blockInfo:De,blockInfoEditable:Be,selectLang:Oe,copied:Fe};function qe({editor:e,node:{attrs:t},updateAttributes:n,extension:o}){var _,b;const{isCopied:i,copyToClipboard:s}=Pe(),l=g.useMemo(()=>{var k;return(k=o.options.languages)!=null&&k.length?o.options.languages:w.DEFAULT_LANGUAGE_CODE_BLOCK},[o.options.languages]),c=r.useEditableEditor(),m=(b=(_=e==null?void 0:e.options)==null?void 0:_.editorProps)==null?void 0:b.print,{language:u}=t,d=g.useRef(null),f=g.useCallback(()=>r.deleteNode(ue.name,e),[e]);return a.jsxs(h.NodeViewWrapper,{className:p.clsx(R.wrap,!m&&R.maxHeight,"render-wrapper"),children:[a.jsxs("div",{className:p.clsx(R.blockInfo,{[R.blockInfoEditable]:!c}),children:[a.jsx("span",{className:p.clsx(R.btnCopy,i&&R.copied),onClick:()=>s(d.current.innerText),children:i?a.jsx(N.CopyCheck,{size:16}):a.jsx(N.Copy,{size:16})}),a.jsx("span",{className:R.btnDelete,onClick:f,children:a.jsx(r.IconComponent,{name:"Trash2"})}),a.jsx("div",{className:R.selectLang,children:a.jsxs(Te,{defaultValue:u||"auto",disabled:!c,onValueChange:k=>n({language:k}),children:[a.jsx(re,{children:a.jsx(Ee,{placeholder:"Language"})}),a.jsxs(de,{className:"max-h-60 overflow-y-auto",children:[a.jsx(Z,{value:"auto",children:"Auto"}),l.map((k,v)=>a.jsx(Z,{value:k,children:k.charAt(0).toUpperCase()+k.slice(1)},`code-lang-${v}`))]})]})})]}),a.jsx("pre",{ref:d,children:a.jsx(h.NodeViewContent,{as:"code"})})]})}const ue=h.CodeBlock.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),languages:[],button:({editor:t,t:n,extension:o})=>{var s,l,c;const i=(l=(s=o==null?void 0:o.options)==null?void 0:s.languages)!=null&&l.length?(c=o==null?void 0:o.options)==null?void 0:c.languages:w.DEFAULT_LANGUAGE_CODE_BLOCK;return{component:Se,componentProps:{action:(m="js")=>t.commands.setCodeBlock({language:m}),isActive:()=>t.isActive("codeBlock")||!1,disabled:!t.can().toggleCodeBlock(),icon:"Code2",tooltip:n("editor.codeblock.tooltip"),languages:i}}}}},addNodeView(){return h.ReactNodeViewRenderer(qe)},addProseMirrorPlugins(){var e;return[...((e=this.parent)==null?void 0:e.call(this))||[],Ne({name:this.name,defaultLanguage:null,defaultTheme:this.options.defaultTheme})]}});function Ue(e){var i,s,l;const{t,lang:n}=w.useLocale(),o=g.useMemo(()=>{var u;const c=(u=e==null?void 0:e.items)==null?void 0:u.find(d=>d.isActive());return c&&!c.default?{...c}:{title:e.tooltip,font:t("editor.fontFamily.default.tooltip"),isActive:()=>!1,disabled:!1,action:()=>e.editor.chain().focus().unsetFontFamily().run()}},[t,n,e]);return a.jsxs(r.DropdownMenu,{children:[a.jsx(r.DropdownMenuTrigger,{asChild:!0,disabled:e==null?void 0:e.disabled,children:a.jsx(Q,{disabled:e==null?void 0:e.disabled,icon:"MenuDown",title:((i=o==null?void 0:o.font)==null?void 0:i.length)>7?`${(s=o==null?void 0:o.font)==null?void 0:s.slice(0,6)}...`:o==null?void 0:o.font,tooltip:e==null?void 0:e.tooltip})}),a.jsx(r.DropdownMenuContent,{className:"w-full",children:(l=e==null?void 0:e.items)==null?void 0:l.map((c,m)=>{const u=c.font===t("editor.fontFamily.default.tooltip")?{}:{fontFamily:c.font};return a.jsxs(g.Fragment,{children:[a.jsx(r.DropdownMenuCheckboxItem,{checked:(o==null?void 0:o.font)===c.font,onClick:c.action,children:a.jsx("div",{className:"ml-1 h-full",style:u,children:c.font})}),c.font===t("editor.fontFamily.default.tooltip")&&a.jsx(r.DropdownMenuSeparator,{})]},`font-family-${m}`)})})]})}const Ke=h.FontFamily.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),fontFamilyList:w.DEFAULT_FONT_FAMILY_LIST,button({editor:t,extension:n,t:o}){var u;const{extensions:i=[]}=t.extensionManager??[],s=r.ensureNameValueOptions(((u=n==null?void 0:n.options)==null?void 0:u.fontFamilyList)||[]),l=i.find(d=>d.name==="base-kit"),c=s.map(d=>({action:()=>{t.chain().focus().setFontFamily(d.value).run()},isActive:()=>t.isActive("textStyle",{fontFamily:d.value})||!1,disabled:!t.can().setFontFamily(d.value),title:d.name,font:d.value}));l&&l.options.textStyle!==!1&&c.unshift({action:()=>t.chain().focus().unsetFontFamily().run(),isActive:()=>!1,disabled:!1,font:o("editor.fontFamily.default.tooltip"),title:o("editor.fontFamily.tooltip")});const m=c.filter(d=>d.disabled).length===c.length;return{component:Ue,componentProps:{tooltip:o("editor.fontFamily.tooltip"),disabled:m,items:c,editor:t}}}}}});function $e(e){var n;const t=g.useMemo(()=>{var s;const o=(s=e==null?void 0:e.items)==null?void 0:s.find(l=>l.isActive());return o&&!o.default?{...o}:{title:e.tooltip,level:0,isActive:()=>!1}},[e]);return a.jsxs(r.DropdownMenu,{children:[a.jsx(r.DropdownMenuTrigger,{asChild:!0,disabled:e==null?void 0:e.disabled,children:a.jsx(Q,{disabled:e==null?void 0:e.disabled,icon:"MenuDown",title:t==null?void 0:t.title,tooltip:e==null?void 0:e.tooltip})}),a.jsx(r.DropdownMenuContent,{className:"w-full",children:(n=e==null?void 0:e.items)==null?void 0:n.map((o,i)=>{var s,l;return a.jsxs(g.Fragment,{children:[a.jsxs(r.DropdownMenuCheckboxItem,{checked:(t==null?void 0:t.title)===o.title,onClick:o.action,children:[a.jsx("div",{className:`heading- ml-1 h-full${o.level}`,children:o.title}),!!((s=o==null?void 0:o.shortcutKeys)!=null&&s.length)&&a.jsx(r.DropdownMenuShortcut,{className:"pl-4",children:(l=o==null?void 0:o.shortcutKeys)==null?void 0:l.map(c=>r.getShortcutKey(c)).join(" ")})]}),o.level===0&&a.jsx(r.DropdownMenuSeparator,{})]},`heading-k-${i}`)})})]})}const Ve=h.Heading.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),levels:[1,2,3,4,5,6],button({editor:t,extension:n,t:o}){var u;const{extensions:i=[]}=t.extensionManager??[],s=((u=n.options)==null?void 0:u.levels)||[],l=i.find(d=>d.name==="base-kit"),c=s.map(d=>({action:()=>t.commands.toggleHeading({level:d}),isActive:()=>t.isActive("heading",{level:d})||!1,disabled:!t.can().toggleHeading({level:d}),title:o(`editor.heading.h${d}.tooltip`),level:d,shortcutKeys:["alt","mod",`${d}`]}));l&&l.options.paragraph!==!1&&c.unshift({action:()=>t.commands.setParagraph(),isActive:()=>t.isActive("paragraph")||!1,disabled:!t.can().setParagraph(),level:0,title:o("editor.paragraph.tooltip"),shortcutKeys:["alt","mod","0"]});const m=c.filter(d=>d.disabled).length===c.length;return{component:$e,componentProps:{tooltip:o("editor.heading.tooltip"),disabled:m,items:c,editor:t}}}}}});function We(e){var n;const t=g.useMemo(()=>{var s;const o=(s=e==null?void 0:e.items)==null?void 0:s.find(l=>l.isActive());return o&&!o.default?{...o,icon:o.icon?o.icon:e.icon}:{title:e==null?void 0:e.tooltip,icon:e.icon,isActive:()=>!1}},[e]);return a.jsxs(r.Popover,{modal:!0,children:[a.jsx(r.PopoverTrigger,{asChild:!0,disabled:e==null?void 0:e.disabled,children:a.jsx(r.ActionButton,{customClass:"!w-12 h-12",disabled:e==null?void 0:e.disabled,icon:e==null?void 0:e.icon,tooltip:e==null?void 0:e.tooltip,children:a.jsx(r.IconComponent,{className:"ml-1 size-3 text-zinc-500",name:"MenuDown"})})}),a.jsx(r.PopoverContent,{align:"start",className:"flex w-full min-w-4 flex-row gap-1 !p-[4px]",side:"bottom",children:(n=e==null?void 0:e.items)==null?void 0:n.map((o,i)=>{var s,l;return a.jsxs(r.Tooltip,{children:[a.jsx(r.TooltipTrigger,{asChild:!0,children:a.jsx(r.Toggle,{className:"size-7 p-1","data-state":t.title===o.title?"on":"off",onClick:o==null?void 0:o.action,pressed:t.title===o.title,size:"sm",children:(o==null?void 0:o.icon)&&a.jsx(r.IconComponent,{name:o.icon})})}),a.jsxs(r.TooltipContent,{className:"flex flex-col items-center",children:[a.jsx("span",{children:o.title}),!!((s=o.shortcutKeys)!=null&&s.length)&&a.jsx("span",{children:(l=o.shortcutKeys)==null?void 0:l.map(c=>r.getShortcutKey(c)).join(" ")})]})]},`text-align-${i}`)})})]})}const Ge=h.TextAlign.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),types:["heading","paragraph","list_item","title"],button({editor:t,extension:n,t:o}){var u;const i=((u=n.options)==null?void 0:u.alignments)||[],s={left:["mod","Shift","L"],center:["mod","Shift","E"],right:["mod","Shift","R"],justify:["mod","Shift","J"]},l={left:"AlignLeft",center:"AlignCenter",right:"AlignRight",justify:"AlignJustify"},c=i.map(d=>{var f,_,b;return{title:o(`editor.textalign.${d}.tooltip`),icon:l[d],shortcutKeys:s[d],isActive:()=>t.isActive({textAlign:d})||!1,action:()=>{var k,v;return(v=(k=t.commands)==null?void 0:k.setTextAlign)==null?void 0:v.call(k,d)},disabled:!((b=(_=(f=t==null?void 0:t.can)==null?void 0:f.call(t))==null?void 0:_.setTextAlign)!=null&&b.call(_,d))}}),m=c.filter(d=>d.disabled).length===c.length;return{component:We,componentProps:{icon:"AlignJustify",tooltip:o("editor.textalign.tooltip"),disabled:m,items:c}}}}}});function Ze(e){var i;const{t}=w.useLocale(),n=g.useRef(null),o=g.useMemo(()=>{const s=(e.items||[]).find(c=>c.isActive());return s||{title:t("editor.fontSize.default.tooltip"),isActive:()=>!1}},[e]);return a.jsxs(r.DropdownMenu,{children:[a.jsx(r.DropdownMenuTrigger,{asChild:!0,disabled:e==null?void 0:e.disabled,children:a.jsx("div",{ref:n,children:a.jsx(Q,{disabled:e==null?void 0:e.disabled,icon:"MenuDown",title:o==null?void 0:o.title,tooltip:`${e==null?void 0:e.tooltip}`})})}),a.jsx(r.DropdownMenuContent,{container:n.current,className:"max-h-[40vh] w-32 overflow-y-auto",children:(i=e==null?void 0:e.items)==null?void 0:i.map((s,l)=>a.jsx(r.DropdownMenuCheckboxItem,{checked:o.title===s.title,onClick:s.action,children:a.jsx("div",{className:"ml-1 h-full",children:s.title})},`font-size-${l}`))})]})}const Je=h.Extension.create({name:"fontSize",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),types:["textStyle"],fontSizes:[...w.DEFAULT_FONT_SIZE_LIST],button({editor:t,extension:n,t:o}){var m;const i=r.ensureNameValueOptions(((m=n.options)==null?void 0:m.fontSizes)||w.DEFAULT_FONT_SIZE_VALUE),s=r.ensureNameValueOptions([w.DEFAULT_FONT_SIZE_VALUE])[0],l=i.map(u=>({title:u.value===s.value?o("editor.fontSize.default.tooltip"):String(u.name),isActive:()=>{const{fontSize:d}=t.getAttributes("textStyle");return u.value===s.value&&d===void 0?!0:t.isActive({fontSize:String(u.value)})||!1},action:()=>{if(u.value===s.value){t.commands.unsetFontSize();return}t.commands.setFontSize(String(u.value))},disabled:!t.can().setFontSize(String(u.value)),divider:u.value===s.value||!1,default:u.value===s.value||!1})),c=l.filter(u=>u.disabled).length===l.length;return{component:Ze,componentProps:{editor:t,tooltip:o("editor.fontSize.tooltip"),disabled:c,items:l,maxHeight:280}}}}},addGlobalAttributes(){return[{types:this.options.types,attributes:{fontSize:{default:null,parseHTML:e=>e.style.fontSize.replaceAll(/["']+/g,""),renderHTML:e=>e.fontSize?{style:`font-size: ${e.fontSize}`}:{}}}}]},addCommands(){return{setFontSize:e=>({chain:t})=>t().setMark("textStyle",{fontSize:e}).run(),unsetFontSize:()=>({chain:e})=>e().setMark("textStyle",{fontSize:null}).removeEmptyTextStyle().run()}}});function Ye({fill:e}){return a.jsx("svg",{width:"18px",height:"18px",viewBox:"0 0 240 240",version:"1.1",xmlns:"http://www.w3.org/2000/svg",children:a.jsx("g",{stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",children:a.jsx("g",{transform:"translate(0.000000, 0.500000)",children:a.jsxs("g",{transform:"translate(39.000000, 17.353553)",children:[a.jsx("path",{d:"M11,201.146447 L167,201.146447 C173.075132,201.146447 178,206.071314 178,212.146447 C178,218.221579 173.075132,223.146447 167,223.146447 L11,223.146447 C4.92486775,223.146447 7.43989126e-16,218.221579 0,212.146447 C-7.43989126e-16,206.071314 4.92486775,201.146447 11,201.146447 Z",id:"็Ÿฉๅฝข",fill:e||"#DF2A3F",fillRule:"evenodd"}),a.jsx("path",{d:"M72.3425855,16.8295583 C75.799482,7.50883712 86.1577877,2.75526801 95.4785089,6.21216449 C100.284516,7.99463061 104.096358,11.7387855 105.968745,16.4968188 L106.112518,16.8745422 L159.385152,161.694068 C161.291848,166.877345 158.635655,172.624903 153.452378,174.531599 C148.358469,176.405421 142.719567,173.872338 140.716873,168.864661 L140.614848,168.598825 L89.211,28.86 L37.3759214,168.623816 C35.4885354,173.712715 29.8981043,176.351047 24.7909589,174.617647 L24.5226307,174.522368 C19.4337312,172.634982 16.7953993,167.044551 18.5287999,161.937406 L18.6240786,161.669077 L72.3425855,16.8295583 Z",id:"่ทฏๅพ„-21",fill:"currentColor",fillRule:"nonzero"}),a.jsx("path",{d:"M121,103.146447 C126.522847,103.146447 131,107.623599 131,113.146447 C131,118.575687 126.673329,122.994378 121.279905,123.142605 L121,123.146447 L55,123.146447 C49.4771525,123.146447 45,118.669294 45,113.146447 C45,107.717207 49.3266708,103.298515 54.7200952,103.150288 L55,103.146447 L121,103.146447 Z",id:"่ทฏๅพ„-22",fill:"currentColor",fillRule:"nonzero"})]})})})})}function Qe(e){const[t,n]=g.useState(void 0);function o(l){var c;(c=e.action)==null||c.call(e,l)}function i(){var l;(l=e.action)==null||l.call(e,t)}const s=g.useCallback(p.debounce(l=>{n(l)},350),[]);return a.jsxs("div",{className:"flex items-center h-[32px]",children:[a.jsx(r.ActionButton,{tooltip:e==null?void 0:e.tooltip,disabled:e==null?void 0:e.disabled,action:i,children:a.jsx("span",{className:"flex items-center justify-center text-sm",children:a.jsx(Ye,{fill:t})})}),a.jsx(r.ColorPicker,{selectedColor:t,setSelectedColor:s,onChange:o,disabled:e==null?void 0:e.disabled,colors:e==null?void 0:e.colors,defaultColor:e==null?void 0:e.defaultColor,children:a.jsx(r.Button,{variant:"ghost",size:"icon",className:"r!ichtext-h-[32px] !w-3",disabled:e==null?void 0:e.disabled,children:a.jsx(r.IconComponent,{className:"!w-3 !h-3 text-zinc-500",name:"MenuDown"})})})]})}const Xe=h.Color.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button({editor:t,t:n,extension:o}){return{component:Qe,componentProps:{colors:o.options.colors,defaultColor:o.options.defaultColor,action:i=>{i===void 0&&t.chain().focus().unsetColor().run(),typeof i=="string"&&t.chain().focus().setColor(i).run()},isActive:()=>{const{color:i}=t.getAttributes("textStyle");return i&&t.isActive({color:i})||!1},editor:t,disabled:!t.can().setColor(""),tooltip:n("editor.color.tooltip")}}}}}}),et=h.Highlight.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),multicolor:!0,button:({editor:t,t:n})=>({component:r.HighlightActionButton,componentProps:{action:o=>{typeof o=="string"&&t.chain().focus().setHighlight({color:o}).run(),o===void 0&&t.chain().focus().unsetHighlight().run()},editor:t,isActive:()=>t.isActive("highlight")||!1,disabled:!t.can().setHighlight(),shortcutKeys:["โ‡ง","mod","H"],tooltip:n("editor.highlight.tooltip")}})}}}),tt=h.BulletList.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button:({editor:t,t:n})=>({component:r.ActionButton,componentProps:{action:()=>t.commands.toggleBulletList(),isActive:()=>t.isActive("bulletList")||!1,disabled:!1,shortcutKeys:["shift","mod","8"],icon:"List",tooltip:n("editor.bulletlist.tooltip")}})}}}),nt=h.Node.create({name:"clear",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button:({editor:t,t:n})=>({component:r.ActionButton,componentProps:{action:()=>t.chain().focus().clearNodes().unsetAllMarks().run(),disabled:!t.can().chain().focus().clearNodes().unsetAllMarks().run(),icon:"Eraser",tooltip:n("editor.clear.tooltip")}})}}}),ot=h.OrderedList.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button:({editor:t,t:n})=>({component:r.ActionButton,componentProps:{action:()=>t.commands.toggleOrderedList(),isActive:()=>t.isActive("orderedList")||!1,disabled:!1,icon:"ListOrdered",shortcutKeys:["mod","shift","7"],tooltip:n("editor.orderedlist.tooltip")}})}}}),it=h.TaskList.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),HTMLAttributes:{class:"task-list"},taskItem:{HTMLAttributes:{class:"task-list-item"}},button:({editor:t,t:n})=>({component:r.ActionButton,componentProps:{action:()=>t.commands.toggleTaskList(),isActive:()=>t.isActive("taskList")||!1,disabled:!1,icon:"ListTodo",shortcutKeys:["shift","mod","9"],tooltip:n("editor.tasklist.tooltip")}})}},addExtensions(){return[h.TaskItem.configure(this.options.taskItem)]}}),at=h.Blockquote.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),HTMLAttributes:{class:"blockquote"},button:({editor:t,t:n})=>({component:r.ActionButton,componentProps:{action:()=>t.commands.toggleBlockquote(),isActive:()=>t.isActive("blockquote")||!1,disabled:!t.can().toggleBlockquote(),icon:"TextQuote",shortcutKeys:["shift","mod","B"],tooltip:n("editor.blockquote.tooltip")}})}}});function st(e){const[t,n]=g.useState(!1);function o(i,s,l){e.action&&(e.action({link:i,text:s,openInNewTab:l}),n(!1))}return a.jsxs(r.Popover,{modal:!0,open:t,onOpenChange:n,children:[a.jsx(r.PopoverTrigger,{disabled:e==null?void 0:e.disabled,asChild:!0,children:a.jsx(r.ActionButton,{tooltip:e==null?void 0:e.tooltip,isActive:e==null?void 0:e.isActive,disabled:e==null?void 0:e.disabled,children:a.jsx(r.IconComponent,{name:e==null?void 0:e.icon})})}),a.jsx(r.PopoverContent,{hideWhenDetached:!0,className:"w-full",align:"start",side:"bottom",children:a.jsx(r.LinkEditBlock,{editor:e.editor,onSetLink:o})})]})}const rt=h.Link.extend({inclusive:!1,parseHTML(){return[{tag:'a[href]:not([data-type="button"]):not([href *= "javascript:" i])'}]},renderHTML({HTMLAttributes:e}){return["a",h.mergeAttributes(this.options.HTMLAttributes,e,{class:"link"}),0]},addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),openOnClick:!0,button:({editor:t,t:n})=>({component:st,componentProps:{editor:t,action:o=>{const{link:i,text:s,openInNewTab:l}=o;t.chain().extendMarkRange("link").insertContent({type:"text",text:s,marks:[{type:"link",attrs:{href:i,target:l?"_blank":""}}]}).setLink({href:i}).focus().run()},id:"linkk",isActive:()=>t.isActive("link")||!1,disabled:!t.can().setLink({href:""}),icon:"Link",tooltip:n("editor.link.tooltip")}})}},addProseMirrorPlugins(){return[new p.Plugin({props:{handleClick:(e,t)=>{const{schema:n,doc:o,tr:i}=e.state,s=h.getMarkRange(o.resolve(t),n.marks.link);if(!s)return!1;const l=o.resolve(s.from),c=o.resolve(s.to),m=i.setSelection(new p.TextSelection(l,c));e.dispatch(m)}}})]}}),lt=h.HorizontalRule.extend({renderHTML(){return["div",h.mergeAttributes(this.options.HTMLAttributes,{"data-type":this.name}),["hr"]]},addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button:({editor:t,t:n})=>({component:r.ActionButton,componentProps:{action:()=>t.commands.setHorizontalRule(),disabled:!t.can().setHorizontalRule(),icon:"Minus",shortcutKeys:["mod","alt","S"],tooltip:n("editor.horizontalrule.tooltip")}})}},addKeyboardShortcuts(){return{"Mod-Alt-s":()=>this.editor.commands.setHorizontalRule()}}});function ct(e){var u;const{icon:t=void 0,tooltip:n=void 0,customClass:o="",tooltipOptions:i={},action:s=void 0,isActive:l=void 0,children:c}=e,m=r.icons[t];return a.jsxs(r.Tooltip,{children:[a.jsx(r.TooltipTrigger,{asChild:!0,children:a.jsxs(r.Toggle,{size:"sm",className:`w-[32px] h-[32px] ${o}`,disabled:l==null?void 0:l(),onClick:s,children:[m&&a.jsx(m,{className:"w-4 h-4"}),c&&a.jsx(a.Fragment,{children:c})]})}),n&&a.jsx(r.TooltipContent,{...i,children:a.jsxs("div",{className:"flex flex-col items-center text-center max-w-24",children:[a.jsx("div",{children:n}),!!((u=e==null?void 0:e.shortcutKeys)!=null&&u.length)&&a.jsx("span",{children:r.getShortcutKeys(e==null?void 0:e.shortcutKeys)})]})})]})}const dt=["undo","redo"],ut=h.History.extend({addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),depth:100,newGroupDelay:500,button:({editor:t,t:n})=>dt.map(o=>({component:ct,componentProps:{action:()=>{o==="undo"&&t.chain().focus().undo().run(),o==="redo"&&t.chain().focus().redo().run()},shortcutKeys:o==="undo"?["mod","Z"]:["shift","mod","Z"],disabled:o==="undo"?!t.can().undo():!t.can().redo(),isActive:()=>o==="undo"?!t.can().undo():!t.can().redo(),icon:o==="undo"?"Undo2":"Redo2",tooltip:n(`editor.${o}.tooltip`)}}))}}}),mt=h.Document.extend({content:"(block|columns)+"}),ht=h.Extension.create({name:"columnActionButton",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button:({editor:t,t:n})=>({component:r.ActionButton,componentProps:{action:()=>{t.chain().focus().insertColumns({cols:2}).run()},icon:"Columns",tooltip:n("editor.columns.tooltip")}})}}}),gt=h.Extension.create({name:"selection",addProseMirrorPlugins(){const{editor:e}=this;return[new p.Plugin({key:new p.PluginKey("selection"),props:{decorations(t){return t.selection.empty||e.isFocused===!0?null:p.DecorationSet.create(t.doc,[p.Decoration.inline(t.selection.from,t.selection.to,{class:"selection"})])}}})]}});function ft(e){const{t}=w.useLocale(),n=g.useMemo(()=>[{name:"paragraph",label:t("editor.paragraph.tooltip"),iconName:"Heading1",isActive:()=>e.editor.isActive("paragraph")&&!e.editor.isActive("orderedList")&&!e.editor.isActive("bulletList")&&!e.editor.isActive("taskList"),action:()=>e.editor.chain().focus().clearNodes().run()},{name:"heading1",label:t("editor.heading.h1.tooltip"),isActive:()=>e.editor.isActive("heading",{level:1}),iconName:"Heading1",action:()=>e.editor.chain().focus().clearNodes().toggleHeading({level:1}).run()},{name:"heading2",label:t("editor.heading.h2.tooltip"),isActive:()=>e.editor.isActive("heading",{level:2}),iconName:"Heading2",action:()=>e.editor.chain().focus().clearNodes().toggleHeading({level:2}).run()},{name:"heading3",label:t("editor.heading.h3.tooltip"),isActive:()=>e.editor.isActive("heading",{level:3}),iconName:"Heading3",action:()=>e.editor.chain().focus().clearNodes().toggleHeading({level:3}).run()},{name:"bulletList",label:t("editor.bulletlist.tooltip"),isActive:()=>e.editor.isActive("bulletList"),iconName:"List",action:()=>e.editor.chain().focus().clearNodes().toggleBulletList().run()},{name:"numberedList",label:t("editor.orderedlist.tooltip"),isActive:()=>e.editor.isActive("orderedList"),iconName:"ListOrdered",action:()=>e.editor.chain().focus().clearNodes().toggleOrderedList().run()},{name:"taskList",label:t("editor.tasklist.tooltip"),isActive:()=>e.editor.isActive("taskList"),iconName:"ListTodo",action:()=>e.editor.chain().focus().clearNodes().toggleTaskList().run()},{name:"blockquote",label:t("editor.blockquote.tooltip"),isActive:()=>e.editor.isActive("blockquote"),iconName:"TextQuote",action:()=>e.editor.chain().focus().clearNodes().toggleBlockquote().run()},{name:"codeBlock",label:t("editor.codeblock.tooltip"),isActive:()=>e.editor.isActive("codeBlock"),iconName:"Code2",action:()=>e.editor.chain().focus().clearNodes().toggleCodeBlock().run()}],[e.editor,t]),o=g.useMemo(()=>n.findLast(i=>i.isActive())??{label:"Empty"},[n]);return a.jsxs(r.DropdownMenu,{children:[a.jsx(r.DropdownMenuTrigger,{asChild:!0,children:a.jsxs(r.Button,{className:"flex h-[32px] gap-1 px-1.5",variant:"ghost",children:[a.jsxs("span",{className:"whitespace-nowrap text-sm font-normal",children:[" ",o==null?void 0:o.label]}),a.jsx(N.ChevronDown,{className:"size-4"})]})}),a.jsx(r.DropdownMenuContent,{align:"start",className:"w-full p-1",hideWhenDetached:!0,sideOffset:5,children:n.map((i,s)=>{var c;const l=r.icons[i.iconName];return a.jsx(r.DropdownMenuCheckboxItem,{checked:((c=i.isActive)==null?void 0:c.call(i))||!1,className:"cursor-pointer",onClick:()=>i.action(),children:a.jsxs("div",{className:"flex items-center gap-2 px-2",children:[a.jsx(l,{className:"h3 w-3"}),a.jsxs("span",{children:[" ",i.label]})]})},`text-bubble-${s}`)})})]})}const _t=h.Extension.create({name:"text-bubble",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),toolbar:!1,button:()=>({component:ft,componentProps:{}})}}});function ee({types:e,node:t}){return Array.isArray(e)&&e.includes(t.type)||t.type===e}const bt=h.Extension.create({name:"trailingNode",addOptions(){return{node:"paragraph",notAfter:["paragraph"]}},addProseMirrorPlugins(){const e=new p.PluginKey(this.name),t=Object.entries(this.editor.schema.nodes).map(([,n])=>n).filter(n=>this.options.notAfter.includes(n.name));return[new p.Plugin({key:e,appendTransaction:(n,o,i)=>{const{doc:s,tr:l,schema:c}=i,m=e.getState(i),u=s.content.size,d=c.nodes[this.options.node];if(m)return l.insert(u,d.create())},state:{init:(n,o)=>{const i=o.tr.doc.lastChild;return!ee({node:i,types:t})},apply:(n,o)=>{if(!n.docChanged)return o;const i=n.doc.lastChild;return!ee({node:i,types:t})}}})]}}),pt=h.Extension.create({name:"base-kit",addExtensions(){const e=[];return this.options.document!==!1&&e.push(mt.configure()),this.options.placeholder!==!1&&e.push(h.Placeholder.configure({placeholder:({node:t,pos:n,editor:o})=>{var i,s,l,c,m;return((i=t==null?void 0:t.type)==null?void 0:i.name)==="columns"||((s=t==null?void 0:t.content)==null?void 0:s.size)!==0?"":((l=t==null?void 0:t.type)==null?void 0:l.name)==="heading"?`${w.localeActions.t(`editor.heading.h${t.attrs.level}.tooltip`)}`:((c=t==null?void 0:t.type)==null?void 0:c.name)==="codeBlock"||((m=t==null?void 0:t.type)==null?void 0:m.name)==="table"?"":o.extensionManager.extensions.some(u=>u.name==="slashCommand")?w.localeActions.t("editor.slash"):w.localeActions.t("editor.content")},...this.options.placeholder})),this.options.focus!==!1&&e.push(h.FocusClasses.configure({className:"focus",...this.options.focus})),this.options.text!==!1&&e.push(h.Text.configure()),this.options.textBubble!==!1&&e.push(_t.configure()),this.options.gapcursor!==!1&&e.push(h.Gapcursor.configure()),this.options.dropcursor!==!1&&e.push(h.Dropcursor.configure({...this.options.dropcursor,width:2,class:"ProseMirror-dropcursor border-black"})),this.options.characterCount!==!1&&e.push(h.CharacterCount.configure(this.options.characterCount)),this.options.paragraph!==!1&&e.push(h.Paragraph.configure(this.options.paragraph)),this.options.hardBreak!==!1&&e.push(h.HardBreak.configure(this.options.hardBreak)),this.options.listItem!==!1&&e.push(h.ListItem.configure(this.options.listItem)),this.options.textStyle!==!1&&e.push(h.TextStyle.configure(this.options.textStyle)),this.options.trailingNode!==!1&&e.push(bt.configure(this.options.trailingNode)),this.options.selection!==!1&&e.push(gt),this.options.multiColumn!==!1&&e.push(r.Column,r.MultiColumn),e}}),wt=h.Extension.create({name:"subAndSuperScript",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button:({editor:t,extension:n,t:o})=>{const i=n.options.subscript,s=n.options.superscript,l={component:r.ActionButton,componentProps:{action:()=>t.commands.toggleSubscript(),isActive:()=>t.isActive("subscript")||!1,disabled:!t.can().toggleSubscript(),icon:"Subscript",tooltip:o("editor.subscript.tooltip")}},c={component:r.ActionButton,componentProps:{action:()=>t.commands.toggleSuperscript(),isActive:()=>t.isActive("superscript")||!1,disabled:!t.can().toggleSuperscript(),icon:"Superscript",tooltip:o("editor.superscript.tooltip")}},m=[];return i!==!1&&m.push(l),s!==!1&&m.push(c),m}}},addExtensions(){const e=[];return this.options.subscript!==!1&&e.push(h.Subscript.configure(this.options.subscript)),this.options.superscript!==!1&&e.push(h.Superscript.configure(this.options.superscript)),e}});function xt(e){var n;const t=g.useMemo(()=>{var s;const o=(s=e==null?void 0:e.items)==null?void 0:s.find(l=>l.isActive());return o&&!o.default?{...o,icon:o!=null&&o.icon?o==null?void 0:o.icon:e==null?void 0:e.icon}:{title:e.tooltip,icon:e.icon,isActive:()=>!1}},[e]);return a.jsxs(r.DropdownMenu,{children:[a.jsx(r.DropdownMenuTrigger,{asChild:!0,disabled:e==null?void 0:e.disabled,children:a.jsx(r.ActionButton,{customClass:"!w-12 h-12",disabled:e==null?void 0:e.disabled,icon:e==null?void 0:e.icon,tooltip:e==null?void 0:e.tooltip,children:a.jsx(r.MenuDown,{className:"size-3 text-gray-500"})})}),a.jsx(r.DropdownMenuContent,{className:"w-full",children:(n=e==null?void 0:e.items)==null?void 0:n.map((o,i)=>a.jsxs(r.DropdownMenuCheckboxItem,{checked:t.title===o.title,className:"flex items-center gap-3",onClick:o.action,children:[a.jsx(r.IconComponent,{name:o==null?void 0:o.icon}),a.jsx("span",{className:"ml-1",children:o.title}),!!(o!=null&&o.shortcutKeys)&&a.jsx("span",{className:"ml-auto text-xs tracking-widest opacity-60",children:r.getShortcutKeys(o.shortcutKeys)})]},`more-mark-${i}`))})]})}const yt=h.Extension.create({name:"moreMark",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button({editor:t,extension:n,t:o}){const i=n.options.subscript,s=n.options.superscript,l={action:()=>t.commands.toggleSubscript(),isActive:()=>t.isActive("subscript")||!1,disabled:!t.can().toggleSubscript(),icon:"Subscript",title:o("editor.subscript.tooltip"),shortcutKeys:["mod","."]},c={action:()=>t.commands.toggleSuperscript(),isActive:()=>t.isActive("superscript")||!1,disabled:!t.can().toggleSuperscript(),icon:"Superscript",title:o("editor.superscript.tooltip"),shortcutKeys:["mod",","]},m=[];return i!==!1&&m.push(l),s!==!1&&m.push(c),{component:xt,componentProps:{icon:"Type",tooltip:o("editor.moremark"),disabled:!t.isEditable,items:m}}}}},addExtensions(){const e=[];return this.options.subscript!==!1&&e.push(h.Subscript.configure(this.options.subscript)),this.options.superscript!==!1&&e.push(h.Superscript.configure(this.options.superscript)),e}}),kt=h.Extension.create({name:"indent",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),types:["paragraph","heading","blockquote"],minIndent:r.IndentProps.min,maxIndent:r.IndentProps.max,button({editor:t,t:n}){return[{component:r.ActionButton,componentProps:{action:()=>{t.commands.indent()},shortcutKeys:["Tab"],icon:"IndentIncrease",tooltip:n("editor.indent.tooltip")}},{component:r.ActionButton,componentProps:{action:()=>{t.commands.outdent()},shortcutKeys:["Shift","Tab"],icon:"IndentDecrease",tooltip:n("editor.outdent.tooltip")}}]}}},addGlobalAttributes(){return[{types:this.options.types,attributes:{indent:{default:0,parseHTML:e=>{const t=e.dataset.indent;return(t?Number.parseInt(t,10):0)||0},renderHTML:e=>e.indent?{"data-indent":e.indent}:{}}}}]},addCommands(){return{indent:()=>r.createIndentCommand({delta:r.IndentProps.more,types:this.options.types}),outdent:()=>r.createIndentCommand({delta:r.IndentProps.less,types:this.options.types})}},addKeyboardShortcuts(){return{Tab:()=>this.editor.commands.indent(),"Shift-Tab":()=>this.editor.commands.outdent()}}});function vt(e){return Number.parseFloat(e.replace("%",""))/100}function jt(e){const{t}=w.useLocale(),[n,o]=g.useState("default");function i(l){l==="default"?e.editor.commands.unsetLineHeight():e.editor.commands.setLineHeight(l),o(l)}const s=g.useMemo(()=>{const m=e.editor.extensionManager.extensions.find(u=>u.name==="lineHeight").options.lineHeights.map(u=>({label:vt(u),value:u}));return m.unshift({label:t("editor.default"),value:"default"}),m},[e]);return a.jsxs(r.DropdownMenu,{children:[a.jsx(r.DropdownMenuTrigger,{asChild:!0,disabled:e==null?void 0:e.disabled,children:a.jsx(r.ActionButton,{customClass:"!w-12 h-12",disabled:e==null?void 0:e.disabled,icon:"LineHeight",tooltip:e==null?void 0:e.tooltip,children:a.jsx(r.IconComponent,{className:"ml-1 size-3 text-zinc-500",name:"MenuDown"})})}),a.jsx(r.DropdownMenuContent,{className:"min-w-24",children:s==null?void 0:s.map((l,c)=>a.jsx(r.DropdownMenuCheckboxItem,{checked:l.value===n,onClick:()=>i(l.value),children:l.label},`lineHeight-${c}`))})]})}const Ct=["paragraph","heading","list_item","todo_item"];function At(e,t){const{selection:n,doc:o}=e;if(!n||!o||!(n instanceof p.TextSelection||n instanceof p.AllSelection))return e;const{from:i,to:s}=n,l=[],c=t&&t!==w.DEFAULT_LINE_HEIGHT?t:null;if(o.nodesBetween(i,s,(m,u)=>{const d=m.type;return Ct.includes(d.name)?((m.attrs.lineHeight||null)!==c&&l.push({node:m,pos:u,nodeType:d}),d.name!=="list_item"&&d.name!=="todo_item"):!0}),l.length===0)return e;for(const m of l){const{node:u,pos:d,nodeType:f}=m;let{attrs:_}=u;_={..._,lineHeight:c},e=e.setNodeMarkup(d,f,_,u.marks)}return e}function Nt(e){return({state:t,dispatch:n})=>{const{selection:o}=t;let{tr:i}=t;return i=i.setSelection(o),i=At(i,e),i.docChanged?(n&&n(i),!0):!1}}const St=h.Extension.create({name:"lineHeight",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),types:["paragraph","heading","list_item","todo_item"],lineHeights:w.DEFAULT_LINE_HEIGHT_LIST,defaultHeight:w.DEFAULT_LINE_HEIGHT,button({editor:t,t:n}){return{component:jt,componentProps:{editor:t,tooltip:n("editor.lineheight.tooltip")}}}}},addGlobalAttributes(){return[{types:this.options.types,attributes:{lineHeight:{default:null,parseHTML:e=>e.style.lineHeight||this.options.defaultHeight,renderHTML:e=>e.lineHeight===this.options.defaultHeight||!e.lineHeight?{}:{style:`line-height: ${e.lineHeight}`}}}}]},addCommands(){return{setLineHeight:e=>Nt(e),unsetLineHeight:()=>({commands:e})=>this.options.types.every(t=>e.resetAttributes(t,"lineHeight"))}}});function Tt(e,t){var S,E;const[n,o]=g.useState(0),[i,s]=g.useState(0),l=g.useRef(null),{t:c}=w.useLocale(),m=g.useRef([]);g.useImperativeHandle(t,()=>({onKeyDown:u})),g.useEffect(()=>{if(!l.current)return;const x=i*1e3+n,y=m.current[x];y&&y.scrollIntoView({behavior:"smooth",block:"nearest"})},[n,i]);function u({event:x}){return x.key==="ArrowUp"?(d(),!0):x.key==="ArrowDown"?(f(),!0):x.key==="Enter"?(_(),!0):!1}function d(){var C;if(e.items.length===0)return!1;let x=n-1,y=i;x<0&&(y=i-1,x=((C=e.items[y])==null?void 0:C.commands.length)-1||0),y<0&&(y=e.items.length-1,x=e.items[y].commands.length-1),o(x),s(y)}function f(){if(e.items.length===0)return!1;const x=e.items[i].commands;let y=n+1,C=i;x.length-1<y&&(y=0,C=i+1),e.items.length-1<C&&(C=0),o(y),s(C)}function _(){if(e.items.length===0||i===-1||n===-1)return!1;b(i,n)}function b(x,y){const C=e.items[x].commands[y];e.command(C)}function k(x,y){b(x,y)}function v(x,y,C){m.current[x*1e3+y]=C}return a.jsx("div",{className:"mb-8 max-h-[min(80vh,24rem)] flex-wrap overflow-auto rounded-lg !border !border-neutral-200 !bg-white p-1 !text-black shadow-sm dark:!border-neutral-800 dark:!bg-black",ref:l,children:(S=e==null?void 0:e.items)!=null&&S.length?a.jsx("div",{className:"grid min-w-48 grid-cols-1 gap-0.5",children:(E=e==null?void 0:e.items)==null?void 0:E.map((x,y)=>a.jsxs(g.Fragment,{children:[a.jsx("div",{className:"col-[1/-1] mx-2 mt-2 select-none text-[0.65rem] font-semibold uppercase tracking-wider !text-neutral-500 first:mt-0.5",children:x.title}),x.commands.map((C,L)=>a.jsxs("button",{onClick:()=>k(y,L),ref:T=>v(y,L,T),className:r.cn("flex items-center gap-3 px-2 py-1.5 text-sm !text-neutral-800 dark:!text-neutral-200 text-left w-full rounded-sm outline-none transition-colors !bg-transparent hover:!bg-accent ",{"slash-command-active":i===y&&n===L}),children:[C.iconUrl&&a.jsx("img",{alt:"",className:"size-6",src:C.iconUrl}),C.iconName&&a.jsx(r.IconComponent,{className:"!mr-1 !text-lg",name:C.iconName}),C.label]},`command-${L}`))]},`slash-${x.title}`))}):a.jsx("div",{className:"p-3",children:a.jsx("span",{className:"text-xs text-gray-800 dark:text-gray-100",children:c("editor.slash.empty")})})})}const Et=g.forwardRef(Tt),Lt={setOpen:(e,t)=>{r.dispatchEvent(r.EVENTS.UPLOAD_VIDEO(e),t)}};function Mt(e,t){const n=[{name:"format",title:w.localeActions.t("editor.slash.format"),commands:[]},{name:"insert",title:w.localeActions.t("editor.slash.insert"),commands:[]}];return e.forEach(o=>{o.name.toLowerCase()==="heading"&&o.options.levels.forEach(i=>{n[0].commands.push({name:`heading${i}`,label:w.localeActions.t(`editor.heading.h${i}.tooltip`),aliases:[`h${i}`,"bt",`bt${i}`],iconName:`Heading${i}`,action:({editor:s,range:l})=>{s.chain().focus().deleteRange(l).setHeading({level:i}).run()}})}),o.name.toLowerCase()==="bulletlist"&&n[0].commands.push({name:"bulletList",label:w.localeActions.t("editor.bulletlist.tooltip"),aliases:["ul","yxlb"],iconName:"List",action:({editor:i,range:s})=>{i.chain().focus().deleteRange(s).toggleBulletList().run()}}),o.name.toLowerCase()==="orderedlist"&&n[0].commands.push({name:"numberedList",label:w.localeActions.t("editor.orderedlist.tooltip"),aliases:["ol","yxlb"],iconName:"ListOrdered",action:({editor:i,range:s})=>{i.chain().focus().deleteRange(s).toggleOrderedList().run()}}),o.name.toLowerCase()==="tasklist"&&n[0].commands.push({name:"taskList",label:w.localeActions.t("editor.tasklist.tooltip"),iconName:"ListTodo",description:"Task list with todo items",aliases:["todo"],action:({editor:i,range:s})=>{i.chain().focus().deleteRange(s).toggleTaskList().run()}}),o.name.toLowerCase()==="blockquote"&&n[0].commands.push({name:"blockquote",label:w.localeActions.t("editor.blockquote.tooltip"),description:"ๆ’ๅ…ฅๅผ•ๅ…ฅๆ ผๅผ",aliases:["yr"],iconName:"TextQuote",action:({editor:i,range:s})=>{i.chain().focus().deleteRange(s).setBlockquote().run()}}),o.name.toLowerCase()==="codeblock"&&n[0].commands.push({name:"codeBlock",label:w.localeActions.t("editor.codeblock.tooltip"),iconName:"Code2",description:"Code block with syntax highlighting",shouldBeHidden:i=>i.isActive("columns"),action:({editor:i,range:s})=>{i.chain().focus().deleteRange(s).setCodeBlock().run()}}),o.name.toLowerCase()===r.Image.name&&n[1].commands.push({name:"image",label:w.localeActions.t("editor.image.tooltip"),iconName:"ImageUp",description:"Insert a image",aliases:["image","tp","tupian"],shouldBeHidden:i=>i.isActive("columns"),action:({editor:i,range:s})=>{i.chain().focus().deleteRange(s).run(),r.actionDialogImage.setOpen(i.id,!0)}}),o.name.toLowerCase()===r.Video.name&&n[1].commands.push({name:"video",label:w.localeActions.t("editor.video.tooltip"),iconName:"Video",description:"Insert a video",aliases:["video","sp","shipin"],shouldBeHidden:i=>i.isActive("columns"),action:({editor:i,range:s})=>{i.chain().focus().deleteRange(s).run(),Lt.setOpen(i.id,!0)}}),o.name.toLowerCase()==="table"&&n[1].commands.push({name:"table",label:w.localeActions.t("editor.table.tooltip"),iconName:"Table",description:"Insert a table",aliases:["table","bg","biaoge","biao"],shouldBeHidden:i=>i.isActive("columns"),action:({editor:i,range:s})=>{i.chain().focus().deleteRange(s).insertTable({rows:3,cols:3,withHeaderRow:!1}).run()}}),o.name.toLowerCase()==="horizontalrule"&&n[1].commands.push({name:"horizontalRule",label:w.localeActions.t("editor.horizontalrule.tooltip"),iconName:"Minus",description:"Insert a horizontal divider",aliases:["hr","fgx","fg"],action:({editor:i,range:s})=>{i.chain().focus().deleteRange(s).setHorizontalRule().run()}}),o.name.toLowerCase()==="columns"&&n[1].commands.push({name:"columns",label:w.localeActions.t("editor.columns.tooltip"),iconName:"Columns2",description:"Add two column content",action:({editor:i})=>{i.chain().focus().insertColumns({cols:2}).run()}}),t==null||t(o,n)}),n}const I="slashCommand";let j;const Pt=h.Extension.create({name:I,priority:200,onCreate(){j=J("body",{interactive:!0,trigger:"manual",placement:"bottom-start",theme:"slash-command",maxWidth:"16rem",offset:[16,8],popperOptions:{strategy:"fixed",modifiers:[{name:"flip",enabled:!1}]}})},addProseMirrorPlugins(){return[h.Suggestion({editor:this.editor,char:"/",allowSpaces:!0,startOfLine:!0,pluginKey:new p.PluginKey(I),allow:({state:e,range:t})=>{var u,d,f;const n=e.doc.resolve(t.from),o=n.depth===1,i=n.parent.type.name==="paragraph",s=((u=n.parent.textContent)==null?void 0:u.charAt(0))==="/",l=this.editor.isActive("column"),c=(f=n.parent.textContent)==null?void 0:f.slice(Math.max(0,(d=n.parent.textContent)==null?void 0:d.indexOf("/"))),m=!(c!=null&&c.endsWith(" "));return(o&&i&&s||l&&i&&s)&&m},command:({editor:e,range:t,props:n})=>{const{view:o}=e;n.action({editor:e,range:t}),o.focus()},items:({query:e,editor:t})=>Mt(t.extensionManager.extensions,this.options.renderGroupItem).map(l=>({...l,commands:l.commands.filter(c=>{const m=c.label.toLowerCase().trim(),u=e.toLowerCase().trim();if(c.aliases){const d=c.aliases.map(b=>b.toLowerCase().trim()),f=m.match(u),_=d.some(b=>b.match(u));return f||_}return m.match(u)}).filter(c=>c.shouldBeHidden?!c.shouldBeHidden(this.editor):!0)})).filter(l=>l.commands.length>0).map(l=>({...l,commands:l.commands.map(c=>({...c,isEnabled:!0}))})),render:()=>{let e,t=null;return{onStart:n=>{var s;e=new h.ReactRenderer(Et,{props:n,editor:n.editor});const{view:o}=n.editor,i=()=>{if(!n.clientRect)return n.editor.storage[I].rect;const l=n.clientRect();if(!l)return n.editor.storage[I].rect;let c=l.y;if(l.top+e.element.offsetHeight+40>window.innerHeight){const m=l.top+e.element.offsetHeight-window.innerHeight+40;c=l.y-m}return new DOMRect(l.x,c,l.width,l.height)};t=()=>{j==null||j[0].setProps({getReferenceClientRect:i})},(s=o.dom.parentElement)==null||s.addEventListener("scroll",t),j==null||j[0].setProps({getReferenceClientRect:i,appendTo:()=>document.body,content:e.element}),j==null||j[0].show()},onUpdate(n){var l;e.updateProps(n);const{view:o}=n.editor,i=()=>{if(!n.clientRect)return n.editor.storage[I].rect;const c=n.clientRect();return c?new DOMRect(c.x,c.y,c.width,c.height):n.editor.storage[I].rect},s=()=>{j==null||j[0].setProps({getReferenceClientRect:i})};(l=o.dom.parentElement)==null||l.addEventListener("scroll",s),n.editor.storage[I].rect=n.clientRect?i():{width:0,height:0,left:0,top:0,right:0,bottom:0},j==null||j[0].setProps({getReferenceClientRect:i})},onKeyDown(n){var o;return n.event.key==="Escape"?(j==null||j[0].hide(),!0):(j!=null&&j[0].state.isShown||j==null||j[0].show(),(o=e.ref)==null?void 0:o.onKeyDown(n))},onExit(n){var o;if(j==null||j[0].hide(),t){const{view:i}=n.editor;(o=i.dom.parentElement)==null||o.removeEventListener("scroll",t)}e.destroy()}}}})]},addStorage(){return{rect:{width:0,height:0,left:0,top:0,right:0,bottom:0}}}}),Ht=h.Extension.create({name:"painter",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button:({editor:t,t:n})=>({component:r.ActionButton,componentProps:{action:()=>{t.commands.setPainter(t==null?void 0:t.state.selection.$head.marks())},icon:"PaintRoller",tooltip:n("editor.format")}})}},addCommands(){return{setPainter:e=>({view:{dispatch:t,state:{tr:n},dom:o}})=>{const l=`url("data:image/svg+xml;utf8,${encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#000" d="M9 22v-6H4V7q0-1.65 1.175-2.825T8 3h12v13h-5v6zM6 10h12V5h-1v4h-2V5h-1v2h-2V5H8q-.825 0-1.412.588T6 7zm0 4h12v-2H6zm0 0v-2z"/></svg>')}"), auto`;return o.style.cursor=l,t(n.setMeta("painterAction",{type:"start",marks:e})),!0}}},addProseMirrorPlugins(){return[new p.Plugin({key:new p.PluginKey("format-painter"),state:{init:()=>[],apply:(e,t)=>{const n=e.getMeta("painterAction");return n&&n.type==="start"?t=n.marks:n&&n.type==="end"&&(t=[]),t}},props:{handleDOMEvents:{mousedown(e){const t=this.getState(e.state);if(!t||t.length===0)return e.dom.style.cursor="",!1;const n=()=>{document.removeEventListener("mouseup",n);let{dispatch:o,state:{tr:i,selection:s},dom:l}=e;l.style.cursor="",i=i.removeMark(s.from,s.to);for(const c of t)c.type.name!=="link"&&(i=i.addMark(s.from,s.to,c));o(i.setMeta("painterAction",{type:"end"}))};return document.addEventListener("mouseup",n),!0}}}})]}});function Rt({editor:e,...t}){const{t:n}=w.useLocale(),[o,i]=g.useState(-1),[s,l]=g.useState([]),[c,m]=g.useState(""),[u,d]=g.useState(""),[f,_]=g.useState(!1),[b,k]=g.useState(!1);return g.useEffect(()=>{f||(m(""),d(""),i(-1),l([]),e.commands.setSearchTerm(""),e.commands.setReplaceTerm(""))},[e,f]),g.useEffect(()=>{f&&e&&e.commands&&e.commands.setSearchTerm&&e.commands.setSearchTerm(c)},[f,c,e]),g.useEffect(()=>{f&&e&&e.commands&&e.commands.setReplaceTerm&&e.commands.setReplaceTerm(u)},[f,u,e]),g.useEffect(()=>{if(!e)return;const v=e.extensionManager.extensions.find(E=>E.name===me.name);if(!v)return;const S=()=>{if(!f)return;const E=v?v.storage.currentIndex:-1,x=v?v.storage.results:[];i(y=>y!==E?E:y),l(y=>p.deepEqual(y,x)?y:x)};return r.listenEvent(r.EVENTS.SEARCH_REPLCE,S),()=>{v&&r.listenEvent(r.EVENTS.SEARCH_REPLCE,S)}},[f,e]),a.jsxs(r.Popover,{onOpenChange:_,open:f,children:[a.jsx(r.PopoverTrigger,{asChild:!0,disabled:t==null?void 0:t.disabled,children:a.jsx(r.ActionButton,{disabled:t==null?void 0:t.disabled,isActive:t==null?void 0:t.isActive,tooltip:t==null?void 0:t.tooltip,children:a.jsx(r.IconComponent,{name:t==null?void 0:t.icon})})}),a.jsxs(r.PopoverContent,{align:"start",className:"w-full",hideWhenDetached:!0,side:"bottom",children:[a.jsxs("div",{className:"mb-[6px] flex items-center justify-between",children:[a.jsx(r.Label,{children:n("editor.search.dialog.text")}),a.jsx("span",{className:"font-semibold",children:s.length>0?`${o+1}/${s.length}`:"0/0"})]}),a.jsxs("div",{className:"mb-[10px] flex w-full max-w-sm items-center gap-1.5",children:[a.jsx(r.Input,{autoFocus:!0,className:"w-full",onChange:v=>m(v.target.value),placeholder:"Text",required:!0,type:"text",value:c}),a.jsx(r.Button,{className:"flex-1",disabled:s.length===0,onClick:e.commands.goToPrevSearchResult,children:a.jsx(r.IconComponent,{name:"ChevronUp"})}),a.jsx(r.Button,{className:"flex-1",disabled:s.length===0,onClick:e.commands.goToNextSearchResult,children:a.jsx(r.IconComponent,{name:"ChevronDown"})})]}),a.jsx(r.Label,{className:"mb-[6px]",children:n("editor.replace.dialog.text")}),a.jsx("div",{className:"mb-[5px] flex w-full max-w-sm items-center gap-1.5",children:a.jsx("div",{className:"relative w-full max-w-sm items-center",children:a.jsx(r.Input,{className:"w-80",onChange:v=>d(v.target.value),placeholder:"Text",required:!0,type:"text",value:u})})}),a.jsxs("div",{className:"mb-[10px] flex items-center space-x-2",children:[a.jsx(r.Switch,{checked:b,onCheckedChange:v=>{k(v),e.commands.setCaseSensitive(v)}}),a.jsx(r.Label,{children:n("editor.replace.caseSensitive")})]}),a.jsxs("div",{className:"flex items-center gap-[10px]",children:[a.jsx(r.Button,{className:"flex-1",disabled:s.length===0,onClick:e.commands.replace,children:n("editor.replace.dialog.text")}),a.jsx(r.Button,{className:"flex-1",disabled:s.length===0,onClick:e.commands.replaceAll,children:n("editor.replaceAll.dialog.text")})]})]})]})}const F=(e,t)=>t(e.tr);function It(e,t,n){return RegExp(t?e.replace(/[$()*+./?[\\\]^{|}-]/g,String.raw`\$&`):e,n?"gu":"gui")}function zt(e,t,n){const o=[];let i=[];const s=[];let l=0;if(!t)return{decorationsToReturn:[],results:[]};e==null||e.descendants((c,m)=>{c.isText?i[l]?i[l]={text:i[l].text+c.text,pos:i[l].pos}:i[l]={text:`${c.text}`,pos:m}:l+=1}),i=i.filter(Boolean);for(const{text:c,pos:m}of i){const u=[...c.matchAll(t)];for(const d of u){if(d[0]==="")break;d.index!==void 0&&s.push({from:m+d.index,to:m+d.index+d[0].length})}}for(const c of s)o.push(p.Decoration.inline(c.from,c.to,{class:n}));return{decorationsToReturn:o,results:s}}function te(e,t,{state:n,dispatch:o}){if(!t[0])return;const{from:s,to:l}=t[0];o&&o(n.tr.insertText(e,s,l))}function Dt(e,t,n,o){const i=t+1;if(!o[i])return null;const{from:s,to:l}=o[t],c=l-s-e.length+n,{from:m,to:u}=o[i];return o[i]={to:u-c,from:m-c},[c,o]}function Bt(e,t,{tr:n,dispatch:o}){let i=0,s=t.slice();if(s.length===0)return!1;for(let l=0;l<s.length;l+=1){const{from:c,to:m}=s[l];n.insertText(e,c,m);const u=Dt(e,l,i,s);u&&(i=u[0],s=u[1])}return o(n),!0}function ne({view:e,tr:t,searchResults:n,searchResultCurrentClass:o,gotoIndex:i}){const s=n[i];if(s){const l=t.setMeta("directDecoration",{fromPos:s.from,toPos:s.to,attrs:{class:o}});return e==null||e.dispatch(l),setTimeout(()=>{const c=window.document.querySelector(`.${o}`);c&&Y(c,{behavior:"smooth",scrollMode:"if-needed"})},0),!0}return!1}const me=h.Extension.create({name:"search",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),searchTerm:"",replaceTerm:"",results:[],currentIndex:0,searchResultClass:"search-result",searchResultCurrentClass:"search-result-current",caseSensitive:!1,disableRegex:!1,onChange:()=>{},button:({editor:t,t:n})=>({component:Rt,componentProps:{action:()=>{},icon:"SearchAndReplace",tooltip:n("editor.searchAndReplace.tooltip"),isActive:()=>!1,disabled:!1,editor:t}})}},addStorage(){return{results:[],currentIndex:-1}},addCommands(){return{setSearchTerm:e=>({state:t,dispatch:n})=>(this.options.searchTerm=e,this.storage.results=[],this.storage.currentIndex=0,r.dispatchEvent(r.EVENTS.SEARCH_REPLCE),F(t,n),!1),setReplaceTerm:e=>({state:t,dispatch:n})=>(this.options.replaceTerm=e,F(t,n),!1),setCaseSensitive:e=>({state:t,dispatch:n})=>(this.options.caseSensitive=e,F(t,n),!1),replace:()=>({state:e,dispatch:t})=>{const{replaceTerm:n}=this.options,{currentIndex:o,results:i}=this.storage,s=i[o];return s?(te(n,[s],{state:e,dispatch:t}),this.storage.results.splice(o,1)):(te(n,i,{state:e,dispatch:t}),this.storage.results.shift()),r.dispatchEvent(r.EVENTS.SEARCH_REPLCE),F(e,t),!1},replaceAll:()=>({state:e,tr:t,dispatch:n})=>{const{replaceTerm:o}=this.options,{results:i}=this.storage;return Bt(o,i,{tr:t,dispatch:n}),this.storage.currentIndex=-1,this.storage.results=[],r.dispatchEvent(r.EVENTS.SEARCH_REPLCE),F(e,n),!1},goToPrevSearchResult:()=>({view:e,tr:t})=>{const{searchResultCurrentClass:n}=this.options,{currentIndex:o,results:i}=this.storage,s=(o+i.length-1)%i.length;return this.storage.currentIndex=s,r.dispatchEvent(r.EVENTS.SEARCH_REPLCE),ne({view:e,tr:t,searchResults:i,searchResultCurrentClass:n,gotoIndex:s})},goToNextSearchResult:()=>({view:e,tr:t})=>{const{searchResultCurrentClass:n}=this.options,{currentIndex:o,results:i}=this.storage,s=(o+1)%i.length;return this.storage.currentIndex=s,this.options.onChange&&this.options.onChange(),r.dispatchEvent(r.EVENTS.SEARCH_REPLCE),ne({view:e,tr:t,searchResults:i,searchResultCurrentClass:n,gotoIndex:s})}}},addProseMirrorPlugins(){const e=this;return[new p.Plugin({key:new p.PluginKey("search"),state:{init(){return p.DecorationSet.empty},apply(t){const{doc:n,docChanged:o}=t,{searchTerm:i,searchResultClass:s,searchResultCurrentClass:l,disableRegex:c,caseSensitive:m}=e.options;if(o||i){const{decorationsToReturn:u,results:d}=zt(n,It(i,c,m),s);if(e.storage.results=d,e.storage.currentIndex>d.length-1&&(e.storage.currentIndex=0),r.dispatchEvent(r.EVENTS.SEARCH_REPLCE),t.getMeta("directDecoration")){const{fromPos:f,toPos:_,attrs:b}=t.getMeta("directDecoration");u.push(p.Decoration.inline(f,_,b))}else d.length>0&&(u[0]=p.Decoration.inline(d[0].from,d[0].to,{class:l}));return p.DecorationSet.create(n,u)}return p.DecorationSet.empty}},props:{decorations(t){return this.getState(t)}}})]}});function Ot({className:e,...t}){return a.jsx(z.EmojiPicker.Root,{className:r.cn("bg-popover text-popover-foreground isolate flex h-full w-fit flex-col overflow-hidden rounded-md",e),"data-slot":"emoji-picker",...t})}function Ft({className:e,...t}){return a.jsxs("div",{className:r.cn("flex h-9 items-center gap-2 border-b px-3",e),"data-slot":"emoji-picker-search-wrapper",children:[a.jsx(N.SearchIcon,{className:"size-4 shrink-0 opacity-50"}),a.jsx(z.EmojiPicker.Search,{className:"outline-hidden placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm disabled:cursor-not-allowed disabled:opacity-50","data-slot":"emoji-picker-search",...t})]})}function qt({children:e,...t}){return a.jsx("div",{...t,className:"scroll-my-1 px-1","data-slot":"emoji-picker-row",children:e})}function Ut({emoji:e,className:t,...n}){return a.jsx("button",{...n,className:r.cn("data-[active]:bg-accent flex size-7 items-center justify-center rounded-sm text-base",t),"data-slot":"emoji-picker-emoji",children:e.emoji})}function Kt({category:e,...t}){return a.jsx("div",{...t,className:"bg-popover text-muted-foreground px-3 pb-2 pt-3.5 text-xs leading-none","data-slot":"emoji-picker-category-header",children:e.label})}function $t({className:e,...t}){return a.jsxs(z.EmojiPicker.Viewport,{className:r.cn("outline-hidden relative flex-1",e),"data-slot":"emoji-picker-viewport",...t,children:[a.jsx(z.EmojiPicker.Loading,{className:"absolute inset-0 flex items-center justify-center text-muted-foreground","data-slot":"emoji-picker-loading",children:a.jsx(N.LoaderIcon,{className:"size-4 animate-spin"})}),a.jsx(z.EmojiPicker.Empty,{className:"absolute inset-0 flex items-center justify-center text-muted-foreground text-sm","data-slot":"emoji-picker-empty",children:"No emoji found."}),a.jsx(z.EmojiPicker.List,{className:"select-none pb-1",components:{Row:qt,Emoji:Ut,CategoryHeader:Kt},"data-slot":"emoji-picker-list"})]})}function Vt({className:e,...t}){return a.jsx("div",{className:r.cn("max-w-(--frimousse-viewport-width) flex w-full min-w-0 items-center gap-1 border-t p-2",e),"data-slot":"emoji-picker-footer",...t,children:a.jsx(z.EmojiPicker.ActiveEmoji,{children:({emoji:n})=>n?a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"flex size-7 flex-none items-center justify-center text-lg",children:n.emoji}),a.jsx("span",{className:"text-secondary-foreground truncate text-xs",children:n.label})]}):a.jsx("span",{className:"text-muted-foreground ml-1.5 flex h-7 items-center truncate text-xs",children:"Select an emojiโ€ฆ"})})})}function Wt({onSelectEmoji:e,children:t}){return a.jsxs(r.Popover,{modal:!0,children:[a.jsx(r.PopoverTrigger,{asChild:!0,children:t}),a.jsx(r.PopoverContent,{align:"start",className:"size-full p-2",hideWhenDetached:!0,side:"bottom",children:a.jsxs(Ot,{className:"!h-[342px]",onEmojiSelect:({emoji:n})=>{e(n)},children:[a.jsx(Ft,{}),a.jsx($t,{}),a.jsx(Vt,{})]})})]})}function Gt({editor:e,icon:t,...n}){const o=g.useCallback(i=>{const{selection:s}=e.state,{$anchor:l}=s;return e.chain().insertContentAt(l.pos,i).run()},[e]);return a.jsx(Wt,{onSelectEmoji:o,children:a.jsx(r.ActionButton,{icon:t,tooltip:n==null?void 0:n.tooltip})})}const he=g.forwardRef((e,t)=>{const n=g.useRef(null),[o,i]=g.useState(0),{t:s}=w.useLocale(),l=d=>{const f=e.items[d];f&&e.command(f)},c=()=>{i((o+e.items.length-1)%e.items.length)},m=()=>{i((o+1)%e.items.length)},u=()=>{l(o)};return g.useEffect(()=>i(0),[e.items]),g.useEffect(()=>{if(Number.isNaN(o+1))return;const d=n.current.querySelector(`span:nth-of-type(${o+1})`);d&&Y(d,{behavior:"smooth",scrollMode:"if-needed"})},[o]),g.useImperativeHandle(t,()=>({onKeyDown:({event:d})=>d.key==="ArrowUp"?(c(),!0):d.key==="ArrowDown"?(m(),!0):d.key==="Enter"?(u(),!0):!1})),a.jsx("div",{className:"max-h-[320px] w-[200px] overflow-y-auto overflow-x-hidden rounded-sm !border bg-popover p-1 text-popover-foreground shadow-md outline-none",children:a.jsx("div",{ref:n,children:e.items.length>0?e.items.map((d,f)=>a.jsxs("span",{className:p.clsx(" relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors hover:bg-accent focus:bg-accent focus:text-accent-foreground",f===o?"bg-accent":""),onClick:()=>l(f),children:[d.fallbackImage?a.jsx("img",{className:"size-[1em]",src:d.fallbackImage}):d.emoji,":",d.name,":"]},`emoji-list-code-${f}`)):a.jsx("div",{className:"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors",children:a.jsx("span",{children:s("no_result_found")})})})})});he.displayName="EmojiList";const B={100:"๐Ÿ’ฏ",1234:"๐Ÿ”ข",grinning:"๐Ÿ˜€",smiley:"๐Ÿ˜ƒ",smile:"๐Ÿ˜„",grin:"๐Ÿ˜",laughing:"๐Ÿ˜†",satisfied:"๐Ÿ˜†",sweat_smile:"๐Ÿ˜…",rofl:"๐Ÿคฃ",joy:"๐Ÿ˜‚",slightly_smiling_face:"๐Ÿ™‚",upside_down_face:"๐Ÿ™ƒ",wink:"๐Ÿ˜‰",blush:"๐Ÿ˜Š",innocent:"๐Ÿ˜‡",smiling_face_with_three_hearts:"๐Ÿฅฐ",heart_eyes:"๐Ÿ˜",star_struck:"๐Ÿคฉ",kissing_heart:"๐Ÿ˜˜",kissing:"๐Ÿ˜—",relaxed:"โ˜บ๏ธ",kissing_closed_eyes:"๐Ÿ˜š",kissing_smiling_eyes:"๐Ÿ˜™",smiling_face_with_tear:"๐Ÿฅฒ",yum:"๐Ÿ˜‹",stuck_out_tongue:"๐Ÿ˜›",stuck_out_tongue_winking_eye:"๐Ÿ˜œ",zany_face:"๐Ÿคช",stuck_out_tongue_closed_eyes:"๐Ÿ˜",money_mouth_face:"๐Ÿค‘",hugs:"๐Ÿค—",hand_over_mouth:"๐Ÿคญ",shushing_face:"๐Ÿคซ",thinking:"๐Ÿค”",zipper_mouth_face:"๐Ÿค",raised_eyebrow:"๐Ÿคจ",neutral_face:"๐Ÿ˜",expressionless:"๐Ÿ˜‘",no_mouth:"๐Ÿ˜ถ",smirk:"๐Ÿ˜",unamused:"๐Ÿ˜’",roll_eyes:"๐Ÿ™„",grimacing:"๐Ÿ˜ฌ",lying_face:"๐Ÿคฅ",relieved:"๐Ÿ˜Œ",pensive:"๐Ÿ˜”",sleepy:"๐Ÿ˜ช",drooling_face:"๐Ÿคค",sleeping:"๐Ÿ˜ด",mask:"๐Ÿ˜ท",face_with_thermometer:"๐Ÿค’",face_with_head_bandage:"๐Ÿค•",nauseated_face:"๐Ÿคข",vomiting_face:"๐Ÿคฎ",sneezing_face:"๐Ÿคง",hot_face:"๐Ÿฅต",cold_face:"๐Ÿฅถ",woozy_face:"๐Ÿฅด",dizzy_face:"๐Ÿ˜ต",exploding_head:"๐Ÿคฏ",cowboy_hat_face:"๐Ÿค ",partying_face:"๐Ÿฅณ",disguised_face:"๐Ÿฅธ",sunglasses:"๐Ÿ˜Ž",nerd_face:"๐Ÿค“",monocle_face:"๐Ÿง",confused:"๐Ÿ˜•",worried:"๐Ÿ˜Ÿ",slightly_frowning_face:"๐Ÿ™",frowning_face:"โ˜น๏ธ",open_mouth:"๐Ÿ˜ฎ",hushed:"๐Ÿ˜ฏ",astonished:"๐Ÿ˜ฒ",flushed:"๐Ÿ˜ณ",pleading_face:"๐Ÿฅบ",frowning:"๐Ÿ˜ฆ",anguished:"๐Ÿ˜ง",fearful:"๐Ÿ˜จ",cold_sweat:"๐Ÿ˜ฐ",disappointed_relieved:"๐Ÿ˜ฅ",cry:"๐Ÿ˜ข",sob:"๐Ÿ˜ญ",scream:"๐Ÿ˜ฑ",confounded:"๐Ÿ˜–",persevere:"๐Ÿ˜ฃ",disappointed:"๐Ÿ˜ž",sweat:"๐Ÿ˜“",weary:"๐Ÿ˜ฉ",tired_face:"๐Ÿ˜ซ",yawning_face:"๐Ÿฅฑ",triumph:"๐Ÿ˜ค",rage:"๐Ÿ˜ก",pout:"๐Ÿ˜ก",angry:"๐Ÿ˜ ",cursing_face:"๐Ÿคฌ",smiling_imp:"๐Ÿ˜ˆ",imp:"๐Ÿ‘ฟ",skull:"๐Ÿ’€",skull_and_crossbones:"โ˜ ๏ธ",hankey:"๐Ÿ’ฉ",poop:"๐Ÿ’ฉ",shit:"๐Ÿ’ฉ",clown_face:"๐Ÿคก",japanese_ogre:"๐Ÿ‘น",japanese_goblin:"๐Ÿ‘บ",ghost:"๐Ÿ‘ป",alien:"๐Ÿ‘ฝ",space_invader:"๐Ÿ‘พ",robot:"๐Ÿค–",smiley_cat:"๐Ÿ˜บ",smile_cat:"๐Ÿ˜ธ",joy_cat:"๐Ÿ˜น",heart_eyes_cat:"๐Ÿ˜ป",smirk_cat:"๐Ÿ˜ผ",kissing_cat:"๐Ÿ˜ฝ",scream_cat:"๐Ÿ™€",crying_cat_face:"๐Ÿ˜ฟ",pouting_cat:"๐Ÿ˜พ",see_no_evil:"๐Ÿ™ˆ",hear_no_evil:"๐Ÿ™‰",speak_no_evil:"๐Ÿ™Š",kiss:"๐Ÿ’‹",love_letter:"๐Ÿ’Œ",cupid:"๐Ÿ’˜",gift_heart:"๐Ÿ’",sparkling_heart:"๐Ÿ’–",heartpulse:"๐Ÿ’—",heartbeat:"๐Ÿ’“",revolving_hearts:"๐Ÿ’ž",two_hearts:"๐Ÿ’•",heart_decoration:"๐Ÿ’Ÿ",heavy_heart_exclamation:"โฃ๏ธ",broken_heart:"๐Ÿ’”",heart:"โค๏ธ",orange_heart:"๐Ÿงก",yellow_heart:"๐Ÿ’›",green_heart:"๐Ÿ’š",blue_heart:"๐Ÿ’™",purple_heart:"๐Ÿ’œ",brown_heart:"๐ŸคŽ",black_heart:"๐Ÿ–ค",white_heart:"๐Ÿค",anger:"๐Ÿ’ข",boom:"๐Ÿ’ฅ",collision:"๐Ÿ’ฅ",dizzy:"๐Ÿ’ซ",sweat_drops:"๐Ÿ’ฆ",dash:"๐Ÿ’จ",hole:"๐Ÿ•ณ๏ธ",bomb:"๐Ÿ’ฃ",speech_balloon:"๐Ÿ’ฌ",eye_speech_bubble:"๐Ÿ‘๏ธโ€๐Ÿ—จ๏ธ",left_speech_bubble:"๐Ÿ—จ๏ธ",right_anger_bubble:"๐Ÿ—ฏ๏ธ",thought_balloon:"๐Ÿ’ญ",zzz:"๐Ÿ’ค",wave:"๐Ÿ‘‹",raised_back_of_hand:"๐Ÿคš",raised_hand_with_fingers_splayed:"๐Ÿ–๏ธ",hand:"โœ‹",raised_hand:"โœ‹",vulcan_salute:"๐Ÿ––",ok_hand:"๐Ÿ‘Œ",pinched_fingers:"๐ŸคŒ",pinching_hand:"๐Ÿค",v:"โœŒ๏ธ",crossed_fingers:"๐Ÿคž",love_you_gesture:"๐ŸคŸ",metal:"๐Ÿค˜",call_me_hand:"๐Ÿค™",point_left:"๐Ÿ‘ˆ",point_right:"๐Ÿ‘‰",point_up_2:"๐Ÿ‘†",middle_finger:"๐Ÿ–•",fu:"๐Ÿ–•",point_down:"๐Ÿ‘‡",point_up:"โ˜๏ธ","+1":"๐Ÿ‘",thumbsup:"๐Ÿ‘","-1":"๐Ÿ‘Ž",thumbsdown:"๐Ÿ‘Ž",fist_raised:"โœŠ",fist:"โœŠ",fist_oncoming:"๐Ÿ‘Š",facepunch:"๐Ÿ‘Š",punch:"๐Ÿ‘Š",fist_left:"๐Ÿค›",fist_right:"๐Ÿคœ",clap:"๐Ÿ‘",raised_hands:"๐Ÿ™Œ",open_hands:"๐Ÿ‘",palms_up_together:"๐Ÿคฒ",handshake:"๐Ÿค",pray:"๐Ÿ™",writing_hand:"โœ๏ธ",nail_care:"๐Ÿ’…",selfie:"๐Ÿคณ",muscle:"๐Ÿ’ช",mechanical_arm:"๐Ÿฆพ",mechanical_leg:"๐Ÿฆฟ",leg:"๐Ÿฆต",foot:"๐Ÿฆถ",ear:"๐Ÿ‘‚",ear_with_hearing_aid:"๐Ÿฆป",nose:"๐Ÿ‘ƒ",brain:"๐Ÿง ",anatomical_heart:"๐Ÿซ€",lungs:"๐Ÿซ",tooth:"๐Ÿฆท",bone:"๐Ÿฆด",eyes:"๐Ÿ‘€",eye:"๐Ÿ‘๏ธ",tongue:"๐Ÿ‘…",lips:"๐Ÿ‘„",baby:"๐Ÿ‘ถ",child:"๐Ÿง’",boy:"๐Ÿ‘ฆ",girl:"๐Ÿ‘ง",adult:"๐Ÿง‘",blond_haired_person:"๐Ÿ‘ฑ",man:"๐Ÿ‘จ",bearded_person:"๐Ÿง”",red_haired_man:"๐Ÿ‘จโ€๐Ÿฆฐ",curly_haired_man:"๐Ÿ‘จโ€๐Ÿฆฑ",white_haired_man:"๐Ÿ‘จโ€๐Ÿฆณ",bald_man:"๐Ÿ‘จโ€๐Ÿฆฒ",woman:"๐Ÿ‘ฉ",red_haired_woman:"๐Ÿ‘ฉโ€๐Ÿฆฐ",person_red_hair:"๐Ÿง‘โ€๐Ÿฆฐ",curly_haired_woman:"๐Ÿ‘ฉโ€๐Ÿฆฑ",person_curly_hair:"๐Ÿง‘โ€๐Ÿฆฑ",white_haired_woman:"๐Ÿ‘ฉโ€๐Ÿฆณ",person_white_hair:"๐Ÿง‘โ€๐Ÿฆณ",bald_woman:"๐Ÿ‘ฉโ€๐Ÿฆฒ",person_bald:"๐Ÿง‘โ€๐Ÿฆฒ",blond_haired_woman:"๐Ÿ‘ฑโ€โ™€๏ธ",blonde_woman:"๐Ÿ‘ฑโ€โ™€๏ธ",blond_haired_man:"๐Ÿ‘ฑโ€โ™‚๏ธ",older_adult:"๐Ÿง“",older_man:"๐Ÿ‘ด",older_woman:"๐Ÿ‘ต",frowning_person:"๐Ÿ™",frowning_man:"๐Ÿ™โ€โ™‚๏ธ",frowning_woman:"๐Ÿ™โ€โ™€๏ธ",pouting_face:"๐Ÿ™Ž",pouting_man:"๐Ÿ™Žโ€โ™‚๏ธ",pouting_woman:"๐Ÿ™Žโ€โ™€๏ธ",no_good:"๐Ÿ™…",no_good_man:"๐Ÿ™…โ€โ™‚๏ธ",ng_man:"๐Ÿ™…โ€โ™‚๏ธ",no_good_woman:"๐Ÿ™…โ€โ™€๏ธ",ng_woman:"๐Ÿ™…โ€โ™€๏ธ",ok_person:"๐Ÿ™†",ok_man:"๐Ÿ™†โ€โ™‚๏ธ",ok_woman:"๐Ÿ™†โ€โ™€๏ธ",tipping_hand_person:"๐Ÿ’",information_desk_person:"๐Ÿ’",tipping_hand_man:"๐Ÿ’โ€โ™‚๏ธ",sassy_man:"๐Ÿ’โ€โ™‚๏ธ",tipping_hand_woman:"๐Ÿ’โ€โ™€๏ธ",sassy_woman:"๐Ÿ’โ€โ™€๏ธ",raising_hand:"๐Ÿ™‹",raising_hand_man:"๐Ÿ™‹โ€โ™‚๏ธ",raising_hand_woman:"๐Ÿ™‹โ€โ™€๏ธ",deaf_person:"๐Ÿง",deaf_man:"๐Ÿงโ€โ™‚๏ธ",deaf_woman:"๐Ÿงโ€โ™€๏ธ",bow:"๐Ÿ™‡",bowing_man:"๐Ÿ™‡โ€โ™‚๏ธ",bowing_woman:"๐Ÿ™‡โ€โ™€๏ธ",facepalm:"๐Ÿคฆ",man_facepalming:"๐Ÿคฆโ€โ™‚๏ธ",woman_facepalming:"๐Ÿคฆโ€โ™€๏ธ",shrug:"๐Ÿคท",man_shrugging:"๐Ÿคทโ€โ™‚๏ธ",woman_shrugging:"๐Ÿคทโ€โ™€๏ธ",health_worker:"๐Ÿง‘โ€โš•๏ธ",man_health_worker:"๐Ÿ‘จโ€โš•๏ธ",woman_health_worker:"๐Ÿ‘ฉโ€โš•๏ธ",student:"๐Ÿง‘โ€๐ŸŽ“",man_student:"๐Ÿ‘จโ€๐ŸŽ“",woman_student:"๐Ÿ‘ฉโ€๐ŸŽ“",teacher:"๐Ÿง‘โ€๐Ÿซ",man_teacher:"๐Ÿ‘จโ€๐Ÿซ",woman_teacher:"๐Ÿ‘ฉโ€๐Ÿซ",judge:"๐Ÿง‘โ€โš–๏ธ",man_judge:"๐Ÿ‘จโ€โš–๏ธ",woman_judge:"๐Ÿ‘ฉโ€โš–๏ธ",farmer:"๐Ÿง‘โ€๐ŸŒพ",man_farmer:"๐Ÿ‘จโ€๐ŸŒพ",woman_farmer:"๐Ÿ‘ฉโ€๐ŸŒพ",cook:"๐Ÿง‘โ€๐Ÿณ",man_cook:"๐Ÿ‘จโ€๐Ÿณ",woman_cook:"๐Ÿ‘ฉโ€๐Ÿณ",mechanic:"๐Ÿง‘โ€๐Ÿ”ง",man_mechanic:"๐Ÿ‘จโ€๐Ÿ”ง",woman_mechanic:"๐Ÿ‘ฉโ€๐Ÿ”ง",factory_worker:"๐Ÿง‘โ€๐Ÿญ",man_factory_worker:"๐Ÿ‘จโ€๐Ÿญ",woman_factory_worker:"๐Ÿ‘ฉโ€๐Ÿญ",office_worker:"๐Ÿง‘โ€๐Ÿ’ผ",man_office_worker:"๐Ÿ‘จโ€๐Ÿ’ผ",woman_office_worker:"๐Ÿ‘ฉโ€๐Ÿ’ผ",scientist:"๐Ÿง‘โ€๐Ÿ”ฌ",man_scientist:"๐Ÿ‘จโ€๐Ÿ”ฌ",woman_scientist:"๐Ÿ‘ฉโ€๐Ÿ”ฌ",technologist:"๐Ÿง‘โ€๐Ÿ’ป",man_technologist:"๐Ÿ‘จโ€๐Ÿ’ป",woman_technologist:"๐Ÿ‘ฉโ€๐Ÿ’ป",singer:"๐Ÿง‘โ€๐ŸŽค",man_singer:"๐Ÿ‘จโ€๐ŸŽค",woman_singer:"๐Ÿ‘ฉโ€๐ŸŽค",artist:"๐Ÿง‘โ€๐ŸŽจ",man_artist:"๐Ÿ‘จโ€๐ŸŽจ",woman_artist:"๐Ÿ‘ฉโ€๐ŸŽจ",pilot:"๐Ÿง‘โ€โœˆ๏ธ",man_pilot:"๐Ÿ‘จโ€โœˆ๏ธ",woman_pilot:"๐Ÿ‘ฉโ€โœˆ๏ธ",astronaut:"๐Ÿง‘โ€๐Ÿš€",man_astronaut:"๐Ÿ‘จโ€๐Ÿš€",woman_astronaut:"๐Ÿ‘ฉโ€๐Ÿš€",firefighter:"๐Ÿง‘โ€๐Ÿš’",man_firefighter:"๐Ÿ‘จโ€๐Ÿš’",woman_firefighter:"๐Ÿ‘ฉโ€๐Ÿš’",police_officer:"๐Ÿ‘ฎ",cop:"๐Ÿ‘ฎ",policeman:"๐Ÿ‘ฎโ€โ™‚๏ธ",policewoman:"๐Ÿ‘ฎโ€โ™€๏ธ",detective:"๐Ÿ•ต๏ธ",male_detective:"๐Ÿ•ต๏ธโ€โ™‚๏ธ",female_detective:"๐Ÿ•ต๏ธโ€โ™€๏ธ",guard:"๐Ÿ’‚",guardsman:"๐Ÿ’‚โ€โ™‚๏ธ",guardswoman:"๐Ÿ’‚โ€โ™€๏ธ",ninja:"๐Ÿฅท",construction_worker:"๐Ÿ‘ท",construction_worker_man:"๐Ÿ‘ทโ€โ™‚๏ธ",construction_worker_woman:"๐Ÿ‘ทโ€โ™€๏ธ",prince:"๐Ÿคด",princess:"๐Ÿ‘ธ",person_with_turban:"๐Ÿ‘ณ",man_with_turban:"๐Ÿ‘ณโ€โ™‚๏ธ",woman_with_turban:"๐Ÿ‘ณโ€โ™€๏ธ",man_with_gua_pi_mao:"๐Ÿ‘ฒ",woman_with_headscarf:"๐Ÿง•",person_in_tuxedo:"๐Ÿคต",man_in_tuxedo:"๐Ÿคตโ€โ™‚๏ธ",woman_in_tuxedo:"๐Ÿคตโ€โ™€๏ธ",person_with_veil:"๐Ÿ‘ฐ",man_with_veil:"๐Ÿ‘ฐโ€โ™‚๏ธ",woman_with_veil:"๐Ÿ‘ฐโ€โ™€๏ธ",bride_with_veil:"๐Ÿ‘ฐโ€โ™€๏ธ",pregnant_woman:"๐Ÿคฐ",breast_feeding:"๐Ÿคฑ",woman_feeding_baby:"๐Ÿ‘ฉโ€๐Ÿผ",man_feeding_baby:"๐Ÿ‘จโ€๐Ÿผ",person_feeding_baby:"๐Ÿง‘โ€๐Ÿผ",angel:"๐Ÿ‘ผ",santa:"๐ŸŽ…",mrs_claus:"๐Ÿคถ",mx_claus:"๐Ÿง‘โ€๐ŸŽ„",superhero:"๐Ÿฆธ",superhero_man:"๐Ÿฆธโ€โ™‚๏ธ",superhero_woman:"๐Ÿฆธโ€โ™€๏ธ",supervillain:"๐Ÿฆน",supervillain_man:"๐Ÿฆนโ€โ™‚๏ธ",supervillain_woman:"๐Ÿฆนโ€โ™€๏ธ",mage:"๐Ÿง™",mage_man:"๐Ÿง™โ€โ™‚๏ธ",mage_woman:"๐Ÿง™โ€โ™€๏ธ",fairy:"๐Ÿงš",fairy_man:"๐Ÿงšโ€โ™‚๏ธ",fairy_woman:"๐Ÿงšโ€โ™€๏ธ",vampire:"๐Ÿง›",vampire_man:"๐Ÿง›โ€โ™‚๏ธ",vampire_woman:"๐Ÿง›โ€โ™€๏ธ",merperson:"๐Ÿงœ",merman:"๐Ÿงœโ€โ™‚๏ธ",mermaid:"๐Ÿงœโ€โ™€๏ธ",elf:"๐Ÿง",elf_man:"๐Ÿงโ€โ™‚๏ธ",elf_woman:"๐Ÿงโ€โ™€๏ธ",genie:"๐Ÿงž",genie_man:"๐Ÿงžโ€โ™‚๏ธ",genie_woman:"๐Ÿงžโ€โ™€๏ธ",zombie:"๐ŸงŸ",zombie_man:"๐ŸงŸโ€โ™‚๏ธ",zombie_woman:"๐ŸงŸโ€โ™€๏ธ",massage:"๐Ÿ’†",massage_man:"๐Ÿ’†โ€โ™‚๏ธ",massage_woman:"๐Ÿ’†โ€โ™€๏ธ",haircut:"๐Ÿ’‡",haircut_man:"๐Ÿ’‡โ€โ™‚๏ธ",haircut_woman:"๐Ÿ’‡โ€โ™€๏ธ",walking:"๐Ÿšถ",walking_man:"๐Ÿšถโ€โ™‚๏ธ",walking_woman:"๐Ÿšถโ€โ™€๏ธ",standing_person:"๐Ÿง",standing_man:"๐Ÿงโ€โ™‚๏ธ",standing_woman:"๐Ÿงโ€โ™€๏ธ",kneeling_person:"๐ŸงŽ",kneeling_man:"๐ŸงŽโ€โ™‚๏ธ",kneeling_woman:"๐ŸงŽโ€โ™€๏ธ",person_with_probing_cane:"๐Ÿง‘โ€๐Ÿฆฏ",man_with_probing_cane:"๐Ÿ‘จโ€๐Ÿฆฏ",woman_with_probing_cane:"๐Ÿ‘ฉโ€๐Ÿฆฏ",person_in_motorized_wheelchair:"๐Ÿง‘โ€๐Ÿฆผ",man_in_motorized_wheelchair:"๐Ÿ‘จโ€๐Ÿฆผ",woman_in_motorized_wheelchair:"๐Ÿ‘ฉโ€๐Ÿฆผ",person_in_manual_wheelchair:"๐Ÿง‘โ€๐Ÿฆฝ",man_in_manual_wheelchair:"๐Ÿ‘จโ€๐Ÿฆฝ",woman_in_manual_wheelchair:"๐Ÿ‘ฉโ€๐Ÿฆฝ",runner:"๐Ÿƒ",running:"๐Ÿƒ",running_man:"๐Ÿƒโ€โ™‚๏ธ",running_woman:"๐Ÿƒโ€โ™€๏ธ",woman_dancing:"๐Ÿ’ƒ",dancer:"๐Ÿ’ƒ",man_dancing:"๐Ÿ•บ",business_suit_levitating:"๐Ÿ•ด๏ธ",dancers:"๐Ÿ‘ฏ",dancing_men:"๐Ÿ‘ฏโ€โ™‚๏ธ",dancing_women:"๐Ÿ‘ฏโ€โ™€๏ธ",sauna_person:"๐Ÿง–",sauna_man:"๐Ÿง–โ€โ™‚๏ธ",sauna_woman:"๐Ÿง–โ€โ™€๏ธ",climbing:"๐Ÿง—",climbing_man:"๐Ÿง—โ€โ™‚๏ธ",climbing_woman:"๐Ÿง—โ€โ™€๏ธ",person_fencing:"๐Ÿคบ",horse_racing:"๐Ÿ‡",skier:"โ›ท๏ธ",snowboarder:"๐Ÿ‚",golfing:"๐ŸŒ๏ธ",golfing_man:"๐ŸŒ๏ธโ€โ™‚๏ธ",golfing_woman:"๐ŸŒ๏ธโ€โ™€๏ธ",surfer:"๐Ÿ„",surfing_man:"๐Ÿ„โ€โ™‚๏ธ",surfing_woman:"๐Ÿ„โ€โ™€๏ธ",rowboat:"๐Ÿšฃ",rowing_man:"๐Ÿšฃโ€โ™‚๏ธ",rowing_woman:"๐Ÿšฃโ€โ™€๏ธ",swimmer:"๐ŸŠ",swimming_man:"๐ŸŠโ€โ™‚๏ธ",swimming_woman:"๐ŸŠโ€โ™€๏ธ",bouncing_ball_person:"โ›น๏ธ",bouncing_ball_man:"โ›น๏ธโ€โ™‚๏ธ",basketball_man:"โ›น๏ธโ€โ™‚๏ธ",bouncing_ball_woman:"โ›น๏ธโ€โ™€๏ธ",basketball_woman:"โ›น๏ธโ€โ™€๏ธ",weight_lifting:"๐Ÿ‹๏ธ",weight_lifting_man:"๐Ÿ‹๏ธโ€โ™‚๏ธ",weight_lifting_woman:"๐Ÿ‹๏ธโ€โ™€๏ธ",bicyclist:"๐Ÿšด",biking_man:"๐Ÿšดโ€โ™‚๏ธ",biking_woman:"๐Ÿšดโ€โ™€๏ธ",mountain_bicyclist:"๐Ÿšต",mountain_biking_man:"๐Ÿšตโ€โ™‚๏ธ",mountain_biking_woman:"๐Ÿšตโ€โ™€๏ธ",cartwheeling:"๐Ÿคธ",man_cartwheeling:"๐Ÿคธโ€โ™‚๏ธ",woman_cartwheeling:"๐Ÿคธโ€โ™€๏ธ",wrestling:"๐Ÿคผ",men_wrestling:"๐Ÿคผโ€โ™‚๏ธ",women_wrestling:"๐Ÿคผโ€โ™€๏ธ",water_polo:"๐Ÿคฝ",man_playing_water_polo:"๐Ÿคฝโ€โ™‚๏ธ",woman_playing_water_polo:"๐Ÿคฝโ€โ™€๏ธ",handball_person:"๐Ÿคพ",man_playing_handball:"๐Ÿคพโ€โ™‚๏ธ",woman_playing_handball:"๐Ÿคพโ€โ™€๏ธ",juggling_person:"๐Ÿคน",man_juggling:"๐Ÿคนโ€โ™‚๏ธ",woman_juggling:"๐Ÿคนโ€โ™€๏ธ",lotus_position:"๐Ÿง˜",lotus_position_man:"๐Ÿง˜โ€โ™‚๏ธ",lotus_position_woman:"๐Ÿง˜โ€โ™€๏ธ",bath:"๐Ÿ›€",sleeping_bed:"๐Ÿ›Œ",people_holding_hands:"๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘",two_women_holding_hands:"๐Ÿ‘ญ",couple:"๐Ÿ‘ซ",two_men_holding_hands:"๐Ÿ‘ฌ",couplekiss:"๐Ÿ’",couplekiss_man_woman:"๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ",couplekiss_man_man:"๐Ÿ‘จโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ",couplekiss_woman_woman:"๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ",couple_with_heart:"๐Ÿ’‘",couple_with_heart_woman_man:"๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ‘จ",couple_with_heart_man_man:"๐Ÿ‘จโ€โค๏ธโ€๐Ÿ‘จ",couple_with_heart_woman_woman:"๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ‘ฉ",family:"๐Ÿ‘ช",family_man_woman_boy:"๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆ",family_man_woman_girl:"๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ง",family_man_woman_girl_boy:"๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ",family_man_woman_boy_boy:"๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ",family_man_woman_girl_girl:"๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง",family_man_man_boy:"๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ฆ",family_man_man_girl:"๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ง",family_man_man_girl_boy:"๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ฆ",family_man_man_boy_boy:"๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ",family_man_man_girl_girl:"๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ง",family_woman_woman_boy:"๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆ",family_woman_woman_girl:"๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ง",family_woman_woman_girl_boy:"๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ",family_woman_woman_boy_boy:"๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ",family_woman_woman_girl_girl:"๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง",family_man_boy:"๐Ÿ‘จโ€๐Ÿ‘ฆ",family_man_boy_boy:"๐Ÿ‘จโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ",family_man_girl:"๐Ÿ‘จโ€๐Ÿ‘ง",family_man_girl_boy:"๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ฆ",family_man_girl_girl:"๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ง",family_woman_boy:"๐Ÿ‘ฉโ€๐Ÿ‘ฆ",family_woman_boy_boy:"๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ",family_woman_girl:"๐Ÿ‘ฉโ€๐Ÿ‘ง",family_woman_girl_boy:"๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ",family_woman_girl_girl:"๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง",speaking_head:"๐Ÿ—ฃ๏ธ",bust_in_silhouette:"๐Ÿ‘ค",busts_in_silhouette:"๐Ÿ‘ฅ",people_hugging:"๐Ÿซ‚",footprints:"๐Ÿ‘ฃ",monkey_face:"๐Ÿต",monkey:"๐Ÿ’",gorilla:"๐Ÿฆ",orangutan:"๐Ÿฆง",dog:"๐Ÿถ",dog2:"๐Ÿ•",guide_dog:"๐Ÿฆฎ",service_dog:"๐Ÿ•โ€๐Ÿฆบ",poodle:"๐Ÿฉ",wolf:"๐Ÿบ",fox_face:"๐ŸฆŠ",raccoon:"๐Ÿฆ",cat:"๐Ÿฑ",cat2:"๐Ÿˆ",black_cat:"๐Ÿˆโ€โฌ›",lion:"๐Ÿฆ",tiger:"๐Ÿฏ",tiger2:"๐Ÿ…",leopard:"๐Ÿ†",horse:"๐Ÿด",racehorse:"๐ŸŽ",unicorn:"๐Ÿฆ„",zebra:"๐Ÿฆ“",deer:"๐ŸฆŒ",bison:"๐Ÿฆฌ",cow:"๐Ÿฎ",ox:"๐Ÿ‚",water_buffalo:"๐Ÿƒ",cow2:"๐Ÿ„",pig:"๐Ÿท",pig2:"๐Ÿ–",boar:"๐Ÿ—",pig_nose:"๐Ÿฝ",ram:"๐Ÿ",sheep:"๐Ÿ‘",goat:"๐Ÿ",dromedary_camel:"๐Ÿช",camel:"๐Ÿซ",llama:"๐Ÿฆ™",giraffe:"๐Ÿฆ’",elephant:"๐Ÿ˜",mammoth:"๐Ÿฆฃ",rhinoceros:"๐Ÿฆ",hippopotamus:"๐Ÿฆ›",mouse:"๐Ÿญ",mouse2:"๐Ÿ",rat:"๐Ÿ€",hamster:"๐Ÿน",rabbit:"๐Ÿฐ",rabbit2:"๐Ÿ‡",chipmunk:"๐Ÿฟ๏ธ",beaver:"๐Ÿฆซ",hedgehog:"๐Ÿฆ”",bat:"๐Ÿฆ‡",bear:"๐Ÿป",polar_bear:"๐Ÿปโ€โ„๏ธ",koala:"๐Ÿจ",panda_face:"๐Ÿผ",sloth:"๐Ÿฆฅ",otter:"๐Ÿฆฆ",skunk:"๐Ÿฆจ",kangaroo:"๐Ÿฆ˜",badger:"๐Ÿฆก",feet:"๐Ÿพ",paw_prints:"๐Ÿพ",turkey:"๐Ÿฆƒ",chicken:"๐Ÿ”",rooster:"๐Ÿ“",hatching_chick:"๐Ÿฃ",baby_chick:"๐Ÿค",hatched_chick:"๐Ÿฅ",bird:"๐Ÿฆ",penguin:"๐Ÿง",dove:"๐Ÿ•Š๏ธ",eagle:"๐Ÿฆ…",duck:"๐Ÿฆ†",swan:"๐Ÿฆข",owl:"๐Ÿฆ‰",dodo:"๐Ÿฆค",feather:"๐Ÿชถ",flamingo:"๐Ÿฆฉ",peacock:"๐Ÿฆš",parrot:"๐Ÿฆœ",frog:"๐Ÿธ",crocodile:"๐ŸŠ",turtle:"๐Ÿข",lizard:"๐ŸฆŽ",snake:"๐Ÿ",dragon_face:"๐Ÿฒ",dragon:"๐Ÿ‰",sauropod:"๐Ÿฆ•","t-rex":"๐Ÿฆ–",whale:"๐Ÿณ",whale2:"๐Ÿ‹",dolphin:"๐Ÿฌ",flipper:"๐Ÿฌ",seal:"๐Ÿฆญ",fish:"๐ŸŸ",tropical_fish:"๐Ÿ ",blowfish:"๐Ÿก",shark:"๐Ÿฆˆ",octopus:"๐Ÿ™",shell:"๐Ÿš",snail:"๐ŸŒ",butterfly:"๐Ÿฆ‹",bug:"๐Ÿ›",ant:"๐Ÿœ",bee:"๐Ÿ",honeybee:"๐Ÿ",beetle:"๐Ÿชฒ",lady_beetle:"๐Ÿž",cricket:"๐Ÿฆ—",cockroach:"๐Ÿชณ",spider:"๐Ÿ•ท๏ธ",spider_web:"๐Ÿ•ธ๏ธ",scorpion:"๐Ÿฆ‚",mosquito:"๐ŸฆŸ",fly:"๐Ÿชฐ",worm:"๐Ÿชฑ",microbe:"๐Ÿฆ ",bouquet:"๐Ÿ’",cherry_blossom:"๐ŸŒธ",white_flower:"๐Ÿ’ฎ",rosette:"๐Ÿต๏ธ",rose:"๐ŸŒน",wilted_flower:"๐Ÿฅ€",hibiscus:"๐ŸŒบ",sunflower:"๐ŸŒป",blossom:"๐ŸŒผ",tulip:"๐ŸŒท",seedling:"๐ŸŒฑ",potted_plant:"๐Ÿชด",evergreen_tree:"๐ŸŒฒ",deciduous_tree:"๐ŸŒณ",palm_tree:"๐ŸŒด",cactus:"๐ŸŒต",ear_of_rice:"๐ŸŒพ",herb:"๐ŸŒฟ",shamrock:"โ˜˜๏ธ",four_leaf_clover:"๐Ÿ€",maple_leaf:"๐Ÿ",fallen_leaf:"๐Ÿ‚",leaves:"๐Ÿƒ",grapes:"๐Ÿ‡",melon:"๐Ÿˆ",watermelon:"๐Ÿ‰",tangerine:"๐ŸŠ",orange:"๐ŸŠ",mandarin:"๐ŸŠ",lemon:"๐Ÿ‹",banana:"๐ŸŒ",pineapple:"๐Ÿ",mango:"๐Ÿฅญ",apple:"๐ŸŽ",green_apple:"๐Ÿ",pear:"๐Ÿ",peach:"๐Ÿ‘",cherries:"๐Ÿ’",strawberry:"๐Ÿ“",blueberries:"๐Ÿซ",kiwi_fruit:"๐Ÿฅ",tomato:"๐Ÿ…",olive:"๐Ÿซ’",coconut:"๐Ÿฅฅ",avocado:"๐Ÿฅ‘",eggplant:"๐Ÿ†",potato:"๐Ÿฅ”",carrot:"๐Ÿฅ•",corn:"๐ŸŒฝ",hot_pepper:"๐ŸŒถ๏ธ",bell_pepper:"๐Ÿซ‘",cucumber:"๐Ÿฅ’",leafy_green:"๐Ÿฅฌ",broccoli:"๐Ÿฅฆ",garlic:"๐Ÿง„",onion:"๐Ÿง…",mushroom:"๐Ÿ„",peanuts:"๐Ÿฅœ",chestnut:"๐ŸŒฐ",bread:"๐Ÿž",croissant:"๐Ÿฅ",baguette_bread:"๐Ÿฅ–",flatbread:"๐Ÿซ“",pretzel:"๐Ÿฅจ",bagel:"๐Ÿฅฏ",pancakes:"๐Ÿฅž",waffle:"๐Ÿง‡",cheese:"๐Ÿง€",meat_on_bone:"๐Ÿ–",poultry_leg:"๐Ÿ—",cut_of_meat:"๐Ÿฅฉ",bacon:"๐Ÿฅ“",hamburger:"๐Ÿ”",fries:"๐ŸŸ",pizza:"๐Ÿ•",hotdog:"๐ŸŒญ",sandwich:"๐Ÿฅช",taco:"๐ŸŒฎ",burrito:"๐ŸŒฏ",tamale:"๐Ÿซ”",stuffed_flatbread:"๐Ÿฅ™",falafel:"๐Ÿง†",egg:"๐Ÿฅš",fried_egg:"๐Ÿณ",shallow_pan_of_food:"๐Ÿฅ˜",stew:"๐Ÿฒ",fondue:"๐Ÿซ•",bowl_with_spoon:"๐Ÿฅฃ",green_salad:"๐Ÿฅ—",popcorn:"๐Ÿฟ",butter:"๐Ÿงˆ",salt:"๐Ÿง‚",canned_food:"๐Ÿฅซ",bento:"๐Ÿฑ",rice_cracker:"๐Ÿ˜",rice_ball:"๐Ÿ™",rice:"๐Ÿš",curry:"๐Ÿ›",ramen:"๐Ÿœ",spaghetti:"๐Ÿ",sweet_potato:"๐Ÿ ",oden:"๐Ÿข",sushi:"๐Ÿฃ",fried_shrimp:"๐Ÿค",fish_cake:"๐Ÿฅ",moon_cake:"๐Ÿฅฎ",dango:"๐Ÿก",dumpling:"๐ŸฅŸ",fortune_cookie:"๐Ÿฅ ",takeout_box:"๐Ÿฅก",crab:"๐Ÿฆ€",lobster:"๐Ÿฆž",shrimp:"๐Ÿฆ",squid:"๐Ÿฆ‘",oyster:"๐Ÿฆช",icecream:"๐Ÿฆ",shaved_ice:"๐Ÿง",ice_cream:"๐Ÿจ",doughnut:"๐Ÿฉ",cookie:"๐Ÿช",birthday:"๐ŸŽ‚",cake:"๐Ÿฐ",cupcake:"๐Ÿง",pie:"๐Ÿฅง",chocolate_bar:"๐Ÿซ",candy:"๐Ÿฌ",lollipop:"๐Ÿญ",custard:"๐Ÿฎ",honey_pot:"๐Ÿฏ",baby_bottle:"๐Ÿผ",milk_glass:"๐Ÿฅ›",coffee:"โ˜•",teapot:"๐Ÿซ–",tea:"๐Ÿต",sake:"๐Ÿถ",champagne:"๐Ÿพ",wine_glass:"๐Ÿท",cocktail:"๐Ÿธ",tropical_drink:"๐Ÿน",beer:"๐Ÿบ",beers:"๐Ÿป",clinking_glasses:"๐Ÿฅ‚",tumbler_glass:"๐Ÿฅƒ",cup_with_straw:"๐Ÿฅค",bubble_tea:"๐Ÿง‹",beverage_box:"๐Ÿงƒ",mate:"๐Ÿง‰",ice_cube:"๐ŸงŠ",chopsticks:"๐Ÿฅข",plate_with_cutlery:"๐Ÿฝ๏ธ",fork_and_knife:"๐Ÿด",spoon:"๐Ÿฅ„",hocho:"๐Ÿ”ช",knife:"๐Ÿ”ช",amphora:"๐Ÿบ",earth_africa:"๐ŸŒ",earth_americas:"๐ŸŒŽ",earth_asia:"๐ŸŒ",globe_with_meridians:"๐ŸŒ",world_map:"๐Ÿ—บ๏ธ",japan:"๐Ÿ—พ",compass:"๐Ÿงญ",mountain_snow:"๐Ÿ”๏ธ",mountain:"โ›ฐ๏ธ",volcano:"๐ŸŒ‹",mount_fuji:"๐Ÿ—ป",camping:"๐Ÿ•๏ธ",beach_umbrella:"๐Ÿ–๏ธ",desert:"๐Ÿœ๏ธ",desert_island:"๐Ÿ๏ธ",national_park:"๐Ÿž๏ธ",stadium:"๐ŸŸ๏ธ",classical_building:"๐Ÿ›๏ธ",building_construction:"๐Ÿ—๏ธ",bricks:"๐Ÿงฑ",rock:"๐Ÿชจ",wood:"๐Ÿชต",hut:"๐Ÿ›–",houses:"๐Ÿ˜๏ธ",derelict_house:"๐Ÿš๏ธ",house:"๐Ÿ ",house_with_garden:"๐Ÿก",office:"๐Ÿข",post_office:"๐Ÿฃ",european_post_office:"๐Ÿค",hospital:"๐Ÿฅ",bank:"๐Ÿฆ",hotel:"๐Ÿจ",love_hotel:"๐Ÿฉ",convenience_store:"๐Ÿช",school:"๐Ÿซ",department_store:"๐Ÿฌ",factory:"๐Ÿญ",japanese_castle:"๐Ÿฏ",european_castle:"๐Ÿฐ",wedding:"๐Ÿ’’",tokyo_tower:"๐Ÿ—ผ",statue_of_liberty:"๐Ÿ—ฝ",church:"โ›ช",mosque:"๐Ÿ•Œ",hindu_temple:"๐Ÿ›•",synagogue:"๐Ÿ•",shinto_shrine:"โ›ฉ๏ธ",kaaba:"๐Ÿ•‹",fountain:"โ›ฒ",tent:"โ›บ",foggy:"๐ŸŒ",night_with_stars:"๐ŸŒƒ",cityscape:"๐Ÿ™๏ธ",sunrise_over_mountains:"๐ŸŒ„",sunrise:"๐ŸŒ…",city_sunset:"๐ŸŒ†",city_sunrise:"๐ŸŒ‡",bridge_at_night:"๐ŸŒ‰",hotsprings:"โ™จ๏ธ",carousel_horse:"๐ŸŽ ",ferris_wheel:"๐ŸŽก",roller_coaster:"๐ŸŽข",barber:"๐Ÿ’ˆ",circus_tent:"๐ŸŽช",steam_locomotive:"๐Ÿš‚",railway_car:"๐Ÿšƒ",bullettrain_side:"๐Ÿš„",bullettrain_front:"๐Ÿš…",train2:"๐Ÿš†",metro:"๐Ÿš‡",light_rail:"๐Ÿšˆ",station:"๐Ÿš‰",tram:"๐ŸšŠ",monorail:"๐Ÿš",mountain_railway:"๐Ÿšž",train:"๐Ÿš‹",bus:"๐ŸšŒ",oncoming_bus:"๐Ÿš",trolleybus:"๐ŸšŽ",minibus:"๐Ÿš",ambulance:"๐Ÿš‘",fire_engine:"๐Ÿš’",police_car:"๐Ÿš“",oncoming_police_car:"๐Ÿš”",taxi:"๐Ÿš•",oncoming_taxi:"๐Ÿš–",car:"๐Ÿš—",red_car:"๐Ÿš—",oncoming_automobile:"๐Ÿš˜",blue_car:"๐Ÿš™",pickup_truck:"๐Ÿ›ป",truck:"๐Ÿšš",articulated_lorry:"๐Ÿš›",tractor:"๐Ÿšœ",racing_car:"๐ŸŽ๏ธ",motorcycle:"๐Ÿ๏ธ",motor_scooter:"๐Ÿ›ต",manual_wheelchair:"๐Ÿฆฝ",motorized_wheelchair:"๐Ÿฆผ",auto_rickshaw:"๐Ÿ›บ",bike:"๐Ÿšฒ",kick_scooter:"๐Ÿ›ด",skateboard:"๐Ÿ›น",roller_skate:"๐Ÿ›ผ",busstop:"๐Ÿš",motorway:"๐Ÿ›ฃ๏ธ",railway_track:"๐Ÿ›ค๏ธ",oil_drum:"๐Ÿ›ข๏ธ",fuelpump:"โ›ฝ",rotating_light:"๐Ÿšจ",traffic_light:"๐Ÿšฅ",vertical_traffic_light:"๐Ÿšฆ",stop_sign:"๐Ÿ›‘",construction:"๐Ÿšง",anchor:"โš“",boat:"โ›ต",sailboat:"โ›ต",canoe:"๐Ÿ›ถ",speedboat:"๐Ÿšค",passenger_ship:"๐Ÿ›ณ๏ธ",ferry:"โ›ด๏ธ",motor_boat:"๐Ÿ›ฅ๏ธ",ship:"๐Ÿšข",airplane:"โœˆ๏ธ",small_airplane:"๐Ÿ›ฉ๏ธ",flight_departure:"๐Ÿ›ซ",flight_arrival:"๐Ÿ›ฌ",parachute:"๐Ÿช‚",seat:"๐Ÿ’บ",helicopter:"๐Ÿš",suspension_railway:"๐ŸšŸ",mountain_cableway:"๐Ÿš ",aerial_tramway:"๐Ÿšก",artificial_satellite:"๐Ÿ›ฐ๏ธ",rocket:"๐Ÿš€",flying_saucer:"๐Ÿ›ธ",bellhop_bell:"๐Ÿ›Ž๏ธ",luggage:"๐Ÿงณ",hourglass:"โŒ›",hourglass_flowing_sand:"โณ",watch:"โŒš",alarm_clock:"โฐ",stopwatch:"โฑ๏ธ",timer_clock:"โฒ๏ธ",mantelpiece_clock:"๐Ÿ•ฐ๏ธ",clock12:"๐Ÿ•›",clock1230:"๐Ÿ•ง",clock1:"๐Ÿ•",clock130:"๐Ÿ•œ",clock2:"๐Ÿ•‘",clock230:"๐Ÿ•",clock3:"๐Ÿ•’",clock330:"๐Ÿ•ž",clock4:"๐Ÿ•“",clock430:"๐Ÿ•Ÿ",clock5:"๐Ÿ•”",clock530:"๐Ÿ• ",clock6:"๐Ÿ••",clock630:"๐Ÿ•ก",clock7:"๐Ÿ•–",clock730:"๐Ÿ•ข",clock8:"๐Ÿ•—",clock830:"๐Ÿ•ฃ",clock9:"๐Ÿ•˜",clock930:"๐Ÿ•ค",clock10:"๐Ÿ•™",clock1030:"๐Ÿ•ฅ",clock11:"๐Ÿ•š",clock1130:"๐Ÿ•ฆ",new_moon:"๐ŸŒ‘",waxing_crescent_moon:"๐ŸŒ’",first_quarter_moon:"๐ŸŒ“",moon:"๐ŸŒ”",waxing_gibbous_moon:"๐ŸŒ”",full_moon:"๐ŸŒ•",waning_gibbous_moon:"๐ŸŒ–",last_quarter_moon:"๐ŸŒ—",waning_crescent_moon:"๐ŸŒ˜",crescent_moon:"๐ŸŒ™",new_moon_with_face:"๐ŸŒš",first_quarter_moon_with_face:"๐ŸŒ›",last_quarter_moon_with_face:"๐ŸŒœ",thermometer:"๐ŸŒก๏ธ",sunny:"โ˜€๏ธ",full_moon_with_face:"๐ŸŒ",sun_with_face:"๐ŸŒž",ringed_planet:"๐Ÿช",star:"โญ",star2:"๐ŸŒŸ",stars:"๐ŸŒ ",milky_way:"๐ŸŒŒ",cloud:"โ˜๏ธ",partly_sunny:"โ›…",cloud_with_lightning_and_rain:"โ›ˆ๏ธ",sun_behind_small_cloud:"๐ŸŒค๏ธ",sun_behind_large_cloud:"๐ŸŒฅ๏ธ",sun_behind_rain_cloud:"๐ŸŒฆ๏ธ",cloud_with_rain:"๐ŸŒง๏ธ",cloud_with_snow:"๐ŸŒจ๏ธ",cloud_with_lightning:"๐ŸŒฉ๏ธ",tornado:"๐ŸŒช๏ธ",fog:"๐ŸŒซ๏ธ",wind_face:"๐ŸŒฌ๏ธ",cyclone:"๐ŸŒ€",rainbow:"๐ŸŒˆ",closed_umbrella:"๐ŸŒ‚",open_umbrella:"โ˜‚๏ธ",umbrella:"โ˜”",parasol_on_ground:"โ›ฑ๏ธ",zap:"โšก",snowflake:"โ„๏ธ",snowman_with_snow:"โ˜ƒ๏ธ",snowman:"โ›„",comet:"โ˜„๏ธ",fire:"๐Ÿ”ฅ",droplet:"๐Ÿ’ง",ocean:"๐ŸŒŠ",jack_o_lantern:"๐ŸŽƒ",christmas_tree:"๐ŸŽ„",fireworks:"๐ŸŽ†",sparkler:"๐ŸŽ‡",firecracker:"๐Ÿงจ",sparkles:"โœจ",balloon:"๐ŸŽˆ",tada:"๐ŸŽ‰",confetti_ball:"๐ŸŽŠ",tanabata_tree:"๐ŸŽ‹",bamboo:"๐ŸŽ",dolls:"๐ŸŽŽ",flags:"๐ŸŽ",wind_chime:"๐ŸŽ",rice_scene:"๐ŸŽ‘",red_envelope:"๐Ÿงง",ribbon:"๐ŸŽ€",gift:"๐ŸŽ",reminder_ribbon:"๐ŸŽ—๏ธ",tickets:"๐ŸŽŸ๏ธ",ticket:"๐ŸŽซ",medal_military:"๐ŸŽ–๏ธ",trophy:"๐Ÿ†",medal_sports:"๐Ÿ…","1st_place_medal":"๐Ÿฅ‡","2nd_place_medal":"๐Ÿฅˆ","3rd_place_medal":"๐Ÿฅ‰",soccer:"โšฝ",baseball:"โšพ",softball:"๐ŸฅŽ",basketball:"๐Ÿ€",volleyball:"๐Ÿ",football:"๐Ÿˆ",rugby_football:"๐Ÿ‰",tennis:"๐ŸŽพ",flying_disc:"๐Ÿฅ",bowling:"๐ŸŽณ",cricket_game:"๐Ÿ",field_hockey:"๐Ÿ‘",ice_hockey:"๐Ÿ’",lacrosse:"๐Ÿฅ",ping_pong:"๐Ÿ“",badminton:"๐Ÿธ",boxing_glove:"๐ŸฅŠ",martial_arts_uniform:"๐Ÿฅ‹",goal_net:"๐Ÿฅ…",golf:"โ›ณ",ice_skate:"โ›ธ๏ธ",fishing_pole_and_fish:"๐ŸŽฃ",diving_mask:"๐Ÿคฟ",running_shirt_with_sash:"๐ŸŽฝ",ski:"๐ŸŽฟ",sled:"๐Ÿ›ท",curling_stone:"๐ŸฅŒ",dart:"๐ŸŽฏ",yo_yo:"๐Ÿช€",kite:"๐Ÿช","8ball":"๐ŸŽฑ",crystal_ball:"๐Ÿ”ฎ",magic_wand:"๐Ÿช„",nazar_amulet:"๐Ÿงฟ",video_game:"๐ŸŽฎ",joystick:"๐Ÿ•น๏ธ",slot_machine:"๐ŸŽฐ",game_die:"๐ŸŽฒ",jigsaw:"๐Ÿงฉ",teddy_bear:"๐Ÿงธ",pinata:"๐Ÿช…",nesting_dolls:"๐Ÿช†",spades:"โ™ ๏ธ",hearts:"โ™ฅ๏ธ",diamonds:"โ™ฆ๏ธ",clubs:"โ™ฃ๏ธ",chess_pawn:"โ™Ÿ๏ธ",black_joker:"๐Ÿƒ",mahjong:"๐Ÿ€„",flower_playing_cards:"๐ŸŽด",performing_arts:"๐ŸŽญ",framed_picture:"๐Ÿ–ผ๏ธ",art:"๐ŸŽจ",thread:"๐Ÿงต",sewing_needle:"๐Ÿชก",yarn:"๐Ÿงถ",knot:"๐Ÿชข",eyeglasses:"๐Ÿ‘“",dark_sunglasses:"๐Ÿ•ถ๏ธ",goggles:"๐Ÿฅฝ",lab_coat:"๐Ÿฅผ",safety_vest:"๐Ÿฆบ",necktie:"๐Ÿ‘”",shirt:"๐Ÿ‘•",tshirt:"๐Ÿ‘•",jeans:"๐Ÿ‘–",scarf:"๐Ÿงฃ",gloves:"๐Ÿงค",coat:"๐Ÿงฅ",socks:"๐Ÿงฆ",dress:"๐Ÿ‘—",kimono:"๐Ÿ‘˜",sari:"๐Ÿฅป",one_piece_swimsuit:"๐Ÿฉฑ",swim_brief:"๐Ÿฉฒ",shorts:"๐Ÿฉณ",bikini:"๐Ÿ‘™",womans_clothes:"๐Ÿ‘š",purse:"๐Ÿ‘›",handbag:"๐Ÿ‘œ",pouch:"๐Ÿ‘",shopping:"๐Ÿ›๏ธ",school_satchel:"๐ŸŽ’",thong_sandal:"๐Ÿฉด",mans_shoe:"๐Ÿ‘ž",shoe:"๐Ÿ‘ž",athletic_shoe:"๐Ÿ‘Ÿ",hiking_boot:"๐Ÿฅพ",flat_shoe:"๐Ÿฅฟ",high_heel:"๐Ÿ‘ ",sandal:"๐Ÿ‘ก",ballet_shoes:"๐Ÿฉฐ",boot:"๐Ÿ‘ข",crown:"๐Ÿ‘‘",womans_hat:"๐Ÿ‘’",tophat:"๐ŸŽฉ",mortar_board:"๐ŸŽ“",billed_cap:"๐Ÿงข",military_helmet:"๐Ÿช–",rescue_worker_helmet:"โ›‘๏ธ",prayer_beads:"๐Ÿ“ฟ",lipstick:"๐Ÿ’„",ring:"๐Ÿ’",gem:"๐Ÿ’Ž",mute:"๐Ÿ”‡",speaker:"๐Ÿ”ˆ",sound:"๐Ÿ”‰",loud_sound:"๐Ÿ”Š",loudspeaker:"๐Ÿ“ข",mega:"๐Ÿ“ฃ",postal_horn:"๐Ÿ“ฏ",bell:"๐Ÿ””",no_bell:"๐Ÿ”•",musical_score:"๐ŸŽผ",musical_note:"๐ŸŽต",notes:"๐ŸŽถ",studio_microphone:"๐ŸŽ™๏ธ",level_slider:"๐ŸŽš๏ธ",control_knobs:"๐ŸŽ›๏ธ",microphone:"๐ŸŽค",headphones:"๐ŸŽง",radio:"๐Ÿ“ป",saxophone:"๐ŸŽท",accordion:"๐Ÿช—",guitar:"๐ŸŽธ",musical_keyboard:"๐ŸŽน",trumpet:"๐ŸŽบ",violin:"๐ŸŽป",banjo:"๐Ÿช•",drum:"๐Ÿฅ",long_drum:"๐Ÿช˜",iphone:"๐Ÿ“ฑ",calling:"๐Ÿ“ฒ",phone:"โ˜Ž๏ธ",telephone:"โ˜Ž๏ธ",telephone_receiver:"๐Ÿ“ž",pager:"๐Ÿ“Ÿ",fax:"๐Ÿ“ ",battery:"๐Ÿ”‹",electric_plug:"๐Ÿ”Œ",computer:"๐Ÿ’ป",desktop_computer:"๐Ÿ–ฅ๏ธ",printer:"๐Ÿ–จ๏ธ",keyboard:"โŒจ๏ธ",computer_mouse:"๐Ÿ–ฑ๏ธ",trackball:"๐Ÿ–ฒ๏ธ",minidisc:"๐Ÿ’ฝ",floppy_disk:"๐Ÿ’พ",cd:"๐Ÿ’ฟ",dvd:"๐Ÿ“€",abacus:"๐Ÿงฎ",movie_camera:"๐ŸŽฅ",film_strip:"๐ŸŽž๏ธ",film_projector:"๐Ÿ“ฝ๏ธ",clapper:"๐ŸŽฌ",tv:"๐Ÿ“บ",camera:"๐Ÿ“ท",camera_flash:"๐Ÿ“ธ",video_camera:"๐Ÿ“น",vhs:"๐Ÿ“ผ",mag:"๐Ÿ”",mag_right:"๐Ÿ”Ž",candle:"๐Ÿ•ฏ๏ธ",bulb:"๐Ÿ’ก",flashlight:"๐Ÿ”ฆ",izakaya_lantern:"๐Ÿฎ",lantern:"๐Ÿฎ",diya_lamp:"๐Ÿช”",notebook_with_decorative_cover:"๐Ÿ“”",closed_book:"๐Ÿ“•",book:"๐Ÿ“–",open_book:"๐Ÿ“–",green_book:"๐Ÿ“—",blue_book:"๐Ÿ“˜",orange_book:"๐Ÿ“™",books:"๐Ÿ“š",notebook:"๐Ÿ““",ledger:"๐Ÿ“’",page_with_curl:"๐Ÿ“ƒ",scroll:"๐Ÿ“œ",page_facing_up:"๐Ÿ“„",newspaper:"๐Ÿ“ฐ",newspaper_roll:"๐Ÿ—ž๏ธ",bookmark_tabs:"๐Ÿ“‘",bookmark:"๐Ÿ”–",label:"๐Ÿท๏ธ",moneybag:"๐Ÿ’ฐ",coin:"๐Ÿช™",yen:"๐Ÿ’ด",dollar:"๐Ÿ’ต",euro:"๐Ÿ’ถ",pound:"๐Ÿ’ท",money_with_wings:"๐Ÿ’ธ",credit_card:"๐Ÿ’ณ",receipt:"๐Ÿงพ",chart:"๐Ÿ’น",envelope:"โœ‰๏ธ",email:"๐Ÿ“ง","e-mail":"๐Ÿ“ง",incoming_envelope:"๐Ÿ“จ",envelope_with_arrow:"๐Ÿ“ฉ",outbox_tray:"๐Ÿ“ค",inbox_tray:"๐Ÿ“ฅ",package:"๐Ÿ“ฆ",mailbox:"๐Ÿ“ซ",mailbox_closed:"๐Ÿ“ช",mailbox_with_mail:"๐Ÿ“ฌ",mailbox_with_no_mail:"๐Ÿ“ญ",postbox:"๐Ÿ“ฎ",ballot_box:"๐Ÿ—ณ๏ธ",pencil2:"โœ๏ธ",black_nib:"โœ’๏ธ",fountain_pen:"๐Ÿ–‹๏ธ",pen:"๐Ÿ–Š๏ธ",paintbrush:"๐Ÿ–Œ๏ธ",crayon:"๐Ÿ–๏ธ",memo:"๐Ÿ“",pencil:"๐Ÿ“",briefcase:"๐Ÿ’ผ",file_folder:"๐Ÿ“",open_file_folder:"๐Ÿ“‚",card_index_dividers:"๐Ÿ—‚๏ธ",date:"๐Ÿ“…",calendar:"๐Ÿ“†",spiral_notepad:"๐Ÿ—’๏ธ",spiral_calendar:"๐Ÿ—“๏ธ",card_index:"๐Ÿ“‡",chart_with_upwards_trend:"๐Ÿ“ˆ",chart_with_downwards_trend:"๐Ÿ“‰",bar_chart:"๐Ÿ“Š",clipboard:"๐Ÿ“‹",pushpin:"๐Ÿ“Œ",round_pushpin:"๐Ÿ“",paperclip:"๐Ÿ“Ž",paperclips:"๐Ÿ–‡๏ธ",straight_ruler:"๐Ÿ“",triangular_ruler:"๐Ÿ“",scissors:"โœ‚๏ธ",card_file_box:"๐Ÿ—ƒ๏ธ",file_cabinet:"๐Ÿ—„๏ธ",wastebasket:"๐Ÿ—‘๏ธ",lock:"๐Ÿ”’",unlock:"๐Ÿ”“",lock_with_ink_pen:"๐Ÿ”",closed_lock_with_key:"๐Ÿ”",key:"๐Ÿ”‘",old_key:"๐Ÿ—๏ธ",hammer:"๐Ÿ”จ",axe:"๐Ÿช“",pick:"โ›๏ธ",hammer_and_pick:"โš’๏ธ",hammer_and_wrench:"๐Ÿ› ๏ธ",dagger:"๐Ÿ—ก๏ธ",crossed_swords:"โš”๏ธ",gun:"๐Ÿ”ซ",boomerang:"๐Ÿชƒ",bow_and_arrow:"๐Ÿน",shield:"๐Ÿ›ก๏ธ",carpentry_saw:"๐Ÿชš",wrench:"๐Ÿ”ง",screwdriver:"๐Ÿช›",nut_and_bolt:"๐Ÿ”ฉ",gear:"โš™๏ธ",clamp:"๐Ÿ—œ๏ธ",balance_scale:"โš–๏ธ",probing_cane:"๐Ÿฆฏ",link:"๐Ÿ”—",chains:"โ›“๏ธ",hook:"๐Ÿช",toolbox:"๐Ÿงฐ",magnet:"๐Ÿงฒ",ladder:"๐Ÿชœ",alembic:"โš—๏ธ",test_tube:"๐Ÿงช",petri_dish:"๐Ÿงซ",dna:"๐Ÿงฌ",microscope:"๐Ÿ”ฌ",telescope:"๐Ÿ”ญ",satellite:"๐Ÿ“ก",syringe:"๐Ÿ’‰",drop_of_blood:"๐Ÿฉธ",pill:"๐Ÿ’Š",adhesive_bandage:"๐Ÿฉน",stethoscope:"๐Ÿฉบ",door:"๐Ÿšช",elevator:"๐Ÿ›—",mirror:"๐Ÿชž",window:"๐ŸชŸ",bed:"๐Ÿ›๏ธ",couch_and_lamp:"๐Ÿ›‹๏ธ",chair:"๐Ÿช‘",toilet:"๐Ÿšฝ",plunger:"๐Ÿช ",shower:"๐Ÿšฟ",bathtub:"๐Ÿ›",mouse_trap:"๐Ÿชค",razor:"๐Ÿช’",lotion_bottle:"๐Ÿงด",safety_pin:"๐Ÿงท",broom:"๐Ÿงน",basket:"๐Ÿงบ",roll_of_paper:"๐Ÿงป",bucket:"๐Ÿชฃ",soap:"๐Ÿงผ",toothbrush:"๐Ÿชฅ",sponge:"๐Ÿงฝ",fire_extinguisher:"๐Ÿงฏ",shopping_cart:"๐Ÿ›’",smoking:"๐Ÿšฌ",coffin:"โšฐ๏ธ",headstone:"๐Ÿชฆ",funeral_urn:"โšฑ๏ธ",moyai:"๐Ÿ—ฟ",placard:"๐Ÿชง",atm:"๐Ÿง",put_litter_in_its_place:"๐Ÿšฎ",potable_water:"๐Ÿšฐ",wheelchair:"โ™ฟ",mens:"๐Ÿšน",womens:"๐Ÿšบ",restroom:"๐Ÿšป",baby_symbol:"๐Ÿšผ",wc:"๐Ÿšพ",passport_control:"๐Ÿ›‚",customs:"๐Ÿ›ƒ",baggage_claim:"๐Ÿ›„",left_luggage:"๐Ÿ›…",warning:"โš ๏ธ",children_crossing:"๐Ÿšธ",no_entry:"โ›”",no_entry_sign:"๐Ÿšซ",no_bicycles:"๐Ÿšณ",no_smoking:"๐Ÿšญ",do_not_litter:"๐Ÿšฏ","non-potable_water":"๐Ÿšฑ",no_pedestrians:"๐Ÿšท",no_mobile_phones:"๐Ÿ“ต",underage:"๐Ÿ”ž",radioactive:"โ˜ข๏ธ",biohazard:"โ˜ฃ๏ธ",arrow_up:"โฌ†๏ธ",arrow_upper_right:"โ†—๏ธ",arrow_right:"โžก๏ธ",arrow_lower_right:"โ†˜๏ธ",arrow_down:"โฌ‡๏ธ",arrow_lower_left:"โ†™๏ธ",arrow_left:"โฌ…๏ธ",arrow_upper_left:"โ†–๏ธ",arrow_up_down:"โ†•๏ธ",left_right_arrow:"โ†”๏ธ",leftwards_arrow_with_hook:"โ†ฉ๏ธ",arrow_right_hook:"โ†ช๏ธ",arrow_heading_up:"โคด๏ธ",arrow_heading_down:"โคต๏ธ",arrows_clockwise:"๐Ÿ”ƒ",arrows_counterclockwise:"๐Ÿ”„",back:"๐Ÿ”™",end:"๐Ÿ”š",on:"๐Ÿ”›",soon:"๐Ÿ”œ",top:"๐Ÿ”",place_of_worship:"๐Ÿ›",atom_symbol:"โš›๏ธ",om:"๐Ÿ•‰๏ธ",star_of_david:"โœก๏ธ",wheel_of_dharma:"โ˜ธ๏ธ",yin_yang:"โ˜ฏ๏ธ",latin_cross:"โœ๏ธ",orthodox_cross:"โ˜ฆ๏ธ",star_and_crescent:"โ˜ช๏ธ",peace_symbol:"โ˜ฎ๏ธ",menorah:"๐Ÿ•Ž",six_pointed_star:"๐Ÿ”ฏ",aries:"โ™ˆ",taurus:"โ™‰",gemini:"โ™Š",cancer:"โ™‹",leo:"โ™Œ",virgo:"โ™",libra:"โ™Ž",scorpius:"โ™",sagittarius:"โ™",capricorn:"โ™‘",aquarius:"โ™’",pisces:"โ™“",ophiuchus:"โ›Ž",twisted_rightwards_arrows:"๐Ÿ”€",repeat:"๐Ÿ”",repeat_one:"๐Ÿ”‚",arrow_forward:"โ–ถ๏ธ",fast_forward:"โฉ",next_track_button:"โญ๏ธ",play_or_pause_button:"โฏ๏ธ",arrow_backward:"โ—€๏ธ",rewind:"โช",previous_track_button:"โฎ๏ธ",arrow_up_small:"๐Ÿ”ผ",arrow_double_up:"โซ",arrow_down_small:"๐Ÿ”ฝ",arrow_double_down:"โฌ",pause_button:"โธ๏ธ",stop_button:"โน๏ธ",record_button:"โบ๏ธ",eject_button:"โ๏ธ",cinema:"๐ŸŽฆ",low_brightness:"๐Ÿ”…",high_brightness:"๐Ÿ”†",signal_strength:"๐Ÿ“ถ",vibration_mode:"๐Ÿ“ณ",mobile_phone_off:"๐Ÿ“ด",female_sign:"โ™€๏ธ",male_sign:"โ™‚๏ธ",transgender_symbol:"โšง๏ธ",heavy_multiplication_x:"โœ–๏ธ",heavy_plus_sign:"โž•",heavy_minus_sign:"โž–",heavy_division_sign:"โž—",infinity:"โ™พ๏ธ",bangbang:"โ€ผ๏ธ",interrobang:"โ‰๏ธ",question:"โ“",grey_question:"โ”",grey_exclamation:"โ•",exclamation:"โ—",heavy_exclamation_mark:"โ—",wavy_dash:"ใ€ฐ๏ธ",currency_exchange:"๐Ÿ’ฑ",heavy_dollar_sign:"๐Ÿ’ฒ",medical_symbol:"โš•๏ธ",recycle:"โ™ป๏ธ",fleur_de_lis:"โšœ๏ธ",trident:"๐Ÿ”ฑ",name_badge:"๐Ÿ“›",beginner:"๐Ÿ”ฐ",o:"โญ•",white_check_mark:"โœ…",ballot_box_with_check:"โ˜‘๏ธ",heavy_check_mark:"โœ”๏ธ",x:"โŒ",negative_squared_cross_mark:"โŽ",curly_loop:"โžฐ",loop:"โžฟ",part_alternation_mark:"ใ€ฝ๏ธ",eight_spoked_asterisk:"โœณ๏ธ",eight_pointed_black_star:"โœด๏ธ",sparkle:"โ‡๏ธ",copyright:"ยฉ๏ธ",registered:"ยฎ๏ธ",tm:"โ„ข๏ธ",hash:"#๏ธโƒฃ",asterisk:"*๏ธโƒฃ",zero:"0๏ธโƒฃ",one:"1๏ธโƒฃ",two:"2๏ธโƒฃ",three:"3๏ธโƒฃ",four:"4๏ธโƒฃ",five:"5๏ธโƒฃ",six:"6๏ธโƒฃ",seven:"7๏ธโƒฃ",eight:"8๏ธโƒฃ",nine:"9๏ธโƒฃ",keycap_ten:"๐Ÿ”Ÿ",capital_abcd:"๐Ÿ” ",abcd:"๐Ÿ”ก",symbols:"๐Ÿ”ฃ",abc:"๐Ÿ”ค",a:"๐Ÿ…ฐ๏ธ",ab:"๐Ÿ†Ž",b:"๐Ÿ…ฑ๏ธ",cl:"๐Ÿ†‘",cool:"๐Ÿ†’",free:"๐Ÿ†“",information_source:"โ„น๏ธ",id:"๐Ÿ†”",m:"โ“‚๏ธ",new:"๐Ÿ†•",ng:"๐Ÿ†–",o2:"๐Ÿ…พ๏ธ",ok:"๐Ÿ†—",parking:"๐Ÿ…ฟ๏ธ",sos:"๐Ÿ†˜",up:"๐Ÿ†™",vs:"๐Ÿ†š",koko:"๐Ÿˆ",sa:"๐Ÿˆ‚๏ธ",ideograph_advantage:"๐Ÿ‰",accept:"๐Ÿ‰‘",congratulations:"ใŠ—๏ธ",secret:"ใŠ™๏ธ",u6e80:"๐Ÿˆต",red_circle:"๐Ÿ”ด",orange_circle:"๐ŸŸ ",yellow_circle:"๐ŸŸก",green_circle:"๐ŸŸข",large_blue_circle:"๐Ÿ”ต",purple_circle:"๐ŸŸฃ",brown_circle:"๐ŸŸค",black_circle:"โšซ",white_circle:"โšช",red_square:"๐ŸŸฅ",orange_square:"๐ŸŸง",yellow_square:"๐ŸŸจ",green_square:"๐ŸŸฉ",blue_square:"๐ŸŸฆ",purple_square:"๐ŸŸช",brown_square:"๐ŸŸซ",black_large_square:"โฌ›",white_large_square:"โฌœ",black_medium_square:"โ—ผ๏ธ",white_medium_square:"โ—ป๏ธ",black_medium_small_square:"โ—พ",white_medium_small_square:"โ—ฝ",black_small_square:"โ–ช๏ธ",white_small_square:"โ–ซ๏ธ",large_orange_diamond:"๐Ÿ”ถ",large_blue_diamond:"๐Ÿ”ท",small_orange_diamond:"๐Ÿ”ธ",small_blue_diamond:"๐Ÿ”น",small_red_triangle:"๐Ÿ”บ",small_red_triangle_down:"๐Ÿ”ป",diamond_shape_with_a_dot_inside:"๐Ÿ’ ",radio_button:"๐Ÿ”˜",white_square_button:"๐Ÿ”ณ",black_square_button:"๐Ÿ”ฒ",checkered_flag:"๐Ÿ",triangular_flag_on_post:"๐Ÿšฉ",crossed_flags:"๐ŸŽŒ",black_flag:"๐Ÿด",white_flag:"๐Ÿณ๏ธ",rainbow_flag:"๐Ÿณ๏ธโ€๐ŸŒˆ",transgender_flag:"๐Ÿณ๏ธโ€โšง๏ธ",pirate_flag:"๐Ÿดโ€โ˜ ๏ธ",ascension_island:"๐Ÿ‡ฆ๐Ÿ‡จ",andorra:"๐Ÿ‡ฆ๐Ÿ‡ฉ",united_arab_emirates:"๐Ÿ‡ฆ๐Ÿ‡ช",afghanistan:"๐Ÿ‡ฆ๐Ÿ‡ซ",antigua_barbuda:"๐Ÿ‡ฆ๐Ÿ‡ฌ",anguilla:"๐Ÿ‡ฆ๐Ÿ‡ฎ",albania:"๐Ÿ‡ฆ๐Ÿ‡ฑ",armenia:"๐Ÿ‡ฆ๐Ÿ‡ฒ",angola:"๐Ÿ‡ฆ๐Ÿ‡ด",antarctica:"๐Ÿ‡ฆ๐Ÿ‡ถ",argentina:"๐Ÿ‡ฆ๐Ÿ‡ท",american_samoa:"๐Ÿ‡ฆ๐Ÿ‡ธ",austria:"๐Ÿ‡ฆ๐Ÿ‡น",australia:"๐Ÿ‡ฆ๐Ÿ‡บ",aruba:"๐Ÿ‡ฆ๐Ÿ‡ผ",aland_islands:"๐Ÿ‡ฆ๐Ÿ‡ฝ",azerbaijan:"๐Ÿ‡ฆ๐Ÿ‡ฟ",bosnia_herzegovina:"๐Ÿ‡ง๐Ÿ‡ฆ",barbados:"๐Ÿ‡ง๐Ÿ‡ง",bangladesh:"๐Ÿ‡ง๐Ÿ‡ฉ",belgium:"๐Ÿ‡ง๐Ÿ‡ช",burkina_faso:"๐Ÿ‡ง๐Ÿ‡ซ",bulgaria:"๐Ÿ‡ง๐Ÿ‡ฌ",bahrain:"๐Ÿ‡ง๐Ÿ‡ญ",burundi:"๐Ÿ‡ง๐Ÿ‡ฎ",benin:"๐Ÿ‡ง๐Ÿ‡ฏ",st_barthelemy:"๐Ÿ‡ง๐Ÿ‡ฑ",bermuda:"๐Ÿ‡ง๐Ÿ‡ฒ",brunei:"๐Ÿ‡ง๐Ÿ‡ณ",bolivia:"๐Ÿ‡ง๐Ÿ‡ด",caribbean_netherlands:"๐Ÿ‡ง๐Ÿ‡ถ",brazil:"๐Ÿ‡ง๐Ÿ‡ท",bahamas:"๐Ÿ‡ง๐Ÿ‡ธ",bhutan:"๐Ÿ‡ง๐Ÿ‡น",bouvet_island:"๐Ÿ‡ง๐Ÿ‡ป",botswana:"๐Ÿ‡ง๐Ÿ‡ผ",belarus:"๐Ÿ‡ง๐Ÿ‡พ",belize:"๐Ÿ‡ง๐Ÿ‡ฟ",canada:"๐Ÿ‡จ๐Ÿ‡ฆ",cocos_islands:"๐Ÿ‡จ๐Ÿ‡จ",congo_kinshasa:"๐Ÿ‡จ๐Ÿ‡ฉ",central_african_republic:"๐Ÿ‡จ๐Ÿ‡ซ",congo_brazzaville:"๐Ÿ‡จ๐Ÿ‡ฌ",switzerland:"๐Ÿ‡จ๐Ÿ‡ญ",cote_divoire:"๐Ÿ‡จ๐Ÿ‡ฎ",cook_islands:"๐Ÿ‡จ๐Ÿ‡ฐ",chile:"๐Ÿ‡จ๐Ÿ‡ฑ",cameroon:"๐Ÿ‡จ๐Ÿ‡ฒ",cn:"๐Ÿ‡จ๐Ÿ‡ณ",colombia:"๐Ÿ‡จ๐Ÿ‡ด",clipperton_island:"๐Ÿ‡จ๐Ÿ‡ต",costa_rica:"๐Ÿ‡จ๐Ÿ‡ท",cuba:"๐Ÿ‡จ๐Ÿ‡บ",cape_verde:"๐Ÿ‡จ๐Ÿ‡ป",curacao:"๐Ÿ‡จ๐Ÿ‡ผ",christmas_island:"๐Ÿ‡จ๐Ÿ‡ฝ",cyprus:"๐Ÿ‡จ๐Ÿ‡พ",czech_republic:"๐Ÿ‡จ๐Ÿ‡ฟ",de:"๐Ÿ‡ฉ๐Ÿ‡ช",diego_garcia:"๐Ÿ‡ฉ๐Ÿ‡ฌ",djibouti:"๐Ÿ‡ฉ๐Ÿ‡ฏ",denmark:"๐Ÿ‡ฉ๐Ÿ‡ฐ",dominica:"๐Ÿ‡ฉ๐Ÿ‡ฒ",dominican_republic:"๐Ÿ‡ฉ๐Ÿ‡ด",algeria:"๐Ÿ‡ฉ๐Ÿ‡ฟ",ceuta_melilla:"๐Ÿ‡ช๐Ÿ‡ฆ",ecuador:"๐Ÿ‡ช๐Ÿ‡จ",estonia:"๐Ÿ‡ช๐Ÿ‡ช",egypt:"๐Ÿ‡ช๐Ÿ‡ฌ",western_sahara:"๐Ÿ‡ช๐Ÿ‡ญ",eritrea:"๐Ÿ‡ช๐Ÿ‡ท",es:"๐Ÿ‡ช๐Ÿ‡ธ",ethiopia:"๐Ÿ‡ช๐Ÿ‡น",eu:"๐Ÿ‡ช๐Ÿ‡บ",european_union:"๐Ÿ‡ช๐Ÿ‡บ",finland:"๐Ÿ‡ซ๐Ÿ‡ฎ",fiji:"๐Ÿ‡ซ๐Ÿ‡ฏ",falkland_islands:"๐Ÿ‡ซ๐Ÿ‡ฐ",micronesia:"๐Ÿ‡ซ๐Ÿ‡ฒ",faroe_islands:"๐Ÿ‡ซ๐Ÿ‡ด",fr:"๐Ÿ‡ซ๐Ÿ‡ท",gabon:"๐Ÿ‡ฌ๐Ÿ‡ฆ",gb:"๐Ÿ‡ฌ๐Ÿ‡ง",uk:"๐Ÿ‡ฌ๐Ÿ‡ง",grenada:"๐Ÿ‡ฌ๐Ÿ‡ฉ",georgia:"๐Ÿ‡ฌ๐Ÿ‡ช",french_guiana:"๐Ÿ‡ฌ๐Ÿ‡ซ",guernsey:"๐Ÿ‡ฌ๐Ÿ‡ฌ",ghana:"๐Ÿ‡ฌ๐Ÿ‡ญ",gibraltar:"๐Ÿ‡ฌ๐Ÿ‡ฎ",greenland:"๐Ÿ‡ฌ๐Ÿ‡ฑ",gambia:"๐Ÿ‡ฌ๐Ÿ‡ฒ",guinea:"๐Ÿ‡ฌ๐Ÿ‡ณ",guadeloupe:"๐Ÿ‡ฌ๐Ÿ‡ต",equatorial_guinea:"๐Ÿ‡ฌ๐Ÿ‡ถ",greece:"๐Ÿ‡ฌ๐Ÿ‡ท",south_georgia_south_sandwich_islands:"๐Ÿ‡ฌ๐Ÿ‡ธ",guatemala:"๐Ÿ‡ฌ๐Ÿ‡น",guam:"๐Ÿ‡ฌ๐Ÿ‡บ",guinea_bissau:"๐Ÿ‡ฌ๐Ÿ‡ผ",guyana:"๐Ÿ‡ฌ๐Ÿ‡พ",hong_kong:"๐Ÿ‡ญ๐Ÿ‡ฐ",heard_mcdonald_islands:"๐Ÿ‡ญ๐Ÿ‡ฒ",honduras:"๐Ÿ‡ญ๐Ÿ‡ณ",croatia:"๐Ÿ‡ญ๐Ÿ‡ท",haiti:"๐Ÿ‡ญ๐Ÿ‡น",hungary:"๐Ÿ‡ญ๐Ÿ‡บ",canary_islands:"๐Ÿ‡ฎ๐Ÿ‡จ",indonesia:"๐Ÿ‡ฎ๐Ÿ‡ฉ",ireland:"๐Ÿ‡ฎ๐Ÿ‡ช",israel:"๐Ÿ‡ฎ๐Ÿ‡ฑ",isle_of_man:"๐Ÿ‡ฎ๐Ÿ‡ฒ",india:"๐Ÿ‡ฎ๐Ÿ‡ณ",british_indian_ocean_territory:"๐Ÿ‡ฎ๐Ÿ‡ด",iraq:"๐Ÿ‡ฎ๐Ÿ‡ถ",iran:"๐Ÿ‡ฎ๐Ÿ‡ท",iceland:"๐Ÿ‡ฎ๐Ÿ‡ธ",it:"๐Ÿ‡ฎ๐Ÿ‡น",jersey:"๐Ÿ‡ฏ๐Ÿ‡ช",jamaica:"๐Ÿ‡ฏ๐Ÿ‡ฒ",jordan:"๐Ÿ‡ฏ๐Ÿ‡ด",jp:"๐Ÿ‡ฏ๐Ÿ‡ต",kenya:"๐Ÿ‡ฐ๐Ÿ‡ช",kyrgyzstan:"๐Ÿ‡ฐ๐Ÿ‡ฌ",cambodia:"๐Ÿ‡ฐ๐Ÿ‡ญ",kiribati:"๐Ÿ‡ฐ๐Ÿ‡ฎ",comoros:"๐Ÿ‡ฐ๐Ÿ‡ฒ",st_kitts_nevis:"๐Ÿ‡ฐ๐Ÿ‡ณ",north_korea:"๐Ÿ‡ฐ๐Ÿ‡ต",kr:"๐Ÿ‡ฐ๐Ÿ‡ท",kuwait:"๐Ÿ‡ฐ๐Ÿ‡ผ",cayman_islands:"๐Ÿ‡ฐ๐Ÿ‡พ",kazakhstan:"๐Ÿ‡ฐ๐Ÿ‡ฟ",laos:"๐Ÿ‡ฑ๐Ÿ‡ฆ",lebanon:"๐Ÿ‡ฑ๐Ÿ‡ง",st_lucia:"๐Ÿ‡ฑ๐Ÿ‡จ",liechtenstein:"๐Ÿ‡ฑ๐Ÿ‡ฎ",sri_lanka:"๐Ÿ‡ฑ๐Ÿ‡ฐ",liberia:"๐Ÿ‡ฑ๐Ÿ‡ท",lesotho:"๐Ÿ‡ฑ๐Ÿ‡ธ",lithuania:"๐Ÿ‡ฑ๐Ÿ‡น",luxembourg:"๐Ÿ‡ฑ๐Ÿ‡บ",latvia:"๐Ÿ‡ฑ๐Ÿ‡ป",libya:"๐Ÿ‡ฑ๐Ÿ‡พ",morocco:"๐Ÿ‡ฒ๐Ÿ‡ฆ",monaco:"๐Ÿ‡ฒ๐Ÿ‡จ",moldova:"๐Ÿ‡ฒ๐Ÿ‡ฉ",montenegro:"๐Ÿ‡ฒ๐Ÿ‡ช",st_martin:"๐Ÿ‡ฒ๐Ÿ‡ซ",madagascar:"๐Ÿ‡ฒ๐Ÿ‡ฌ",marshall_islands:"๐Ÿ‡ฒ๐Ÿ‡ญ",macedonia:"๐Ÿ‡ฒ๐Ÿ‡ฐ",mali:"๐Ÿ‡ฒ๐Ÿ‡ฑ",myanmar:"๐Ÿ‡ฒ๐Ÿ‡ฒ",mongolia:"๐Ÿ‡ฒ๐Ÿ‡ณ",macau:"๐Ÿ‡ฒ๐Ÿ‡ด",northern_mariana_islands:"๐Ÿ‡ฒ๐Ÿ‡ต",martinique:"๐Ÿ‡ฒ๐Ÿ‡ถ",mauritania:"๐Ÿ‡ฒ๐Ÿ‡ท",montserrat:"๐Ÿ‡ฒ๐Ÿ‡ธ",malta:"๐Ÿ‡ฒ๐Ÿ‡น",mauritius:"๐Ÿ‡ฒ๐Ÿ‡บ",maldives:"๐Ÿ‡ฒ๐Ÿ‡ป",malawi:"๐Ÿ‡ฒ๐Ÿ‡ผ",mexico:"๐Ÿ‡ฒ๐Ÿ‡ฝ",malaysia:"๐Ÿ‡ฒ๐Ÿ‡พ",mozambique:"๐Ÿ‡ฒ๐Ÿ‡ฟ",namibia:"๐Ÿ‡ณ๐Ÿ‡ฆ",new_caledonia:"๐Ÿ‡ณ๐Ÿ‡จ",niger:"๐Ÿ‡ณ๐Ÿ‡ช",norfolk_island:"๐Ÿ‡ณ๐Ÿ‡ซ",nigeria:"๐Ÿ‡ณ๐Ÿ‡ฌ",nicaragua:"๐Ÿ‡ณ๐Ÿ‡ฎ",netherlands:"๐Ÿ‡ณ๐Ÿ‡ฑ",norway:"๐Ÿ‡ณ๐Ÿ‡ด",nepal:"๐Ÿ‡ณ๐Ÿ‡ต",nauru:"๐Ÿ‡ณ๐Ÿ‡ท",niue:"๐Ÿ‡ณ๐Ÿ‡บ",new_zealand:"๐Ÿ‡ณ๐Ÿ‡ฟ",oman:"๐Ÿ‡ด๐Ÿ‡ฒ",panama:"๐Ÿ‡ต๐Ÿ‡ฆ",peru:"๐Ÿ‡ต๐Ÿ‡ช",french_polynesia:"๐Ÿ‡ต๐Ÿ‡ซ",papua_new_guinea:"๐Ÿ‡ต๐Ÿ‡ฌ",philippines:"๐Ÿ‡ต๐Ÿ‡ญ",pakistan:"๐Ÿ‡ต๐Ÿ‡ฐ",poland:"๐Ÿ‡ต๐Ÿ‡ฑ",st_pierre_miquelon:"๐Ÿ‡ต๐Ÿ‡ฒ",pitcairn_islands:"๐Ÿ‡ต๐Ÿ‡ณ",puerto_rico:"๐Ÿ‡ต๐Ÿ‡ท",palestinian_territories:"๐Ÿ‡ต๐Ÿ‡ธ",portugal:"๐Ÿ‡ต๐Ÿ‡น",palau:"๐Ÿ‡ต๐Ÿ‡ผ",paraguay:"๐Ÿ‡ต๐Ÿ‡พ",qatar:"๐Ÿ‡ถ๐Ÿ‡ฆ",reunion:"๐Ÿ‡ท๐Ÿ‡ช",romania:"๐Ÿ‡ท๐Ÿ‡ด",serbia:"๐Ÿ‡ท๐Ÿ‡ธ",ru:"๐Ÿ‡ท๐Ÿ‡บ",rwanda:"๐Ÿ‡ท๐Ÿ‡ผ",saudi_arabia:"๐Ÿ‡ธ๐Ÿ‡ฆ",solomon_islands:"๐Ÿ‡ธ๐Ÿ‡ง",seychelles:"๐Ÿ‡ธ๐Ÿ‡จ",sudan:"๐Ÿ‡ธ๐Ÿ‡ฉ",sweden:"๐Ÿ‡ธ๐Ÿ‡ช",singapore:"๐Ÿ‡ธ๐Ÿ‡ฌ",st_helena:"๐Ÿ‡ธ๐Ÿ‡ญ",slovenia:"๐Ÿ‡ธ๐Ÿ‡ฎ",svalbard_jan_mayen:"๐Ÿ‡ธ๐Ÿ‡ฏ",slovakia:"๐Ÿ‡ธ๐Ÿ‡ฐ",sierra_leone:"๐Ÿ‡ธ๐Ÿ‡ฑ",san_marino:"๐Ÿ‡ธ๐Ÿ‡ฒ",senegal:"๐Ÿ‡ธ๐Ÿ‡ณ",somalia:"๐Ÿ‡ธ๐Ÿ‡ด",suriname:"๐Ÿ‡ธ๐Ÿ‡ท",south_sudan:"๐Ÿ‡ธ๐Ÿ‡ธ",sao_tome_principe:"๐Ÿ‡ธ๐Ÿ‡น",el_salvador:"๐Ÿ‡ธ๐Ÿ‡ป",sint_maarten:"๐Ÿ‡ธ๐Ÿ‡ฝ",syria:"๐Ÿ‡ธ๐Ÿ‡พ",swaziland:"๐Ÿ‡ธ๐Ÿ‡ฟ",tristan_da_cunha:"๐Ÿ‡น๐Ÿ‡ฆ",turks_caicos_islands:"๐Ÿ‡น๐Ÿ‡จ",chad:"๐Ÿ‡น๐Ÿ‡ฉ",french_southern_territories:"๐Ÿ‡น๐Ÿ‡ซ",togo:"๐Ÿ‡น๐Ÿ‡ฌ",thailand:"๐Ÿ‡น๐Ÿ‡ญ",tajikistan:"๐Ÿ‡น๐Ÿ‡ฏ",tokelau:"๐Ÿ‡น๐Ÿ‡ฐ",timor_leste:"๐Ÿ‡น๐Ÿ‡ฑ",turkmenistan:"๐Ÿ‡น๐Ÿ‡ฒ",tunisia:"๐Ÿ‡น๐Ÿ‡ณ",tonga:"๐Ÿ‡น๐Ÿ‡ด",tr:"๐Ÿ‡น๐Ÿ‡ท",trinidad_tobago:"๐Ÿ‡น๐Ÿ‡น",tuvalu:"๐Ÿ‡น๐Ÿ‡ป",taiwan:"๐Ÿ‡น๐Ÿ‡ผ",tanzania:"๐Ÿ‡น๐Ÿ‡ฟ",ukraine:"๐Ÿ‡บ๐Ÿ‡ฆ",uganda:"๐Ÿ‡บ๐Ÿ‡ฌ",us_outlying_islands:"๐Ÿ‡บ๐Ÿ‡ฒ",united_nations:"๐Ÿ‡บ๐Ÿ‡ณ",us:"๐Ÿ‡บ๐Ÿ‡ธ",uruguay:"๐Ÿ‡บ๐Ÿ‡พ",uzbekistan:"๐Ÿ‡บ๐Ÿ‡ฟ",vatican_city:"๐Ÿ‡ป๐Ÿ‡ฆ",st_vincent_grenadines:"๐Ÿ‡ป๐Ÿ‡จ",venezuela:"๐Ÿ‡ป๐Ÿ‡ช",british_virgin_islands:"๐Ÿ‡ป๐Ÿ‡ฌ",us_virgin_islands:"๐Ÿ‡ป๐Ÿ‡ฎ",vietnam:"๐Ÿ‡ป๐Ÿ‡ณ",vanuatu:"๐Ÿ‡ป๐Ÿ‡บ",wallis_futuna:"๐Ÿ‡ผ๐Ÿ‡ซ",samoa:"๐Ÿ‡ผ๐Ÿ‡ธ",kosovo:"๐Ÿ‡ฝ๐Ÿ‡ฐ",yemen:"๐Ÿ‡พ๐Ÿ‡ช",mayotte:"๐Ÿ‡พ๐Ÿ‡น",south_africa:"๐Ÿ‡ฟ๐Ÿ‡ฆ",zambia:"๐Ÿ‡ฟ๐Ÿ‡ฒ",zimbabwe:"๐Ÿ‡ฟ๐Ÿ‡ผ",england:"๐Ÿด๓ ง๓ ข๓ ฅ๓ ฎ๓ ง๓ ฟ",scotland:"๐Ÿด๓ ง๓ ข๓ ณ๓ ฃ๓ ด๓ ฟ",wales:"๐Ÿด๓ ง๓ ข๓ ท๓ ฌ๓ ณ๓ ฟ"};Object.keys(B).reduce((e,t)=>{const n=B[t];return e[n]=t,e},{});const Zt=Object.keys(B).map(e=>e);Object.keys(B).map(e=>B[e]);function Jt(e){return Zt.filter(t=>t.startsWith(e)).map(t=>({name:t,emoji:B[t]}))}const Yt=200,Qt=new p.PluginKey("emoji"),Xt=h.Node.create({name:"emoji",content:"text*",priority:Yt,addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),HTMLAttributes:{},suggestion:{char:":",pluginKey:Qt,command:({editor:t,range:n,props:o})=>{t.chain().focus().insertContentAt(n,`${o.emoji} `).run()}},button:({editor:t,t:n})=>({component:Gt,componentProps:{editor:t,action:()=>{},isActive:()=>!1,disabled:!1,icon:"EmojiIcon",tooltip:n("editor.emoji.tooltip")}})}},addCommands(){return{setEmoji:e=>({commands:t})=>t.insertContent(`${e.emoji} `)}},addProseMirrorPlugins(){return[h.Suggestion({editor:this.editor,...this.options.suggestion})]}}).configure({suggestion:{items:({query:e})=>Jt(e),render:()=>{let e,t,n;return{onStart:o=>{n=o.editor.isEditable,n&&(e=new h.ReactRenderer(he,{props:o,editor:o.editor}),t=J("body",{getReferenceClientRect:o.clientRect,appendTo:()=>document.body,content:e.element,showOnCreate:!0,interactive:!0,trigger:"manual",placement:"bottom-start"}))},onUpdate(o){n&&(e.updateProps(o),t[0].setProps({getReferenceClientRect:o.clientRect}))},onKeyDown(o){var i;if(n)return o.event.key==="Escape"?(t[0].hide(),!0):(i=e.ref)==null?void 0:i.onKeyDown(o)},onExit(){n&&(t[0].destroy(),e.destroy())}}}}});function en(e){const t=document.createElement("iframe");t.setAttribute("style","position: absolute; width: 0; height: 0; top: 0; left: 0;"),document.body.appendChild(t),t.textContent=`
2
+ <!DOCTYPE html>
3
+ <html lang="en">
4
+ <head>
5
+ <title>Echo Editor</title>
6
+ <meta charset="UTF-8">
7
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
8
+ </head>
9
+ <body class="is-print">
10
+ <div class="tiptap ProseMirror" translate="no" aria-expanded="false">
11
+ ${e}
12
+ </div>
13
+ </body>
14
+ </html>
15
+ `;const n=t.contentWindow,o=t.contentDocument||t.contentWindow&&t.contentWindow.document,i=document.createElement("link");i.rel="stylesheet",i.href="https://cdn.jsdelivr.net/npm/reactjs-tiptap-editor@latest/lib/style.css",o.head.appendChild(i),o&&(o.open(),o.write(e),o.close()),n&&t.addEventListener("load",function(){try{setTimeout(()=>{n.focus();try{n.document.execCommand("print",!1)||n.print()}catch{n.print()}n.close()},10)}catch(s){console.error(s)}setTimeout(()=>{document.body.removeChild(t)},100)})}function tn(e){const t=e.getHTML();return t?(en(t),!0):!1}const nn=h.Extension.create({name:"exportPdf",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button:({editor:t,t:n})=>({component:r.ActionButton,componentProps:{action:()=>{tn(t)},icon:"ExportPdf",tooltip:n("editor.exportPdf.tooltip"),isActive:()=>!1,disabled:!1}})}}});function on(e,t){const n=atob(e.split(",")[1]),o=Array.from({length:n.length});for(let s=0;s<n.length;s++)o[s]=n.charCodeAt(s);const i=new Uint8Array(o);return new Blob([i],{type:t})}function an(e,t){return new File([e],t,{type:e.type})}function sn(e){const{toast:t}=r.useToast(),{t:n}=w.useLocale(),[o,i]=g.useState(!1),s=g.useRef(null);function l(){var f;(f=s.current)==null||f.click()}function c(f){const _=f.target.files[0];if(_){if(_.size>e.limit){t({variant:"destructive",title:n("editor.importWord.limitSize")});return}u(_)}}async function m(f){var S;const b=new DOMParser().parseFromString(f,"text/html"),k=b.querySelectorAll("img");if(k.length===0)return b.body.innerHTML;if(r.hasExtension(e.editor,"image")){const E=(S=e.editor.extensionManager.extensions.find(x=>x.name==="importWord"))==null?void 0:S.options;if(E&&typeof E.upload=="function"){const x=[];for(const C of k){const L=C.getAttribute("src"),T=on(L,"image/jpeg"),H=an(T,"image.jpeg");x.push(H)}const y=await E.upload(x);for(const[C,L]of k.entries()){L.setAttribute("src",y[C].src);const T=L.parentElement;(T==null?void 0:T.tagName)==="P"&&(T.insertAdjacentElement("beforebegin",L),!T.hasChildNodes()&&T.textContent===""&&T.remove())}return b.body.innerHTML}else return console.warn("Image Upload method found, skip image conversion"),b.body.innerHTML}else return console.error("Image extension not found, unable to convert image"),b.body.innerHTML}async function u(f){i(!0);try{if(e.convert){const _=await e.convert(f);d(_)}else{const _=await f.arrayBuffer(),{value:b}=await p.mammoth.convertToHtml({arrayBuffer:_},e==null?void 0:e.mammothOptions);d(b)}}finally{i(!1)}}async function d(f){const _=await m(f);e.editor.chain().setContent(_,!0).run()}return a.jsxs("div",{children:[a.jsx(r.ActionButton,{action:l,disabled:e==null?void 0:e.disabled,icon:e==null?void 0:e.icon,loading:o,tooltip:e==null?void 0:e.tooltip}),a.jsx("input",{accept:".docx",onChange:c,ref:s,type:"file",style:{display:"none"}})]})}const rn=h.Extension.create({name:"importWord",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),upload:void 0,convert:void 0,limit:1024*1024*10,button:({editor:t,extension:n,t:o})=>{const{convert:i,limit:s,mammothOptions:l}=n.options;return{component:sn,componentProps:{editor:t,convert:i,limit:s,mammothOptions:l,action:()=>t.commands.setHorizontalRule(),disabled:!t.can().setHorizontalRule(),icon:"Word",shortcutKeys:["alt","mod","S"],tooltip:o("editor.importWord.tooltip")}}}}}}),ln=typeof window<"u";function cn(e,t){if(ln){const n=window.URL.createObjectURL(e),o=document.createElement("a");return o.href=n,o.download=t,o.click(),window.URL.revokeObjectURL(n),Promise.resolve()}return console.error("Download is not supported in Node.js"),Promise.resolve()}const dn={...P.defaultNodes,hardBreak:P.defaultNodes.hard_break,codeBlock:P.defaultNodes.code_block,orderedList:P.defaultNodes.ordered_list,listItem:P.defaultNodes.list_item,bulletList:P.defaultNodes.bullet_list,horizontalRule:P.defaultNodes.horizontal_rule,image(e,t){e.renderInline(t),e.closeBlock(t)},table(e,t){e.table(t,{tableOptions:{width:{size:100,type:oe.WidthType.PERCENTAGE}}})}},un=new P.DocxSerializer(dn,P.defaultMarks),mn=h.Extension.create({name:"exportWord",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),button:({editor:t,t:n})=>({component:r.ActionButton,componentProps:{icon:"ExportWord",action:()=>{t==null||t.commands.exportToWord()},tooltip:n("editor.exportWord.tooltip"),isActive:()=>!1,disabled:!1}})}},addCommands(){return{exportToWord:()=>async({editor:e})=>{const t={getImageBuffer:async o=>{const s=await(await fetch(o)).arrayBuffer();return new Uint8Array(s)}},n=un.serialize(e.state.doc,t);return oe.Packer.toBlob(n).then(o=>cn(new Blob([o]),"export-document.docx")),!0}}}}),hn="_toc_aag8a_1",gn="_visible_aag8a_7",fn="_list_aag8a_11",_n="_item_aag8a_16",K={toc:hn,visible:gn,list:fn,item:_n};function bn(e){const t=[],n=[t];return e.forEach(o=>{let i=-1,s=n[o.level+i];for(;!s;)i-=1,s=n[o.level+i];s.push({...o,children:n[o.level]=[]})}),t}function pn({editor:e}){const t=r.useEditableEditor(),[n,o]=g.useState([]),{t:i}=w.useLocale(),s=g.useCallback(()=>{const l=[],c=e.state.tr;e.state.doc.descendants((m,u)=>{if(m.type.name==="heading"){const d=`heading-${l.length+1}`;m.attrs.id!==d&&c.setNodeMarkup(u,void 0,{...m.attrs,id:d}),l.push({level:m.attrs.level,text:m.textContent,id:d})}}),c.setMeta("addToHistory",!1),c.setMeta("preventUpdate",!0),e.view.dispatch(c),o(l),e.eventEmitter&&e.eventEmitter.emit("TableOfContents",bn(l))},[e]);return g.useEffect(()=>{if(e){if(!e.options.editable){s();return}return e.on("update",s),()=>{e.off("update",s)}}},[e,s]),g.useEffect(()=>{s()},[]),a.jsx(h.NodeViewWrapper,{className:p.clsx("tableOfContent",K.toc,t&&K.visible),children:t?a.jsxs("div",{style:{position:"relative"},children:[a.jsx("p",{className:"text-[20px] mb-[8px] font-semibold",children:i("editor.table_of_content")}),a.jsx("ul",{className:K.list,children:n.map((l,c)=>a.jsx("li",{className:K.item,style:{paddingLeft:`${l.level-1}rem`},children:a.jsx("a",{href:`#${l.id}`,children:l.text})},`table-of-content-${c}`))})]}):null})}function wn(e,...t){const[n,o]=g.useState(!1);return g.useEffect(()=>{const i=()=>{o(e.isActive.apply(e,t))};return e.on("selectionUpdate",i),e.on("transaction",i),()=>{e.off("selectionUpdate",i),e.off("transaction",i)}},[e,t,o]),n}function xn({editor:e,icon:t,tooltip:n}){const o=wn(e,ge.name),i=g.useCallback(()=>{if(o){e.chain().focus().removeTableOfContents().run();return}e.chain().focus().setTableOfContents().run()},[e,o]);return a.jsx(r.ActionButton,{action:i,isActive:()=>o||!1,icon:t,tooltip:n})}function yn(e){return e&&e.type.name==="title"}function kn(e,t){const o=[e.getJSON()],i=[];for(;o.length>0;){const s=o.shift();s.type===t&&i.push(s),s.content&&s.content.length>0&&o.push(...s.content)}return i}const ge=h.Node.create({name:"tableOfContents",group:"block",atom:!0,addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),onHasOneBeforeInsert:()=>{},resizable:!0,lastColumnResizable:!0,allowTableNodeSelection:!1,button:({editor:t,t:n})=>({component:xn,componentProps:{disabled:!1,icon:"BookMarked",tooltip:n("editor.table.tooltip"),editor:t}})}},parseHTML(){return[{tag:"toc"}]},renderHTML({HTMLAttributes:e}){return["toc",h.mergeAttributes(e)]},addNodeView(){return h.ReactNodeViewRenderer(pn)},addCommands(){return{setTableOfContents:()=>({commands:e,editor:t,view:n})=>{if(kn(t,this.name).length>0){this.options.onHasOneBeforeInsert();return}const i=n.props.state.doc.content.firstChild;if(yn(i)){const s=(i.firstChild&&i.firstChild.nodeSize||0)+1;return e.insertContentAt(s,{type:this.name})}return e.insertContent({type:this.name})},removeTableOfContents:()=>({state:e,dispatch:t})=>{const{tr:n}=e,o=e.schema.nodes.tableOfContents;return e.doc.descendants((i,s)=>{if(i.type===o){const l=s,c=s+i.nodeSize;n.delete(l,c)}}),n.docChanged?(t(n),!0):!1}}},addGlobalAttributes(){return[{types:["heading"],attributes:{id:{default:null}}}]}});function vn(e){var n;const t=g.useMemo(()=>{var s;const o=(s=e==null?void 0:e.items)==null?void 0:s.find(l=>l.isActive());return o&&!o.default?{...o,icon:o.icon?o.icon:e.icon}:{title:e==null?void 0:e.tooltip,icon:e.icon,isActive:()=>!1}},[e]);return a.jsxs(r.Popover,{modal:!0,children:[a.jsx(r.PopoverTrigger,{asChild:!0,disabled:e==null?void 0:e.disabled,children:a.jsx(r.ActionButton,{customClass:"!w-12 h-12",disabled:e==null?void 0:e.disabled,icon:e==null?void 0:e.icon,tooltip:e==null?void 0:e.tooltip,children:a.jsx(r.IconComponent,{className:"ml-1 size-3 text-zinc-500",name:"MenuDown"})})}),a.jsx(r.PopoverContent,{align:"start",className:"flex w-full min-w-4 flex-row gap-1 !p-[4px]",side:"bottom",children:(n=e==null?void 0:e.items)==null?void 0:n.map((o,i)=>{var s,l;return a.jsxs(r.Tooltip,{children:[a.jsx(r.TooltipTrigger,{asChild:!0,children:a.jsx(r.Toggle,{className:"size-7 p-1","data-state":t.title===o.title?"on":"off",onClick:o==null?void 0:o.action,pressed:t.title===o.title,size:"sm",children:(o==null?void 0:o.icon)&&a.jsx(r.IconComponent,{name:o.icon})})}),a.jsxs(r.TooltipContent,{className:"flex flex-col items-center",children:[a.jsx("span",{children:o.title}),!!((s=o.shortcutKeys)!=null&&s.length)&&a.jsx("span",{children:(l=o.shortcutKeys)==null?void 0:l.map(c=>r.getShortcutKey(c)).join(" ")})]})]},`text-align-${i}`)})})]})}const jn=h.Extension.create({name:"text-direction",addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),types:["heading","paragraph"],directions:["auto","ltr","rtl"],defaultDirection:"auto",button({editor:t,extension:n,t:o}){var m;const i=((m=n.options)==null?void 0:m.directions)||[],s={auto:"TextDirection",ltr:"LeftToRight",rtl:"RightToLeft"},l=i.map(u=>({title:o(`editor.textDirection.${u}.tooltip`),icon:s[u],isActive:()=>!1,action:()=>{var d,f,_,b;if(u==="auto"){(f=(d=t.commands)==null?void 0:d.unsetTextDirection)==null||f.call(d);return}(b=(_=t.commands)==null?void 0:_.setTextDirection)==null||b.call(_,u)},disabled:!1})),c=l.filter(u=>u.disabled).length===l.length;return{component:vn,componentProps:{icon:"TextDirection",tooltip:o("editor.textDirection.tooltip"),disabled:c,items:l}}}}},addGlobalAttributes(){return[{types:this.options.types,attributes:{dir:{default:this.options.defaultDirection,parseHTML:e=>e.attributes.dir&&this.options.directions.includes(e.attributes.dir)?e.attributes.dir.value:this.options.defaultDirection,renderHTML:e=>({dir:e.dir})}}}]},addCommands(){return{setTextDirection:e=>({commands:t})=>this.options.directions.includes(e)?this.options.types.every(n=>t.updateAttributes(n,{dir:e})):!1,unsetTextDirection:()=>({commands:e})=>this.options.types.every(t=>e.resetAttributes(t,"dir"))}}}),Cn="_listUsers_en3pm_1",An="_itemUser_en3pm_10",Nn="_selectedUser_en3pm_31",$={listUsers:Cn,itemUser:An,selectedUser:Nn},Sn=g.forwardRef((e,t)=>{const n=g.useRef(null),[o,i]=g.useState(0),s=u=>{const d=e.items[u];d&&e.command({id:d,label:d})},l=()=>{i((o+e.items.length-1)%e.items.length)},c=()=>{i((o+1)%e.items.length)},m=()=>{s(o)};return g.useEffect(()=>i(0),[e.items]),g.useEffect(()=>{if(Number.isNaN(o+1))return;const u=n.current.querySelector(`span:nth-of-type(${o+1})`);u&&Y(u,{behavior:"smooth",scrollMode:"if-needed"})},[o]),g.useImperativeHandle(t,()=>({onKeyDown:({event:u})=>u.key==="ArrowUp"?(l(),!0):u.key==="ArrowDown"?(c(),!0):u.key==="Enter"?(m(),!0):!1})),a.jsx("div",{className:p.clsx("listUsers",$.listUsers),children:a.jsx("div",{ref:n,children:e.items.length>0?e.items.map((u,d)=>a.jsx("span",{className:p.clsx("itemUser",$.itemUser,d===o?$.selectedUser:""),onClick:()=>s(d),children:u},d)):a.jsx("div",{className:p.clsx("itemUserEmpty",$.itemUser),children:"Empty"})})})}),Tn=[{id:"1",name:"John Doe"},{id:"2",name:"Jane Doe"},{id:"3",name:"Alice"},{id:"4",name:"Bob"}],En={items:async({query:e})=>Tn.map(n=>n.name).filter(n=>n.toLowerCase().startsWith(e.toLowerCase())),render:()=>{let e,t;return{onStart:n=>{e=new h.ReactRenderer(Sn,{props:n,editor:n.editor}),t=J("body",{getReferenceClientRect:n.clientRect,appendTo:()=>document.body,content:e.element,showOnCreate:!0,interactive:!0,trigger:"manual",placement:"bottom-start"})},onUpdate(n){e.updateProps(n),t[0].setProps({getReferenceClientRect:n.clientRect})},onKeyDown(n){var o;return n.event.key==="Escape"?(t[0].hide(),!0):(o=e.ref)==null?void 0:o.onKeyDown(n)},onExit(){t[0].destroy(),e.destroy()}}}},Ln=h.Mention.extend({addAttributes(){return{id:{default:"",parseHTML:r.getDatasetAttribute("id")},label:{default:"",parseHTML:r.getDatasetAttribute("label")}}}}).configure({HTMLAttributes:{class:"mention"},suggestion:En}),Mn={audio:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-audio-lines"><path d="M2 10v3"/><path d="M6 6v11"/><path d="M10 3v18"/><path d="M14 8v7"/><path d="M18 5v13"/><path d="M22 10v3"/></svg>',video:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-video"><path d="m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5"/><rect x="2" y="6" width="14" height="12" rx="2"/></svg>',file:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"/><path d="M14 2v4a2 2 0 0 0 2 2h4"/></svg>',image:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-image"><rect width="18" height="18" x="3" y="3" rx="2" ry="2"/><circle cx="9" cy="9" r="2"/><path d="m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"/></svg>',pdf:`<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 32 32">
16
+ <path fill="currentColor" d="M30 18v-2h-6v10h2v-4h3v-2h-3v-2zm-11 8h-4V16h4a3.003 3.003 0 0 1 3 3v4a3.003 3.003 0 0 1-3 3m-2-2h2a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-2zm-6-8H6v10h2v-3h3a2.003 2.003 0 0 0 2-2v-3a2 2 0 0 0-2-2m-3 5v-3h3l.001 3z"></path>
17
+ <path fill="currentColor" d="M22 14v-4a.91.91 0 0 0-.3-.7l-7-7A.9.9 0 0 0 14 2H4a2.006 2.006 0 0 0-2 2v24a2 2 0 0 0 2 2h16v-2H4V4h8v6a2.006 2.006 0 0 0 2 2h6v2Zm-8-4V4.4l5.6 5.6Z"></path>
18
+ </svg>`,word:`<svg
19
+ xmlns="http://www.w3.org/2000/svg"
20
+ width="1em"
21
+ height="1em"
22
+ className="icon"
23
+ viewBox="0 0 1024 1024"
24
+ >
25
+ <path
26
+ fill="currentColor"
27
+ d="M679.253 402.364 618.77 561.015l-60.348-158.651a30.04 30.04 0 0 0-30.447-18.637 29.76 29.76 0 0 0-30.447 18.637l-60.416 158.651-60.416-158.651a30.515 30.515 0 0 0-38.843-17.272 28.945 28.945 0 0 0-17.954 37.547l88.815 233.267c4.369 11.469 15.7 19.115 28.398 19.115a30.31 30.31 0 0 0 28.468-19.115l62.395-163.908 62.396 163.84c4.437 11.605 15.701 19.183 28.4 19.183a30.31 30.31 0 0 0 28.466-19.115l88.747-233.267a28.945 28.945 0 0 0-17.886-37.547 30.447 30.447 0 0 0-38.912 17.272zm219.478 395.605-51.883-29.218c-28.672-16.18-52.224-3.072-52.224 29.082v.273H643.209a29.833 29.833 0 0 0-30.31 29.354c0 16.18 13.584 29.218 30.31 29.218h151.825c1.092 30.516 24.03 43.077 52.224 27.648l51.063-27.989c29.013-15.906 29.15-42.189.41-58.368"
28
+ />
29
+ <path
30
+ fill="currentColor"
31
+ d="m810.667 913.135-.478.068H201.796c-19.865 0-36.727-11.673-36.727-25.6v-618.36h154.965c51.268 0 92.911-39.39 92.911-87.858v-87.86H810.19c19.797 0 36.522 11.742 36.522 25.669V739.26h61.987V119.262c0-46.421-44.169-84.241-98.51-84.241H328.364l-225.28 194.56v658.09c0 46.285 44.236 84.105 98.713 84.105H810.19c43.759 0 80.554-24.713 93.32-58.573h-92.842zM350.89 94.89v86.562c0 16.11-13.858 29.286-30.925 29.286H216.815L350.959 94.891z"
32
+ />
33
+ </svg>`,excel:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sheet"><rect width="18" height="18" x="3" y="3" rx="2" ry="2"/><line x1="3" x2="21" y1="9" y2="9"/><line x1="3" x2="21" y1="15" y2="15"/><line x1="9" x2="9" y1="9" y2="21"/><line x1="15" x2="15" y1="9" y2="21"/></svg>',ppt:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-table-properties"><path d="M15 3v18"/><rect width="18" height="18" x="3" y="3" rx="2"/><path d="M21 9H3"/><path d="M21 15H3"/></svg>'};function Pn(e){const t=Mn[e],i=new DOMParser().parseFromString(t,"image/svg+xml").documentElement,s=["svg",{...Array.from(i.attributes).reduce((l,c)=>(l[c.name]=c.value,l),{})}];return Array.from(i.childNodes).forEach(l=>{if(l.nodeType===1){const c=[l.tagName.toLowerCase(),Array.from(l.attributes).reduce((m,u)=>(m[u.name]=u.value,m),{})];l.textContent&&c.push(l.textContent),s.push(c)}}),s}const Hn={audio:a.jsx(N.LucideAudioLines,{}),video:a.jsx(N.LucideVideo,{}),file:a.jsx(N.LucideFile,{}),image:a.jsx(N.LucideImage,{}),pdf:a.jsx(r.ExportPdf,{}),word:a.jsx(r.ExportWord,{}),excel:a.jsx(N.LucideSheet,{}),ppt:a.jsx(N.LucideTableProperties,{})};function fe(e,t=!1){const n=r.normalizeFileType(e),o=Hn[n]||a.jsx(a.Fragment,{});return t?Pn(n):o}const Rn="_wrap_1x1ms_2",G={wrap:Rn};function In({editor:e,node:t,updateAttributes:n,deleteNode:o,extension:i}){var L;const s=g.useRef(null),l=r.useEditableEditor(),{hasTrigger:c,fileName:m,fileSize:u,fileExt:d,fileType:f,url:_,error:b}=t.attrs,[k,v]=g.useState(!1),{t:S}=w.useLocale(),E=(L=i==null?void 0:i.options)==null?void 0:L.upload,x=g.useCallback(()=>{!l||_||l&&s.current.click()},[l,_]),y=g.useCallback(async T=>{const H=T.target.files&&T.target.files[0];if(!H)return;const _e={fileName:r.extractFilename(H.name),fileSize:H.size,fileType:H.type,fileExt:r.extractFileExtension(H.name)};v(!0);try{const U=await E(H);n({..._e,url:U}),v(!1)}catch(U){n({error:`File upload fail: ${U&&U.message}`||"Unknown error"}),v(!1),s.current.value=""}},[v,n]);g.useEffect(()=>{!_&&!c&&(x(),n({hasTrigger:!0}))},[_,c,x,n]);const C=g.useCallback(()=>o(),[e]);return l&&!_?a.jsx(h.NodeViewWrapper,{children:a.jsxs("div",{className:p.clsx(G.wrap,"render-wrapper"),children:[a.jsx("p",{onClick:x,style:{cursor:"pointer"},children:k?a.jsx("span",{children:S("editor.attachment.uploading")}):a.jsx("span",{children:S("editor.attachment.please_upload")})}),a.jsx("input",{hidden:!0,onChange:y,ref:s,type:"file"})]})}):_?a.jsx(h.NodeViewWrapper,{children:a.jsxs("div",{className:p.clsx(G.wrap,"render-wrapper"),onClick:x,children:[a.jsxs("div",{className:"flex items-center gap-[4px]",children:[a.jsx("span",{children:fe(f)}),a.jsxs("span",{children:[m,".",d]}),a.jsxs("span",{children:["(",r.normalizeFileSize(u),")"]})]}),a.jsx(r.ActionButton,{action:C,icon:"Trash2",tooltip:S("editor.delete")})]})}):b!=="null"?a.jsx(h.NodeViewWrapper,{children:a.jsx("div",{className:p.clsx(G.wrap,"render-wrapper"),onClick:x,children:a.jsx("p",{children:b})})}):a.jsx(a.Fragment,{})}const zn=h.Node.create({name:"attachment",content:"",marks:"",group:"block",selectable:!0,atom:!0,draggable:!0,addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),HTMLAttributes:{class:"attachment"},button:({editor:t,t:n})=>({component:r.ActionButton,componentProps:{action:()=>t.chain().focus().setAttachment().run(),isActive:()=>!1,disabled:!1,icon:"Attachment",tooltip:n("editor.attachment.tooltip")}})}},parseHTML(){return[{tag:"div[class=attachment]"}]},renderHTML({HTMLAttributes:e}){const{url:t="",fileName:n="",fileSize:o="",fileType:i="",fileExt:s=""}=e||{};return["div",h.mergeAttributes(this.options.HTMLAttributes||{},e||{}),t?["a",{href:t||"#"},["span",{class:"attachment__icon"},fe(i,!0)],["span",{class:"attachment__text"},`${n}.${s} (${r.normalizeFileSize(o)})`]]:["div",{class:"attachment__placeholder"}]]},addAttributes(){return{fileName:{default:null,parseHTML:r.getDatasetAttribute("filename")},fileSize:{default:null,parseHTML:r.getDatasetAttribute("filesize")},fileType:{default:null,parseHTML:r.getDatasetAttribute("filetype")},fileExt:{default:null,parseHTML:r.getDatasetAttribute("fileext")},url:{default:null,parseHTML:r.getDatasetAttribute("url")},hasTrigger:{default:!1,parseHTML:e=>r.getDatasetAttribute("hastrigger")(e)==="true"},error:{default:null,parseHTML:r.getDatasetAttribute("error")}}},addCommands(){return{setAttachment:(e={})=>({chain:t})=>t().insertContent({type:this.name,attrs:e}).run()}},addNodeView(){return h.ReactNodeViewRenderer(In)}});exports.Column=r.Column;exports.Drawer=r.Drawer;exports.Excalidraw=r.Excalidraw;exports.Iframe=r.Iframe;exports.Image=r.Image;exports.ImageGif=r.ImageGif;exports.Katex=r.Katex;exports.Mermaid=r.Mermaid;exports.MultiColumn=r.MultiColumn;exports.Table=r.Table;exports.Twitter=r.Twitter;exports.Video=r.Video;exports.Attachment=zn;exports.BaseKit=pt;exports.Blockquote=at;exports.Bold=we;exports.BulletList=tt;exports.Clear=nt;exports.Code=ve;exports.CodeBlock=ue;exports.Color=Xe;exports.ColumnActionButton=ht;exports.Emoji=Xt;exports.ExportPdf=nn;exports.ExportWord=mn;exports.FontFamily=Ke;exports.FontSize=Je;exports.FormatPainter=Ht;exports.Heading=Ve;exports.Highlight=et;exports.History=ut;exports.HorizontalRule=lt;exports.ImportWord=rn;exports.Indent=kt;exports.Italic=xe;exports.LineHeight=St;exports.Link=rt;exports.Mention=Ln;exports.MoreMark=yt;exports.OrderedList=ot;exports.SearchAndReplace=me;exports.SlashCommand=Pt;exports.Strike=ke;exports.SubAndSuperScript=wt;exports.TableOfContents=ge;exports.TaskList=it;exports.TextAlign=Ge;exports.TextDirection=jn;exports.Underline=ye;