@profoundlogic/coderflow-server 0.5.4 → 0.5.6
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.
- package/dist/coder-server.js +1 -1
- package/dist/config.js +1 -1
- package/dist/lib/agent-keepalive.js +1 -1
- package/dist/lib/agent-models.js +1 -1
- package/dist/lib/api-keys.js +1 -1
- package/dist/lib/apiKeys.js +1 -1
- package/dist/lib/app-server-ports.js +1 -1
- package/dist/lib/auto-judge.js +1 -1
- package/dist/lib/automation-service.js +1 -1
- package/dist/lib/basic-auth.js +1 -1
- package/dist/lib/bindings.js +1 -1
- package/dist/lib/build-history.js +1 -1
- package/dist/lib/build-output-service.js +1 -1
- package/dist/lib/build-scheduler.js +1 -1
- package/dist/lib/build-service.js +1 -1
- package/dist/lib/ca-certificates.js +1 -1
- package/dist/lib/claude-oauth-refresh.js +1 -1
- package/dist/lib/cli/build.js +1 -1
- package/dist/lib/cli/cleanup-users.js +1 -1
- package/dist/lib/cli/config-command.js +1 -1
- package/dist/lib/cli/config.js +1 -1
- package/dist/lib/cli/create-user.js +1 -1
- package/dist/lib/cli/grant-admin.js +1 -1
- package/dist/lib/cli/init.js +1 -1
- package/dist/lib/cli/jira.js +1 -1
- package/dist/lib/cli/license.js +1 -1
- package/dist/lib/cli/list-roles.js +1 -1
- package/dist/lib/cli/list-users.js +1 -1
- package/dist/lib/cli/server-manager.js +1 -1
- package/dist/lib/cli/set-password.js +1 -1
- package/dist/lib/config-migration.js +1 -1
- package/dist/lib/container-credential-sync.js +1 -1
- package/dist/lib/container-tokens.js +1 -1
- package/dist/lib/data-dir.js +1 -1
- package/dist/lib/deployment-history.js +1 -1
- package/dist/lib/deployment-service.js +1 -1
- package/dist/lib/docker-utils.js +1 -1
- package/dist/lib/email.js +1 -1
- package/dist/lib/emailTemplates.js +1 -1
- package/dist/lib/entitlement.js +1 -1
- package/dist/lib/external-connections.js +1 -1
- package/dist/lib/fetch-utils.js +1 -1
- package/dist/lib/git-commit-details-route.js +1 -1
- package/dist/lib/git-history-diff-guardrails.js +1 -1
- package/dist/lib/git-provider-service.js +1 -1
- package/dist/lib/git-provider-setup/github-setup-handler.js +1 -1
- package/dist/lib/git-provider-setup/index.js +1 -1
- package/dist/lib/git-provider-setup/setup-factory.js +1 -1
- package/dist/lib/git-provider-setup/setup-interface.js +1 -1
- package/dist/lib/git-providers/azure-devops-provider.js +1 -1
- package/dist/lib/git-providers/github-app-provider.js +1 -1
- package/dist/lib/git-providers/index.js +1 -1
- package/dist/lib/git-providers/provider-factory.js +1 -1
- package/dist/lib/git-providers/provider-interface.js +1 -1
- package/dist/lib/github-urls.js +1 -1
- package/dist/lib/group-objective-linking.js +1 -1
- package/dist/lib/ibmi-sync.js +1 -1
- package/dist/lib/jira-client.js +1 -1
- package/dist/lib/judge-blinding.js +1 -1
- package/dist/lib/logger.js +1 -1
- package/dist/lib/migration-to-scoped-rbac.js +1 -1
- package/dist/lib/model-fetcher.js +1 -1
- package/dist/lib/notifications.js +1 -1
- package/dist/lib/objective-context.js +1 -1
- package/dist/lib/oidc-auth.js +1 -1
- package/dist/lib/oidc-device-flow.js +1 -1
- package/dist/lib/passwordTokens.js +1 -1
- package/dist/lib/permission-resolver.js +1 -1
- package/dist/lib/pin-cascade.js +1 -1
- package/dist/lib/provider-accounts.js +1 -1
- package/dist/lib/provider-oauth.js +1 -1
- package/dist/lib/provider-profile.js +1 -1
- package/dist/lib/provider-token-refresh.js +1 -1
- package/dist/lib/rbac-user-state.js +1 -1
- package/dist/lib/request-url.js +1 -1
- package/dist/lib/rewind.js +1 -1
- package/dist/lib/role-definitions.js +1 -1
- package/dist/lib/roles.js +1 -1
- package/dist/lib/secrets.js +1 -1
- package/dist/lib/setup-repo-git-auth.js +1 -1
- package/dist/lib/state-capture.js +1 -1
- package/dist/lib/static-files.js +1 -1
- package/dist/lib/task-name-format.js +1 -1
- package/dist/lib/task-name-generator.js +1 -1
- package/dist/lib/task-source-metadata.js +1 -1
- package/dist/lib/teams.js +1 -1
- package/dist/lib/user-git-oauth.js +1 -1
- package/dist/lib/user-git-tokens.js +1 -1
- package/dist/lib/users.js +1 -1
- package/dist/middleware/requireAuth.js +1 -1
- package/dist/middleware/requireInit.js +1 -1
- package/dist/middleware/requirePermission.js +1 -1
- package/dist/package.json +1 -1
- package/dist/playwright.config.js +1 -1
- package/dist/routes/apiKeys.js +1 -1
- package/dist/routes/auth-oidc.js +1 -1
- package/dist/routes/auth.js +1 -1
- package/dist/routes/automations.js +1 -1
- package/dist/routes/bindings.js +1 -1
- package/dist/routes/build.js +1 -1
- package/dist/routes/containers.js +1 -1
- package/dist/routes/deploy-task.js +1 -1
- package/dist/routes/environment-management.js +1 -1
- package/dist/routes/environments.js +1 -1
- package/dist/routes/external-skills.js +1 -1
- package/dist/routes/git-credentials.js +1 -1
- package/dist/routes/git-oauth.js +1 -1
- package/dist/routes/git-provider-setup.js +1 -1
- package/dist/routes/health.js +1 -1
- package/dist/routes/jira.js +1 -1
- package/dist/routes/objective-management.js +1 -1
- package/dist/routes/password.js +1 -1
- package/dist/routes/prompt.js +1 -1
- package/dist/routes/provider-auth.js +1 -1
- package/dist/routes/qa.js +1 -1
- package/dist/routes/roles.js +1 -1
- package/dist/routes/settings.js +1 -1
- package/dist/routes/skill-management.js +1 -1
- package/dist/routes/skills.js +1 -1
- package/dist/routes/tasks.js +1 -1
- package/dist/routes/teams.js +1 -1
- package/dist/routes/templates.js +1 -1
- package/dist/routes/test-task.js +1 -1
- package/dist/routes/test.js +1 -1
- package/dist/routes/users.js +1 -1
- package/dist/routes/visualizations.js +1 -1
- package/dist/scripts/create-user.js +1 -1
- package/dist/scripts/migrate-config-to-data-dir.js +1 -1
- package/dist/start.js +1 -1
- package/dist/web-ui/public/activity-detail-modal.js +1 -1
- package/dist/web-ui/public/activity-feed.js +1 -1
- package/dist/web-ui/public/activity-formatters.js +1 -1
- package/dist/web-ui/public/agent-event-parser.js +1 -1
- package/dist/web-ui/public/app.js +1 -1
- package/dist/web-ui/public/approve-dialog.js +1 -1
- package/dist/web-ui/public/automation-links.js +1 -1
- package/dist/web-ui/public/automation-schedule.js +1 -1
- package/dist/web-ui/public/comments-widget.js +1 -1
- package/dist/web-ui/public/diff-utils.js +1 -1
- package/dist/web-ui/public/environments.js +1 -1
- package/dist/web-ui/public/feedback-widget.css +409 -0
- package/dist/web-ui/public/feedback-widget.js +1 -1
- package/dist/web-ui/public/git-history-lazy-utils.js +1 -1
- package/dist/web-ui/public/git-history.js +1 -1
- package/dist/web-ui/public/git-status.js +1 -1
- package/dist/web-ui/public/index.js +1 -1
- package/dist/web-ui/public/login.js +1 -1
- package/dist/web-ui/public/markdown-editor.js +1 -1
- package/dist/web-ui/public/markdown-file-editor.js +1 -1
- package/dist/web-ui/public/modal-maximize.js +1 -1
- package/dist/web-ui/public/notifications.js +1 -1
- package/dist/web-ui/public/pr-dialog.js +1 -1
- package/dist/web-ui/public/roles.js +1 -1
- package/dist/web-ui/public/server-health.js +1 -1
- package/dist/web-ui/public/settings.js +1 -1
- package/dist/web-ui/public/setup-password.js +1 -1
- package/dist/web-ui/public/skills.js +1 -1
- package/dist/web-ui/public/sse-client.js +1 -1
- package/dist/web-ui/public/sse-shared-worker.js +1 -1
- package/dist/web-ui/public/styles.css +2975 -2022
- package/dist/web-ui/public/task.html +98 -2
- package/dist/web-ui/public/task.js +1 -1
- package/dist/web-ui/public/teams.js +1 -1
- package/dist/web-ui/public/terminal.js +1 -1
- package/dist/web-ui/public/theme.js +1 -1
- package/dist/web-ui/public/users.js +1 -1
- package/dist/web-ui/public/variant-grouping.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{initTheme,mountThemeToggle}from'./theme.js';const OIDC_ERRORS={'oidc_init_failed':'Failed\x20to\x20connect\x20to\x20the\x20identity\x20provider.\x20Please\x20try\x20again.','oidc_not_configured':'Single\x20sign-on\x20is\x20not\x20configured.\x20Please\x20use\x20local\x20login.','oidc_error':'Authentication\x20was\x20cancelled\x20or\x20failed.','oidc_invalid_callback':'Invalid\x20authentication\x20response.\x20Please\x20try\x20again.','oidc_no_email':'Your\x20identity\x20provider\x20did\x20not\x20provide\x20an\x20email\x20address.\x20Please\x20contact\x20your\x20administrator.','oidc_user_not_found':'Your\x20account\x20is\x20not\x20authorized\x20to\x20access\x20this\x20application.\x20Please\x20contact\x20your\x20administrator.','oidc_invalid_state':'Authentication\x20session\x20expired.\x20Please\x20try\x20again.','oidc_session_expired':'Authentication\x20session\x20expired.\x20Please\x20try\x20again.','oidc_callback_failed':'Authentication\x20failed.\x20Please\x20try\x20again.','session_failed':'Failed\x20to\x20create\x20session.\x20Please\x20try\x20again.'};async function loadOidcConfig(){try{const
|
|
1
|
+
import{initTheme,mountThemeToggle}from'./theme.js';const OIDC_ERRORS={'oidc_init_failed':'Failed\x20to\x20connect\x20to\x20the\x20identity\x20provider.\x20Please\x20try\x20again.','oidc_not_configured':'Single\x20sign-on\x20is\x20not\x20configured.\x20Please\x20use\x20local\x20login.','oidc_error':'Authentication\x20was\x20cancelled\x20or\x20failed.','oidc_invalid_callback':'Invalid\x20authentication\x20response.\x20Please\x20try\x20again.','oidc_no_email':'Your\x20identity\x20provider\x20did\x20not\x20provide\x20an\x20email\x20address.\x20Please\x20contact\x20your\x20administrator.','oidc_user_not_found':'Your\x20account\x20is\x20not\x20authorized\x20to\x20access\x20this\x20application.\x20Please\x20contact\x20your\x20administrator.','oidc_invalid_state':'Authentication\x20session\x20expired.\x20Please\x20try\x20again.','oidc_session_expired':'Authentication\x20session\x20expired.\x20Please\x20try\x20again.','oidc_callback_failed':'Authentication\x20failed.\x20Please\x20try\x20again.','session_failed':'Failed\x20to\x20create\x20session.\x20Please\x20try\x20again.'};async function loadOidcConfig(){try{const _0x172031=await fetch('/auth/oidc/config');if(_0x172031['ok'])return await _0x172031['json']();}catch(_0x593371){console['error']('Failed\x20to\x20load\x20OIDC\x20configuration:',_0x593371);}return{'enabled':![]};}function initializeSsoUi(_0x24ea66){const _0x485e68=document['getElementById']('sso-section'),_0x507198=document['getElementById']('sso-divider'),_0xa1943e=document['getElementById']('sso-button-text'),_0x3a680c=document['getElementById']('sso-button'),_0x369108=document['querySelector']('.local-auth-section');_0x24ea66['enabled']&&(_0x485e68['classList']['add']('visible'),_0xa1943e['textContent']=_0x24ea66['display_name']||'Sign\x20in\x20with\x20SSO',_0x3a680c['addEventListener']('click',()=>{window['location']['href']='/auth/oidc/login';}),!_0x24ea66['allow_local_auth']&&(_0x369108['classList']['add']('hidden'),_0x507198['style']['display']='none'));}function checkOidcErrors(){const _0x4d4826=new URLSearchParams(window['location']['search']),_0x4a47f0=_0x4d4826['get']('error'),_0x26e795=_0x4d4826['get']('message');if(_0x4a47f0){const _0x5cc63c=document['getElementById']('login-error'),_0x5a4169=_0x26e795||OIDC_ERRORS[_0x4a47f0]||'Authentication\x20error:\x20'+_0x4a47f0;_0x5cc63c['textContent']=_0x5a4169,_0x5cc63c['classList']['add']('visible'),window['history']['replaceState']({},document['title'],window['location']['pathname']);}}async function handleLogin(_0x3ec97a){_0x3ec97a['preventDefault']();const _0x516407=_0x3ec97a['target'],_0x4e539d=_0x516407['username']['value']['trim'](),_0x2cd7b8=_0x516407['password']['value'],_0x5a550d=_0x516407['querySelector']('button[type=\x22submit\x22]'),_0x3df54d=document['getElementById']('login-error');_0x3df54d['classList']['remove']('visible'),_0x3df54d['textContent']='',_0x5a550d['disabled']=!![],_0x5a550d['textContent']='Signing\x20in...';try{const _0x321f65=await fetch('/auth/login',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'username':_0x4e539d,'password':_0x2cd7b8})}),_0x1bb55c=await _0x321f65['json']();if(!_0x321f65['ok'])throw new Error(_0x1bb55c['message']||'Login\x20failed');window['location']['href']='index.html';}catch(_0xc67bbe){_0x3df54d['textContent']=_0xc67bbe['message']||'An\x20error\x20occurred\x20during\x20login',_0x3df54d['classList']['add']('visible'),_0x5a550d['disabled']=![],_0x5a550d['textContent']='Sign\x20In',_0x516407['password']['value']='',_0x516407['password']['focus']();}}document['addEventListener']('DOMContentLoaded',async()=>{initTheme(),mountThemeToggle(),checkOidcErrors();const _0x36f2a4=await loadOidcConfig();initializeSsoUi(_0x36f2a4);const _0x32aca9=document['getElementById']('login-form');_0x32aca9&&_0x32aca9['addEventListener']('submit',handleLogin);});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const ATTACHMENT_SCHEME='attachment:',INTERNAL_DRAG_MIME='application/x-profound-editor-image',LINK_DIALOG_STYLE_ID='markdown-editor-link-dialog-styles',ICONS={'bold':'<svg\x20viewBox=\x220\x200\x2024\x2024\x22\x20width=\x2216\x22\x20height=\x2216\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20fill=\x22none\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><path\x20d=\x22M6\x204h8a4\x204\x200\x200\x201\x204\x204\x204\x204\x200\x200\x201-4\x204H6z\x22></path><path\x20d=\x22M6\x2012h9a4\x204\x200\x200\x201\x204\x204\x204\x204\x200\x200\x201-4\x204H6z\x22></path></svg>','italic':'<svg\x20viewBox=\x220\x200\x2024\x2024\x22\x20width=\x2216\x22\x20height=\x2216\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20fill=\x22none\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><line\x20x1=\x2219\x22\x20y1=\x224\x22\x20x2=\x2210\x22\x20y2=\x224\x22></line><line\x20x1=\x2214\x22\x20y1=\x2220\x22\x20x2=\x225\x22\x20y2=\x2220\x22></line><line\x20x1=\x2215\x22\x20y1=\x224\x22\x20x2=\x229\x22\x20y2=\x2220\x22></line></svg>','strike':'<svg\x20viewBox=\x220\x200\x2024\x2024\x22\x20width=\x2216\x22\x20height=\x2216\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20fill=\x22none\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><line\x20x1=\x225\x22\x20y1=\x2212\x22\x20x2=\x2219\x22\x20y2=\x2212\x22></line><path\x20d=\x22M16\x206a4\x204\x200\x200\x200-4-4c-2.48\x200-4\x201.79-4\x204\x200\x201.25.5\x202.5\x201.5\x203\x22></path><path\x20d=\x22M9\x2018c0\x201.79\x201.79\x203\x204\x203\x202.48\x200\x204-1.79\x204-4\x200-1.25-.5-2.5-1.5-3\x22></path></svg>','link':'<svg\x20viewBox=\x220\x200\x2024\x2024\x22\x20width=\x2216\x22\x20height=\x2216\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20fill=\x22none\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><path\x20d=\x22M10\x2013a5\x205\x200\x200\x200\x207.54.54l3-3a5\x205\x200\x200\x200-7.07-7.07l-1.72\x201.71\x22></path><path\x20d=\x22M14\x2011a5\x205\x200\x200\x200-7.54-.54l-3\x203a5\x205\x200\x200\x200\x207.07\x207.07l1.71-1.71\x22></path></svg>','code':'<svg\x20viewBox=\x220\x200\x2024\x2024\x22\x20width=\x2216\x22\x20height=\x2216\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20fill=\x22none\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><polyline\x20points=\x2216\x2018\x2022\x2012\x2016\x206\x22></polyline><polyline\x20points=\x228\x206\x202\x2012\x208\x2018\x22></polyline></svg>','listBullet':'<svg\x20viewBox=\x220\x200\x2024\x2024\x22\x20width=\x2216\x22\x20height=\x2216\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20fill=\x22none\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><line\x20x1=\x228\x22\x20y1=\x226\x22\x20x2=\x2221\x22\x20y2=\x226\x22></line><line\x20x1=\x228\x22\x20y1=\x2212\x22\x20x2=\x2221\x22\x20y2=\x2212\x22></line><line\x20x1=\x228\x22\x20y1=\x2218\x22\x20x2=\x2221\x22\x20y2=\x2218\x22></line><line\x20x1=\x223\x22\x20y1=\x226\x22\x20x2=\x223.01\x22\x20y2=\x226\x22></line><line\x20x1=\x223\x22\x20y1=\x2212\x22\x20x2=\x223.01\x22\x20y2=\x2212\x22></line><line\x20x1=\x223\x22\x20y1=\x2218\x22\x20x2=\x223.01\x22\x20y2=\x2218\x22></line></svg>','listOrdered':'<svg\x20viewBox=\x220\x200\x2024\x2024\x22\x20width=\x2216\x22\x20height=\x2216\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20fill=\x22none\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><line\x20x1=\x2210\x22\x20y1=\x226\x22\x20x2=\x2221\x22\x20y2=\x226\x22></line><line\x20x1=\x2210\x22\x20y1=\x2212\x22\x20x2=\x2221\x22\x20y2=\x2212\x22></line><line\x20x1=\x2210\x22\x20y1=\x2218\x22\x20x2=\x2221\x22\x20y2=\x2218\x22></line><path\x20d=\x22M4\x206h1v4\x22></path><path\x20d=\x22M4\x2010h2\x22></path><path\x20d=\x22M6\x2018H4c0-1\x202-2\x202-3s-1-1.5-2-1\x22></path></svg>','blockquote':'<svg\x20viewBox=\x220\x200\x2024\x2024\x22\x20width=\x2216\x22\x20height=\x2216\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20fill=\x22none\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><path\x20d=\x22M21\x2015a2\x202\x200\x200\x201-2\x202H7l-4\x204V5a2\x202\x200\x200\x201\x202-2h14a2\x202\x200\x200\x201\x202\x202z\x22></path></svg>','codeBlock':'<svg\x20viewBox=\x220\x200\x2024\x2024\x22\x20width=\x2216\x22\x20height=\x2216\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20fill=\x22none\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><rect\x20x=\x223\x22\x20y=\x223\x22\x20width=\x2218\x22\x20height=\x2218\x22\x20rx=\x222\x22\x20ry=\x222\x22></rect><polyline\x20points=\x229\x208\x205\x2012\x209\x2016\x22></polyline><polyline\x20points=\x2215\x208\x2019\x2012\x2015\x2016\x22></polyline></svg>','header':'<svg\x20viewBox=\x220\x200\x2024\x2024\x22\x20width=\x2216\x22\x20height=\x2216\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20fill=\x22none\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><path\x20d=\x22M4\x2012h8\x22></path><path\x20d=\x22M4\x2018V6\x22></path><path\x20d=\x22M12\x2018V6\x22></path><path\x20d=\x22M17\x2012l3-2v8\x22></path></svg>','color':'<svg\x20viewBox=\x220\x200\x2024\x2024\x22\x20width=\x2216\x22\x20height=\x2216\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20fill=\x22none\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><path\x20d=\x22M4\x2020h16\x22></path><path\x20d=\x22M6\x2016l6-14\x206\x2014\x22></path><path\x20d=\x22M8\x2012h8\x22></path></svg>'},LINK_DIALOG_STYLES='\x0a.markdown-editor-link-modal\x20{\x0a\x20\x20position:\x20fixed;\x0a\x20\x20inset:\x200;\x0a\x20\x20display:\x20flex;\x0a\x20\x20align-items:\x20center;\x0a\x20\x20justify-content:\x20center;\x0a\x20\x20z-index:\x2010020;\x0a}\x0a\x0a.markdown-editor-link-modal[hidden]\x20{\x0a\x20\x20display:\x20none\x20!important;\x0a}\x0a\x0a.markdown-editor-link-backdrop\x20{\x0a\x20\x20position:\x20absolute;\x0a\x20\x20inset:\x200;\x0a\x20\x20background:\x20rgba(15,\x2023,\x2042,\x200.45);\x0a}\x0a\x0a.markdown-editor-link-dialog\x20{\x0a\x20\x20position:\x20relative;\x0a\x20\x20width:\x20min(460px,\x20calc(100vw\x20-\x2024px));\x0a\x20\x20background:\x20var(--color-surface,\x20var(--feedback-surface,\x20#ffffff));\x0a\x20\x20color:\x20var(--color-text,\x20var(--feedback-text,\x20#111827));\x0a\x20\x20border:\x201px\x20solid\x20var(--color-border,\x20var(--feedback-border,\x20#d1d5db));\x0a\x20\x20border-radius:\x20var(--radius-medium,\x2010px);\x0a\x20\x20box-shadow:\x200\x2018px\x2042px\x20rgba(15,\x2023,\x2042,\x200.25);\x0a\x20\x20padding:\x2014px;\x0a\x20\x20display:\x20flex;\x0a\x20\x20flex-direction:\x20column;\x0a\x20\x20gap:\x2012px;\x0a}\x0a\x0a.markdown-editor-link-header\x20{\x0a\x20\x20display:\x20flex;\x0a\x20\x20align-items:\x20center;\x0a\x20\x20justify-content:\x20space-between;\x0a\x20\x20gap:\x208px;\x0a}\x0a\x0a.markdown-editor-link-title\x20{\x0a\x20\x20margin:\x200;\x0a\x20\x20font-size:\x2016px;\x0a\x20\x20font-weight:\x20600;\x0a}\x0a\x0a.markdown-editor-link-close\x20{\x0a\x20\x20width:\x2028px;\x0a\x20\x20height:\x2028px;\x0a\x20\x20border:\x20none;\x0a\x20\x20border-radius:\x20var(--radius-small,\x208px);\x0a\x20\x20background:\x20transparent;\x0a\x20\x20color:\x20var(--color-text-muted,\x20var(--feedback-text-muted,\x20#6b7280));\x0a\x20\x20font-size:\x2020px;\x0a\x20\x20line-height:\x201;\x0a\x20\x20cursor:\x20pointer;\x0a}\x0a\x0a.markdown-editor-link-close:hover\x20{\x0a\x20\x20background:\x20var(--color-surface-muted,\x20var(--feedback-surface-muted,\x20#f3f4f6));\x0a\x20\x20color:\x20var(--color-text,\x20var(--feedback-text,\x20#111827));\x0a}\x0a\x0a.markdown-editor-link-form\x20{\x0a\x20\x20display:\x20flex;\x0a\x20\x20flex-direction:\x20column;\x0a\x20\x20gap:\x2010px;\x0a}\x0a\x0a.markdown-editor-link-field-grid\x20{\x0a\x20\x20display:\x20grid;\x0a\x20\x20gap:\x2010px;\x0a}\x0a\x0a.markdown-editor-link-label\x20{\x0a\x20\x20display:\x20flex;\x0a\x20\x20flex-direction:\x20column;\x0a\x20\x20gap:\x206px;\x0a\x20\x20font-size:\x2012px;\x0a\x20\x20font-weight:\x20600;\x0a\x20\x20color:\x20var(--color-text-muted,\x20var(--feedback-text-muted,\x20#4b5563));\x0a}\x0a\x0a.markdown-editor-link-input\x20{\x0a\x20\x20width:\x20100%;\x0a\x20\x20padding:\x209px\x2010px;\x0a\x20\x20border:\x201px\x20solid\x20var(--color-border,\x20var(--feedback-border,\x20#d1d5db));\x0a\x20\x20border-radius:\x20var(--radius-small,\x208px);\x0a\x20\x20background:\x20var(--color-surface,\x20var(--feedback-surface,\x20#ffffff));\x0a\x20\x20color:\x20var(--color-text,\x20var(--feedback-text,\x20#111827));\x0a\x20\x20font-size:\x2014px;\x0a}\x0a\x0a.markdown-editor-link-input:focus\x20{\x0a\x20\x20outline:\x20none;\x0a\x20\x20border-color:\x20var(--color-primary,\x20#3f72ff);\x0a\x20\x20box-shadow:\x200\x200\x200\x203px\x20rgba(63,\x20114,\x20255,\x200.2);\x0a}\x0a\x0a.markdown-editor-link-actions\x20{\x0a\x20\x20display:\x20flex;\x0a\x20\x20justify-content:\x20flex-end;\x0a\x20\x20gap:\x208px;\x0a}\x0a\x0a.markdown-editor-link-btn\x20{\x0a\x20\x20border:\x201px\x20solid\x20transparent;\x0a\x20\x20border-radius:\x20var(--radius-small,\x208px);\x0a\x20\x20padding:\x207px\x2012px;\x0a\x20\x20font-size:\x2013px;\x0a\x20\x20font-weight:\x20600;\x0a\x20\x20cursor:\x20pointer;\x0a}\x0a\x0a.markdown-editor-link-btn-secondary\x20{\x0a\x20\x20background:\x20var(--color-surface-muted,\x20var(--feedback-surface-muted,\x20#f3f4f6));\x0a\x20\x20color:\x20var(--color-text,\x20var(--feedback-text,\x20#111827));\x0a\x20\x20border-color:\x20var(--color-border,\x20var(--feedback-border,\x20#d1d5db));\x0a}\x0a\x0a.markdown-editor-link-btn-secondary:hover\x20{\x0a\x20\x20background:\x20var(--color-bg-secondary,\x20var(--feedback-surface-hover,\x20#e5e7eb));\x0a}\x0a\x0a.markdown-editor-link-btn-danger\x20{\x0a\x20\x20background:\x20transparent;\x0a\x20\x20color:\x20var(--color-danger,\x20#dc2626);\x0a\x20\x20border-color:\x20rgba(220,\x2038,\x2038,\x200.35);\x0a}\x0a\x0a.markdown-editor-link-btn-danger:hover\x20{\x0a\x20\x20background:\x20rgba(220,\x2038,\x2038,\x200.08);\x0a}\x0a\x0a.markdown-editor-link-btn-primary\x20{\x0a\x20\x20background:\x20var(--color-primary,\x20#3f72ff);\x0a\x20\x20color:\x20#ffffff;\x0a}\x0a\x0a.markdown-editor-link-btn-primary:hover\x20{\x0a\x20\x20background:\x20var(--color-accent,\x20#2563eb);\x0a}\x0a\x0a[data-theme=\x22dark\x22]\x20.markdown-editor-link-backdrop\x20{\x0a\x20\x20background:\x20rgba(2,\x206,\x2023,\x200.65);\x0a}\x0a\x0a[data-theme=\x22dark\x22]\x20.markdown-editor-link-dialog\x20{\x0a\x20\x20box-shadow:\x200\x2018px\x2042px\x20rgba(0,\x200,\x200,\x200.5);\x0a}\x0a\x0a@media\x20(max-width:\x20480px)\x20{\x0a\x20\x20.markdown-editor-link-dialog\x20{\x0a\x20\x20\x20\x20width:\x20calc(100vw\x20-\x2016px);\x0a\x20\x20\x20\x20padding:\x2012px;\x0a\x20\x20}\x0a\x0a\x20\x20.markdown-editor-link-actions\x20{\x0a\x20\x20\x20\x20flex-wrap:\x20wrap;\x0a\x20\x20}\x0a\x0a\x20\x20.markdown-editor-link-btn\x20{\x0a\x20\x20\x20\x20flex:\x201\x201\x20calc(50%\x20-\x206px);\x0a\x20\x20\x20\x20text-align:\x20center;\x0a\x20\x20}\x0a}\x0a';export class MarkdownEditor{constructor(_0x134303,_0x3cbbe7={}){this['element']=_0x134303,this['options']={'placeholder':_0x3cbbe7['placeholder']||'Start\x20typing...','editable':_0x3cbbe7['editable']!==![],'onChange':_0x3cbbe7['onChange']||null,'minHeight':_0x3cbbe7['minHeight']||'100px','toolbar':_0x3cbbe7['toolbar']||![],'onAddAttachments':_0x3cbbe7['onAddAttachments']||null,'resolveAttachmentUrl':_0x3cbbe7['resolveAttachmentUrl']||null,'isAttachmentNameTaken':_0x3cbbe7['isAttachmentNameTaken']||null,'fetchUsers':_0x3cbbe7['fetchUsers']||null},this['mentionState']={'active':![],'query':'','startOffset':0x0,'startNode':null,'users':[],'filteredUsers':[],'selectedIndex':0x0},this['mentionDropdown']=null,this['usersCache']=null,this['linkDialog']=null,this['linkDialogContext']=null;const _0x52a066=window['TurndownService'];this['turndownService']=new _0x52a066({'headingStyle':'atx','codeBlockStyle':'fenced','emDelimiter':'_','bulletListMarker':'-'}),this['attachmentObjectUrls']=new Map(),this['registerTurndownRules'](),this['init']();}['registerTurndownRules'](){this['turndownService']['addRule']('profoundAttachmentImage',{'filter':_0x2c6dec=>{return _0x2c6dec&&_0x2c6dec['nodeName']==='IMG'&&_0x2c6dec['getAttribute']&&_0x2c6dec['getAttribute']('data-attachment-name');},'replacement':(_0x1b9f3e,_0x87cd0a)=>{const _0x4e3592=_0x87cd0a['getAttribute']('data-attachment-name')||'',_0x1dbcb6=_0x87cd0a['getAttribute']('alt')||'',_0x534ff9=_0x4e3592['trim'](),_0x10c242=this['escapeAltText'](_0x1dbcb6||_0x534ff9),_0x525492=encodeURIComponent(_0x534ff9);return'';}}),this['turndownService']['addRule']('profoundMention',{'filter':_0x204166=>{return _0x204166&&_0x204166['nodeName']==='SPAN'&&_0x204166['getAttribute']&&_0x204166['getAttribute']('data-mention-user-id');},'replacement':(_0x5deb54,_0x224718)=>{const _0x1ae21e=_0x224718['getAttribute']('data-mention-user-id')||'',_0x1fe75e=_0x224718['textContent']||'',_0x434be4=_0x1fe75e['startsWith']('@')?_0x1fe75e['slice'](0x1):_0x1fe75e;return'['+_0x434be4+'](mention:'+_0x1ae21e+')';}}),this['turndownService']['addRule']('profoundColoredText',{'filter':_0x3be3d4=>{if(!_0x3be3d4)return![];if(_0x3be3d4['nodeName']==='FONT'&&_0x3be3d4['getAttribute']&&_0x3be3d4['getAttribute']('color'))return!![];if(_0x3be3d4['nodeName']==='SPAN'&&_0x3be3d4['style']&&_0x3be3d4['style']['color']){if(_0x3be3d4['getAttribute']&&_0x3be3d4['getAttribute']('data-mention-user-id'))return![];return!![];}return![];},'replacement':(_0x5cecf6,_0x4f8daa)=>{if(!_0x5cecf6['trim']())return _0x5cecf6;let _0xa8b541='';if(_0x4f8daa['nodeName']==='FONT')_0xa8b541=_0x4f8daa['getAttribute']('color')||'';else _0x4f8daa['style']&&_0x4f8daa['style']['color']&&(_0xa8b541=this['rgbToHex'](_0x4f8daa['style']['color']));if(!_0xa8b541)return _0x5cecf6;return'{color:'+_0xa8b541+'}'+_0x5cecf6+'{/color}';}});}['rgbToHex'](_0x34a4a2){if(!_0x34a4a2)return'';if(_0x34a4a2['startsWith']('#'))return _0x34a4a2;const _0x82229b=_0x34a4a2['match'](/^rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i);if(!_0x82229b)return _0x34a4a2;const _0x5d8dae=parseInt(_0x82229b[0x1],0xa),_0x3648be=parseInt(_0x82229b[0x2],0xa),_0x3e8cee=parseInt(_0x82229b[0x3],0xa);return'#'+[_0x5d8dae,_0x3648be,_0x3e8cee]['map'](_0x1e9106=>_0x1e9106['toString'](0x10)['padStart'](0x2,'0'))['join']('')['toUpperCase']();}['escapeAltText'](_0x200911){return String(_0x200911||'')['replace'](/\]/g,'\x5c]');}['init'](){this['editor']=document['createElement']('div'),this['editor']['className']='markdown-editor',this['editor']['contentEditable']=this['options']['editable'],this['editor']['setAttribute']('role','textbox'),this['editor']['setAttribute']('aria-multiline','true'),this['editor']['style']['minHeight']=this['options']['minHeight'];this['options']['placeholder']&&this['editor']['setAttribute']('data-placeholder',this['options']['placeholder']);this['options']['toolbar']?(this['container']=document['createElement']('div'),this['container']['className']='markdown-editor-wrapper',this['container']['style']['display']='flex',this['container']['style']['flexDirection']='column',this['createToolbar'](),this['container']['appendChild'](this['toolbar']),this['container']['appendChild'](this['editor']),this['element']['parentNode']['insertBefore'](this['container'],this['element'])):this['element']['parentNode']['insertBefore'](this['editor'],this['element']);this['element']['style']['display']='none',this['isMac']=navigator['platform']['toUpperCase']()['indexOf']('MAC')>=0x0,this['linkHintText']=this['isMac']?'⌘+click\x20to\x20follow':'Ctrl+click\x20to\x20follow';this['options']['editable']&&this['bindEvents']();const _0x88b228=this['element']['textContent']||this['element']['value']||'';_0x88b228['trim']()&&this['setMarkdown'](_0x88b228);}['createToolbar'](){this['toolbar']=document['createElement']('div'),this['toolbar']['className']='markdown-editor-toolbar',this['toolbarButtons']={};const _0x4883f7=[{'id':'header','icon':ICONS['header'],'title':'Heading','action':'header','isDropdown':!![]},{'separator':!![]},{'id':'bold','icon':ICONS['bold'],'title':'Bold\x20(Ctrl+B)','action':'bold','command':'bold'},{'id':'italic','icon':ICONS['italic'],'title':'Italic\x20(Ctrl+I)','action':'italic','command':'italic'},{'id':'strike','icon':ICONS['strike'],'title':'Strikethrough','action':'strikeThrough','command':'strikeThrough'},{'id':'color','icon':ICONS['color'],'title':'Text\x20Color','action':'color','isDropdown':!![]},{'separator':!![]},{'id':'link','icon':ICONS['link'],'title':'Link\x20(Ctrl+K)','action':'link','tagName':'A'},{'id':'code','icon':ICONS['code'],'title':'Inline\x20Code','action':'code','tagName':'CODE'},{'id':'codeBlock','icon':ICONS['codeBlock'],'title':'Code\x20Block','action':'codeBlock','tagName':'PRE'},{'separator':!![]},{'id':'list-bullet','icon':ICONS['listBullet'],'title':'Bullet\x20List','action':'insertUnorderedList','command':'insertUnorderedList'},{'id':'list-ordered','icon':ICONS['listOrdered'],'title':'Numbered\x20List','action':'insertOrderedList','command':'insertOrderedList'}];_0x4883f7['forEach'](_0x2da06a=>{if(_0x2da06a['separator']){const _0x427d72=document['createElement']('div');_0x427d72['className']='markdown-toolbar-separator',_0x427d72['style']['width']='1px',_0x427d72['style']['height']='16px',_0x427d72['style']['background']='var(--color-border)',_0x427d72['style']['margin']='0\x206px',_0x427d72['style']['alignSelf']='center',this['toolbar']['appendChild'](_0x427d72);}else{if(_0x2da06a['isDropdown']){const _0x1aa55a=document['createElement']('div');_0x1aa55a['className']='markdown-toolbar-dropdown',_0x1aa55a['style']['position']='relative';const _0x54c320=document['createElement']('button');_0x54c320['type']='button',_0x54c320['className']='markdown-editor-toolbar-btn\x20markdown-toolbar-dropdown-btn',_0x54c320['tabIndex']=-0x1,_0x54c320['innerHTML']=_0x2da06a['icon']+'<svg\x20class=\x22dropdown-arrow\x22\x20viewBox=\x220\x200\x2024\x2024\x22\x20width=\x2210\x22\x20height=\x2210\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20fill=\x22none\x22><polyline\x20points=\x226\x209\x2012\x2015\x2018\x209\x22></polyline></svg>',_0x54c320['title']=_0x2da06a['title'],_0x54c320['dataset']['action']=_0x2da06a['action'];const _0x467d58=document['createElement']('div');_0x467d58['className']='markdown-toolbar-dropdown-menu',_0x467d58['style']['display']='none';if(_0x2da06a['action']==='header')this['createHeaderDropdown'](_0x467d58);else _0x2da06a['action']==='color'&&this['createColorDropdown'](_0x467d58);_0x54c320['addEventListener']('click',_0x1533c6=>{_0x1533c6['preventDefault'](),_0x1533c6['stopPropagation'](),this['toggleDropdown'](_0x467d58,_0x54c320);}),_0x1aa55a['appendChild'](_0x54c320),_0x1aa55a['appendChild'](_0x467d58),this['toolbar']['appendChild'](_0x1aa55a),this['toolbarButtons'][_0x2da06a['id']]={'button':_0x54c320,'dropdown':_0x467d58,'command':_0x2da06a['command'],'tagName':_0x2da06a['tagName']};}else{const _0x3bb36b=document['createElement']('button');_0x3bb36b['type']='button',_0x3bb36b['className']='markdown-editor-toolbar-btn',_0x3bb36b['tabIndex']=-0x1,_0x3bb36b['innerHTML']=_0x2da06a['icon'],_0x3bb36b['title']=_0x2da06a['title'],_0x3bb36b['dataset']['action']=_0x2da06a['action'],_0x3bb36b['addEventListener']('click',_0x5bdfa2=>{_0x5bdfa2['preventDefault'](),this['handleToolbarAction'](_0x2da06a['action']);}),this['toolbar']['appendChild'](_0x3bb36b),this['toolbarButtons'][_0x2da06a['id']]={'button':_0x3bb36b,'command':_0x2da06a['command'],'tagName':_0x2da06a['tagName']};}}}),document['addEventListener']('click',_0x168c3e=>{!this['toolbar']['contains'](_0x168c3e['target'])&&this['closeAllDropdowns']();});}['createHeaderDropdown'](_0x36b3e3){const _0x36b6bc=[{'level':0x1,'label':'Heading\x201','tag':'H1'},{'level':0x2,'label':'Heading\x202','tag':'H2'},{'level':0x3,'label':'Heading\x203','tag':'H3'},{'level':0x4,'label':'Heading\x204','tag':'H4'},{'level':0x0,'label':'Normal\x20Text','tag':'P'}];_0x36b6bc['forEach'](_0x1c5b31=>{const _0x34d2c0=document['createElement']('button');_0x34d2c0['type']='button',_0x34d2c0['className']='markdown-dropdown-item',_0x34d2c0['tabIndex']=-0x1,_0x34d2c0['innerHTML']='<span\x20style=\x22font-size:\x20'+(_0x1c5b31['level']===0x0?'14px':0x14-_0x1c5b31['level']*0x2+'px')+';\x20font-weight:\x20'+(_0x1c5b31['level']===0x0?'normal':'bold')+'\x22>'+_0x1c5b31['label']+'</span>',_0x34d2c0['addEventListener']('click',_0x2cff1=>{_0x2cff1['preventDefault'](),_0x2cff1['stopPropagation'](),this['applyHeader'](_0x1c5b31['level']),this['closeAllDropdowns']();}),_0x36b3e3['appendChild'](_0x34d2c0);});}['createColorDropdown'](_0x59fd8b){const _0x50f841=[{'value':'#000000','label':'Black'},{'value':'#374151','label':'Gray'},{'value':'#DC2626','label':'Red'},{'value':'#EA580C','label':'Orange'},{'value':'#CA8A04','label':'Yellow'},{'value':'#16A34A','label':'Green'},{'value':'#2563EB','label':'Blue'},{'value':'#7C3AED','label':'Purple'},{'value':'#DB2777','label':'Pink'}],_0x115002=document['createElement']('div');_0x115002['className']='markdown-color-grid',_0x115002['style']['display']='grid',_0x115002['style']['gridTemplateColumns']='repeat(3,\x201fr)',_0x115002['style']['gap']='4px',_0x115002['style']['padding']='8px',_0x50f841['forEach'](_0x2eca43=>{const _0x40443d=document['createElement']('button');_0x40443d['type']='button',_0x40443d['className']='markdown-color-btn',_0x40443d['tabIndex']=-0x1,_0x40443d['style']['width']='24px',_0x40443d['style']['height']='24px',_0x40443d['style']['backgroundColor']=_0x2eca43['value'],_0x40443d['style']['border']='1px\x20solid\x20var(--color-border)',_0x40443d['style']['borderRadius']='4px',_0x40443d['style']['cursor']='pointer',_0x40443d['title']=_0x2eca43['label'],_0x40443d['addEventListener']('click',_0x203c90=>{_0x203c90['preventDefault'](),_0x203c90['stopPropagation'](),this['applyColor'](_0x2eca43['value']),this['closeAllDropdowns']();}),_0x115002['appendChild'](_0x40443d);}),_0x59fd8b['appendChild'](_0x115002);const _0x5022fe=document['createElement']('button');_0x5022fe['type']='button',_0x5022fe['className']='markdown-dropdown-item',_0x5022fe['innerHTML']='<span>Remove\x20Color</span>',_0x5022fe['style']['borderTop']='1px\x20solid\x20var(--color-border)',_0x5022fe['style']['marginTop']='4px',_0x5022fe['style']['paddingTop']='8px',_0x5022fe['addEventListener']('click',_0x4c1dac=>{_0x4c1dac['preventDefault'](),_0x4c1dac['stopPropagation'](),this['removeColor'](),this['closeAllDropdowns']();}),_0x59fd8b['appendChild'](_0x5022fe);}['toggleDropdown'](_0x47ad82,_0x1a90e9){const _0x5e9383=_0x47ad82['style']['display']!=='none';this['toolbar']&&this['closeAllDropdowns'](),!_0x5e9383&&(_0x47ad82['style']['display']='block',_0x1a90e9['classList']['add']('active'));}['closeAllDropdowns'](){const _0x486e06=this['toolbar']['querySelectorAll']('.markdown-toolbar-dropdown-menu');_0x486e06['forEach'](_0x3c37ea=>_0x3c37ea['style']['display']='none');const _0x20af4e=this['toolbar']['querySelectorAll']('.markdown-toolbar-dropdown-btn');_0x20af4e['forEach'](_0x4be1ce=>_0x4be1ce['classList']['remove']('active'));}['applyHeader'](_0x1c821c){this['editor']['focus']();const _0x4b43b9=window['getSelection']();if(!_0x4b43b9||_0x4b43b9['rangeCount']===0x0)return;const _0x43cebe=_0x4b43b9['getRangeAt'](0x0);let _0x993a12=_0x43cebe['startContainer'];while(_0x993a12&&_0x993a12!==this['editor']){if(_0x993a12['nodeType']===Node['ELEMENT_NODE']){const _0x135ef5=window['getComputedStyle'](_0x993a12)['display'];if(_0x135ef5==='block'||['P','H1','H2','H3','H4','H5','H6','DIV']['includes'](_0x993a12['tagName']))break;}_0x993a12=_0x993a12['parentNode'];}_0x1c821c===0x0?document['execCommand']('formatBlock',![],'p'):document['execCommand']('formatBlock',![],'h'+_0x1c821c),this['editor']['dispatchEvent'](new Event('input'));}['applyColor'](_0x270d73){this['editor']['focus'](),document['execCommand']('foreColor',![],_0x270d73),this['editor']['dispatchEvent'](new Event('input'));}['removeColor'](){this['editor']['focus'](),document['execCommand']('removeFormat',![],null),this['editor']['dispatchEvent'](new Event('input'));}['handleToolbarAction'](_0x1a1b5c){this['editor']['focus']();switch(_0x1a1b5c){case'bold':case'italic':case'strikeThrough':case'insertUnorderedList':case'insertOrderedList':document['execCommand'](_0x1a1b5c,![],null);break;case'link':this['openLinkDialog']();return;case'code':this['toggleInlineCode']();break;case'codeBlock':this['insertCodeBlock']();break;}this['updateToolbarState'](),this['editor']['dispatchEvent'](new Event('input'));}['ensureLinkDialog'](){if(this['linkDialog'])return;this['ensureLinkDialogStyles']();const _0x5ca02f=document['createElement']('div');_0x5ca02f['className']='markdown-editor-link-modal',_0x5ca02f['hidden']=!![],_0x5ca02f['innerHTML']='\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22markdown-editor-link-backdrop\x22></div>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22markdown-editor-link-dialog\x22\x20role=\x22dialog\x22\x20aria-modal=\x22true\x22\x20aria-label=\x22Edit\x20link\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22markdown-editor-link-header\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<h3\x20class=\x22markdown-editor-link-title\x22>Insert\x20Link</h3>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20type=\x22button\x22\x20class=\x22markdown-editor-link-close\x22\x20aria-label=\x22Close\x22>×</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<form\x20class=\x22markdown-editor-link-form\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22markdown-editor-link-field-grid\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22markdown-editor-link-label\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20URL\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20class=\x22markdown-editor-link-input\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20data-link-field=\x22url\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type=\x22text\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20placeholder=\x22https://example.com\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20autocomplete=\x22off\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20spellcheck=\x22false\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22markdown-editor-link-label\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Display\x20text\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20class=\x22markdown-editor-link-input\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20data-link-field=\x22text\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type=\x22text\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20placeholder=\x22Text\x20shown\x20to\x20readers\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20autocomplete=\x22off\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20spellcheck=\x22false\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22markdown-editor-link-actions\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20type=\x22button\x22\x20class=\x22markdown-editor-link-btn\x20markdown-editor-link-btn-secondary\x22\x20data-action=\x22cancel\x22>Cancel</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20type=\x22button\x22\x20class=\x22markdown-editor-link-btn\x20markdown-editor-link-btn-danger\x22\x20data-action=\x22remove\x22\x20hidden>Remove\x20Link</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20type=\x22submit\x22\x20class=\x22markdown-editor-link-btn\x20markdown-editor-link-btn-primary\x22>Insert\x20Link</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</form>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20',document['body']['appendChild'](_0x5ca02f),this['linkDialog']=_0x5ca02f,this['linkDialogElements']={'backdrop':_0x5ca02f['querySelector']('.markdown-editor-link-backdrop'),'title':_0x5ca02f['querySelector']('.markdown-editor-link-title'),'close':_0x5ca02f['querySelector']('.markdown-editor-link-close'),'form':_0x5ca02f['querySelector']('.markdown-editor-link-form'),'urlInput':_0x5ca02f['querySelector']('[data-link-field=\x22url\x22]'),'textInput':_0x5ca02f['querySelector']('[data-link-field=\x22text\x22]'),'remove':_0x5ca02f['querySelector']('[data-action=\x22remove\x22]'),'cancel':_0x5ca02f['querySelector']('[data-action=\x22cancel\x22]'),'submit':_0x5ca02f['querySelector']('.markdown-editor-link-btn-primary')},this['linkDialogElements']['backdrop']['addEventListener']('click',()=>{this['closeLinkDialog']({'restoreSelection':!![]});}),this['linkDialogElements']['close']['addEventListener']('click',()=>{this['closeLinkDialog']({'restoreSelection':!![]});}),this['linkDialogElements']['cancel']['addEventListener']('click',()=>{this['closeLinkDialog']({'restoreSelection':!![]});}),this['linkDialogElements']['remove']['addEventListener']('click',()=>{this['applyLinkDialogResult']({'remove':!![]});}),this['linkDialogElements']['form']['addEventListener']('submit',_0x4cec5e=>{_0x4cec5e['preventDefault'](),this['applyLinkDialogResult']();}),this['linkDialog']['addEventListener']('keydown',_0x4e2b31=>{_0x4e2b31['key']==='Escape'&&(_0x4e2b31['preventDefault'](),this['closeLinkDialog']({'restoreSelection':!![]}));});}['openLinkDialog'](){const _0xe3f6a0=window['getSelection']();if(!_0xe3f6a0||_0xe3f6a0['rangeCount']===0x0)return;const _0x46b230=_0xe3f6a0['getRangeAt'](0x0),_0x447313=this['editor']['contains'](_0x46b230['commonAncestorContainer'])||this['editor']===_0x46b230['commonAncestorContainer'];if(!_0x447313)return;this['toolbar']&&this['closeAllDropdowns']();this['ensureLinkDialog']();const _0x5aba96=_0x46b230['cloneRange'](),_0x41cc51=this['findLinkAtRange'](_0x5aba96),_0xbfcae5=_0x41cc51?_0x41cc51['getAttribute']('href')||'':'',_0x15432f=_0x41cc51?_0x41cc51['textContent']||'':_0x5aba96['toString']();this['linkDialogContext']={'range':_0x5aba96,'existingLink':_0x41cc51,'selectedText':_0x15432f},this['linkDialogElements']['title']['textContent']=_0x41cc51?'Edit\x20Link':'Insert\x20Link',this['linkDialogElements']['submit']['textContent']=_0x41cc51?'Save\x20Link':'Insert\x20Link',this['linkDialogElements']['remove']['hidden']=!_0x41cc51,this['linkDialogElements']['urlInput']['value']=_0xbfcae5,this['linkDialogElements']['textInput']['value']=_0x15432f,this['linkDialog']['hidden']=![],this['linkDialogElements']['urlInput']['focus'](),this['linkDialogElements']['urlInput']['select']();}['closeLinkDialog']({restoreSelection:restoreSelection=![]}={}){if(!this['linkDialog'])return;const _0x484876=this['linkDialogContext'];this['linkDialog']['hidden']=!![],restoreSelection&&_0x484876?.['range']&&(this['editor']['focus'](),this['restoreRange'](_0x484876['range'])),this['linkDialogContext']=null;}['applyLinkDialogResult']({remove:remove=![]}={}){if(!this['linkDialog']||!this['linkDialogContext'])return;const _0x3a7908=this['linkDialogContext'],_0x59d0da=(this['linkDialogElements']['urlInput']['value']||'')['trim'](),_0x28be66=this['linkDialogElements']['textInput']['value']||'',_0x19458c=_0x28be66['trim']();if(!remove&&!_0x59d0da){this['linkDialogElements']['urlInput']['focus']();return;}this['closeLinkDialog'](),this['editor']['focus'](),this['restoreRange'](_0x3a7908['range']);if(remove)_0x3a7908['existingLink']&&_0x3a7908['existingLink']['parentNode']?this['unwrapLinkElement'](_0x3a7908['existingLink']):document['execCommand']('unlink',![],null);else{if(_0x3a7908['existingLink']&&_0x3a7908['existingLink']['parentNode'])_0x3a7908['existingLink']['setAttribute']('href',_0x59d0da),_0x3a7908['existingLink']['textContent']=_0x19458c||_0x59d0da;else{const _0x1e0cfd=window['getSelection']();if(!_0x1e0cfd||_0x1e0cfd['rangeCount']===0x0)return;const _0x4bfbaf=_0x1e0cfd['getRangeAt'](0x0),_0x2e9bc0=(_0x3a7908['selectedText']||'')['trim'](),_0xf0840c=_0x19458c||_0x2e9bc0||_0x59d0da;_0x4bfbaf['deleteContents']();const _0x2b4fee=document['createElement']('a');_0x2b4fee['href']=_0x59d0da,_0x2b4fee['textContent']=_0xf0840c,_0x4bfbaf['insertNode'](_0x2b4fee),_0x4bfbaf['setStartAfter'](_0x2b4fee),_0x4bfbaf['collapse'](!![]),_0x1e0cfd['removeAllRanges'](),_0x1e0cfd['addRange'](_0x4bfbaf);}}this['addLinkHints'](),this['updateToolbarState'](),this['editor']['dispatchEvent'](new Event('input'));}['ensureLinkDialogStyles'](){if(document['getElementById'](LINK_DIALOG_STYLE_ID))return;const _0x12e546=document['createElement']('style');_0x12e546['id']=LINK_DIALOG_STYLE_ID,_0x12e546['textContent']=LINK_DIALOG_STYLES,document['head']['appendChild'](_0x12e546);}['restoreRange'](_0x337af2){const _0x373bc5=window['getSelection']();if(!_0x373bc5)return;try{_0x373bc5['removeAllRanges'](),_0x373bc5['addRange'](_0x337af2);return;}catch(_0x4ca782){}const _0x3bf15c=document['createRange']();_0x3bf15c['selectNodeContents'](this['editor']),_0x3bf15c['collapse'](![]),_0x373bc5['removeAllRanges'](),_0x373bc5['addRange'](_0x3bf15c);}['findLinkAtRange'](_0x5ceeb5){if(!_0x5ceeb5)return null;const _0x4d6364=this['findParentLink'](_0x5ceeb5['startContainer']);if(_0x5ceeb5['collapsed'])return _0x4d6364;const _0x2cb988=this['findParentLink'](_0x5ceeb5['endContainer']);if(_0x4d6364&&_0x4d6364===_0x2cb988)return _0x4d6364;if(_0x4d6364&&_0x4d6364['contains'](_0x5ceeb5['endContainer']))return _0x4d6364;if(_0x2cb988&&_0x2cb988['contains'](_0x5ceeb5['startContainer']))return _0x2cb988;return null;}['findParentLink'](_0x1f3efc){let _0x17dd33=_0x1f3efc;while(_0x17dd33&&_0x17dd33!==this['editor']){if(_0x17dd33['nodeType']===Node['ELEMENT_NODE']&&_0x17dd33['tagName']==='A'){const _0x1b1c09=_0x17dd33['getAttribute']('href')||'';if(_0x1b1c09['startsWith']('mention:'))return null;return _0x17dd33;}_0x17dd33=_0x17dd33['parentNode'];}return null;}['unwrapLinkElement'](_0x1e6aeb){const _0x3ec5a1=_0x1e6aeb['parentNode'];if(!_0x3ec5a1)return;while(_0x1e6aeb['firstChild']){_0x3ec5a1['insertBefore'](_0x1e6aeb['firstChild'],_0x1e6aeb);}_0x3ec5a1['removeChild'](_0x1e6aeb);}['isSelectionInTag'](_0x2dc15f){const _0x556ed0=window['getSelection']();if(!_0x556ed0||_0x556ed0['rangeCount']===0x0)return![];let _0x4a187e=_0x556ed0['anchorNode'];while(_0x4a187e&&_0x4a187e!==this['editor']){if(_0x4a187e['nodeType']===Node['ELEMENT_NODE']&&_0x4a187e['tagName']===_0x2dc15f)return!![];_0x4a187e=_0x4a187e['parentNode'];}return![];}['updateToolbarState'](){if(!this['toolbarButtons'])return;for(const [_0x2d5a1f,_0x385494]of Object['entries'](this['toolbarButtons'])){let _0x6d2258=![];if(_0x385494['command'])try{_0x6d2258=document['queryCommandState'](_0x385494['command']);}catch(_0x5c0929){_0x6d2258=![];}else _0x385494['tagName']&&(_0x6d2258=this['isSelectionInTag'](_0x385494['tagName']));_0x385494['button']['classList']['toggle']('active',_0x6d2258);}}['bindEvents'](){this['editor']['addEventListener']('keydown',_0x4d2dcd=>this['handleKeydown'](_0x4d2dcd)),this['editor']['addEventListener']('input',_0x3d2488=>{this['handleMentionInput'](_0x3d2488),this['handleAutoFormat'](_0x3d2488);}),this['editor']['addEventListener']('input',()=>{const _0xb97d79=this['editor']['textContent']['trim']()!==''||this['editor']['innerHTML']['includes']('<br')||this['editor']['innerHTML']['includes']('<div')||this['editor']['innerHTML']['includes']('<img');!_0xb97d79&&(this['editor']['innerHTML']='');this['updatePlaceholder']();const _0x1b98d1=this['getMarkdown']();this['element']['tagName']==='TEXTAREA'||this['element']['tagName']==='INPUT'?this['element']['value']=_0x1b98d1:this['element']['textContent']=_0x1b98d1,this['options']['onChange']&&this['options']['onChange'](_0x1b98d1);}),this['editor']['addEventListener']('paste',_0x2ed704=>this['handlePaste'](_0x2ed704)),this['editor']['addEventListener']('dragover',_0x3ee331=>this['handleDragOver'](_0x3ee331)),this['editor']['addEventListener']('drop',_0xa14c58=>this['handleDrop'](_0xa14c58)),this['editor']['addEventListener']('dragstart',_0x2d2dcb=>this['handleDragStart'](_0x2d2dcb)),this['options']['toolbar']&&(this['selectionChangeHandler']=()=>{(this['editor']['contains'](document['activeElement'])||this['editor']===document['activeElement'])&&this['updateToolbarState']();},document['addEventListener']('selectionchange',this['selectionChangeHandler']),this['editor']['addEventListener']('keyup',()=>this['updateToolbarState']()),this['editor']['addEventListener']('mouseup',()=>this['updateToolbarState']()),this['editor']['addEventListener']('focus',()=>this['updateToolbarState']())),this['linkClickHandler']=_0x4da58f=>this['handleLinkClick'](_0x4da58f),this['editor']['addEventListener']('click',this['linkClickHandler']),this['linkMouseEnterHandler']=_0x1137d6=>this['handleLinkMouseEnter'](_0x1137d6),this['linkMouseLeaveHandler']=_0x470559=>this['handleLinkMouseLeave'](_0x470559),this['editor']['addEventListener']('mouseover',this['linkMouseEnterHandler']),this['editor']['addEventListener']('mouseout',this['linkMouseLeaveHandler']),this['updatePlaceholder']();}['handleAutoFormat'](_0x1dbc84){if(_0x1dbc84['inputType']==='deleteContentBackward')return;const _0x2f5e80=window['getSelection']();if(!_0x2f5e80||_0x2f5e80['rangeCount']===0x0)return;const _0x29f18d=_0x2f5e80['getRangeAt'](0x0),_0x5b0718=_0x29f18d['startContainer'];if(_0x5b0718['nodeType']!==Node['TEXT_NODE'])return;if(this['isSelectionInTag']('CODE')||this['isSelectionInTag']('PRE'))return;const _0x4895a7=_0x5b0718['textContent'],_0x2e44b7=_0x29f18d['startOffset'],_0x289f57=_0x4895a7['slice'](0x0,_0x2e44b7);if(_0x289f57['endsWith']('```')){_0x29f18d['setStart'](_0x5b0718,_0x2e44b7-0x3),_0x29f18d['setEnd'](_0x5b0718,_0x2e44b7),_0x29f18d['deleteContents'](),this['insertCodeBlock']();return;}const _0x4c4441=/`([^`]+)`$/,_0x37f737=_0x289f57['match'](_0x4c4441);if(_0x37f737){const _0x57489c=_0x37f737[0x1];if(_0x57489c){const _0x394db6=_0x37f737['index'],_0x953ef0=_0x394db6+_0x57489c['length']+0x2;_0x29f18d['setStart'](_0x5b0718,_0x394db6),_0x29f18d['setEnd'](_0x5b0718,_0x2e44b7),_0x29f18d['deleteContents']();const _0x5c9777=document['createElement']('code');_0x5c9777['textContent']=_0x57489c,_0x29f18d['insertNode'](_0x5c9777),_0x29f18d['setStartAfter'](_0x5c9777),_0x29f18d['setEndAfter'](_0x5c9777);const _0x2e84d9=document['createTextNode']('');_0x29f18d['insertNode'](_0x2e84d9),_0x29f18d['setStartAfter'](_0x2e84d9),_0x29f18d['setEndAfter'](_0x2e84d9),_0x2f5e80['removeAllRanges'](),_0x2f5e80['addRange'](_0x29f18d);return;}}const _0x2f8343=_0x289f57['match'](/^[-*][\s\u00A0]$/);if(_0x2f8343&&this['isAtStartOfBlock'](_0x5b0718)){if(this['isSelectionInTag']('UL')||this['isSelectionInTag']('OL'))return;_0x29f18d['setStart'](_0x5b0718,Math['max'](_0x2e44b7-0x2,0x0)),_0x29f18d['setEnd'](_0x5b0718,_0x2e44b7),_0x29f18d['deleteContents']();const _0x37c6c5=this['ensureListInsertionAnchor'](_0x5b0718);document['execCommand']('insertUnorderedList',![],null);_0x37c6c5&&_0x37c6c5['parentNode']&&_0x37c6c5['parentNode']['removeChild'](_0x37c6c5);this['updateToolbarState']();return;}const _0x36317f=_0x289f57['match'](/^1\.[\s\u00A0]$/);if(_0x36317f&&this['isAtStartOfBlock'](_0x5b0718)){if(this['isSelectionInTag']('UL')||this['isSelectionInTag']('OL'))return;_0x29f18d['setStart'](_0x5b0718,Math['max'](_0x2e44b7-0x3,0x0)),_0x29f18d['setEnd'](_0x5b0718,_0x2e44b7),_0x29f18d['deleteContents']();const _0x5c35f9=this['ensureListInsertionAnchor'](_0x5b0718);document['execCommand']('insertOrderedList',![],null);_0x5c35f9&&_0x5c35f9['parentNode']&&_0x5c35f9['parentNode']['removeChild'](_0x5c35f9);this['updateToolbarState']();return;}}['isAtStartOfBlock'](_0x3db351){let _0x366ef0=_0x3db351;while(_0x366ef0&&_0x366ef0!==this['editor']){const _0x253976=_0x366ef0['parentNode'];if(!_0x253976)break;const _0x2bc2ab=_0x253976['tagName'];if(_0x2bc2ab==='DIV'||_0x2bc2ab==='P'||_0x2bc2ab==='LI'||_0x253976===this['editor']){let _0x1f393d=_0x253976['firstChild'];while(_0x1f393d&&(_0x1f393d['nodeType']===Node['TEXT_NODE']&&_0x1f393d['textContent']===''||_0x1f393d['nodeType']===Node['ELEMENT_NODE']&&_0x1f393d['tagName']==='BR')){_0x1f393d=_0x1f393d['nextSibling'];}return _0x1f393d===_0x3db351||_0x1f393d===_0x366ef0;}_0x366ef0=_0x253976;}if(_0x366ef0===this['editor']||_0x3db351['parentNode']===this['editor']){let _0x224b3b=this['editor']['firstChild'];while(_0x224b3b&&(_0x224b3b['nodeType']===Node['TEXT_NODE']&&_0x224b3b['textContent']===''||_0x224b3b['nodeType']===Node['ELEMENT_NODE']&&_0x224b3b['tagName']==='BR')){_0x224b3b=_0x224b3b['nextSibling'];}return _0x224b3b===_0x3db351;}return![];}['getClosestBlockElement'](_0x4459b0){let _0x3dbc08=_0x4459b0;while(_0x3dbc08&&_0x3dbc08!==this['editor']){const _0x145cf6=_0x3dbc08['parentNode'];if(!_0x145cf6)break;const _0x39af67=_0x145cf6['tagName'];if(_0x39af67==='DIV'||_0x39af67==='P'||_0x39af67==='LI'||_0x145cf6===this['editor'])return _0x145cf6;_0x3dbc08=_0x145cf6;}return this['editor'];}['ensureListInsertionAnchor'](_0x25109b){const _0x37f9da=window['getSelection']();if(!_0x37f9da||_0x37f9da['rangeCount']===0x0)return null;const _0x55adfd=this['getClosestBlockElement'](_0x25109b);if(!_0x55adfd||_0x55adfd===this['editor'])return null;const _0x1829f6=_0x55adfd['textContent']['replace'](/\u200B/g,'');if(_0x1829f6!=='')return null;const _0x5ec52f=document['createTextNode']('');_0x55adfd['appendChild'](_0x5ec52f);const _0x4247ad=document['createRange']();return _0x4247ad['setStart'](_0x5ec52f,0x1),_0x4247ad['setEnd'](_0x5ec52f,0x1),_0x37f9da['removeAllRanges'](),_0x37f9da['addRange'](_0x4247ad),_0x5ec52f;}['getContainingListItem'](){const _0x36146e=window['getSelection']();if(!_0x36146e||_0x36146e['rangeCount']===0x0)return null;let _0x1d1c88=_0x36146e['anchorNode'];while(_0x1d1c88&&_0x1d1c88!==this['editor']){if(_0x1d1c88['nodeType']===Node['ELEMENT_NODE']&&_0x1d1c88['tagName']==='LI')return _0x1d1c88;_0x1d1c88=_0x1d1c88['parentNode'];}return null;}['isEmptyListItem'](_0x565b9b){if(!_0x565b9b)return![];const _0xd3922b=_0x565b9b['textContent']['replace'](/\u200B/g,'')['trim']();if(_0xd3922b!=='')return![];const _0x3e791f=_0x565b9b['querySelector']('img');if(_0x3e791f)return![];const _0x4d44fb=_0x565b9b['querySelector']('ul,\x20ol');if(_0x4d44fb)return![];return!![];}['isCursorAtStartOfListItem'](_0x225d23){if(!_0x225d23)return![];const _0x5c1c80=window['getSelection']();if(!_0x5c1c80||_0x5c1c80['rangeCount']===0x0||!_0x5c1c80['isCollapsed'])return![];const _0x1176e9=_0x5c1c80['getRangeAt'](0x0),_0x310cae=_0x1176e9['startContainer'];if(_0x310cae!==_0x225d23&&!_0x225d23['contains'](_0x310cae))return![];const _0x511f10=_0x1176e9['cloneRange']();_0x511f10['setStart'](_0x225d23,0x0),_0x511f10['setEnd'](_0x310cae,_0x1176e9['startOffset']);const _0x3414dc=_0x511f10['toString']()['replace'](/\u200B/g,'')['replace'](/\u00A0/g,'\x20');return _0x3414dc['trim']()==='';}['indentListItem'](_0x491d09){const _0x3cc9b4=_0x491d09['previousElementSibling'];if(!_0x3cc9b4||_0x3cc9b4['tagName']!=='LI')return;const _0x4ae855=_0x491d09['parentNode'],_0x41d103=_0x4ae855['tagName'];let _0x32e997=_0x3cc9b4['querySelector'](':scope\x20>\x20ul,\x20:scope\x20>\x20ol');!_0x32e997&&(_0x32e997=document['createElement'](_0x41d103),_0x3cc9b4['appendChild'](_0x32e997)),_0x32e997['appendChild'](_0x491d09),this['placeCursorInListItem'](_0x491d09);}['outdentListItem'](_0x570324){const _0x3733b1=_0x570324['parentNode'];if(!_0x3733b1||_0x3733b1['tagName']!=='UL'&&_0x3733b1['tagName']!=='OL')return;const _0x525dc6=_0x3733b1['parentNode'];if(_0x525dc6&&_0x525dc6['tagName']==='LI'){const _0xae21b1=_0x525dc6['parentNode'];_0xae21b1['insertBefore'](_0x570324,_0x525dc6['nextSibling']),_0x3733b1['children']['length']===0x0&&_0x3733b1['remove'](),this['placeCursorInListItem'](_0x570324);}else return;}['exitListOnEmptyBullet'](_0x435746){const _0x450937=_0x435746['parentNode'];if(!_0x450937)return;const _0x3a9841=_0x450937['parentNode'];if(_0x3a9841&&_0x3a9841['tagName']==='LI'){this['outdentListItem'](_0x435746);return;}const _0x5935c4=_0x450937['parentNode'],_0x2ccec8=document['createElement']('p');_0x2ccec8['innerHTML']='<br>',_0x5935c4['insertBefore'](_0x2ccec8,_0x450937['nextSibling']),_0x435746['remove']();_0x450937['children']['length']===0x0&&_0x450937['remove']();const _0x4e2fb7=window['getSelection'](),_0x3cbfa3=document['createRange']();_0x3cbfa3['setStart'](_0x2ccec8,0x0),_0x3cbfa3['collapse'](!![]),_0x4e2fb7['removeAllRanges'](),_0x4e2fb7['addRange'](_0x3cbfa3);}['placeCursorInListItem'](_0x53e1a1){const _0x2005b0=window['getSelection'](),_0x52cc08=document['createRange'](),_0x15ed9b=document['createTreeWalker'](_0x53e1a1,NodeFilter['SHOW_TEXT'],null,![]),_0x5d25f7=_0x15ed9b['nextNode']();_0x5d25f7?_0x52cc08['setStart'](_0x5d25f7,0x0):_0x52cc08['setStart'](_0x53e1a1,0x0),_0x52cc08['collapse'](!![]),_0x2005b0['removeAllRanges'](),_0x2005b0['addRange'](_0x52cc08);}['handleLinkClick'](_0x1ebe6c){const _0x2574c9=this['isMac']?_0x1ebe6c['metaKey']:_0x1ebe6c['ctrlKey'];if(!_0x2574c9)return;let _0x2ac8a3=_0x1ebe6c['target'];while(_0x2ac8a3&&_0x2ac8a3!==this['editor']){if(_0x2ac8a3['tagName']==='A'){_0x1ebe6c['preventDefault'](),_0x1ebe6c['stopPropagation']();const _0x1f8de4=_0x2ac8a3['getAttribute']('href');if(!_0x1f8de4)return;if(_0x1f8de4['startsWith']('mention:'))return;const _0x371dc8=/^https?:\/\//i['test'](_0x1f8de4);_0x371dc8?window['open'](_0x1f8de4,'_blank','noopener,noreferrer'):window['location']['href']=_0x1f8de4;return;}_0x2ac8a3=_0x2ac8a3['parentNode'];}}['handleLinkMouseEnter'](_0x12a77a){const _0x53823c=_0x12a77a['target'];if(_0x53823c['tagName']!=='A')return;const _0x519f7c=_0x53823c['getAttribute']('href')||'';if(_0x519f7c['startsWith']('mention:'))return;this['linkTooltipTimeout']&&clearTimeout(this['linkTooltipTimeout']),this['linkTooltipTimeout']=setTimeout(()=>{this['showLinkTooltip'](_0x53823c);},0x12c);}['handleLinkMouseLeave'](_0x5a7e83){const _0x52563=_0x5a7e83['target'];if(_0x52563['tagName']!=='A')return;this['linkTooltipTimeout']&&(clearTimeout(this['linkTooltipTimeout']),this['linkTooltipTimeout']=null),this['hideLinkTooltip']();}['showLinkTooltip'](_0x1d2356){!this['linkTooltip']&&(this['linkTooltip']=document['createElement']('div'),this['linkTooltip']['className']='markdown-editor-link-tooltip',document['body']['appendChild'](this['linkTooltip']));this['linkTooltip']['textContent']=this['linkHintText']||'Ctrl+click\x20to\x20follow';const _0x4c6a66=_0x1d2356['getBoundingClientRect'](),_0x44224f=this['linkTooltip']['getBoundingClientRect']();let _0x2b6572=_0x4c6a66['bottom']+0x4,_0x561167=_0x4c6a66['left']+_0x4c6a66['width']/0x2;_0x2b6572+0x1e>window['innerHeight']&&(_0x2b6572=_0x4c6a66['top']-0x1e);const _0x28d0c3=0x78;if(_0x561167-_0x28d0c3/0x2<0xa)_0x561167=_0x28d0c3/0x2+0xa;else _0x561167+_0x28d0c3/0x2>window['innerWidth']-0xa&&(_0x561167=window['innerWidth']-_0x28d0c3/0x2-0xa);this['linkTooltip']['style']['top']=_0x2b6572+'px',this['linkTooltip']['style']['left']=_0x561167+'px',this['linkTooltip']['style']['transform']='translateX(-50%)',this['linkTooltip']['classList']['add']('visible');}['hideLinkTooltip'](){this['linkTooltip']&&this['linkTooltip']['classList']['remove']('visible');}['handleKeydown'](_0x3be86c){if(this['mentionState']['active']){if(_0x3be86c['key']==='ArrowDown'){_0x3be86c['preventDefault'](),this['mentionNavigate'](0x1);return;}if(_0x3be86c['key']==='ArrowUp'){_0x3be86c['preventDefault'](),this['mentionNavigate'](-0x1);return;}if(_0x3be86c['key']==='Enter'||_0x3be86c['key']==='Tab'){if(this['mentionState']['filteredUsers']['length']>0x0){_0x3be86c['preventDefault'](),this['insertMention'](this['mentionState']['filteredUsers'][this['mentionState']['selectedIndex']]);return;}}if(_0x3be86c['key']==='Escape'){_0x3be86c['preventDefault'](),this['closeMentionDropdown']();return;}}if(_0x3be86c['key']==='Tab'&&(this['isSelectionInTag']('UL')||this['isSelectionInTag']('OL'))){const _0x42f4a7=this['getContainingListItem']();if(_0x42f4a7&&this['isCursorAtStartOfListItem'](_0x42f4a7)){_0x3be86c['preventDefault']();_0x3be86c['shiftKey']?this['outdentListItem'](_0x42f4a7):this['indentListItem'](_0x42f4a7);this['editor']['dispatchEvent'](new Event('input',{'bubbles':!![]}));return;}}if(_0x3be86c['key']==='Enter'&&!_0x3be86c['shiftKey']&&(this['isSelectionInTag']('UL')||this['isSelectionInTag']('OL'))){const _0x2dc158=this['getContainingListItem']();if(_0x2dc158&&this['isEmptyListItem'](_0x2dc158)){_0x3be86c['preventDefault'](),this['exitListOnEmptyBullet'](_0x2dc158),this['editor']['dispatchEvent'](new Event('input',{'bubbles':!![]}));return;}}if(_0x3be86c['key']==='Enter'&&!_0x3be86c['shiftKey']&&this['isSelectionInTag']('PRE')){_0x3be86c['preventDefault']();const _0x3c7b1e=window['getSelection']();if(_0x3c7b1e['rangeCount']>0x0){const _0x310362=_0x3c7b1e['getRangeAt'](0x0);_0x310362['deleteContents']();const _0x364125=document['createTextNode']('\x0a');_0x310362['insertNode'](_0x364125),_0x310362['setStartAfter'](_0x364125),_0x310362['setEndAfter'](_0x364125),_0x3c7b1e['removeAllRanges'](),_0x3c7b1e['addRange'](_0x310362),this['handleInput']();}return;}(_0x3be86c['ctrlKey']||_0x3be86c['metaKey'])&&_0x3be86c['key']==='b'&&(_0x3be86c['preventDefault'](),document['execCommand']('bold',![],null));(_0x3be86c['ctrlKey']||_0x3be86c['metaKey'])&&_0x3be86c['key']==='i'&&(_0x3be86c['preventDefault'](),document['execCommand']('italic',![],null));if((_0x3be86c['ctrlKey']||_0x3be86c['metaKey'])&&_0x3be86c['key']==='k'){_0x3be86c['preventDefault'](),this['openLinkDialog']();return;}}['handlePaste'](_0x47dcd7){const _0x502845=_0x47dcd7['clipboardData'];if(_0x502845&&this['options']['onAddAttachments']){const _0x3794e7=this['extractImageFilesFromClipboard'](_0x502845);if(_0x3794e7['length']>0x0){_0x47dcd7['preventDefault'](),this['addAndInsertImages'](_0x3794e7);return;}}_0x47dcd7['preventDefault']();const _0xbd2745=_0x47dcd7['clipboardData']['getData']('text/html');if(_0xbd2745&&_0xbd2745['trim']()){const _0x249a73=this['convertPastedHtmlToMarkdown'](_0xbd2745);if(_0x249a73&&_0x249a73['trim']()){this['insertMarkdownAsRichText'](_0x249a73);return;}}const _0xe320f7=_0x47dcd7['clipboardData']['getData']('text/plain');document['execCommand']('insertText',![],_0xe320f7);}['convertPastedHtmlToMarkdown'](_0x2125e8){const _0x46c53f=document['createElement']('div');_0x46c53f['innerHTML']=_0x2125e8;const _0x29093a=_0x46c53f['querySelectorAll']('style,\x20script,\x20meta,\x20link,\x20head,\x20title');_0x29093a['forEach'](_0x2a817f=>_0x2a817f['remove']());const _0x595eac=_0x46c53f['querySelectorAll']('*');_0x595eac['forEach'](_0x1c9a6b=>{const _0x307873=Array['from'](_0x1c9a6b['attributes']);_0x307873['forEach'](_0x17c817=>{_0x17c817['name']['startsWith']('data-')&&_0x17c817['name']!=='data-attachment-name'&&_0x17c817['name']!=='data-mention-user-id'&&_0x1c9a6b['removeAttribute'](_0x17c817['name']);});}),_0x46c53f['querySelectorAll']('font[color]')['forEach'](_0x3501fa=>{_0x3501fa['replaceWith'](..._0x3501fa['childNodes']);}),_0x46c53f['querySelectorAll']('span')['forEach'](_0x22ce63=>{_0x22ce63['style']['color']&&_0x22ce63['style']['removeProperty']('color'),!_0x22ce63['getAttribute']('style')&&!_0x22ce63['getAttribute']('data-mention-user-id')&&!_0x22ce63['getAttribute']('data-attachment-name')&&_0x22ce63['replaceWith'](..._0x22ce63['childNodes']);});try{return this['turndownService']['turndown'](_0x46c53f['innerHTML']);}catch(_0x5d3354){return console['warn']('Failed\x20to\x20convert\x20HTML\x20to\x20markdown:',_0x5d3354),null;}}['insertMarkdownAsRichText'](_0x434b56){const _0x367047=window['marked'];if(!_0x367047){document['execCommand']('insertText',![],_0x434b56);return;}try{const _0x32cf12=this['preprocessColorSyntax'](_0x434b56),_0x7a4bc=_0x367047['parse'](_0x32cf12),_0x193af8=document['createElement']('div');_0x193af8['innerHTML']=_0x7a4bc,this['processHtmlForEditor'](_0x193af8),document['execCommand']('insertHTML',![],_0x193af8['innerHTML']);}catch(_0x1fe55e){console['warn']('Failed\x20to\x20convert\x20markdown\x20to\x20HTML:',_0x1fe55e),document['execCommand']('insertText',![],_0x434b56);}}['processHtmlForEditor'](_0x2508ac){const _0x215cea=_0x2508ac['querySelectorAll']('pre');_0x215cea['forEach'](_0x59ce55=>{const _0x1759f7=_0x59ce55['querySelector']('code');if(_0x1759f7){const _0x180e32=Array['from'](_0x1759f7['classList'])['find'](_0x43702e=>_0x43702e['startsWith']('language-')),_0x3e5e4a=_0x180e32?_0x180e32['replace']('language-',''):'',_0x32591b=document['createElement']('pre');_0x3e5e4a&&_0x32591b['setAttribute']('data-language',_0x3e5e4a),_0x32591b['textContent']=_0x1759f7['textContent'],_0x59ce55['replaceWith'](_0x32591b);}});const _0x34f30e=_0x2508ac['querySelectorAll']('a');_0x34f30e['forEach'](_0x2dbb31=>{_0x2dbb31['setAttribute']('target','_blank'),_0x2dbb31['setAttribute']('rel','noopener\x20noreferrer');});}['handleDragStart'](_0x56fb55){const _0x14afa7=_0x56fb55['target'];if(!_0x14afa7||_0x14afa7['tagName']!=='IMG')return;if(!_0x56fb55['dataTransfer'])return;const _0xdd94=_0x14afa7['getAttribute']('data-attachment-name')||'';try{_0x56fb55['dataTransfer']['setData'](INTERNAL_DRAG_MIME,_0xdd94||'1');}catch{}_0x56fb55['dataTransfer']['effectAllowed']='move';}['handleDragOver'](_0x4dab58){if(!this['isExternalFileTransfer'](_0x4dab58['dataTransfer']))return;_0x4dab58['preventDefault'](),_0x4dab58['dataTransfer']['dropEffect']='copy';}['handleDrop'](_0x300bd0){if(!this['isExternalFileTransfer'](_0x300bd0['dataTransfer']))return;const _0x293242=_0x300bd0['dataTransfer'],_0x1ca09e=Array['from'](_0x293242['files']||[])['filter'](_0x2592a7=>_0x2592a7&&typeof _0x2592a7['type']==='string'),_0x20ce98=_0x1ca09e['filter'](_0xce19bc=>_0xce19bc['type']['startsWith']('image/'));if(_0x20ce98['length']===0x0)return;_0x300bd0['preventDefault'](),_0x300bd0['stopPropagation'](),this['cleanupParentDragState'](),this['moveSelectionToDropPoint'](_0x300bd0),this['addAndInsertImages'](_0x20ce98);}['cleanupParentDragState'](){let _0x24d0fe=this['editor']['parentElement'];while(_0x24d0fe){_0x24d0fe['classList']&&_0x24d0fe['classList']['contains']('drag-over')&&_0x24d0fe['classList']['remove']('drag-over'),_0x24d0fe=_0x24d0fe['parentElement'];}}['isExternalFileTransfer'](_0x4c57be){if(!_0x4c57be)return![];const _0x168a13=Array['from'](_0x4c57be['types']||[]);if(!_0x168a13['includes']('Files'))return![];if(_0x168a13['includes'](INTERNAL_DRAG_MIME))return![];if(_0x4c57be['files']&&_0x4c57be['files']['length']>0x0)return!![];if(_0x4c57be['items']&&Array['from'](_0x4c57be['items'])['some'](_0x243efa=>_0x243efa['kind']==='file'))return!![];return![];}['moveSelectionToDropPoint'](_0x523789){const _0x498474=_0x523789['clientX'],_0x2946a8=_0x523789['clientY'];let _0x149c21=null;if(document['caretRangeFromPoint'])_0x149c21=document['caretRangeFromPoint'](_0x498474,_0x2946a8);else{if(document['caretPositionFromPoint']){const _0x37b880=document['caretPositionFromPoint'](_0x498474,_0x2946a8);_0x37b880&&(_0x149c21=document['createRange'](),_0x149c21['setStart'](_0x37b880['offsetNode'],_0x37b880['offset']),_0x149c21['collapse'](!![]));}}if(_0x149c21){const _0x26b6b1=window['getSelection']();_0x26b6b1['removeAllRanges'](),_0x26b6b1['addRange'](_0x149c21);}}['extractImageFilesFromClipboard'](_0x45a535){const _0x3b2c0a=Array['from'](_0x45a535['items']||[]),_0x420cef=[];for(const _0x1427c4 of _0x3b2c0a){if(_0x1427c4['kind']==='file'&&_0x1427c4['type']&&_0x1427c4['type']['startsWith']('image/')){const _0x5973a4=_0x1427c4['getAsFile']();if(_0x5973a4)_0x420cef['push'](_0x5973a4);}}return _0x420cef;}['addAndInsertImages'](_0x5abedd){const _0x2ce267=_0x5abedd['map'](_0x1a4352=>this['prepareAttachmentFile'](_0x1a4352))['filter'](Boolean);if(_0x2ce267['length']===0x0)return;const _0xfd3159=_0x2ce267['map'](_0x183cbe=>_0x183cbe['file']);try{this['options']['onAddAttachments'](_0xfd3159);}catch(_0xb0e078){console['error']('Failed\x20to\x20add\x20attachments:',_0xb0e078);}for(const {name:_0x438d98,objectUrl:_0xec9220}of _0x2ce267){this['insertAttachmentImage'](_0x438d98,_0xec9220);}this['editor']['dispatchEvent'](new Event('input',{'bubbles':!![]}));}['prepareAttachmentFile'](_0xae53b2){const _0x2e4090=this['sanitizeFilename'](_0xae53b2['name']||this['defaultImageName'](_0xae53b2['type']));if(!_0x2e4090)return null;const _0x51e55e=this['getUniqueAttachmentName'](_0x2e4090),_0x1d04af=_0x51e55e===_0xae53b2['name']?_0xae53b2:new File([_0xae53b2],_0x51e55e,{'type':_0xae53b2['type'],'lastModified':_0xae53b2['lastModified']}),_0x358c4f=URL['createObjectURL'](_0x1d04af);return this['attachmentObjectUrls']['set'](_0x51e55e,_0x358c4f),{'name':_0x51e55e,'file':_0x1d04af,'objectUrl':_0x358c4f};}['getUniqueAttachmentName'](_0x37711f){const _0x1082c5=_0x58b8df=>{if(this['attachmentObjectUrls']['has'](_0x58b8df))return!![];if(this['options']['isAttachmentNameTaken'])try{return Boolean(this['options']['isAttachmentNameTaken'](_0x58b8df));}catch{return![];}return![];};if(!_0x1082c5(_0x37711f))return _0x37711f;const {stem:_0x5f4ead,ext:_0x174146}=this['splitFilename'](_0x37711f);for(let _0x5712ca=0x2;_0x5712ca<0x3e8;_0x5712ca++){const _0x40cf47=_0x5f4ead+'-'+_0x5712ca+_0x174146;if(!_0x1082c5(_0x40cf47))return _0x40cf47;}return _0x5f4ead+'-'+Date['now']()+_0x174146;}['splitFilename'](_0x2d5bc9){const _0x251ceb=_0x2d5bc9['lastIndexOf']('.');if(_0x251ceb<=0x0||_0x251ceb===_0x2d5bc9['length']-0x1)return{'stem':_0x2d5bc9,'ext':''};return{'stem':_0x2d5bc9['slice'](0x0,_0x251ceb),'ext':_0x2d5bc9['slice'](_0x251ceb)};}['sanitizeFilename'](_0x1dd9f4){const _0x2793d1=String(_0x1dd9f4||'')['split']('/')['pop']()['split']('\x5c')['pop']();return _0x2793d1['replace'](/[\u0000-\u001F\u007F]/g,'')['trim']();}['defaultImageName'](_0x59edfe){const _0x2ca65f=this['extensionForMime'](_0x59edfe);return'pasted-image-'+Date['now']()+_0x2ca65f;}['extensionForMime'](_0x1a640b){switch(_0x1a640b){case'image/png':return'.png';case'image/jpeg':return'.jpg';case'image/gif':return'.gif';case'image/webp':return'.webp';case'image/svg+xml':return'.svg';default:return'.png';}}['insertAttachmentImage'](_0x19c70d,_0x4ecd75){const _0x2f7655=document['createElement']('img');_0x2f7655['src']=_0x4ecd75,_0x2f7655['alt']=_0x19c70d,_0x2f7655['setAttribute']('data-attachment-name',_0x19c70d),_0x2f7655['draggable']=!![];const _0x3c86a0=window['getSelection']();let _0xd3ba42=![];if(_0x3c86a0&&_0x3c86a0['rangeCount']>0x0){const _0x5b4fa6=_0x3c86a0['getRangeAt'](0x0);_0xd3ba42=this['editor']['contains'](_0x5b4fa6['commonAncestorContainer'])||this['editor']===_0x5b4fa6['commonAncestorContainer'];}if(!_0xd3ba42){this['editor']['appendChild'](_0x2f7655);const _0x1ede43=document['createRange']();_0x1ede43['setStartAfter'](_0x2f7655),_0x1ede43['collapse'](!![]),_0x3c86a0['removeAllRanges'](),_0x3c86a0['addRange'](_0x1ede43);return;}const _0x4cbf7e=_0x3c86a0['getRangeAt'](0x0);_0x4cbf7e['deleteContents'](),_0x4cbf7e['insertNode'](_0x2f7655),_0x4cbf7e['setStartAfter'](_0x2f7655),_0x4cbf7e['collapse'](!![]),_0x3c86a0['removeAllRanges'](),_0x3c86a0['addRange'](_0x4cbf7e);}['toggleInlineCode'](){const _0x451305=window['getSelection']();if(_0x451305['rangeCount']===0x0)return;const _0x55031c=_0x451305['getRangeAt'](0x0),_0x153a3a=_0x55031c['toString']();if(_0x153a3a){const _0x432a55=document['createElement']('code');_0x432a55['textContent']=_0x153a3a,_0x55031c['deleteContents'](),_0x55031c['insertNode'](_0x432a55),_0x55031c['setStartAfter'](_0x432a55),_0x55031c['setEndAfter'](_0x432a55),_0x451305['removeAllRanges'](),_0x451305['addRange'](_0x55031c);}}['insertCodeBlock'](){const _0x38f174=window['getSelection']();if(_0x38f174['rangeCount']===0x0)return;const _0x53dd9e=_0x38f174['getRangeAt'](0x0),_0x3da40b=_0x53dd9e['toString'](),_0x1ec16a=document['createElement']('pre'),_0x28abeb=document['createElement']('code');_0x28abeb['textContent']=_0x3da40b||'\x0a',_0x1ec16a['appendChild'](_0x28abeb),_0x53dd9e['deleteContents'](),_0x53dd9e['insertNode'](_0x1ec16a);const _0xa31a40=document['createElement']('p');_0xa31a40['innerHTML']='<br>',_0x1ec16a['parentNode']['insertBefore'](_0xa31a40,_0x1ec16a['nextSibling']);const _0x3e2b0e=document['createRange']();!_0x3da40b?(_0x3e2b0e['setStart'](_0x28abeb['firstChild'],0x0),_0x3e2b0e['setEnd'](_0x28abeb['firstChild'],0x0)):(_0x3e2b0e['selectNodeContents'](_0x28abeb),_0x3e2b0e['collapse'](![])),_0x38f174['removeAllRanges'](),_0x38f174['addRange'](_0x3e2b0e);}['updatePlaceholder'](){const _0x2476ed=this['editor']['textContent']['trim']()!==''||this['editor']['innerHTML']['includes']('<br')||this['editor']['innerHTML']['includes']('<div')||this['editor']['innerHTML']['includes']('<img');_0x2476ed?this['editor']['classList']['remove']('empty'):this['editor']['classList']['add']('empty');}['setMarkdown'](_0x19b10d){if(!_0x19b10d||!_0x19b10d['trim']()){this['editor']['innerHTML']='',this['updatePlaceholder']();this['element']['tagName']==='TEXTAREA'||this['element']['tagName']==='INPUT'?this['element']['value']='':this['element']['textContent']='';return;}const _0x1916ff=this['preprocessColorSyntax'](_0x19b10d),_0x2c5d44=window['marked']['parse'](_0x1916ff);this['editor']['innerHTML']=_0x2c5d44,this['rewriteAttachmentImages'](),this['rewriteMentionLinks'](),this['addLinkHints'](),this['updatePlaceholder'](),this['element']['tagName']==='TEXTAREA'||this['element']['tagName']==='INPUT'?this['element']['value']=_0x19b10d:this['element']['textContent']=_0x19b10d;}['rewriteAttachmentImages'](){const _0xfe4184=this['editor']['querySelectorAll']('img');_0xfe4184['forEach'](_0x2128df=>{const _0x35cbf2=_0x2128df['getAttribute']('data-attachment-name'),_0x18ef40=_0x2128df['getAttribute']('src')||'',_0x2b0f46=this['parseAttachmentReference'](_0x18ef40)||this['parseTaskAttachmentUrl'](_0x18ef40),_0x269124=_0x35cbf2||(_0x2b0f46?_0x2b0f46['name']:null);if(!_0x269124)return;_0x2128df['setAttribute']('data-attachment-name',_0x269124);const _0xb38eef=this['attachmentObjectUrls']['get'](_0x269124)||(this['options']['resolveAttachmentUrl']?this['options']['resolveAttachmentUrl'](_0x269124):null);_0xb38eef&&(_0x2128df['src']=_0xb38eef);});}['rewriteMentionLinks'](){const _0xa7e238=this['editor']['querySelectorAll']('a[href^=\x22mention:\x22]');_0xa7e238['forEach'](_0xd5c87=>{const _0x3538bc=_0xd5c87['getAttribute']('href')||'',_0x47f899=_0x3538bc['replace']('mention:',''),_0x2f5151=_0xd5c87['textContent']||'',_0x4842d2=document['createElement']('span');_0x4842d2['className']='mention',_0x4842d2['setAttribute']('data-mention-user-id',_0x47f899),_0x4842d2['setAttribute']('contenteditable','false'),_0x4842d2['textContent']='@'+_0x2f5151;const _0x344077=_0xd5c87['previousSibling'];_0x344077&&_0x344077['nodeType']===Node['TEXT_NODE']&&_0x344077['textContent']['endsWith']('@')&&(_0x344077['textContent']=_0x344077['textContent']['slice'](0x0,-0x1)),_0xd5c87['parentNode']['replaceChild'](_0x4842d2,_0xd5c87);});}['addLinkHints'](){if(!this['options']['editable'])return;const _0x40ecee=this['editor']['querySelectorAll']('a');_0x40ecee['forEach'](_0x392a0b=>{const _0x5b25e3=_0x392a0b['getAttribute']('href')||'';if(_0x5b25e3['startsWith']('mention:'))return;const _0x3bb924=_0x392a0b['textContent']||_0x5b25e3,_0x1ec4f6=_0x3bb924+'\x20('+(this['linkHintText']||'Ctrl+click\x20to\x20follow')+')';_0x392a0b['setAttribute']('aria-label',_0x1ec4f6);});}['preprocessColorSyntax'](_0x15a971){if(!_0x15a971)return _0x15a971;const _0x343b5c=_0x102dd1=>{return String(_0x102dd1)['replace'](/\{color:(#[0-9A-Fa-f]{3,6})\}([\s\S]*?)\{\/color\}/g,(_0x2f6583,_0x1ab7d4,_0x4ec432)=>{const _0xecd8ea=_0x343b5c(_0x4ec432);return'<span\x20style=\x22color:\x20'+_0x1ab7d4+'\x22>'+_0xecd8ea+'</span>';});};return _0x343b5c(_0x15a971);}['parseAttachmentReference'](_0x67a6bd){if(!_0x67a6bd||typeof _0x67a6bd!=='string')return null;if(!_0x67a6bd['startsWith'](ATTACHMENT_SCHEME)&&!_0x67a6bd['startsWith'](ATTACHMENT_SCHEME+'//'))return null;const _0x1783c9=_0x67a6bd['replace'](ATTACHMENT_SCHEME+'//','')['replace'](ATTACHMENT_SCHEME,'');if(!_0x1783c9)return null;try{return{'name':decodeURIComponent(_0x1783c9)};}catch{return{'name':_0x1783c9};}}['parseTaskAttachmentUrl'](_0x497048){if(!_0x497048||typeof _0x497048!=='string')return null;const _0xa1d5e7=_0x497048['match'](/\/tasks\/[^/]+\/attachments\/([^?#]+)/);if(!_0xa1d5e7)return null;const _0x5651b2=_0xa1d5e7[0x1];try{return{'name':decodeURIComponent(_0x5651b2)};}catch{return{'name':_0x5651b2};}}['updateAttachmentFile'](_0xcb40a6,_0x21725c){const _0xa7ab01=this['attachmentObjectUrls']['get'](_0xcb40a6);if(_0xa7ab01)try{URL['revokeObjectURL'](_0xa7ab01);}catch{}const _0x4b692d=URL['createObjectURL'](_0x21725c);this['attachmentObjectUrls']['set'](_0xcb40a6,_0x4b692d);const _0x3f6633=this['editor']['querySelector']('img[data-attachment-name=\x22'+CSS['escape'](_0xcb40a6)+'\x22]');return _0x3f6633&&(_0x3f6633['src']=_0x4b692d),_0x4b692d;}['getMarkdown'](){const _0x4bbd1f=this['editor']['innerHTML'];if(!_0x4bbd1f||_0x4bbd1f['trim']()===''||_0x4bbd1f==='<br>')return'';return this['turndownService']['turndown'](_0x4bbd1f)['replace'](/\u200B/g,'');}['getValue'](){return this['getMarkdown']();}['setValue'](_0x18aa13){this['setMarkdown'](_0x18aa13);}['focus'](){this['editor']['focus']();}['clear'](){this['editor']['innerHTML']='',this['updatePlaceholder']();}['setEditable'](_0x94bba0){this['editor']['contentEditable']=_0x94bba0,this['options']['editable']=_0x94bba0;}['handleMentionInput'](_0x174c1d){if(!this['options']['fetchUsers'])return;const _0x48ecb2=window['getSelection']();if(!_0x48ecb2||_0x48ecb2['rangeCount']===0x0){this['closeMentionDropdown']();return;}const _0x1752ec=_0x48ecb2['getRangeAt'](0x0),_0x28e8f1=_0x1752ec['startContainer'];if(_0x28e8f1['nodeType']!==Node['TEXT_NODE']){this['closeMentionDropdown']();return;}const _0x350f2e=_0x28e8f1['textContent']||'',_0x291631=_0x1752ec['startOffset'],_0x858277=_0x350f2e['slice'](0x0,_0x291631),_0x214a85=_0x858277['lastIndexOf']('@');if(_0x214a85===-0x1){this['closeMentionDropdown']();return;}const _0x29ec69=_0x214a85>0x0?_0x858277[_0x214a85-0x1]:'\x20';if(!/\s/['test'](_0x29ec69)&&_0x214a85!==0x0){this['closeMentionDropdown']();return;}const _0x157ce8=_0x858277['slice'](_0x214a85+0x1);if(/[\s\n]/['test'](_0x157ce8)){this['closeMentionDropdown']();return;}this['mentionState']['active']=!![],this['mentionState']['query']=_0x157ce8['toLowerCase'](),this['mentionState']['startOffset']=_0x214a85,this['mentionState']['startNode']=_0x28e8f1,this['showMentionDropdown']();}async['showMentionDropdown'](){if(!this['usersCache'])try{const _0x3e5f87=await this['options']['fetchUsers']();this['usersCache']=_0x3e5f87['users']||_0x3e5f87||[];}catch(_0x19ec07){console['error']('Failed\x20to\x20fetch\x20users\x20for\x20@mention:',_0x19ec07),this['closeMentionDropdown']();return;}this['mentionState']['users']=this['usersCache'];const _0x12dbeb=this['mentionState']['query'];this['mentionState']['filteredUsers']=this['mentionState']['users']['filter'](_0x309672=>{const _0x1d8369=(_0x309672['name']||'')['toLowerCase'](),_0x28b5f7=(_0x309672['username']||'')['toLowerCase']();return _0x1d8369['includes'](_0x12dbeb)||_0x28b5f7['includes'](_0x12dbeb);})['slice'](0x0,0x8),this['mentionState']['selectedIndex']=0x0;if(this['mentionState']['filteredUsers']['length']===0x0){this['closeMentionDropdown']();return;}this['renderMentionDropdown'](),this['positionMentionDropdown']();}['renderMentionDropdown'](){!this['mentionDropdown']&&(this['mentionDropdown']=document['createElement']('div'),this['mentionDropdown']['className']='mention-dropdown',document['body']['appendChild'](this['mentionDropdown']),this['mentionClickOutsideHandler']=_0x59ba0a=>{!this['mentionDropdown']['contains'](_0x59ba0a['target'])&&!this['editor']['contains'](_0x59ba0a['target'])&&this['closeMentionDropdown']();},document['addEventListener']('click',this['mentionClickOutsideHandler']),this['mentionScrollHandler']=()=>{this['mentionState']['active']&&this['positionMentionDropdown']();},window['addEventListener']('scroll',this['mentionScrollHandler'],!![]));const _0x4ba412=this['mentionState']['filteredUsers'];this['mentionDropdown']['innerHTML']=_0x4ba412['map']((_0x5ae125,_0x4f2fdf)=>{const _0x64a5ca=_0x4f2fdf===this['mentionState']['selectedIndex'],_0x21a562=_0x5ae125['name']||_0x5ae125['username']||'Unknown',_0x597065=_0x5ae125['username']||'',_0x31e0df=this['getInitials'](_0x21a562),_0x3f774e=this['getAvatarColorIndex'](_0x597065||_0x5ae125['id']||_0x21a562);return'\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22mention-option\x20'+(_0x64a5ca?'mention-option-selected':'')+'\x22\x20data-index=\x22'+_0x4f2fdf+'\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22mention-avatar\x20avatar-color-'+_0x3f774e+'\x22>'+this['escapeHtmlForMention'](_0x31e0df)+'</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22mention-option-name\x22>'+this['escapeHtmlForMention'](_0x21a562)+'</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x597065?'<span\x20class=\x22mention-option-username\x22>@'+this['escapeHtmlForMention'](_0x597065)+'</span>':'')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20';})['join'](''),this['mentionDropdown']['querySelectorAll']('.mention-option')['forEach'](_0x3f686c=>{_0x3f686c['addEventListener']('mousedown',_0x30a6ad=>{_0x30a6ad['preventDefault']();const _0x193715=parseInt(_0x3f686c['dataset']['index'],0xa);this['insertMention'](this['mentionState']['filteredUsers'][_0x193715]);}),_0x3f686c['addEventListener']('mouseenter',()=>{const _0x125de2=parseInt(_0x3f686c['dataset']['index'],0xa);this['mentionState']['selectedIndex']=_0x125de2,this['updateMentionSelection']();});}),this['mentionDropdown']['style']['display']='block';}['positionMentionDropdown'](){if(!this['mentionDropdown'])return;const _0x161c6e=window['getSelection']();if(!_0x161c6e||_0x161c6e['rangeCount']===0x0)return;const _0xf231b7=_0x161c6e['getRangeAt'](0x0),_0x148c39=_0xf231b7['getBoundingClientRect'](),_0xc4e080=0x104,_0x400500=Math['min'](0xf0,this['mentionState']['filteredUsers']['length']*0x24+0x8),_0x1e9f27=window['innerWidth'],_0x4c443f=window['innerHeight'],_0x39c90a=_0x4c443f-_0x148c39['bottom'],_0x520cdf=_0x148c39['top'],_0x11ab4c=_0x39c90a<_0x400500+0xa&&_0x520cdf>_0x39c90a;let _0x4df562,_0x1c34a3;_0x11ab4c?_0x4df562=_0x148c39['top']+window['scrollY']-_0x400500-0x4:_0x4df562=_0x148c39['bottom']+window['scrollY']+0x4,_0x1c34a3=_0x148c39['left']+window['scrollX'],_0x1c34a3+_0xc4e080>_0x1e9f27-0xa&&(_0x1c34a3=_0x1e9f27-_0xc4e080-0xa),_0x1c34a3<0xa&&(_0x1c34a3=0xa),this['mentionDropdown']['style']['position']='absolute',this['mentionDropdown']['style']['top']=_0x4df562+'px',this['mentionDropdown']['style']['left']=_0x1c34a3+'px';}['mentionNavigate'](_0x5ac8db){const _0xa4de92=this['mentionState']['filteredUsers']['length'];if(_0xa4de92===0x0)return;this['mentionState']['selectedIndex']=(this['mentionState']['selectedIndex']+_0x5ac8db+_0xa4de92)%_0xa4de92,this['updateMentionSelection']();}['updateMentionSelection'](){if(!this['mentionDropdown'])return;const _0x352818=this['mentionDropdown']['querySelectorAll']('.mention-option');_0x352818['forEach']((_0x18daf9,_0x2c2372)=>{_0x2c2372===this['mentionState']['selectedIndex']?(_0x18daf9['classList']['add']('mention-option-selected'),_0x18daf9['scrollIntoView']({'block':'nearest'})):_0x18daf9['classList']['remove']('mention-option-selected');});}['insertMention'](_0x4e2fe6){if(!_0x4e2fe6)return;const _0x58f9c6=window['getSelection']();if(!_0x58f9c6||_0x58f9c6['rangeCount']===0x0)return;const _0x3add26=_0x58f9c6['getRangeAt'](0x0),_0x336463=this['mentionState']['startNode'];if(!_0x336463||_0x336463['nodeType']!==Node['TEXT_NODE']){this['closeMentionDropdown']();return;}const _0x10d3c5=_0x336463['textContent']||'',_0x8dbc6e=this['mentionState']['startOffset'],_0x391f28=_0x3add26['startOffset'],_0x2ab197=_0x10d3c5['slice'](0x0,_0x8dbc6e),_0x40df0f=_0x10d3c5['slice'](_0x391f28),_0x28fd05=document['createElement']('span');_0x28fd05['className']='mention',_0x28fd05['setAttribute']('data-mention-user-id',_0x4e2fe6['id']),_0x28fd05['setAttribute']('contenteditable','false'),_0x28fd05['textContent']='@'+(_0x4e2fe6['name']||_0x4e2fe6['username']);const _0x1f1c42=document['createTextNode'](_0x2ab197),_0x2f555f=document['createTextNode']('\x20'+_0x40df0f),_0x1cc51e=_0x336463['parentNode'];_0x1cc51e['insertBefore'](_0x1f1c42,_0x336463),_0x1cc51e['insertBefore'](_0x28fd05,_0x336463),_0x1cc51e['insertBefore'](_0x2f555f,_0x336463),_0x1cc51e['removeChild'](_0x336463);const _0x1a0307=document['createRange']();_0x1a0307['setStart'](_0x2f555f,0x1),_0x1a0307['collapse'](!![]),_0x58f9c6['removeAllRanges'](),_0x58f9c6['addRange'](_0x1a0307),this['closeMentionDropdown'](),this['editor']['dispatchEvent'](new Event('input',{'bubbles':!![]}));}['closeMentionDropdown'](){this['mentionState']['active']=![],this['mentionState']['query']='',this['mentionState']['filteredUsers']=[],this['mentionState']['selectedIndex']=0x0,this['mentionDropdown']&&(this['mentionDropdown']['style']['display']='none');}['escapeHtmlForMention'](_0x427bbd){const _0x590a74=document['createElement']('div');return _0x590a74['textContent']=_0x427bbd,_0x590a74['innerHTML'];}['getInitials'](_0x3a905a){if(!_0x3a905a)return'?';const _0x1d04d1=_0x3a905a['trim']()['split'](/\s+/);if(_0x1d04d1['length']>=0x2)return(_0x1d04d1[0x0][0x0]+_0x1d04d1[_0x1d04d1['length']-0x1][0x0])['toUpperCase']();return _0x3a905a['substring'](0x0,0x2)['toUpperCase']();}['getAvatarColorIndex'](_0x16c340){if(!_0x16c340)return 0x6;let _0x2304a9=0x0;for(let _0x157792=0x0;_0x157792<_0x16c340['length'];_0x157792++){_0x2304a9=_0x16c340['charCodeAt'](_0x157792)+((_0x2304a9<<0x5)-_0x2304a9);}return Math['abs'](_0x2304a9)%0xa;}['destroy'](){this['selectionChangeHandler']&&document['removeEventListener']('selectionchange',this['selectionChangeHandler']);this['linkClickHandler']&&this['editor']['removeEventListener']('click',this['linkClickHandler']);this['linkMouseEnterHandler']&&this['editor']['removeEventListener']('mouseover',this['linkMouseEnterHandler']);this['linkMouseLeaveHandler']&&this['editor']['removeEventListener']('mouseout',this['linkMouseLeaveHandler']);this['linkTooltipTimeout']&&clearTimeout(this['linkTooltipTimeout']);this['linkTooltip']&&(this['linkTooltip']['remove'](),this['linkTooltip']=null);this['linkDialog']&&(this['linkDialog']['remove'](),this['linkDialog']=null,this['linkDialogContext']=null,this['linkDialogElements']=null);this['mentionDropdown']&&(this['mentionDropdown']['remove'](),this['mentionDropdown']=null);this['mentionClickOutsideHandler']&&document['removeEventListener']('click',this['mentionClickOutsideHandler']);this['mentionScrollHandler']&&window['removeEventListener']('scroll',this['mentionScrollHandler'],!![]);for(const _0x2fb4cc of this['attachmentObjectUrls']['values']()){try{URL['revokeObjectURL'](_0x2fb4cc);}catch{}}this['attachmentObjectUrls']['clear'](),this['container']?this['container']['remove']():this['editor']['remove'](),this['element']['style']['display']='';}}typeof window!=='undefined'&&(window['MarkdownEditor']=MarkdownEditor);
|
|
1
|
+
const ATTACHMENT_SCHEME='attachment:',INTERNAL_DRAG_MIME='application/x-profound-editor-image',LINK_DIALOG_STYLE_ID='markdown-editor-link-dialog-styles',ICONS={'bold':'<svg\x20viewBox=\x220\x200\x2024\x2024\x22\x20width=\x2216\x22\x20height=\x2216\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20fill=\x22none\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><path\x20d=\x22M6\x204h8a4\x204\x200\x200\x201\x204\x204\x204\x204\x200\x200\x201-4\x204H6z\x22></path><path\x20d=\x22M6\x2012h9a4\x204\x200\x200\x201\x204\x204\x204\x204\x200\x200\x201-4\x204H6z\x22></path></svg>','italic':'<svg\x20viewBox=\x220\x200\x2024\x2024\x22\x20width=\x2216\x22\x20height=\x2216\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20fill=\x22none\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><line\x20x1=\x2219\x22\x20y1=\x224\x22\x20x2=\x2210\x22\x20y2=\x224\x22></line><line\x20x1=\x2214\x22\x20y1=\x2220\x22\x20x2=\x225\x22\x20y2=\x2220\x22></line><line\x20x1=\x2215\x22\x20y1=\x224\x22\x20x2=\x229\x22\x20y2=\x2220\x22></line></svg>','strike':'<svg\x20viewBox=\x220\x200\x2024\x2024\x22\x20width=\x2216\x22\x20height=\x2216\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20fill=\x22none\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><line\x20x1=\x225\x22\x20y1=\x2212\x22\x20x2=\x2219\x22\x20y2=\x2212\x22></line><path\x20d=\x22M16\x206a4\x204\x200\x200\x200-4-4c-2.48\x200-4\x201.79-4\x204\x200\x201.25.5\x202.5\x201.5\x203\x22></path><path\x20d=\x22M9\x2018c0\x201.79\x201.79\x203\x204\x203\x202.48\x200\x204-1.79\x204-4\x200-1.25-.5-2.5-1.5-3\x22></path></svg>','link':'<svg\x20viewBox=\x220\x200\x2024\x2024\x22\x20width=\x2216\x22\x20height=\x2216\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20fill=\x22none\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><path\x20d=\x22M10\x2013a5\x205\x200\x200\x200\x207.54.54l3-3a5\x205\x200\x200\x200-7.07-7.07l-1.72\x201.71\x22></path><path\x20d=\x22M14\x2011a5\x205\x200\x200\x200-7.54-.54l-3\x203a5\x205\x200\x200\x200\x207.07\x207.07l1.71-1.71\x22></path></svg>','code':'<svg\x20viewBox=\x220\x200\x2024\x2024\x22\x20width=\x2216\x22\x20height=\x2216\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20fill=\x22none\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><polyline\x20points=\x2216\x2018\x2022\x2012\x2016\x206\x22></polyline><polyline\x20points=\x228\x206\x202\x2012\x208\x2018\x22></polyline></svg>','listBullet':'<svg\x20viewBox=\x220\x200\x2024\x2024\x22\x20width=\x2216\x22\x20height=\x2216\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20fill=\x22none\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><line\x20x1=\x228\x22\x20y1=\x226\x22\x20x2=\x2221\x22\x20y2=\x226\x22></line><line\x20x1=\x228\x22\x20y1=\x2212\x22\x20x2=\x2221\x22\x20y2=\x2212\x22></line><line\x20x1=\x228\x22\x20y1=\x2218\x22\x20x2=\x2221\x22\x20y2=\x2218\x22></line><line\x20x1=\x223\x22\x20y1=\x226\x22\x20x2=\x223.01\x22\x20y2=\x226\x22></line><line\x20x1=\x223\x22\x20y1=\x2212\x22\x20x2=\x223.01\x22\x20y2=\x2212\x22></line><line\x20x1=\x223\x22\x20y1=\x2218\x22\x20x2=\x223.01\x22\x20y2=\x2218\x22></line></svg>','listOrdered':'<svg\x20viewBox=\x220\x200\x2024\x2024\x22\x20width=\x2216\x22\x20height=\x2216\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20fill=\x22none\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><line\x20x1=\x2210\x22\x20y1=\x226\x22\x20x2=\x2221\x22\x20y2=\x226\x22></line><line\x20x1=\x2210\x22\x20y1=\x2212\x22\x20x2=\x2221\x22\x20y2=\x2212\x22></line><line\x20x1=\x2210\x22\x20y1=\x2218\x22\x20x2=\x2221\x22\x20y2=\x2218\x22></line><path\x20d=\x22M4\x206h1v4\x22></path><path\x20d=\x22M4\x2010h2\x22></path><path\x20d=\x22M6\x2018H4c0-1\x202-2\x202-3s-1-1.5-2-1\x22></path></svg>','blockquote':'<svg\x20viewBox=\x220\x200\x2024\x2024\x22\x20width=\x2216\x22\x20height=\x2216\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20fill=\x22none\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><path\x20d=\x22M21\x2015a2\x202\x200\x200\x201-2\x202H7l-4\x204V5a2\x202\x200\x200\x201\x202-2h14a2\x202\x200\x200\x201\x202\x202z\x22></path></svg>','codeBlock':'<svg\x20viewBox=\x220\x200\x2024\x2024\x22\x20width=\x2216\x22\x20height=\x2216\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20fill=\x22none\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><rect\x20x=\x223\x22\x20y=\x223\x22\x20width=\x2218\x22\x20height=\x2218\x22\x20rx=\x222\x22\x20ry=\x222\x22></rect><polyline\x20points=\x229\x208\x205\x2012\x209\x2016\x22></polyline><polyline\x20points=\x2215\x208\x2019\x2012\x2015\x2016\x22></polyline></svg>','header':'<svg\x20viewBox=\x220\x200\x2024\x2024\x22\x20width=\x2216\x22\x20height=\x2216\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20fill=\x22none\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><path\x20d=\x22M4\x2012h8\x22></path><path\x20d=\x22M4\x2018V6\x22></path><path\x20d=\x22M12\x2018V6\x22></path><path\x20d=\x22M17\x2012l3-2v8\x22></path></svg>','color':'<svg\x20viewBox=\x220\x200\x2024\x2024\x22\x20width=\x2216\x22\x20height=\x2216\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20fill=\x22none\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22><path\x20d=\x22M4\x2020h16\x22></path><path\x20d=\x22M6\x2016l6-14\x206\x2014\x22></path><path\x20d=\x22M8\x2012h8\x22></path></svg>'},LINK_DIALOG_STYLES='\x0a.markdown-editor-link-modal\x20{\x0a\x20\x20position:\x20fixed;\x0a\x20\x20inset:\x200;\x0a\x20\x20display:\x20flex;\x0a\x20\x20align-items:\x20center;\x0a\x20\x20justify-content:\x20center;\x0a\x20\x20z-index:\x2010020;\x0a}\x0a\x0a.markdown-editor-link-modal[hidden]\x20{\x0a\x20\x20display:\x20none\x20!important;\x0a}\x0a\x0a.markdown-editor-link-backdrop\x20{\x0a\x20\x20position:\x20absolute;\x0a\x20\x20inset:\x200;\x0a\x20\x20background:\x20rgba(15,\x2023,\x2042,\x200.45);\x0a}\x0a\x0a.markdown-editor-link-dialog\x20{\x0a\x20\x20position:\x20relative;\x0a\x20\x20width:\x20min(460px,\x20calc(100vw\x20-\x2024px));\x0a\x20\x20background:\x20var(--color-surface,\x20var(--feedback-surface,\x20#ffffff));\x0a\x20\x20color:\x20var(--color-text,\x20var(--feedback-text,\x20#111827));\x0a\x20\x20border:\x201px\x20solid\x20var(--color-border,\x20var(--feedback-border,\x20#d1d5db));\x0a\x20\x20border-radius:\x20var(--radius-medium,\x2010px);\x0a\x20\x20box-shadow:\x200\x2018px\x2042px\x20rgba(15,\x2023,\x2042,\x200.25);\x0a\x20\x20padding:\x2014px;\x0a\x20\x20display:\x20flex;\x0a\x20\x20flex-direction:\x20column;\x0a\x20\x20gap:\x2012px;\x0a}\x0a\x0a.markdown-editor-link-header\x20{\x0a\x20\x20display:\x20flex;\x0a\x20\x20align-items:\x20center;\x0a\x20\x20justify-content:\x20space-between;\x0a\x20\x20gap:\x208px;\x0a}\x0a\x0a.markdown-editor-link-title\x20{\x0a\x20\x20margin:\x200;\x0a\x20\x20font-size:\x2016px;\x0a\x20\x20font-weight:\x20600;\x0a}\x0a\x0a.markdown-editor-link-close\x20{\x0a\x20\x20width:\x2028px;\x0a\x20\x20height:\x2028px;\x0a\x20\x20border:\x20none;\x0a\x20\x20border-radius:\x20var(--radius-small,\x208px);\x0a\x20\x20background:\x20transparent;\x0a\x20\x20color:\x20var(--color-text-muted,\x20var(--feedback-text-muted,\x20#6b7280));\x0a\x20\x20font-size:\x2020px;\x0a\x20\x20line-height:\x201;\x0a\x20\x20cursor:\x20pointer;\x0a}\x0a\x0a.markdown-editor-link-close:hover\x20{\x0a\x20\x20background:\x20var(--color-surface-muted,\x20var(--feedback-surface-muted,\x20#f3f4f6));\x0a\x20\x20color:\x20var(--color-text,\x20var(--feedback-text,\x20#111827));\x0a}\x0a\x0a.markdown-editor-link-form\x20{\x0a\x20\x20display:\x20flex;\x0a\x20\x20flex-direction:\x20column;\x0a\x20\x20gap:\x2010px;\x0a}\x0a\x0a.markdown-editor-link-field-grid\x20{\x0a\x20\x20display:\x20grid;\x0a\x20\x20gap:\x2010px;\x0a}\x0a\x0a.markdown-editor-link-label\x20{\x0a\x20\x20display:\x20flex;\x0a\x20\x20flex-direction:\x20column;\x0a\x20\x20gap:\x206px;\x0a\x20\x20font-size:\x2012px;\x0a\x20\x20font-weight:\x20600;\x0a\x20\x20color:\x20var(--color-text-muted,\x20var(--feedback-text-muted,\x20#4b5563));\x0a}\x0a\x0a.markdown-editor-link-input\x20{\x0a\x20\x20width:\x20100%;\x0a\x20\x20padding:\x209px\x2010px;\x0a\x20\x20border:\x201px\x20solid\x20var(--color-border,\x20var(--feedback-border,\x20#d1d5db));\x0a\x20\x20border-radius:\x20var(--radius-small,\x208px);\x0a\x20\x20background:\x20var(--color-surface,\x20var(--feedback-surface,\x20#ffffff));\x0a\x20\x20color:\x20var(--color-text,\x20var(--feedback-text,\x20#111827));\x0a\x20\x20font-size:\x2014px;\x0a}\x0a\x0a.markdown-editor-link-input:focus\x20{\x0a\x20\x20outline:\x20none;\x0a\x20\x20border-color:\x20var(--color-primary,\x20#3f72ff);\x0a\x20\x20box-shadow:\x200\x200\x200\x203px\x20rgba(63,\x20114,\x20255,\x200.2);\x0a}\x0a\x0a.markdown-editor-link-actions\x20{\x0a\x20\x20display:\x20flex;\x0a\x20\x20justify-content:\x20flex-end;\x0a\x20\x20gap:\x208px;\x0a}\x0a\x0a.markdown-editor-link-btn\x20{\x0a\x20\x20border:\x201px\x20solid\x20transparent;\x0a\x20\x20border-radius:\x20var(--radius-small,\x208px);\x0a\x20\x20padding:\x207px\x2012px;\x0a\x20\x20font-size:\x2013px;\x0a\x20\x20font-weight:\x20600;\x0a\x20\x20cursor:\x20pointer;\x0a}\x0a\x0a.markdown-editor-link-btn-secondary\x20{\x0a\x20\x20background:\x20var(--color-surface-muted,\x20var(--feedback-surface-muted,\x20#f3f4f6));\x0a\x20\x20color:\x20var(--color-text,\x20var(--feedback-text,\x20#111827));\x0a\x20\x20border-color:\x20var(--color-border,\x20var(--feedback-border,\x20#d1d5db));\x0a}\x0a\x0a.markdown-editor-link-btn-secondary:hover\x20{\x0a\x20\x20background:\x20var(--color-bg-secondary,\x20var(--feedback-surface-hover,\x20#e5e7eb));\x0a}\x0a\x0a.markdown-editor-link-btn-danger\x20{\x0a\x20\x20background:\x20transparent;\x0a\x20\x20color:\x20var(--color-danger,\x20#dc2626);\x0a\x20\x20border-color:\x20rgba(220,\x2038,\x2038,\x200.35);\x0a}\x0a\x0a.markdown-editor-link-btn-danger:hover\x20{\x0a\x20\x20background:\x20rgba(220,\x2038,\x2038,\x200.08);\x0a}\x0a\x0a.markdown-editor-link-btn-primary\x20{\x0a\x20\x20background:\x20var(--color-primary,\x20#3f72ff);\x0a\x20\x20color:\x20#ffffff;\x0a}\x0a\x0a.markdown-editor-link-btn-primary:hover\x20{\x0a\x20\x20background:\x20var(--color-accent,\x20#2563eb);\x0a}\x0a\x0a[data-theme=\x22dark\x22]\x20.markdown-editor-link-backdrop\x20{\x0a\x20\x20background:\x20rgba(2,\x206,\x2023,\x200.65);\x0a}\x0a\x0a[data-theme=\x22dark\x22]\x20.markdown-editor-link-dialog\x20{\x0a\x20\x20box-shadow:\x200\x2018px\x2042px\x20rgba(0,\x200,\x200,\x200.5);\x0a}\x0a\x0a@media\x20(max-width:\x20480px)\x20{\x0a\x20\x20.markdown-editor-link-dialog\x20{\x0a\x20\x20\x20\x20width:\x20calc(100vw\x20-\x2016px);\x0a\x20\x20\x20\x20padding:\x2012px;\x0a\x20\x20}\x0a\x0a\x20\x20.markdown-editor-link-actions\x20{\x0a\x20\x20\x20\x20flex-wrap:\x20wrap;\x0a\x20\x20}\x0a\x0a\x20\x20.markdown-editor-link-btn\x20{\x0a\x20\x20\x20\x20flex:\x201\x201\x20calc(50%\x20-\x206px);\x0a\x20\x20\x20\x20text-align:\x20center;\x0a\x20\x20}\x0a}\x0a';export class MarkdownEditor{constructor(_0x32846f,_0x5ce235={}){this['element']=_0x32846f,this['options']={'placeholder':_0x5ce235['placeholder']||'Start\x20typing...','editable':_0x5ce235['editable']!==![],'onChange':_0x5ce235['onChange']||null,'minHeight':_0x5ce235['minHeight']||'100px','toolbar':_0x5ce235['toolbar']||![],'onAddAttachments':_0x5ce235['onAddAttachments']||null,'resolveAttachmentUrl':_0x5ce235['resolveAttachmentUrl']||null,'isAttachmentNameTaken':_0x5ce235['isAttachmentNameTaken']||null,'fetchUsers':_0x5ce235['fetchUsers']||null},this['mentionState']={'active':![],'query':'','startOffset':0x0,'startNode':null,'users':[],'filteredUsers':[],'selectedIndex':0x0},this['mentionDropdown']=null,this['usersCache']=null,this['linkDialog']=null,this['linkDialogContext']=null;const _0x507d09=window['TurndownService'];this['turndownService']=new _0x507d09({'headingStyle':'atx','codeBlockStyle':'fenced','emDelimiter':'_','bulletListMarker':'-'}),this['attachmentObjectUrls']=new Map(),this['registerTurndownRules'](),this['init']();}['registerTurndownRules'](){this['turndownService']['addRule']('profoundAttachmentImage',{'filter':_0x26df17=>{return _0x26df17&&_0x26df17['nodeName']==='IMG'&&_0x26df17['getAttribute']&&_0x26df17['getAttribute']('data-attachment-name');},'replacement':(_0x30eb61,_0x3af532)=>{const _0x228300=_0x3af532['getAttribute']('data-attachment-name')||'',_0x589d9b=_0x3af532['getAttribute']('alt')||'',_0x5a254d=_0x228300['trim'](),_0x1cabff=this['escapeAltText'](_0x589d9b||_0x5a254d),_0x363aa4=encodeURIComponent(_0x5a254d);return'';}}),this['turndownService']['addRule']('profoundMention',{'filter':_0x4bade9=>{return _0x4bade9&&_0x4bade9['nodeName']==='SPAN'&&_0x4bade9['getAttribute']&&_0x4bade9['getAttribute']('data-mention-user-id');},'replacement':(_0x4b396d,_0x508c76)=>{const _0x4062a3=_0x508c76['getAttribute']('data-mention-user-id')||'',_0x55a68f=_0x508c76['textContent']||'',_0x2d9ed1=_0x55a68f['startsWith']('@')?_0x55a68f['slice'](0x1):_0x55a68f;return'['+_0x2d9ed1+'](mention:'+_0x4062a3+')';}}),this['turndownService']['addRule']('profoundColoredText',{'filter':_0x1c11a6=>{if(!_0x1c11a6)return![];if(_0x1c11a6['nodeName']==='FONT'&&_0x1c11a6['getAttribute']&&_0x1c11a6['getAttribute']('color'))return!![];if(_0x1c11a6['nodeName']==='SPAN'&&_0x1c11a6['style']&&_0x1c11a6['style']['color']){if(_0x1c11a6['getAttribute']&&_0x1c11a6['getAttribute']('data-mention-user-id'))return![];return!![];}return![];},'replacement':(_0x2320db,_0x241460)=>{if(!_0x2320db['trim']())return _0x2320db;let _0x8f21b5='';if(_0x241460['nodeName']==='FONT')_0x8f21b5=_0x241460['getAttribute']('color')||'';else _0x241460['style']&&_0x241460['style']['color']&&(_0x8f21b5=this['rgbToHex'](_0x241460['style']['color']));if(!_0x8f21b5)return _0x2320db;return'{color:'+_0x8f21b5+'}'+_0x2320db+'{/color}';}});}['rgbToHex'](_0x1153a1){if(!_0x1153a1)return'';if(_0x1153a1['startsWith']('#'))return _0x1153a1;const _0x2cd51e=_0x1153a1['match'](/^rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i);if(!_0x2cd51e)return _0x1153a1;const _0x574a6c=parseInt(_0x2cd51e[0x1],0xa),_0x1f1e0f=parseInt(_0x2cd51e[0x2],0xa),_0x26f3a8=parseInt(_0x2cd51e[0x3],0xa);return'#'+[_0x574a6c,_0x1f1e0f,_0x26f3a8]['map'](_0x8ade4d=>_0x8ade4d['toString'](0x10)['padStart'](0x2,'0'))['join']('')['toUpperCase']();}['escapeAltText'](_0x558f01){return String(_0x558f01||'')['replace'](/\]/g,'\x5c]');}['init'](){this['editor']=document['createElement']('div'),this['editor']['className']='markdown-editor',this['editor']['contentEditable']=this['options']['editable'],this['editor']['setAttribute']('role','textbox'),this['editor']['setAttribute']('aria-multiline','true'),this['editor']['style']['minHeight']=this['options']['minHeight'];this['options']['placeholder']&&this['editor']['setAttribute']('data-placeholder',this['options']['placeholder']);this['options']['toolbar']?(this['container']=document['createElement']('div'),this['container']['className']='markdown-editor-wrapper',this['container']['style']['display']='flex',this['container']['style']['flexDirection']='column',this['createToolbar'](),this['container']['appendChild'](this['toolbar']),this['container']['appendChild'](this['editor']),this['element']['parentNode']['insertBefore'](this['container'],this['element'])):this['element']['parentNode']['insertBefore'](this['editor'],this['element']);this['element']['style']['display']='none',this['isMac']=navigator['platform']['toUpperCase']()['indexOf']('MAC')>=0x0,this['linkHintText']=this['isMac']?'⌘+click\x20to\x20follow':'Ctrl+click\x20to\x20follow';this['options']['editable']&&this['bindEvents']();const _0x538f58=this['element']['textContent']||this['element']['value']||'';_0x538f58['trim']()&&this['setMarkdown'](_0x538f58);}['createToolbar'](){this['toolbar']=document['createElement']('div'),this['toolbar']['className']='markdown-editor-toolbar',this['toolbarButtons']={};const _0x426614=[{'id':'header','icon':ICONS['header'],'title':'Heading','action':'header','isDropdown':!![]},{'separator':!![]},{'id':'bold','icon':ICONS['bold'],'title':'Bold\x20(Ctrl+B)','action':'bold','command':'bold'},{'id':'italic','icon':ICONS['italic'],'title':'Italic\x20(Ctrl+I)','action':'italic','command':'italic'},{'id':'strike','icon':ICONS['strike'],'title':'Strikethrough','action':'strikeThrough','command':'strikeThrough'},{'id':'color','icon':ICONS['color'],'title':'Text\x20Color','action':'color','isDropdown':!![]},{'separator':!![]},{'id':'link','icon':ICONS['link'],'title':'Link\x20(Ctrl+K)','action':'link','tagName':'A'},{'id':'code','icon':ICONS['code'],'title':'Inline\x20Code','action':'code','tagName':'CODE'},{'id':'codeBlock','icon':ICONS['codeBlock'],'title':'Code\x20Block','action':'codeBlock','tagName':'PRE'},{'separator':!![]},{'id':'list-bullet','icon':ICONS['listBullet'],'title':'Bullet\x20List','action':'insertUnorderedList','command':'insertUnorderedList'},{'id':'list-ordered','icon':ICONS['listOrdered'],'title':'Numbered\x20List','action':'insertOrderedList','command':'insertOrderedList'}];_0x426614['forEach'](_0x418dd1=>{if(_0x418dd1['separator']){const _0x4c4b02=document['createElement']('div');_0x4c4b02['className']='markdown-toolbar-separator',_0x4c4b02['style']['width']='1px',_0x4c4b02['style']['height']='16px',_0x4c4b02['style']['background']='var(--color-border)',_0x4c4b02['style']['margin']='0\x206px',_0x4c4b02['style']['alignSelf']='center',this['toolbar']['appendChild'](_0x4c4b02);}else{if(_0x418dd1['isDropdown']){const _0x5543da=document['createElement']('div');_0x5543da['className']='markdown-toolbar-dropdown',_0x5543da['style']['position']='relative';const _0x1e62ac=document['createElement']('button');_0x1e62ac['type']='button',_0x1e62ac['className']='markdown-editor-toolbar-btn\x20markdown-toolbar-dropdown-btn',_0x1e62ac['tabIndex']=-0x1,_0x1e62ac['innerHTML']=_0x418dd1['icon']+'<svg\x20class=\x22dropdown-arrow\x22\x20viewBox=\x220\x200\x2024\x2024\x22\x20width=\x2210\x22\x20height=\x2210\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20fill=\x22none\x22><polyline\x20points=\x226\x209\x2012\x2015\x2018\x209\x22></polyline></svg>',_0x1e62ac['title']=_0x418dd1['title'],_0x1e62ac['dataset']['action']=_0x418dd1['action'];const _0x3c1b89=document['createElement']('div');_0x3c1b89['className']='markdown-toolbar-dropdown-menu',_0x3c1b89['style']['display']='none';if(_0x418dd1['action']==='header')this['createHeaderDropdown'](_0x3c1b89);else _0x418dd1['action']==='color'&&this['createColorDropdown'](_0x3c1b89);_0x1e62ac['addEventListener']('click',_0x29f04f=>{_0x29f04f['preventDefault'](),_0x29f04f['stopPropagation'](),this['toggleDropdown'](_0x3c1b89,_0x1e62ac);}),_0x5543da['appendChild'](_0x1e62ac),_0x5543da['appendChild'](_0x3c1b89),this['toolbar']['appendChild'](_0x5543da),this['toolbarButtons'][_0x418dd1['id']]={'button':_0x1e62ac,'dropdown':_0x3c1b89,'command':_0x418dd1['command'],'tagName':_0x418dd1['tagName']};}else{const _0x2ce767=document['createElement']('button');_0x2ce767['type']='button',_0x2ce767['className']='markdown-editor-toolbar-btn',_0x2ce767['tabIndex']=-0x1,_0x2ce767['innerHTML']=_0x418dd1['icon'],_0x2ce767['title']=_0x418dd1['title'],_0x2ce767['dataset']['action']=_0x418dd1['action'],_0x2ce767['addEventListener']('click',_0x575755=>{_0x575755['preventDefault'](),this['handleToolbarAction'](_0x418dd1['action']);}),this['toolbar']['appendChild'](_0x2ce767),this['toolbarButtons'][_0x418dd1['id']]={'button':_0x2ce767,'command':_0x418dd1['command'],'tagName':_0x418dd1['tagName']};}}}),document['addEventListener']('click',_0x4c2e1a=>{!this['toolbar']['contains'](_0x4c2e1a['target'])&&this['closeAllDropdowns']();});}['createHeaderDropdown'](_0x4f6bfa){const _0x1f46a1=[{'level':0x1,'label':'Heading\x201','tag':'H1'},{'level':0x2,'label':'Heading\x202','tag':'H2'},{'level':0x3,'label':'Heading\x203','tag':'H3'},{'level':0x4,'label':'Heading\x204','tag':'H4'},{'level':0x0,'label':'Normal\x20Text','tag':'P'}];_0x1f46a1['forEach'](_0x37ef14=>{const _0x5609d1=document['createElement']('button');_0x5609d1['type']='button',_0x5609d1['className']='markdown-dropdown-item',_0x5609d1['tabIndex']=-0x1,_0x5609d1['innerHTML']='<span\x20style=\x22font-size:\x20'+(_0x37ef14['level']===0x0?'14px':0x14-_0x37ef14['level']*0x2+'px')+';\x20font-weight:\x20'+(_0x37ef14['level']===0x0?'normal':'bold')+'\x22>'+_0x37ef14['label']+'</span>',_0x5609d1['addEventListener']('click',_0x4e0eab=>{_0x4e0eab['preventDefault'](),_0x4e0eab['stopPropagation'](),this['applyHeader'](_0x37ef14['level']),this['closeAllDropdowns']();}),_0x4f6bfa['appendChild'](_0x5609d1);});}['createColorDropdown'](_0x366d38){const _0x270a0c=[{'value':'#000000','label':'Black'},{'value':'#374151','label':'Gray'},{'value':'#DC2626','label':'Red'},{'value':'#EA580C','label':'Orange'},{'value':'#CA8A04','label':'Yellow'},{'value':'#16A34A','label':'Green'},{'value':'#2563EB','label':'Blue'},{'value':'#7C3AED','label':'Purple'},{'value':'#DB2777','label':'Pink'}],_0x99e016=document['createElement']('div');_0x99e016['className']='markdown-color-grid',_0x99e016['style']['display']='grid',_0x99e016['style']['gridTemplateColumns']='repeat(3,\x201fr)',_0x99e016['style']['gap']='4px',_0x99e016['style']['padding']='8px',_0x270a0c['forEach'](_0x3841a6=>{const _0x1d52e2=document['createElement']('button');_0x1d52e2['type']='button',_0x1d52e2['className']='markdown-color-btn',_0x1d52e2['tabIndex']=-0x1,_0x1d52e2['style']['width']='24px',_0x1d52e2['style']['height']='24px',_0x1d52e2['style']['backgroundColor']=_0x3841a6['value'],_0x1d52e2['style']['border']='1px\x20solid\x20var(--color-border)',_0x1d52e2['style']['borderRadius']='4px',_0x1d52e2['style']['cursor']='pointer',_0x1d52e2['title']=_0x3841a6['label'],_0x1d52e2['addEventListener']('click',_0x21ca77=>{_0x21ca77['preventDefault'](),_0x21ca77['stopPropagation'](),this['applyColor'](_0x3841a6['value']),this['closeAllDropdowns']();}),_0x99e016['appendChild'](_0x1d52e2);}),_0x366d38['appendChild'](_0x99e016);const _0x480408=document['createElement']('button');_0x480408['type']='button',_0x480408['className']='markdown-dropdown-item',_0x480408['innerHTML']='<span>Remove\x20Color</span>',_0x480408['style']['borderTop']='1px\x20solid\x20var(--color-border)',_0x480408['style']['marginTop']='4px',_0x480408['style']['paddingTop']='8px',_0x480408['addEventListener']('click',_0x1ef876=>{_0x1ef876['preventDefault'](),_0x1ef876['stopPropagation'](),this['removeColor'](),this['closeAllDropdowns']();}),_0x366d38['appendChild'](_0x480408);}['toggleDropdown'](_0x53123a,_0x3d9821){const _0x5920a4=_0x53123a['style']['display']!=='none';this['toolbar']&&this['closeAllDropdowns'](),!_0x5920a4&&(_0x53123a['style']['display']='block',_0x3d9821['classList']['add']('active'));}['closeAllDropdowns'](){const _0x21c4fe=this['toolbar']['querySelectorAll']('.markdown-toolbar-dropdown-menu');_0x21c4fe['forEach'](_0x241c73=>_0x241c73['style']['display']='none');const _0x34fd3d=this['toolbar']['querySelectorAll']('.markdown-toolbar-dropdown-btn');_0x34fd3d['forEach'](_0x1b0db5=>_0x1b0db5['classList']['remove']('active'));}['applyHeader'](_0x16a0d6){this['editor']['focus']();const _0x2e0b9a=window['getSelection']();if(!_0x2e0b9a||_0x2e0b9a['rangeCount']===0x0)return;const _0x6bfbc4=_0x2e0b9a['getRangeAt'](0x0);let _0x1774ab=_0x6bfbc4['startContainer'];while(_0x1774ab&&_0x1774ab!==this['editor']){if(_0x1774ab['nodeType']===Node['ELEMENT_NODE']){const _0x5ac44b=window['getComputedStyle'](_0x1774ab)['display'];if(_0x5ac44b==='block'||['P','H1','H2','H3','H4','H5','H6','DIV']['includes'](_0x1774ab['tagName']))break;}_0x1774ab=_0x1774ab['parentNode'];}_0x16a0d6===0x0?document['execCommand']('formatBlock',![],'p'):document['execCommand']('formatBlock',![],'h'+_0x16a0d6),this['editor']['dispatchEvent'](new Event('input'));}['applyColor'](_0x3c6ff1){this['editor']['focus'](),document['execCommand']('foreColor',![],_0x3c6ff1),this['editor']['dispatchEvent'](new Event('input'));}['removeColor'](){this['editor']['focus'](),document['execCommand']('removeFormat',![],null),this['editor']['dispatchEvent'](new Event('input'));}['handleToolbarAction'](_0x4af33a){this['editor']['focus']();switch(_0x4af33a){case'bold':case'italic':case'strikeThrough':case'insertUnorderedList':case'insertOrderedList':document['execCommand'](_0x4af33a,![],null);break;case'link':this['openLinkDialog']();return;case'code':this['toggleInlineCode']();break;case'codeBlock':this['insertCodeBlock']();break;}this['updateToolbarState'](),this['editor']['dispatchEvent'](new Event('input'));}['ensureLinkDialog'](){if(this['linkDialog'])return;this['ensureLinkDialogStyles']();const _0x475d77=document['createElement']('div');_0x475d77['className']='markdown-editor-link-modal',_0x475d77['hidden']=!![],_0x475d77['innerHTML']='\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22markdown-editor-link-backdrop\x22></div>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22markdown-editor-link-dialog\x22\x20role=\x22dialog\x22\x20aria-modal=\x22true\x22\x20aria-label=\x22Edit\x20link\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22markdown-editor-link-header\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<h3\x20class=\x22markdown-editor-link-title\x22>Insert\x20Link</h3>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20type=\x22button\x22\x20class=\x22markdown-editor-link-close\x22\x20aria-label=\x22Close\x22>×</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<form\x20class=\x22markdown-editor-link-form\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22markdown-editor-link-field-grid\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22markdown-editor-link-label\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20URL\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20class=\x22markdown-editor-link-input\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20data-link-field=\x22url\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type=\x22text\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20placeholder=\x22https://example.com\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20autocomplete=\x22off\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20spellcheck=\x22false\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22markdown-editor-link-label\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Display\x20text\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20class=\x22markdown-editor-link-input\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20data-link-field=\x22text\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type=\x22text\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20placeholder=\x22Text\x20shown\x20to\x20readers\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20autocomplete=\x22off\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20spellcheck=\x22false\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22markdown-editor-link-actions\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20type=\x22button\x22\x20class=\x22markdown-editor-link-btn\x20markdown-editor-link-btn-secondary\x22\x20data-action=\x22cancel\x22>Cancel</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20type=\x22button\x22\x20class=\x22markdown-editor-link-btn\x20markdown-editor-link-btn-danger\x22\x20data-action=\x22remove\x22\x20hidden>Remove\x20Link</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20type=\x22submit\x22\x20class=\x22markdown-editor-link-btn\x20markdown-editor-link-btn-primary\x22>Insert\x20Link</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</form>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20',document['body']['appendChild'](_0x475d77),this['linkDialog']=_0x475d77,this['linkDialogElements']={'backdrop':_0x475d77['querySelector']('.markdown-editor-link-backdrop'),'title':_0x475d77['querySelector']('.markdown-editor-link-title'),'close':_0x475d77['querySelector']('.markdown-editor-link-close'),'form':_0x475d77['querySelector']('.markdown-editor-link-form'),'urlInput':_0x475d77['querySelector']('[data-link-field=\x22url\x22]'),'textInput':_0x475d77['querySelector']('[data-link-field=\x22text\x22]'),'remove':_0x475d77['querySelector']('[data-action=\x22remove\x22]'),'cancel':_0x475d77['querySelector']('[data-action=\x22cancel\x22]'),'submit':_0x475d77['querySelector']('.markdown-editor-link-btn-primary')},this['linkDialogElements']['backdrop']['addEventListener']('click',()=>{this['closeLinkDialog']({'restoreSelection':!![]});}),this['linkDialogElements']['close']['addEventListener']('click',()=>{this['closeLinkDialog']({'restoreSelection':!![]});}),this['linkDialogElements']['cancel']['addEventListener']('click',()=>{this['closeLinkDialog']({'restoreSelection':!![]});}),this['linkDialogElements']['remove']['addEventListener']('click',()=>{this['applyLinkDialogResult']({'remove':!![]});}),this['linkDialogElements']['form']['addEventListener']('submit',_0x114182=>{_0x114182['preventDefault'](),this['applyLinkDialogResult']();}),this['linkDialog']['addEventListener']('keydown',_0xbb8d9e=>{_0xbb8d9e['key']==='Escape'&&(_0xbb8d9e['preventDefault'](),this['closeLinkDialog']({'restoreSelection':!![]}));});}['openLinkDialog'](){const _0x17603f=window['getSelection']();if(!_0x17603f||_0x17603f['rangeCount']===0x0)return;const _0x5ba5d2=_0x17603f['getRangeAt'](0x0),_0x4f7d6d=this['editor']['contains'](_0x5ba5d2['commonAncestorContainer'])||this['editor']===_0x5ba5d2['commonAncestorContainer'];if(!_0x4f7d6d)return;this['toolbar']&&this['closeAllDropdowns']();this['ensureLinkDialog']();const _0x1a900d=_0x5ba5d2['cloneRange'](),_0x4a5b80=this['findLinkAtRange'](_0x1a900d),_0x5bf35f=_0x4a5b80?_0x4a5b80['getAttribute']('href')||'':'',_0x202002=_0x4a5b80?_0x4a5b80['textContent']||'':_0x1a900d['toString']();this['linkDialogContext']={'range':_0x1a900d,'existingLink':_0x4a5b80,'selectedText':_0x202002},this['linkDialogElements']['title']['textContent']=_0x4a5b80?'Edit\x20Link':'Insert\x20Link',this['linkDialogElements']['submit']['textContent']=_0x4a5b80?'Save\x20Link':'Insert\x20Link',this['linkDialogElements']['remove']['hidden']=!_0x4a5b80,this['linkDialogElements']['urlInput']['value']=_0x5bf35f,this['linkDialogElements']['textInput']['value']=_0x202002,this['linkDialog']['hidden']=![],this['linkDialogElements']['urlInput']['focus'](),this['linkDialogElements']['urlInput']['select']();}['closeLinkDialog']({restoreSelection:restoreSelection=![]}={}){if(!this['linkDialog'])return;const _0x364a88=this['linkDialogContext'];this['linkDialog']['hidden']=!![],restoreSelection&&_0x364a88?.['range']&&(this['editor']['focus'](),this['restoreRange'](_0x364a88['range'])),this['linkDialogContext']=null;}['applyLinkDialogResult']({remove:remove=![]}={}){if(!this['linkDialog']||!this['linkDialogContext'])return;const _0x2f211a=this['linkDialogContext'],_0x35adf5=(this['linkDialogElements']['urlInput']['value']||'')['trim'](),_0x3b3b04=this['linkDialogElements']['textInput']['value']||'',_0x370f0c=_0x3b3b04['trim']();if(!remove&&!_0x35adf5){this['linkDialogElements']['urlInput']['focus']();return;}this['closeLinkDialog'](),this['editor']['focus'](),this['restoreRange'](_0x2f211a['range']);if(remove)_0x2f211a['existingLink']&&_0x2f211a['existingLink']['parentNode']?this['unwrapLinkElement'](_0x2f211a['existingLink']):document['execCommand']('unlink',![],null);else{if(_0x2f211a['existingLink']&&_0x2f211a['existingLink']['parentNode'])_0x2f211a['existingLink']['setAttribute']('href',_0x35adf5),_0x2f211a['existingLink']['textContent']=_0x370f0c||_0x35adf5;else{const _0xe72831=window['getSelection']();if(!_0xe72831||_0xe72831['rangeCount']===0x0)return;const _0x25d120=_0xe72831['getRangeAt'](0x0),_0x9f29c2=(_0x2f211a['selectedText']||'')['trim'](),_0x2cc677=_0x370f0c||_0x9f29c2||_0x35adf5;_0x25d120['deleteContents']();const _0x302fbb=document['createElement']('a');_0x302fbb['href']=_0x35adf5,_0x302fbb['textContent']=_0x2cc677,_0x25d120['insertNode'](_0x302fbb),_0x25d120['setStartAfter'](_0x302fbb),_0x25d120['collapse'](!![]),_0xe72831['removeAllRanges'](),_0xe72831['addRange'](_0x25d120);}}this['addLinkHints'](),this['updateToolbarState'](),this['editor']['dispatchEvent'](new Event('input'));}['ensureLinkDialogStyles'](){if(document['getElementById'](LINK_DIALOG_STYLE_ID))return;const _0x5c8eba=document['createElement']('style');_0x5c8eba['id']=LINK_DIALOG_STYLE_ID,_0x5c8eba['textContent']=LINK_DIALOG_STYLES,document['head']['appendChild'](_0x5c8eba);}['restoreRange'](_0x3294fb){const _0x455195=window['getSelection']();if(!_0x455195)return;try{_0x455195['removeAllRanges'](),_0x455195['addRange'](_0x3294fb);return;}catch(_0x27a93c){}const _0x1cbe72=document['createRange']();_0x1cbe72['selectNodeContents'](this['editor']),_0x1cbe72['collapse'](![]),_0x455195['removeAllRanges'](),_0x455195['addRange'](_0x1cbe72);}['findLinkAtRange'](_0x11f27f){if(!_0x11f27f)return null;const _0x284c77=this['findParentLink'](_0x11f27f['startContainer']);if(_0x11f27f['collapsed'])return _0x284c77;const _0x282633=this['findParentLink'](_0x11f27f['endContainer']);if(_0x284c77&&_0x284c77===_0x282633)return _0x284c77;if(_0x284c77&&_0x284c77['contains'](_0x11f27f['endContainer']))return _0x284c77;if(_0x282633&&_0x282633['contains'](_0x11f27f['startContainer']))return _0x282633;return null;}['findParentLink'](_0x3c8025){let _0x133029=_0x3c8025;while(_0x133029&&_0x133029!==this['editor']){if(_0x133029['nodeType']===Node['ELEMENT_NODE']&&_0x133029['tagName']==='A'){const _0x298782=_0x133029['getAttribute']('href')||'';if(_0x298782['startsWith']('mention:'))return null;return _0x133029;}_0x133029=_0x133029['parentNode'];}return null;}['unwrapLinkElement'](_0x2f3d3b){const _0x243e01=_0x2f3d3b['parentNode'];if(!_0x243e01)return;while(_0x2f3d3b['firstChild']){_0x243e01['insertBefore'](_0x2f3d3b['firstChild'],_0x2f3d3b);}_0x243e01['removeChild'](_0x2f3d3b);}['isSelectionInTag'](_0xf3a597){const _0x5b4486=window['getSelection']();if(!_0x5b4486||_0x5b4486['rangeCount']===0x0)return![];let _0x550328=_0x5b4486['anchorNode'];while(_0x550328&&_0x550328!==this['editor']){if(_0x550328['nodeType']===Node['ELEMENT_NODE']&&_0x550328['tagName']===_0xf3a597)return!![];_0x550328=_0x550328['parentNode'];}return![];}['updateToolbarState'](){if(!this['toolbarButtons'])return;for(const [_0x4a9eb7,_0x46e779]of Object['entries'](this['toolbarButtons'])){let _0x54ed23=![];if(_0x46e779['command'])try{_0x54ed23=document['queryCommandState'](_0x46e779['command']);}catch(_0x402458){_0x54ed23=![];}else _0x46e779['tagName']&&(_0x54ed23=this['isSelectionInTag'](_0x46e779['tagName']));_0x46e779['button']['classList']['toggle']('active',_0x54ed23);}}['bindEvents'](){this['editor']['addEventListener']('keydown',_0xdac6e2=>this['handleKeydown'](_0xdac6e2)),this['editor']['addEventListener']('input',_0x2f5541=>{this['handleMentionInput'](_0x2f5541),this['handleAutoFormat'](_0x2f5541);}),this['editor']['addEventListener']('input',()=>{const _0x4782f1=this['editor']['textContent']['trim']()!==''||this['editor']['innerHTML']['includes']('<br')||this['editor']['innerHTML']['includes']('<div')||this['editor']['innerHTML']['includes']('<img');!_0x4782f1&&(this['editor']['innerHTML']='');this['updatePlaceholder']();const _0x41cb4e=this['getMarkdown']();this['element']['tagName']==='TEXTAREA'||this['element']['tagName']==='INPUT'?this['element']['value']=_0x41cb4e:this['element']['textContent']=_0x41cb4e,this['options']['onChange']&&this['options']['onChange'](_0x41cb4e);}),this['editor']['addEventListener']('paste',_0x23871b=>this['handlePaste'](_0x23871b)),this['editor']['addEventListener']('dragover',_0x1c7bd1=>this['handleDragOver'](_0x1c7bd1)),this['editor']['addEventListener']('drop',_0x1a3e42=>this['handleDrop'](_0x1a3e42)),this['editor']['addEventListener']('dragstart',_0x1b5775=>this['handleDragStart'](_0x1b5775)),this['options']['toolbar']&&(this['selectionChangeHandler']=()=>{(this['editor']['contains'](document['activeElement'])||this['editor']===document['activeElement'])&&this['updateToolbarState']();},document['addEventListener']('selectionchange',this['selectionChangeHandler']),this['editor']['addEventListener']('keyup',()=>this['updateToolbarState']()),this['editor']['addEventListener']('mouseup',()=>this['updateToolbarState']()),this['editor']['addEventListener']('focus',()=>this['updateToolbarState']())),this['linkClickHandler']=_0x11ded4=>this['handleLinkClick'](_0x11ded4),this['editor']['addEventListener']('click',this['linkClickHandler']),this['linkMouseEnterHandler']=_0x140754=>this['handleLinkMouseEnter'](_0x140754),this['linkMouseLeaveHandler']=_0x3fa060=>this['handleLinkMouseLeave'](_0x3fa060),this['editor']['addEventListener']('mouseover',this['linkMouseEnterHandler']),this['editor']['addEventListener']('mouseout',this['linkMouseLeaveHandler']),this['updatePlaceholder']();}['handleAutoFormat'](_0x5915c7){if(_0x5915c7['inputType']==='deleteContentBackward')return;const _0x5876a9=window['getSelection']();if(!_0x5876a9||_0x5876a9['rangeCount']===0x0)return;const _0xa4ffc9=_0x5876a9['getRangeAt'](0x0),_0x599cdc=_0xa4ffc9['startContainer'];if(_0x599cdc['nodeType']!==Node['TEXT_NODE'])return;if(this['isSelectionInTag']('CODE')||this['isSelectionInTag']('PRE'))return;const _0x5c172a=_0x599cdc['textContent'],_0x5e514f=_0xa4ffc9['startOffset'],_0x2a7b47=_0x5c172a['slice'](0x0,_0x5e514f);if(_0x2a7b47['endsWith']('```')){_0xa4ffc9['setStart'](_0x599cdc,_0x5e514f-0x3),_0xa4ffc9['setEnd'](_0x599cdc,_0x5e514f),_0xa4ffc9['deleteContents'](),this['insertCodeBlock']();return;}const _0x58638b=/`([^`]+)`$/,_0x452a4c=_0x2a7b47['match'](_0x58638b);if(_0x452a4c){const _0x16db8e=_0x452a4c[0x1];if(_0x16db8e){const _0x5d1735=_0x452a4c['index'],_0x4afc24=_0x5d1735+_0x16db8e['length']+0x2;_0xa4ffc9['setStart'](_0x599cdc,_0x5d1735),_0xa4ffc9['setEnd'](_0x599cdc,_0x5e514f),_0xa4ffc9['deleteContents']();const _0x185961=document['createElement']('code');_0x185961['textContent']=_0x16db8e,_0xa4ffc9['insertNode'](_0x185961),_0xa4ffc9['setStartAfter'](_0x185961),_0xa4ffc9['setEndAfter'](_0x185961);const _0x3ee459=document['createTextNode']('');_0xa4ffc9['insertNode'](_0x3ee459),_0xa4ffc9['setStartAfter'](_0x3ee459),_0xa4ffc9['setEndAfter'](_0x3ee459),_0x5876a9['removeAllRanges'](),_0x5876a9['addRange'](_0xa4ffc9);return;}}const _0x32e1bc=_0x2a7b47['match'](/^[-*][\s\u00A0]$/);if(_0x32e1bc&&this['isAtStartOfBlock'](_0x599cdc)){if(this['isSelectionInTag']('UL')||this['isSelectionInTag']('OL'))return;_0xa4ffc9['setStart'](_0x599cdc,Math['max'](_0x5e514f-0x2,0x0)),_0xa4ffc9['setEnd'](_0x599cdc,_0x5e514f),_0xa4ffc9['deleteContents']();const _0x8ef7c1=this['ensureListInsertionAnchor'](_0x599cdc);document['execCommand']('insertUnorderedList',![],null);_0x8ef7c1&&_0x8ef7c1['parentNode']&&_0x8ef7c1['parentNode']['removeChild'](_0x8ef7c1);this['updateToolbarState']();return;}const _0x5244d8=_0x2a7b47['match'](/^1\.[\s\u00A0]$/);if(_0x5244d8&&this['isAtStartOfBlock'](_0x599cdc)){if(this['isSelectionInTag']('UL')||this['isSelectionInTag']('OL'))return;_0xa4ffc9['setStart'](_0x599cdc,Math['max'](_0x5e514f-0x3,0x0)),_0xa4ffc9['setEnd'](_0x599cdc,_0x5e514f),_0xa4ffc9['deleteContents']();const _0x354831=this['ensureListInsertionAnchor'](_0x599cdc);document['execCommand']('insertOrderedList',![],null);_0x354831&&_0x354831['parentNode']&&_0x354831['parentNode']['removeChild'](_0x354831);this['updateToolbarState']();return;}}['isAtStartOfBlock'](_0x24a500){let _0x520211=_0x24a500;while(_0x520211&&_0x520211!==this['editor']){const _0x15aae2=_0x520211['parentNode'];if(!_0x15aae2)break;const _0x5318db=_0x15aae2['tagName'];if(_0x5318db==='DIV'||_0x5318db==='P'||_0x5318db==='LI'||_0x15aae2===this['editor']){let _0x1cb244=_0x15aae2['firstChild'];while(_0x1cb244&&(_0x1cb244['nodeType']===Node['TEXT_NODE']&&_0x1cb244['textContent']===''||_0x1cb244['nodeType']===Node['ELEMENT_NODE']&&_0x1cb244['tagName']==='BR')){_0x1cb244=_0x1cb244['nextSibling'];}return _0x1cb244===_0x24a500||_0x1cb244===_0x520211;}_0x520211=_0x15aae2;}if(_0x520211===this['editor']||_0x24a500['parentNode']===this['editor']){let _0x203ce5=this['editor']['firstChild'];while(_0x203ce5&&(_0x203ce5['nodeType']===Node['TEXT_NODE']&&_0x203ce5['textContent']===''||_0x203ce5['nodeType']===Node['ELEMENT_NODE']&&_0x203ce5['tagName']==='BR')){_0x203ce5=_0x203ce5['nextSibling'];}return _0x203ce5===_0x24a500;}return![];}['getClosestBlockElement'](_0x466530){let _0x4e3337=_0x466530;while(_0x4e3337&&_0x4e3337!==this['editor']){const _0x3400ac=_0x4e3337['parentNode'];if(!_0x3400ac)break;const _0x4934ca=_0x3400ac['tagName'];if(_0x4934ca==='DIV'||_0x4934ca==='P'||_0x4934ca==='LI'||_0x3400ac===this['editor'])return _0x3400ac;_0x4e3337=_0x3400ac;}return this['editor'];}['ensureListInsertionAnchor'](_0x151983){const _0x1ae9ae=window['getSelection']();if(!_0x1ae9ae||_0x1ae9ae['rangeCount']===0x0)return null;const _0x6c0c7c=this['getClosestBlockElement'](_0x151983);if(!_0x6c0c7c||_0x6c0c7c===this['editor'])return null;const _0x1906b3=_0x6c0c7c['textContent']['replace'](/\u200B/g,'');if(_0x1906b3!=='')return null;const _0x2de86a=document['createTextNode']('');_0x6c0c7c['appendChild'](_0x2de86a);const _0x4e89ff=document['createRange']();return _0x4e89ff['setStart'](_0x2de86a,0x1),_0x4e89ff['setEnd'](_0x2de86a,0x1),_0x1ae9ae['removeAllRanges'](),_0x1ae9ae['addRange'](_0x4e89ff),_0x2de86a;}['getContainingListItem'](){const _0x2a3dbd=window['getSelection']();if(!_0x2a3dbd||_0x2a3dbd['rangeCount']===0x0)return null;let _0x104c58=_0x2a3dbd['anchorNode'];while(_0x104c58&&_0x104c58!==this['editor']){if(_0x104c58['nodeType']===Node['ELEMENT_NODE']&&_0x104c58['tagName']==='LI')return _0x104c58;_0x104c58=_0x104c58['parentNode'];}return null;}['isEmptyListItem'](_0x1bf89e){if(!_0x1bf89e)return![];const _0x209f79=_0x1bf89e['textContent']['replace'](/\u200B/g,'')['trim']();if(_0x209f79!=='')return![];const _0x5657fb=_0x1bf89e['querySelector']('img');if(_0x5657fb)return![];const _0x4917b0=_0x1bf89e['querySelector']('ul,\x20ol');if(_0x4917b0)return![];return!![];}['isCursorAtStartOfListItem'](_0x3d4865){if(!_0x3d4865)return![];const _0x236165=window['getSelection']();if(!_0x236165||_0x236165['rangeCount']===0x0||!_0x236165['isCollapsed'])return![];const _0x3a7f00=_0x236165['getRangeAt'](0x0),_0x21ae36=_0x3a7f00['startContainer'];if(_0x21ae36!==_0x3d4865&&!_0x3d4865['contains'](_0x21ae36))return![];const _0x515322=_0x3a7f00['cloneRange']();_0x515322['setStart'](_0x3d4865,0x0),_0x515322['setEnd'](_0x21ae36,_0x3a7f00['startOffset']);const _0x2ad657=_0x515322['toString']()['replace'](/\u200B/g,'')['replace'](/\u00A0/g,'\x20');return _0x2ad657['trim']()==='';}['indentListItem'](_0x1f32a2){const _0x1ea09d=_0x1f32a2['previousElementSibling'];if(!_0x1ea09d||_0x1ea09d['tagName']!=='LI')return;const _0x54d0c5=_0x1f32a2['parentNode'],_0x5cb5bf=_0x54d0c5['tagName'];let _0x38a3d9=_0x1ea09d['querySelector'](':scope\x20>\x20ul,\x20:scope\x20>\x20ol');!_0x38a3d9&&(_0x38a3d9=document['createElement'](_0x5cb5bf),_0x1ea09d['appendChild'](_0x38a3d9)),_0x38a3d9['appendChild'](_0x1f32a2),this['placeCursorInListItem'](_0x1f32a2);}['outdentListItem'](_0x2d4f18){const _0x822af4=_0x2d4f18['parentNode'];if(!_0x822af4||_0x822af4['tagName']!=='UL'&&_0x822af4['tagName']!=='OL')return;const _0x422de5=_0x822af4['parentNode'];if(_0x422de5&&_0x422de5['tagName']==='LI'){const _0x2013fa=_0x422de5['parentNode'];_0x2013fa['insertBefore'](_0x2d4f18,_0x422de5['nextSibling']),_0x822af4['children']['length']===0x0&&_0x822af4['remove'](),this['placeCursorInListItem'](_0x2d4f18);}else return;}['exitListOnEmptyBullet'](_0x1bea31){const _0x43a6e6=_0x1bea31['parentNode'];if(!_0x43a6e6)return;const _0x297d17=_0x43a6e6['parentNode'];if(_0x297d17&&_0x297d17['tagName']==='LI'){this['outdentListItem'](_0x1bea31);return;}const _0x55ce9e=_0x43a6e6['parentNode'],_0x44c211=document['createElement']('p');_0x44c211['innerHTML']='<br>',_0x55ce9e['insertBefore'](_0x44c211,_0x43a6e6['nextSibling']),_0x1bea31['remove']();_0x43a6e6['children']['length']===0x0&&_0x43a6e6['remove']();const _0x1df3be=window['getSelection'](),_0xc8ef57=document['createRange']();_0xc8ef57['setStart'](_0x44c211,0x0),_0xc8ef57['collapse'](!![]),_0x1df3be['removeAllRanges'](),_0x1df3be['addRange'](_0xc8ef57);}['placeCursorInListItem'](_0x5a4c8c){const _0x4a6333=window['getSelection'](),_0x3fd497=document['createRange'](),_0xea9dc8=document['createTreeWalker'](_0x5a4c8c,NodeFilter['SHOW_TEXT'],null,![]),_0x3eeeac=_0xea9dc8['nextNode']();_0x3eeeac?_0x3fd497['setStart'](_0x3eeeac,0x0):_0x3fd497['setStart'](_0x5a4c8c,0x0),_0x3fd497['collapse'](!![]),_0x4a6333['removeAllRanges'](),_0x4a6333['addRange'](_0x3fd497);}['handleLinkClick'](_0x505043){const _0x9424e6=this['isMac']?_0x505043['metaKey']:_0x505043['ctrlKey'];if(!_0x9424e6)return;let _0x1b27b7=_0x505043['target'];while(_0x1b27b7&&_0x1b27b7!==this['editor']){if(_0x1b27b7['tagName']==='A'){_0x505043['preventDefault'](),_0x505043['stopPropagation']();const _0x4c4683=_0x1b27b7['getAttribute']('href');if(!_0x4c4683)return;if(_0x4c4683['startsWith']('mention:'))return;const _0x278f58=/^https?:\/\//i['test'](_0x4c4683);_0x278f58?window['open'](_0x4c4683,'_blank','noopener,noreferrer'):window['location']['href']=_0x4c4683;return;}_0x1b27b7=_0x1b27b7['parentNode'];}}['handleLinkMouseEnter'](_0x2c58da){const _0x236528=_0x2c58da['target'];if(_0x236528['tagName']!=='A')return;const _0x360bfc=_0x236528['getAttribute']('href')||'';if(_0x360bfc['startsWith']('mention:'))return;this['linkTooltipTimeout']&&clearTimeout(this['linkTooltipTimeout']),this['linkTooltipTimeout']=setTimeout(()=>{this['showLinkTooltip'](_0x236528);},0x12c);}['handleLinkMouseLeave'](_0x1b7530){const _0x2b28c4=_0x1b7530['target'];if(_0x2b28c4['tagName']!=='A')return;this['linkTooltipTimeout']&&(clearTimeout(this['linkTooltipTimeout']),this['linkTooltipTimeout']=null),this['hideLinkTooltip']();}['showLinkTooltip'](_0x238d07){!this['linkTooltip']&&(this['linkTooltip']=document['createElement']('div'),this['linkTooltip']['className']='markdown-editor-link-tooltip',document['body']['appendChild'](this['linkTooltip']));this['linkTooltip']['textContent']=this['linkHintText']||'Ctrl+click\x20to\x20follow';const _0x495501=_0x238d07['getBoundingClientRect'](),_0x2fc608=this['linkTooltip']['getBoundingClientRect']();let _0x926dce=_0x495501['bottom']+0x4,_0x5070a1=_0x495501['left']+_0x495501['width']/0x2;_0x926dce+0x1e>window['innerHeight']&&(_0x926dce=_0x495501['top']-0x1e);const _0x2fd280=0x78;if(_0x5070a1-_0x2fd280/0x2<0xa)_0x5070a1=_0x2fd280/0x2+0xa;else _0x5070a1+_0x2fd280/0x2>window['innerWidth']-0xa&&(_0x5070a1=window['innerWidth']-_0x2fd280/0x2-0xa);this['linkTooltip']['style']['top']=_0x926dce+'px',this['linkTooltip']['style']['left']=_0x5070a1+'px',this['linkTooltip']['style']['transform']='translateX(-50%)',this['linkTooltip']['classList']['add']('visible');}['hideLinkTooltip'](){this['linkTooltip']&&this['linkTooltip']['classList']['remove']('visible');}['handleKeydown'](_0x5468f7){if(this['mentionState']['active']){if(_0x5468f7['key']==='ArrowDown'){_0x5468f7['preventDefault'](),this['mentionNavigate'](0x1);return;}if(_0x5468f7['key']==='ArrowUp'){_0x5468f7['preventDefault'](),this['mentionNavigate'](-0x1);return;}if(_0x5468f7['key']==='Enter'||_0x5468f7['key']==='Tab'){if(this['mentionState']['filteredUsers']['length']>0x0){_0x5468f7['preventDefault'](),this['insertMention'](this['mentionState']['filteredUsers'][this['mentionState']['selectedIndex']]);return;}}if(_0x5468f7['key']==='Escape'){_0x5468f7['preventDefault'](),this['closeMentionDropdown']();return;}}if(_0x5468f7['key']==='Tab'&&(this['isSelectionInTag']('UL')||this['isSelectionInTag']('OL'))){const _0x5e72bd=this['getContainingListItem']();if(_0x5e72bd&&this['isCursorAtStartOfListItem'](_0x5e72bd)){_0x5468f7['preventDefault']();_0x5468f7['shiftKey']?this['outdentListItem'](_0x5e72bd):this['indentListItem'](_0x5e72bd);this['editor']['dispatchEvent'](new Event('input',{'bubbles':!![]}));return;}}if(_0x5468f7['key']==='Enter'&&!_0x5468f7['shiftKey']&&(this['isSelectionInTag']('UL')||this['isSelectionInTag']('OL'))){const _0x4665d3=this['getContainingListItem']();if(_0x4665d3&&this['isEmptyListItem'](_0x4665d3)){_0x5468f7['preventDefault'](),this['exitListOnEmptyBullet'](_0x4665d3),this['editor']['dispatchEvent'](new Event('input',{'bubbles':!![]}));return;}}if(_0x5468f7['key']==='Enter'&&!_0x5468f7['shiftKey']&&this['isSelectionInTag']('PRE')){_0x5468f7['preventDefault']();const _0x515247=window['getSelection']();if(_0x515247['rangeCount']>0x0){const _0x41739d=_0x515247['getRangeAt'](0x0);_0x41739d['deleteContents']();const _0x136c29=document['createTextNode']('\x0a');_0x41739d['insertNode'](_0x136c29),_0x41739d['setStartAfter'](_0x136c29),_0x41739d['setEndAfter'](_0x136c29),_0x515247['removeAllRanges'](),_0x515247['addRange'](_0x41739d),this['handleInput']();}return;}(_0x5468f7['ctrlKey']||_0x5468f7['metaKey'])&&_0x5468f7['key']==='b'&&(_0x5468f7['preventDefault'](),document['execCommand']('bold',![],null));(_0x5468f7['ctrlKey']||_0x5468f7['metaKey'])&&_0x5468f7['key']==='i'&&(_0x5468f7['preventDefault'](),document['execCommand']('italic',![],null));if((_0x5468f7['ctrlKey']||_0x5468f7['metaKey'])&&_0x5468f7['key']==='k'){_0x5468f7['preventDefault'](),this['openLinkDialog']();return;}}['handlePaste'](_0x107f96){const _0x45e82b=_0x107f96['clipboardData'];if(_0x45e82b&&this['options']['onAddAttachments']){const _0x4ee871=this['extractImageFilesFromClipboard'](_0x45e82b);if(_0x4ee871['length']>0x0){_0x107f96['preventDefault'](),this['addAndInsertImages'](_0x4ee871);return;}}_0x107f96['preventDefault']();const _0x537d65=_0x107f96['clipboardData']['getData']('text/html');if(_0x537d65&&_0x537d65['trim']()){const _0x36b42d=this['convertPastedHtmlToMarkdown'](_0x537d65);if(_0x36b42d&&_0x36b42d['trim']()){this['insertMarkdownAsRichText'](_0x36b42d);return;}}const _0x4ce674=_0x107f96['clipboardData']['getData']('text/plain');document['execCommand']('insertText',![],_0x4ce674);}['convertPastedHtmlToMarkdown'](_0x1377a6){const _0xa41c1e=document['createElement']('div');_0xa41c1e['innerHTML']=_0x1377a6;const _0x41a8b3=_0xa41c1e['querySelectorAll']('style,\x20script,\x20meta,\x20link,\x20head,\x20title');_0x41a8b3['forEach'](_0x4054f8=>_0x4054f8['remove']());const _0x3bebf0=_0xa41c1e['querySelectorAll']('*');_0x3bebf0['forEach'](_0x24233b=>{const _0x1292ab=Array['from'](_0x24233b['attributes']);_0x1292ab['forEach'](_0x3a91be=>{_0x3a91be['name']['startsWith']('data-')&&_0x3a91be['name']!=='data-attachment-name'&&_0x3a91be['name']!=='data-mention-user-id'&&_0x24233b['removeAttribute'](_0x3a91be['name']);});}),_0xa41c1e['querySelectorAll']('font[color]')['forEach'](_0x1aa318=>{_0x1aa318['replaceWith'](..._0x1aa318['childNodes']);}),_0xa41c1e['querySelectorAll']('span')['forEach'](_0x48ceca=>{_0x48ceca['style']['color']&&_0x48ceca['style']['removeProperty']('color'),!_0x48ceca['getAttribute']('style')&&!_0x48ceca['getAttribute']('data-mention-user-id')&&!_0x48ceca['getAttribute']('data-attachment-name')&&_0x48ceca['replaceWith'](..._0x48ceca['childNodes']);});try{return this['turndownService']['turndown'](_0xa41c1e['innerHTML']);}catch(_0x5b22ca){return console['warn']('Failed\x20to\x20convert\x20HTML\x20to\x20markdown:',_0x5b22ca),null;}}['insertMarkdownAsRichText'](_0x3e979d){const _0x1b7a9e=window['marked'];if(!_0x1b7a9e){document['execCommand']('insertText',![],_0x3e979d);return;}try{const _0x3927d0=this['preprocessColorSyntax'](_0x3e979d),_0x121c43=_0x1b7a9e['parse'](_0x3927d0),_0x123858=document['createElement']('div');_0x123858['innerHTML']=_0x121c43,this['processHtmlForEditor'](_0x123858),document['execCommand']('insertHTML',![],_0x123858['innerHTML']);}catch(_0x2acd44){console['warn']('Failed\x20to\x20convert\x20markdown\x20to\x20HTML:',_0x2acd44),document['execCommand']('insertText',![],_0x3e979d);}}['processHtmlForEditor'](_0x2da2c2){const _0x86ee33=_0x2da2c2['querySelectorAll']('pre');_0x86ee33['forEach'](_0x5bef75=>{const _0x1ad759=_0x5bef75['querySelector']('code');if(_0x1ad759){const _0x454cc1=Array['from'](_0x1ad759['classList'])['find'](_0x44407b=>_0x44407b['startsWith']('language-')),_0x4c545f=_0x454cc1?_0x454cc1['replace']('language-',''):'',_0x1c8b1f=document['createElement']('pre');_0x4c545f&&_0x1c8b1f['setAttribute']('data-language',_0x4c545f),_0x1c8b1f['textContent']=_0x1ad759['textContent'],_0x5bef75['replaceWith'](_0x1c8b1f);}});const _0x3fd472=_0x2da2c2['querySelectorAll']('a');_0x3fd472['forEach'](_0x99284a=>{_0x99284a['setAttribute']('target','_blank'),_0x99284a['setAttribute']('rel','noopener\x20noreferrer');});}['handleDragStart'](_0x205f0f){const _0x401408=_0x205f0f['target'];if(!_0x401408||_0x401408['tagName']!=='IMG')return;if(!_0x205f0f['dataTransfer'])return;const _0x2698df=_0x401408['getAttribute']('data-attachment-name')||'';try{_0x205f0f['dataTransfer']['setData'](INTERNAL_DRAG_MIME,_0x2698df||'1');}catch{}_0x205f0f['dataTransfer']['effectAllowed']='move';}['handleDragOver'](_0xfbf55){if(!this['isExternalFileTransfer'](_0xfbf55['dataTransfer']))return;_0xfbf55['preventDefault'](),_0xfbf55['dataTransfer']['dropEffect']='copy';}['handleDrop'](_0x1be61f){if(!this['isExternalFileTransfer'](_0x1be61f['dataTransfer']))return;const _0x30668a=_0x1be61f['dataTransfer'],_0x43378c=Array['from'](_0x30668a['files']||[])['filter'](_0x731a64=>_0x731a64&&typeof _0x731a64['type']==='string'),_0x5e5733=_0x43378c['filter'](_0x40a46a=>_0x40a46a['type']['startsWith']('image/'));if(_0x5e5733['length']===0x0)return;_0x1be61f['preventDefault'](),_0x1be61f['stopPropagation'](),this['cleanupParentDragState'](),this['moveSelectionToDropPoint'](_0x1be61f),this['addAndInsertImages'](_0x5e5733);}['cleanupParentDragState'](){let _0xe9d177=this['editor']['parentElement'];while(_0xe9d177){_0xe9d177['classList']&&_0xe9d177['classList']['contains']('drag-over')&&_0xe9d177['classList']['remove']('drag-over'),_0xe9d177=_0xe9d177['parentElement'];}}['isExternalFileTransfer'](_0x4d3824){if(!_0x4d3824)return![];const _0x5be5fc=Array['from'](_0x4d3824['types']||[]);if(!_0x5be5fc['includes']('Files'))return![];if(_0x5be5fc['includes'](INTERNAL_DRAG_MIME))return![];if(_0x4d3824['files']&&_0x4d3824['files']['length']>0x0)return!![];if(_0x4d3824['items']&&Array['from'](_0x4d3824['items'])['some'](_0x1657fb=>_0x1657fb['kind']==='file'))return!![];return![];}['moveSelectionToDropPoint'](_0x5e7137){const _0x3931b3=_0x5e7137['clientX'],_0x2864b5=_0x5e7137['clientY'];let _0x3ecb72=null;if(document['caretRangeFromPoint'])_0x3ecb72=document['caretRangeFromPoint'](_0x3931b3,_0x2864b5);else{if(document['caretPositionFromPoint']){const _0xfc80a7=document['caretPositionFromPoint'](_0x3931b3,_0x2864b5);_0xfc80a7&&(_0x3ecb72=document['createRange'](),_0x3ecb72['setStart'](_0xfc80a7['offsetNode'],_0xfc80a7['offset']),_0x3ecb72['collapse'](!![]));}}if(_0x3ecb72){const _0x1aaf6b=window['getSelection']();_0x1aaf6b['removeAllRanges'](),_0x1aaf6b['addRange'](_0x3ecb72);}}['extractImageFilesFromClipboard'](_0x1b189f){const _0x335c69=Array['from'](_0x1b189f['items']||[]),_0x45742f=[];for(const _0x24badc of _0x335c69){if(_0x24badc['kind']==='file'&&_0x24badc['type']&&_0x24badc['type']['startsWith']('image/')){const _0x47bb75=_0x24badc['getAsFile']();if(_0x47bb75)_0x45742f['push'](_0x47bb75);}}return _0x45742f;}['addAndInsertImages'](_0x511284){const _0x164563=_0x511284['map'](_0x2a14e7=>this['prepareAttachmentFile'](_0x2a14e7))['filter'](Boolean);if(_0x164563['length']===0x0)return;const _0x4ae277=_0x164563['map'](_0x123c1d=>_0x123c1d['file']);try{this['options']['onAddAttachments'](_0x4ae277);}catch(_0x4aa7bd){console['error']('Failed\x20to\x20add\x20attachments:',_0x4aa7bd);}for(const {name:_0x2b7a5c,objectUrl:_0x365c29}of _0x164563){this['insertAttachmentImage'](_0x2b7a5c,_0x365c29);}this['editor']['dispatchEvent'](new Event('input',{'bubbles':!![]}));}['prepareAttachmentFile'](_0x4eb6ef){const _0x93684d=this['sanitizeFilename'](_0x4eb6ef['name']||this['defaultImageName'](_0x4eb6ef['type']));if(!_0x93684d)return null;const _0x22fb1e=this['getUniqueAttachmentName'](_0x93684d),_0x3db75e=_0x22fb1e===_0x4eb6ef['name']?_0x4eb6ef:new File([_0x4eb6ef],_0x22fb1e,{'type':_0x4eb6ef['type'],'lastModified':_0x4eb6ef['lastModified']}),_0x1f7f0a=URL['createObjectURL'](_0x3db75e);return this['attachmentObjectUrls']['set'](_0x22fb1e,_0x1f7f0a),{'name':_0x22fb1e,'file':_0x3db75e,'objectUrl':_0x1f7f0a};}['getUniqueAttachmentName'](_0x8fae3c){const _0x240454=_0x58bf5d=>{if(this['attachmentObjectUrls']['has'](_0x58bf5d))return!![];if(this['options']['isAttachmentNameTaken'])try{return Boolean(this['options']['isAttachmentNameTaken'](_0x58bf5d));}catch{return![];}return![];};if(!_0x240454(_0x8fae3c))return _0x8fae3c;const {stem:_0x3caaa0,ext:_0x13a86f}=this['splitFilename'](_0x8fae3c);for(let _0x5b1702=0x2;_0x5b1702<0x3e8;_0x5b1702++){const _0x3c5256=_0x3caaa0+'-'+_0x5b1702+_0x13a86f;if(!_0x240454(_0x3c5256))return _0x3c5256;}return _0x3caaa0+'-'+Date['now']()+_0x13a86f;}['splitFilename'](_0x28dfa1){const _0x59887c=_0x28dfa1['lastIndexOf']('.');if(_0x59887c<=0x0||_0x59887c===_0x28dfa1['length']-0x1)return{'stem':_0x28dfa1,'ext':''};return{'stem':_0x28dfa1['slice'](0x0,_0x59887c),'ext':_0x28dfa1['slice'](_0x59887c)};}['sanitizeFilename'](_0x10d2f0){const _0x39ea1a=String(_0x10d2f0||'')['split']('/')['pop']()['split']('\x5c')['pop']();return _0x39ea1a['replace'](/[\u0000-\u001F\u007F]/g,'')['trim']();}['defaultImageName'](_0x11f6b2){const _0x14a372=this['extensionForMime'](_0x11f6b2);return'pasted-image-'+Date['now']()+_0x14a372;}['extensionForMime'](_0x398394){switch(_0x398394){case'image/png':return'.png';case'image/jpeg':return'.jpg';case'image/gif':return'.gif';case'image/webp':return'.webp';case'image/svg+xml':return'.svg';default:return'.png';}}['insertAttachmentImage'](_0x2e2536,_0x5e3cf3){const _0x57a3ce=document['createElement']('img');_0x57a3ce['src']=_0x5e3cf3,_0x57a3ce['alt']=_0x2e2536,_0x57a3ce['setAttribute']('data-attachment-name',_0x2e2536),_0x57a3ce['draggable']=!![];const _0x3902c3=window['getSelection']();let _0x5f2850=![];if(_0x3902c3&&_0x3902c3['rangeCount']>0x0){const _0x1082c5=_0x3902c3['getRangeAt'](0x0);_0x5f2850=this['editor']['contains'](_0x1082c5['commonAncestorContainer'])||this['editor']===_0x1082c5['commonAncestorContainer'];}if(!_0x5f2850){this['editor']['appendChild'](_0x57a3ce);const _0x18877b=document['createRange']();_0x18877b['setStartAfter'](_0x57a3ce),_0x18877b['collapse'](!![]),_0x3902c3['removeAllRanges'](),_0x3902c3['addRange'](_0x18877b);return;}const _0x4cfb61=_0x3902c3['getRangeAt'](0x0);_0x4cfb61['deleteContents'](),_0x4cfb61['insertNode'](_0x57a3ce),_0x4cfb61['setStartAfter'](_0x57a3ce),_0x4cfb61['collapse'](!![]),_0x3902c3['removeAllRanges'](),_0x3902c3['addRange'](_0x4cfb61);}['toggleInlineCode'](){const _0x1bee63=window['getSelection']();if(_0x1bee63['rangeCount']===0x0)return;const _0x475f15=_0x1bee63['getRangeAt'](0x0),_0x5a95d1=_0x475f15['toString']();if(_0x5a95d1){const _0x12a89f=document['createElement']('code');_0x12a89f['textContent']=_0x5a95d1,_0x475f15['deleteContents'](),_0x475f15['insertNode'](_0x12a89f),_0x475f15['setStartAfter'](_0x12a89f),_0x475f15['setEndAfter'](_0x12a89f),_0x1bee63['removeAllRanges'](),_0x1bee63['addRange'](_0x475f15);}}['insertCodeBlock'](){const _0x32961e=window['getSelection']();if(_0x32961e['rangeCount']===0x0)return;const _0x57b00b=_0x32961e['getRangeAt'](0x0),_0x2186c1=_0x57b00b['toString'](),_0x24bbe3=document['createElement']('pre'),_0x31c504=document['createElement']('code');_0x31c504['textContent']=_0x2186c1||'\x0a',_0x24bbe3['appendChild'](_0x31c504),_0x57b00b['deleteContents'](),_0x57b00b['insertNode'](_0x24bbe3);const _0x164066=document['createElement']('p');_0x164066['innerHTML']='<br>',_0x24bbe3['parentNode']['insertBefore'](_0x164066,_0x24bbe3['nextSibling']);const _0xdd44af=document['createRange']();!_0x2186c1?(_0xdd44af['setStart'](_0x31c504['firstChild'],0x0),_0xdd44af['setEnd'](_0x31c504['firstChild'],0x0)):(_0xdd44af['selectNodeContents'](_0x31c504),_0xdd44af['collapse'](![])),_0x32961e['removeAllRanges'](),_0x32961e['addRange'](_0xdd44af);}['updatePlaceholder'](){const _0x445447=this['editor']['textContent']['trim']()!==''||this['editor']['innerHTML']['includes']('<br')||this['editor']['innerHTML']['includes']('<div')||this['editor']['innerHTML']['includes']('<img');_0x445447?this['editor']['classList']['remove']('empty'):this['editor']['classList']['add']('empty');}['setMarkdown'](_0x32361f){if(!_0x32361f||!_0x32361f['trim']()){this['editor']['innerHTML']='',this['updatePlaceholder']();this['element']['tagName']==='TEXTAREA'||this['element']['tagName']==='INPUT'?this['element']['value']='':this['element']['textContent']='';return;}const _0x28c8e2=this['preprocessColorSyntax'](_0x32361f),_0x28e1ba=window['marked']['parse'](_0x28c8e2);this['editor']['innerHTML']=_0x28e1ba,this['rewriteAttachmentImages'](),this['rewriteMentionLinks'](),this['addLinkHints'](),this['updatePlaceholder'](),this['element']['tagName']==='TEXTAREA'||this['element']['tagName']==='INPUT'?this['element']['value']=_0x32361f:this['element']['textContent']=_0x32361f;}['rewriteAttachmentImages'](){const _0x1e2f59=this['editor']['querySelectorAll']('img');_0x1e2f59['forEach'](_0x3f65b1=>{const _0x538101=_0x3f65b1['getAttribute']('data-attachment-name'),_0x378899=_0x3f65b1['getAttribute']('src')||'',_0x476094=this['parseAttachmentReference'](_0x378899)||this['parseTaskAttachmentUrl'](_0x378899),_0x1fe9bb=_0x538101||(_0x476094?_0x476094['name']:null);if(!_0x1fe9bb)return;_0x3f65b1['setAttribute']('data-attachment-name',_0x1fe9bb);const _0x197158=this['attachmentObjectUrls']['get'](_0x1fe9bb)||(this['options']['resolveAttachmentUrl']?this['options']['resolveAttachmentUrl'](_0x1fe9bb):null);_0x197158&&(_0x3f65b1['src']=_0x197158);});}['rewriteMentionLinks'](){const _0x4d9bbb=this['editor']['querySelectorAll']('a[href^=\x22mention:\x22]');_0x4d9bbb['forEach'](_0xa12f00=>{const _0x5124ff=_0xa12f00['getAttribute']('href')||'',_0x13e13a=_0x5124ff['replace']('mention:',''),_0x40b6ad=_0xa12f00['textContent']||'',_0x832d2b=document['createElement']('span');_0x832d2b['className']='mention',_0x832d2b['setAttribute']('data-mention-user-id',_0x13e13a),_0x832d2b['setAttribute']('contenteditable','false'),_0x832d2b['textContent']='@'+_0x40b6ad;const _0x51723d=_0xa12f00['previousSibling'];_0x51723d&&_0x51723d['nodeType']===Node['TEXT_NODE']&&_0x51723d['textContent']['endsWith']('@')&&(_0x51723d['textContent']=_0x51723d['textContent']['slice'](0x0,-0x1)),_0xa12f00['parentNode']['replaceChild'](_0x832d2b,_0xa12f00);});}['addLinkHints'](){if(!this['options']['editable'])return;const _0x470897=this['editor']['querySelectorAll']('a');_0x470897['forEach'](_0x2dc3cf=>{const _0x24b9c=_0x2dc3cf['getAttribute']('href')||'';if(_0x24b9c['startsWith']('mention:'))return;const _0x3005e5=_0x2dc3cf['textContent']||_0x24b9c,_0x2b9b64=_0x3005e5+'\x20('+(this['linkHintText']||'Ctrl+click\x20to\x20follow')+')';_0x2dc3cf['setAttribute']('aria-label',_0x2b9b64);});}['preprocessColorSyntax'](_0x5e81e0){if(!_0x5e81e0)return _0x5e81e0;const _0x5155c1=_0x1239f2=>{return String(_0x1239f2)['replace'](/\{color:(#[0-9A-Fa-f]{3,6})\}([\s\S]*?)\{\/color\}/g,(_0x2bf3ff,_0x183744,_0x527021)=>{const _0xd8a499=_0x5155c1(_0x527021);return'<span\x20style=\x22color:\x20'+_0x183744+'\x22>'+_0xd8a499+'</span>';});};return _0x5155c1(_0x5e81e0);}['parseAttachmentReference'](_0x36c716){if(!_0x36c716||typeof _0x36c716!=='string')return null;if(!_0x36c716['startsWith'](ATTACHMENT_SCHEME)&&!_0x36c716['startsWith'](ATTACHMENT_SCHEME+'//'))return null;const _0x4ecb6e=_0x36c716['replace'](ATTACHMENT_SCHEME+'//','')['replace'](ATTACHMENT_SCHEME,'');if(!_0x4ecb6e)return null;try{return{'name':decodeURIComponent(_0x4ecb6e)};}catch{return{'name':_0x4ecb6e};}}['parseTaskAttachmentUrl'](_0x1d8599){if(!_0x1d8599||typeof _0x1d8599!=='string')return null;const _0x5c4b6d=_0x1d8599['match'](/\/tasks\/[^/]+\/attachments\/([^?#]+)/);if(!_0x5c4b6d)return null;const _0xc649a3=_0x5c4b6d[0x1];try{return{'name':decodeURIComponent(_0xc649a3)};}catch{return{'name':_0xc649a3};}}['updateAttachmentFile'](_0xd1bb76,_0x2f26d8){const _0x3938be=this['attachmentObjectUrls']['get'](_0xd1bb76);if(_0x3938be)try{URL['revokeObjectURL'](_0x3938be);}catch{}const _0x200287=URL['createObjectURL'](_0x2f26d8);this['attachmentObjectUrls']['set'](_0xd1bb76,_0x200287);const _0xf1c636=this['editor']['querySelector']('img[data-attachment-name=\x22'+CSS['escape'](_0xd1bb76)+'\x22]');return _0xf1c636&&(_0xf1c636['src']=_0x200287),_0x200287;}['getMarkdown'](){const _0x4a3f88=this['editor']['innerHTML'];if(!_0x4a3f88||_0x4a3f88['trim']()===''||_0x4a3f88==='<br>')return'';return this['turndownService']['turndown'](_0x4a3f88)['replace'](/\u200B/g,'');}['getValue'](){return this['getMarkdown']();}['setValue'](_0x5161a2){this['setMarkdown'](_0x5161a2);}['focus'](){this['editor']['focus']();}['clear'](){this['editor']['innerHTML']='',this['updatePlaceholder']();}['setEditable'](_0x409e62){this['editor']['contentEditable']=_0x409e62,this['options']['editable']=_0x409e62;}['handleMentionInput'](_0x54153d){if(!this['options']['fetchUsers'])return;const _0x10c4e1=window['getSelection']();if(!_0x10c4e1||_0x10c4e1['rangeCount']===0x0){this['closeMentionDropdown']();return;}const _0x13400c=_0x10c4e1['getRangeAt'](0x0),_0x69b313=_0x13400c['startContainer'];if(_0x69b313['nodeType']!==Node['TEXT_NODE']){this['closeMentionDropdown']();return;}const _0x12185c=_0x69b313['textContent']||'',_0x6dcd76=_0x13400c['startOffset'],_0x36a002=_0x12185c['slice'](0x0,_0x6dcd76),_0x571499=_0x36a002['lastIndexOf']('@');if(_0x571499===-0x1){this['closeMentionDropdown']();return;}const _0x1bfebe=_0x571499>0x0?_0x36a002[_0x571499-0x1]:'\x20';if(!/\s/['test'](_0x1bfebe)&&_0x571499!==0x0){this['closeMentionDropdown']();return;}const _0x3cce2f=_0x36a002['slice'](_0x571499+0x1);if(/[\s\n]/['test'](_0x3cce2f)){this['closeMentionDropdown']();return;}this['mentionState']['active']=!![],this['mentionState']['query']=_0x3cce2f['toLowerCase'](),this['mentionState']['startOffset']=_0x571499,this['mentionState']['startNode']=_0x69b313,this['showMentionDropdown']();}async['showMentionDropdown'](){if(!this['usersCache'])try{const _0x262586=await this['options']['fetchUsers']();this['usersCache']=_0x262586['users']||_0x262586||[];}catch(_0x48ddbc){console['error']('Failed\x20to\x20fetch\x20users\x20for\x20@mention:',_0x48ddbc),this['closeMentionDropdown']();return;}this['mentionState']['users']=this['usersCache'];const _0x40a173=this['mentionState']['query'];this['mentionState']['filteredUsers']=this['mentionState']['users']['filter'](_0x3772fa=>{const _0x563158=(_0x3772fa['name']||'')['toLowerCase'](),_0x5b96cb=(_0x3772fa['username']||'')['toLowerCase']();return _0x563158['includes'](_0x40a173)||_0x5b96cb['includes'](_0x40a173);})['slice'](0x0,0x8),this['mentionState']['selectedIndex']=0x0;if(this['mentionState']['filteredUsers']['length']===0x0){this['closeMentionDropdown']();return;}this['renderMentionDropdown'](),this['positionMentionDropdown']();}['renderMentionDropdown'](){!this['mentionDropdown']&&(this['mentionDropdown']=document['createElement']('div'),this['mentionDropdown']['className']='mention-dropdown',document['body']['appendChild'](this['mentionDropdown']),this['mentionClickOutsideHandler']=_0x522e2c=>{!this['mentionDropdown']['contains'](_0x522e2c['target'])&&!this['editor']['contains'](_0x522e2c['target'])&&this['closeMentionDropdown']();},document['addEventListener']('click',this['mentionClickOutsideHandler']),this['mentionScrollHandler']=()=>{this['mentionState']['active']&&this['positionMentionDropdown']();},window['addEventListener']('scroll',this['mentionScrollHandler'],!![]));const _0x1c08c7=this['mentionState']['filteredUsers'];this['mentionDropdown']['innerHTML']=_0x1c08c7['map']((_0x891a7,_0xc405d3)=>{const _0x6a659d=_0xc405d3===this['mentionState']['selectedIndex'],_0x4244ce=_0x891a7['name']||_0x891a7['username']||'Unknown',_0x3ce00e=_0x891a7['username']||'',_0x28e30a=this['getInitials'](_0x4244ce),_0x38f3d0=this['getAvatarColorIndex'](_0x3ce00e||_0x891a7['id']||_0x4244ce);return'\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22mention-option\x20'+(_0x6a659d?'mention-option-selected':'')+'\x22\x20data-index=\x22'+_0xc405d3+'\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22mention-avatar\x20avatar-color-'+_0x38f3d0+'\x22>'+this['escapeHtmlForMention'](_0x28e30a)+'</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22mention-option-name\x22>'+this['escapeHtmlForMention'](_0x4244ce)+'</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x3ce00e?'<span\x20class=\x22mention-option-username\x22>@'+this['escapeHtmlForMention'](_0x3ce00e)+'</span>':'')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20';})['join'](''),this['mentionDropdown']['querySelectorAll']('.mention-option')['forEach'](_0x29f1cf=>{_0x29f1cf['addEventListener']('mousedown',_0x24da9c=>{_0x24da9c['preventDefault']();const _0x59ff24=parseInt(_0x29f1cf['dataset']['index'],0xa);this['insertMention'](this['mentionState']['filteredUsers'][_0x59ff24]);}),_0x29f1cf['addEventListener']('mouseenter',()=>{const _0x52726d=parseInt(_0x29f1cf['dataset']['index'],0xa);this['mentionState']['selectedIndex']=_0x52726d,this['updateMentionSelection']();});}),this['mentionDropdown']['style']['display']='block';}['positionMentionDropdown'](){if(!this['mentionDropdown'])return;const _0x4dbb39=window['getSelection']();if(!_0x4dbb39||_0x4dbb39['rangeCount']===0x0)return;const _0xa09240=_0x4dbb39['getRangeAt'](0x0),_0x3cd29e=_0xa09240['getBoundingClientRect'](),_0x2817d5=0x104,_0x47cbc0=Math['min'](0xf0,this['mentionState']['filteredUsers']['length']*0x24+0x8),_0x2a247d=window['innerWidth'],_0x1b984a=window['innerHeight'],_0x220597=_0x1b984a-_0x3cd29e['bottom'],_0x222c32=_0x3cd29e['top'],_0x2307e6=_0x220597<_0x47cbc0+0xa&&_0x222c32>_0x220597;let _0x51c6ff,_0x14a3dd;_0x2307e6?_0x51c6ff=_0x3cd29e['top']+window['scrollY']-_0x47cbc0-0x4:_0x51c6ff=_0x3cd29e['bottom']+window['scrollY']+0x4,_0x14a3dd=_0x3cd29e['left']+window['scrollX'],_0x14a3dd+_0x2817d5>_0x2a247d-0xa&&(_0x14a3dd=_0x2a247d-_0x2817d5-0xa),_0x14a3dd<0xa&&(_0x14a3dd=0xa),this['mentionDropdown']['style']['position']='absolute',this['mentionDropdown']['style']['top']=_0x51c6ff+'px',this['mentionDropdown']['style']['left']=_0x14a3dd+'px';}['mentionNavigate'](_0x4c8f82){const _0x293eb0=this['mentionState']['filteredUsers']['length'];if(_0x293eb0===0x0)return;this['mentionState']['selectedIndex']=(this['mentionState']['selectedIndex']+_0x4c8f82+_0x293eb0)%_0x293eb0,this['updateMentionSelection']();}['updateMentionSelection'](){if(!this['mentionDropdown'])return;const _0x5b7d31=this['mentionDropdown']['querySelectorAll']('.mention-option');_0x5b7d31['forEach']((_0x28098c,_0x3f905a)=>{_0x3f905a===this['mentionState']['selectedIndex']?(_0x28098c['classList']['add']('mention-option-selected'),_0x28098c['scrollIntoView']({'block':'nearest'})):_0x28098c['classList']['remove']('mention-option-selected');});}['insertMention'](_0x44c9dd){if(!_0x44c9dd)return;const _0xd12b96=window['getSelection']();if(!_0xd12b96||_0xd12b96['rangeCount']===0x0)return;const _0x293d98=_0xd12b96['getRangeAt'](0x0),_0x7d2c7d=this['mentionState']['startNode'];if(!_0x7d2c7d||_0x7d2c7d['nodeType']!==Node['TEXT_NODE']){this['closeMentionDropdown']();return;}const _0x18c501=_0x7d2c7d['textContent']||'',_0x50277a=this['mentionState']['startOffset'],_0x5e5bac=_0x293d98['startOffset'],_0x42ca4f=_0x18c501['slice'](0x0,_0x50277a),_0xec2a62=_0x18c501['slice'](_0x5e5bac),_0x4d01e4=document['createElement']('span');_0x4d01e4['className']='mention',_0x4d01e4['setAttribute']('data-mention-user-id',_0x44c9dd['id']),_0x4d01e4['setAttribute']('contenteditable','false'),_0x4d01e4['textContent']='@'+(_0x44c9dd['name']||_0x44c9dd['username']);const _0x1ef2ba=document['createTextNode'](_0x42ca4f),_0x2511c4=document['createTextNode']('\x20'+_0xec2a62),_0x300648=_0x7d2c7d['parentNode'];_0x300648['insertBefore'](_0x1ef2ba,_0x7d2c7d),_0x300648['insertBefore'](_0x4d01e4,_0x7d2c7d),_0x300648['insertBefore'](_0x2511c4,_0x7d2c7d),_0x300648['removeChild'](_0x7d2c7d);const _0x360c4a=document['createRange']();_0x360c4a['setStart'](_0x2511c4,0x1),_0x360c4a['collapse'](!![]),_0xd12b96['removeAllRanges'](),_0xd12b96['addRange'](_0x360c4a),this['closeMentionDropdown'](),this['editor']['dispatchEvent'](new Event('input',{'bubbles':!![]}));}['closeMentionDropdown'](){this['mentionState']['active']=![],this['mentionState']['query']='',this['mentionState']['filteredUsers']=[],this['mentionState']['selectedIndex']=0x0,this['mentionDropdown']&&(this['mentionDropdown']['style']['display']='none');}['escapeHtmlForMention'](_0x446520){const _0x52d91f=document['createElement']('div');return _0x52d91f['textContent']=_0x446520,_0x52d91f['innerHTML'];}['getInitials'](_0x3ea85c){if(!_0x3ea85c)return'?';const _0x5161ab=_0x3ea85c['trim']()['split'](/\s+/);if(_0x5161ab['length']>=0x2)return(_0x5161ab[0x0][0x0]+_0x5161ab[_0x5161ab['length']-0x1][0x0])['toUpperCase']();return _0x3ea85c['substring'](0x0,0x2)['toUpperCase']();}['getAvatarColorIndex'](_0x5a80a1){if(!_0x5a80a1)return 0x6;let _0x5cb0c2=0x0;for(let _0x24b1bd=0x0;_0x24b1bd<_0x5a80a1['length'];_0x24b1bd++){_0x5cb0c2=_0x5a80a1['charCodeAt'](_0x24b1bd)+((_0x5cb0c2<<0x5)-_0x5cb0c2);}return Math['abs'](_0x5cb0c2)%0xa;}['destroy'](){this['selectionChangeHandler']&&document['removeEventListener']('selectionchange',this['selectionChangeHandler']);this['linkClickHandler']&&this['editor']['removeEventListener']('click',this['linkClickHandler']);this['linkMouseEnterHandler']&&this['editor']['removeEventListener']('mouseover',this['linkMouseEnterHandler']);this['linkMouseLeaveHandler']&&this['editor']['removeEventListener']('mouseout',this['linkMouseLeaveHandler']);this['linkTooltipTimeout']&&clearTimeout(this['linkTooltipTimeout']);this['linkTooltip']&&(this['linkTooltip']['remove'](),this['linkTooltip']=null);this['linkDialog']&&(this['linkDialog']['remove'](),this['linkDialog']=null,this['linkDialogContext']=null,this['linkDialogElements']=null);this['mentionDropdown']&&(this['mentionDropdown']['remove'](),this['mentionDropdown']=null);this['mentionClickOutsideHandler']&&document['removeEventListener']('click',this['mentionClickOutsideHandler']);this['mentionScrollHandler']&&window['removeEventListener']('scroll',this['mentionScrollHandler'],!![]);for(const _0x1367c2 of this['attachmentObjectUrls']['values']()){try{URL['revokeObjectURL'](_0x1367c2);}catch{}}this['attachmentObjectUrls']['clear'](),this['container']?this['container']['remove']():this['editor']['remove'](),this['element']['style']['display']='';}}typeof window!=='undefined'&&(window['MarkdownEditor']=MarkdownEditor);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
let monacoLoadPromise=null;async function ensureMonacoLoaded(){if(typeof monaco!=='undefined')return;if(monacoLoadPromise)return monacoLoadPromise;const _0x40b7b9=document['querySelector']('script[src*=\x22monaco-editor\x22][src*=\x22loader.min.js\x22]');if(_0x40b7b9)return monacoLoadPromise=new Promise((_0x2c3037,_0x2f46f6)=>{const _0x51d726=setInterval(()=>{typeof monaco!=='undefined'&&(clearInterval(_0x51d726),_0x2c3037());},0x32);setTimeout(()=>{clearInterval(_0x51d726),_0x2f46f6(new Error('Monaco\x20loading\x20timeout'));},0x2710);}),monacoLoadPromise;return monacoLoadPromise=new Promise((_0x3d8634,_0x2f8d52)=>{const _0x3063d3=document['createElement']('script');_0x3063d3['src']='https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.45.0/min/vs/loader.min.js',_0x3063d3['onload']=()=>{require['config']({'paths':{'vs':'https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.45.0/min/vs'}}),require(['vs/editor/editor.main'],()=>{_0x3d8634();});},_0x3063d3['onerror']=()=>_0x2f8d52(new Error('Failed\x20to\x20load\x20Monaco\x20Editor')),document['head']['appendChild'](_0x3063d3);}),monacoLoadPromise;}function getMonacoTheme(){const _0x4de0a3=document['documentElement']['getAttribute']('data-theme')==='dark';return _0x4de0a3?'vs-dark':'vs';}function isMarkdownFile(_0x2aff3e){if(!_0x2aff3e)return![];const _0x4115eb=_0x2aff3e['split']('.')['pop']()['toLowerCase']();return _0x4115eb==='md'||_0x4115eb==='markdown';}function createMarkdownFileEditor(_0x403998){const {container:_0x5e5aaf,content:content='',readOnly:readOnly=![],height:height='400px',onChange:onChange=null,placeholder:placeholder='Enter\x20markdown\x20content...',enableModeToggle:enableModeToggle=!![],initialMode:initialMode='visual'}=_0x403998;_0x5e5aaf['innerHTML']='';let _0x1e1e4a='visual',_0x426cdc=content,_0x1bd882=null,_0x5463be=null,_0x4d7c0f=![],_0x21e078=initialMode==='source';const _0x275e9=document['createElement']('div');_0x275e9['className']='markdown-file-editor-wrapper',_0x275e9['style']['height']=height,_0x275e9['style']['display']='flex',_0x275e9['style']['flexDirection']='column',_0x275e9['style']['border']='1px\x20solid\x20var(--color-border)',_0x275e9['style']['borderRadius']='var(--radius-small)',_0x275e9['style']['overflow']='hidden';let _0xe047dd=null,_0x5b4b13=null,_0x269ad6=null;!readOnly&&enableModeToggle&&(_0xe047dd=document['createElement']('div'),_0xe047dd['className']='markdown-editor-mode-toggle',_0xe047dd['style']['display']='flex',_0xe047dd['style']['alignItems']='center',_0xe047dd['style']['padding']='4px\x208px',_0xe047dd['style']['borderBottom']='1px\x20solid\x20var(--color-border)',_0xe047dd['style']['background']='var(--color-surface-secondary)',_0xe047dd['style']['gap']='4px',_0xe047dd['style']['flexShrink']='0',_0x5b4b13=document['createElement']('button'),_0x5b4b13['type']='button',_0x5b4b13['className']='markdown-mode-btn',_0x5b4b13['innerHTML']='<svg\x20viewBox=\x220\x200\x2024\x2024\x22\x20width=\x2214\x22\x20height=\x2214\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20fill=\x22none\x22><path\x20d=\x22M1\x2012s4-8\x2011-8\x2011\x208\x2011\x208-4\x208-11\x208-11-8-11-8z\x22></path><circle\x20cx=\x2212\x22\x20cy=\x2212\x22\x20r=\x223\x22></circle></svg>\x20Visual',_0x5b4b13['title']='Visual\x20editing\x20mode\x20(WYSIWYG)',_0x269ad6=document['createElement']('button'),_0x269ad6['type']='button',_0x269ad6['className']='markdown-mode-btn',_0x269ad6['innerHTML']='<svg\x20viewBox=\x220\x200\x2024\x2024\x22\x20width=\x2214\x22\x20height=\x2214\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20fill=\x22none\x22><polyline\x20points=\x2216\x2018\x2022\x2012\x2016\x206\x22></polyline><polyline\x20points=\x228\x206\x202\x2012\x208\x2018\x22></polyline></svg>\x20Source',_0x269ad6['title']='Source\x20editing\x20mode\x20(Monaco\x20Editor)',_0xe047dd['appendChild'](_0x5b4b13),_0xe047dd['appendChild'](_0x269ad6),_0x275e9['appendChild'](_0xe047dd));const _0x516625=document['createElement']('div');_0x516625['className']='markdown-visual-container',_0x516625['style']['flex']='1',_0x516625['style']['display']='flex',_0x516625['style']['flexDirection']='column',_0x516625['style']['overflow']='hidden',_0x516625['style']['minHeight']='0';const _0x5ce430=document['createElement']('textarea');_0x5ce430['style']['display']='none',_0x5ce430['value']=content,_0x516625['appendChild'](_0x5ce430),_0x275e9['appendChild'](_0x516625);const _0x17adde=document['createElement']('div');_0x17adde['className']='markdown-source-container',_0x17adde['style']['flex']='1',_0x17adde['style']['display']='none',_0x17adde['style']['overflow']='hidden',_0x17adde['style']['minHeight']='0',_0x275e9['appendChild'](_0x17adde),_0x5e5aaf['appendChild'](_0x275e9),_0x1bd882=new window['MarkdownEditor'](_0x5ce430,{'placeholder':placeholder,'editable':!readOnly,'minHeight':'100%','toolbar':!readOnly,'onChange':_0x1ca5df=>{_0x426cdc=_0x1ca5df,onChange&&onChange(_0x1ca5df);}});_0x1bd882['container']&&(_0x1bd882['container']['style']['flex']='1',_0x1bd882['container']['style']['display']='flex',_0x1bd882['container']['style']['flexDirection']='column',_0x1bd882['container']['style']['overflow']='hidden');_0x1bd882['editor']&&(_0x1bd882['editor']['style']['flex']='1',_0x1bd882['editor']['style']['overflow']='auto',_0x1bd882['editor']['style']['minHeight']='0',_0x1bd882['editor']['style']['border']='none',_0x1bd882['editor']['style']['borderRadius']='0',_0x1bd882['editor']['style']['padding']='16px',_0x1bd882['editor']['style']['fontSize']='14px',_0x1bd882['editor']['style']['lineHeight']='1.6');_0x1bd882['toolbar']&&(_0x1bd882['toolbar']['style']['borderRadius']='0',_0x1bd882['toolbar']['style']['flexShrink']='0');content&&_0x1bd882['setMarkdown'](content);function _0x167f6e(){if(!_0x5b4b13||!_0x269ad6)return;_0x1e1e4a==='visual'?(_0x5b4b13['classList']['add']('active'),_0x269ad6['classList']['remove']('active')):(_0x5b4b13['classList']['remove']('active'),_0x269ad6['classList']['add']('active'));}async function _0x2ec8cb(){if(_0x4d7c0f)return;try{await ensureMonacoLoaded(),_0x5463be=monaco['editor']['create'](_0x17adde,{'value':_0x426cdc,'language':'markdown','theme':getMonacoTheme(),'readOnly':readOnly,'minimap':{'enabled':![]},'automaticLayout':!![],'wordWrap':'on','lineNumbers':'on','scrollBeyondLastLine':![],'fontSize':0xe,'lineHeight':0x16,'padding':{'top':0x10,'bottom':0x10},'renderWhitespace':'selection','tabSize':0x2,'insertSpaces':!![]}),_0x5463be['onDidChangeModelContent'](()=>{_0x426cdc=_0x5463be['getValue'](),onChange&&onChange(_0x426cdc);}),_0x4d7c0f=!![];}catch(_0x1f638d){console['error']('Failed\x20to\x20initialize\x20Monaco\x20editor:',_0x1f638d);throw _0x1f638d;}}async function _0x411281(_0x161c20){if(_0x161c20===_0x1e1e4a)return;if(_0x1e1e4a==='visual')_0x426cdc=_0x1bd882['getMarkdown']();else _0x5463be&&(_0x426cdc=_0x5463be['getValue']());_0x1e1e4a=_0x161c20;if(_0x161c20==='visual')_0x17adde['style']['display']='none',_0x516625['style']['display']='flex',_0x1bd882['setMarkdown'](_0x426cdc),_0x1bd882['focus']();else{_0x516625['style']['display']='none',_0x17adde['style']['display']='block';if(!_0x4d7c0f)try{await _0x2ec8cb();}catch(_0x360c74){console['error']('Failed\x20to\x20switch\x20to\x20source\x20mode:',_0x360c74),_0x1e1e4a='visual',_0x17adde['style']['display']='none',_0x516625['style']['display']='flex',_0x167f6e();return;}_0x5463be&&(_0x5463be['setValue'](_0x426cdc),_0x5463be['focus'](),_0x5463be['layout']());}_0x167f6e();}_0x5b4b13&&_0x269ad6&&(_0x5b4b13['addEventListener']('click',_0xd23b1f=>{_0xd23b1f['preventDefault'](),_0x411281('visual');}),_0x269ad6['addEventListener']('click',_0x471180=>{_0x471180['preventDefault'](),_0x411281('source');}),_0x167f6e());_0x21e078&&setTimeout(()=>_0x411281('source'),0x0);const _0xfe0aa0={'getValue':()=>{if(_0x1e1e4a==='visual')return _0x1bd882['getMarkdown']();else{if(_0x5463be)return _0x5463be['getValue']();}return _0x426cdc;},'setValue':_0xb5b86d=>{_0x426cdc=_0xb5b86d||'';if(_0x1e1e4a==='visual')_0x1bd882['setMarkdown'](_0x426cdc);else _0x5463be&&_0x5463be['setValue'](_0x426cdc);},'focus':()=>{if(_0x1e1e4a==='visual')_0x1bd882['focus']();else _0x5463be&&_0x5463be['focus']();},'setEditable':_0x28d692=>{_0x1bd882['setEditable'](_0x28d692),_0x5463be&&_0x5463be['updateOptions']({'readOnly':!_0x28d692});},'destroy':()=>{_0x1bd882['destroy'](),_0x5463be&&(_0x5463be['dispose'](),_0x5463be=null),_0x5e5aaf['innerHTML']='';},'getMode':()=>_0x1e1e4a,'setMode':_0x351b2f=>_0x411281(_0x351b2f),'toggleMode':()=>_0x411281(_0x1e1e4a==='visual'?'source':'visual'),'_visualEditor':_0x1bd882,'_getSourceEditor':()=>_0x5463be,'_container':_0x5e5aaf,'_isMarkdownFileEditor':!![],'_hasModeToggle':enableModeToggle};return _0xfe0aa0;}const markdownFileEditors=new Map();function getOrCreateMarkdownFileEditor(_0x49ca40,_0x2ab33f,_0x906cb3=![],_0x6655f3='400px',_0x3c10af=null,_0x2493ec={}){const _0x2670f7=document['getElementById'](_0x49ca40);if(!_0x2670f7)return console['error']('Container\x20not\x20found:\x20'+_0x49ca40),null;const _0x5d8a1b=markdownFileEditors['get'](_0x49ca40);if(_0x5d8a1b){try{_0x5d8a1b['destroy']();}catch(_0x291822){console['warn']('Failed\x20to\x20destroy\x20existing\x20markdown\x20editor:',_0x291822);}markdownFileEditors['delete'](_0x49ca40);}const _0x376744=createMarkdownFileEditor({'container':_0x2670f7,'content':_0x2ab33f,'readOnly':_0x906cb3,'height':_0x6655f3,'onChange':_0x3c10af,..._0x2493ec});return markdownFileEditors['set'](_0x49ca40,_0x376744),_0x376744;}function getMarkdownFileEditorValue(_0x166214){const _0x23125a=markdownFileEditors['get'](_0x166214);if(!_0x23125a)return null;return _0x23125a['getValue']();}function setMarkdownFileEditorValue(_0x2ca4c5,_0x4eb2aa){const _0x52fe81=markdownFileEditors['get'](_0x2ca4c5);_0x52fe81&&_0x52fe81['setValue'](_0x4eb2aa||'');}function disposeMarkdownFileEditor(_0x19338d){const _0x263a79=markdownFileEditors['get'](_0x19338d);if(_0x263a79){try{_0x263a79['destroy']();}catch(_0x5cd6c8){console['warn']('Failed\x20to\x20dispose\x20markdown\x20editor:',_0x5cd6c8);}markdownFileEditors['delete'](_0x19338d);}}function hasMarkdownFileEditor(_0x2011c5){return markdownFileEditors['has'](_0x2011c5);}function getMarkdownFileEditorMode(_0x160d08){const _0x4c4fb4=markdownFileEditors['get'](_0x160d08);if(!_0x4c4fb4||!_0x4c4fb4['getMode'])return null;return _0x4c4fb4['getMode']();}function setMarkdownFileEditorMode(_0x135fa0,_0x5d8df7){const _0x34fccc=markdownFileEditors['get'](_0x135fa0);_0x34fccc&&_0x34fccc['setMode']&&_0x34fccc['setMode'](_0x5d8df7);}typeof window!=='undefined'&&(window['MarkdownFileEditor']={'isMarkdownFile':isMarkdownFile,'create':createMarkdownFileEditor,'getOrCreate':getOrCreateMarkdownFileEditor,'getValue':getMarkdownFileEditorValue,'setValue':setMarkdownFileEditorValue,'dispose':disposeMarkdownFileEditor,'has':hasMarkdownFileEditor,'getMode':getMarkdownFileEditorMode,'setMode':setMarkdownFileEditorMode,'editors':markdownFileEditors,'ensureMonacoLoaded':ensureMonacoLoaded});
|
|
1
|
+
let monacoLoadPromise=null;async function ensureMonacoLoaded(){if(typeof monaco!=='undefined')return;if(monacoLoadPromise)return monacoLoadPromise;const _0x15e585=document['querySelector']('script[src*=\x22monaco-editor\x22][src*=\x22loader.min.js\x22]');if(_0x15e585)return monacoLoadPromise=new Promise((_0x4bc296,_0x33b887)=>{const _0x1ce845=setInterval(()=>{typeof monaco!=='undefined'&&(clearInterval(_0x1ce845),_0x4bc296());},0x32);setTimeout(()=>{clearInterval(_0x1ce845),_0x33b887(new Error('Monaco\x20loading\x20timeout'));},0x2710);}),monacoLoadPromise;return monacoLoadPromise=new Promise((_0x5d5267,_0x30fd7c)=>{const _0x288d0a=document['createElement']('script');_0x288d0a['src']='https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.45.0/min/vs/loader.min.js',_0x288d0a['onload']=()=>{require['config']({'paths':{'vs':'https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.45.0/min/vs'}}),require(['vs/editor/editor.main'],()=>{_0x5d5267();});},_0x288d0a['onerror']=()=>_0x30fd7c(new Error('Failed\x20to\x20load\x20Monaco\x20Editor')),document['head']['appendChild'](_0x288d0a);}),monacoLoadPromise;}function getMonacoTheme(){const _0x3b60a9=document['documentElement']['getAttribute']('data-theme')==='dark';return _0x3b60a9?'vs-dark':'vs';}function isMarkdownFile(_0xd8a1d1){if(!_0xd8a1d1)return![];const _0x49cc36=_0xd8a1d1['split']('.')['pop']()['toLowerCase']();return _0x49cc36==='md'||_0x49cc36==='markdown';}function createMarkdownFileEditor(_0x320bc3){const {container:_0x3b8f39,content:content='',readOnly:readOnly=![],height:height='400px',onChange:onChange=null,placeholder:placeholder='Enter\x20markdown\x20content...',enableModeToggle:enableModeToggle=!![],initialMode:initialMode='visual'}=_0x320bc3;_0x3b8f39['innerHTML']='';let _0x59a080='visual',_0x210507=content,_0x1c8929=null,_0x4d2f01=null,_0x218b7f=![],_0xabac5b=initialMode==='source';const _0x5455ec=document['createElement']('div');_0x5455ec['className']='markdown-file-editor-wrapper',_0x5455ec['style']['height']=height,_0x5455ec['style']['display']='flex',_0x5455ec['style']['flexDirection']='column',_0x5455ec['style']['border']='1px\x20solid\x20var(--color-border)',_0x5455ec['style']['borderRadius']='var(--radius-small)',_0x5455ec['style']['overflow']='hidden';let _0x5652f0=null,_0x16a8c4=null,_0x4dea36=null;!readOnly&&enableModeToggle&&(_0x5652f0=document['createElement']('div'),_0x5652f0['className']='markdown-editor-mode-toggle',_0x5652f0['style']['display']='flex',_0x5652f0['style']['alignItems']='center',_0x5652f0['style']['padding']='4px\x208px',_0x5652f0['style']['borderBottom']='1px\x20solid\x20var(--color-border)',_0x5652f0['style']['background']='var(--color-surface-secondary)',_0x5652f0['style']['gap']='4px',_0x5652f0['style']['flexShrink']='0',_0x16a8c4=document['createElement']('button'),_0x16a8c4['type']='button',_0x16a8c4['className']='markdown-mode-btn',_0x16a8c4['innerHTML']='<svg\x20viewBox=\x220\x200\x2024\x2024\x22\x20width=\x2214\x22\x20height=\x2214\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20fill=\x22none\x22><path\x20d=\x22M1\x2012s4-8\x2011-8\x2011\x208\x2011\x208-4\x208-11\x208-11-8-11-8z\x22></path><circle\x20cx=\x2212\x22\x20cy=\x2212\x22\x20r=\x223\x22></circle></svg>\x20Visual',_0x16a8c4['title']='Visual\x20editing\x20mode\x20(WYSIWYG)',_0x4dea36=document['createElement']('button'),_0x4dea36['type']='button',_0x4dea36['className']='markdown-mode-btn',_0x4dea36['innerHTML']='<svg\x20viewBox=\x220\x200\x2024\x2024\x22\x20width=\x2214\x22\x20height=\x2214\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20fill=\x22none\x22><polyline\x20points=\x2216\x2018\x2022\x2012\x2016\x206\x22></polyline><polyline\x20points=\x228\x206\x202\x2012\x208\x2018\x22></polyline></svg>\x20Source',_0x4dea36['title']='Source\x20editing\x20mode\x20(Monaco\x20Editor)',_0x5652f0['appendChild'](_0x16a8c4),_0x5652f0['appendChild'](_0x4dea36),_0x5455ec['appendChild'](_0x5652f0));const _0x386ddd=document['createElement']('div');_0x386ddd['className']='markdown-visual-container',_0x386ddd['style']['flex']='1',_0x386ddd['style']['display']='flex',_0x386ddd['style']['flexDirection']='column',_0x386ddd['style']['overflow']='hidden',_0x386ddd['style']['minHeight']='0';const _0x4211ea=document['createElement']('textarea');_0x4211ea['style']['display']='none',_0x4211ea['value']=content,_0x386ddd['appendChild'](_0x4211ea),_0x5455ec['appendChild'](_0x386ddd);const _0xe440f2=document['createElement']('div');_0xe440f2['className']='markdown-source-container',_0xe440f2['style']['flex']='1',_0xe440f2['style']['display']='none',_0xe440f2['style']['overflow']='hidden',_0xe440f2['style']['minHeight']='0',_0x5455ec['appendChild'](_0xe440f2),_0x3b8f39['appendChild'](_0x5455ec),_0x1c8929=new window['MarkdownEditor'](_0x4211ea,{'placeholder':placeholder,'editable':!readOnly,'minHeight':'100%','toolbar':!readOnly,'onChange':_0x17f0db=>{_0x210507=_0x17f0db,onChange&&onChange(_0x17f0db);}});_0x1c8929['container']&&(_0x1c8929['container']['style']['flex']='1',_0x1c8929['container']['style']['display']='flex',_0x1c8929['container']['style']['flexDirection']='column',_0x1c8929['container']['style']['overflow']='hidden');_0x1c8929['editor']&&(_0x1c8929['editor']['style']['flex']='1',_0x1c8929['editor']['style']['overflow']='auto',_0x1c8929['editor']['style']['minHeight']='0',_0x1c8929['editor']['style']['border']='none',_0x1c8929['editor']['style']['borderRadius']='0',_0x1c8929['editor']['style']['padding']='16px',_0x1c8929['editor']['style']['fontSize']='14px',_0x1c8929['editor']['style']['lineHeight']='1.6');_0x1c8929['toolbar']&&(_0x1c8929['toolbar']['style']['borderRadius']='0',_0x1c8929['toolbar']['style']['flexShrink']='0');content&&_0x1c8929['setMarkdown'](content);function _0x3a1fe1(){if(!_0x16a8c4||!_0x4dea36)return;_0x59a080==='visual'?(_0x16a8c4['classList']['add']('active'),_0x4dea36['classList']['remove']('active')):(_0x16a8c4['classList']['remove']('active'),_0x4dea36['classList']['add']('active'));}async function _0x2c2df2(){if(_0x218b7f)return;try{await ensureMonacoLoaded(),_0x4d2f01=monaco['editor']['create'](_0xe440f2,{'value':_0x210507,'language':'markdown','theme':getMonacoTheme(),'readOnly':readOnly,'minimap':{'enabled':![]},'automaticLayout':!![],'wordWrap':'on','lineNumbers':'on','scrollBeyondLastLine':![],'fontSize':0xe,'lineHeight':0x16,'padding':{'top':0x10,'bottom':0x10},'renderWhitespace':'selection','tabSize':0x2,'insertSpaces':!![]}),_0x4d2f01['onDidChangeModelContent'](()=>{_0x210507=_0x4d2f01['getValue'](),onChange&&onChange(_0x210507);}),_0x218b7f=!![];}catch(_0x4a3647){console['error']('Failed\x20to\x20initialize\x20Monaco\x20editor:',_0x4a3647);throw _0x4a3647;}}async function _0x2e44ab(_0x3394b8){if(_0x3394b8===_0x59a080)return;if(_0x59a080==='visual')_0x210507=_0x1c8929['getMarkdown']();else _0x4d2f01&&(_0x210507=_0x4d2f01['getValue']());_0x59a080=_0x3394b8;if(_0x3394b8==='visual')_0xe440f2['style']['display']='none',_0x386ddd['style']['display']='flex',_0x1c8929['setMarkdown'](_0x210507),_0x1c8929['focus']();else{_0x386ddd['style']['display']='none',_0xe440f2['style']['display']='block';if(!_0x218b7f)try{await _0x2c2df2();}catch(_0x30238f){console['error']('Failed\x20to\x20switch\x20to\x20source\x20mode:',_0x30238f),_0x59a080='visual',_0xe440f2['style']['display']='none',_0x386ddd['style']['display']='flex',_0x3a1fe1();return;}_0x4d2f01&&(_0x4d2f01['setValue'](_0x210507),_0x4d2f01['focus'](),_0x4d2f01['layout']());}_0x3a1fe1();}_0x16a8c4&&_0x4dea36&&(_0x16a8c4['addEventListener']('click',_0xcd9f8f=>{_0xcd9f8f['preventDefault'](),_0x2e44ab('visual');}),_0x4dea36['addEventListener']('click',_0x1f49a6=>{_0x1f49a6['preventDefault'](),_0x2e44ab('source');}),_0x3a1fe1());_0xabac5b&&setTimeout(()=>_0x2e44ab('source'),0x0);const _0x380562={'getValue':()=>{if(_0x59a080==='visual')return _0x1c8929['getMarkdown']();else{if(_0x4d2f01)return _0x4d2f01['getValue']();}return _0x210507;},'setValue':_0x38e547=>{_0x210507=_0x38e547||'';if(_0x59a080==='visual')_0x1c8929['setMarkdown'](_0x210507);else _0x4d2f01&&_0x4d2f01['setValue'](_0x210507);},'focus':()=>{if(_0x59a080==='visual')_0x1c8929['focus']();else _0x4d2f01&&_0x4d2f01['focus']();},'setEditable':_0x55f83d=>{_0x1c8929['setEditable'](_0x55f83d),_0x4d2f01&&_0x4d2f01['updateOptions']({'readOnly':!_0x55f83d});},'destroy':()=>{_0x1c8929['destroy'](),_0x4d2f01&&(_0x4d2f01['dispose'](),_0x4d2f01=null),_0x3b8f39['innerHTML']='';},'getMode':()=>_0x59a080,'setMode':_0x5ddc21=>_0x2e44ab(_0x5ddc21),'toggleMode':()=>_0x2e44ab(_0x59a080==='visual'?'source':'visual'),'_visualEditor':_0x1c8929,'_getSourceEditor':()=>_0x4d2f01,'_container':_0x3b8f39,'_isMarkdownFileEditor':!![],'_hasModeToggle':enableModeToggle};return _0x380562;}const markdownFileEditors=new Map();function getOrCreateMarkdownFileEditor(_0x14c6d6,_0x3250dd,_0x3c24bf=![],_0x2199cf='400px',_0x5c9203=null,_0xb0777={}){const _0x41b57a=document['getElementById'](_0x14c6d6);if(!_0x41b57a)return console['error']('Container\x20not\x20found:\x20'+_0x14c6d6),null;const _0x5a323b=markdownFileEditors['get'](_0x14c6d6);if(_0x5a323b){try{_0x5a323b['destroy']();}catch(_0x177e22){console['warn']('Failed\x20to\x20destroy\x20existing\x20markdown\x20editor:',_0x177e22);}markdownFileEditors['delete'](_0x14c6d6);}const _0x3f2b0a=createMarkdownFileEditor({'container':_0x41b57a,'content':_0x3250dd,'readOnly':_0x3c24bf,'height':_0x2199cf,'onChange':_0x5c9203,..._0xb0777});return markdownFileEditors['set'](_0x14c6d6,_0x3f2b0a),_0x3f2b0a;}function getMarkdownFileEditorValue(_0x4724b5){const _0x4a64a9=markdownFileEditors['get'](_0x4724b5);if(!_0x4a64a9)return null;return _0x4a64a9['getValue']();}function setMarkdownFileEditorValue(_0x4ce7e0,_0x153074){const _0x4a6f9d=markdownFileEditors['get'](_0x4ce7e0);_0x4a6f9d&&_0x4a6f9d['setValue'](_0x153074||'');}function disposeMarkdownFileEditor(_0x4ab9ed){const _0x212440=markdownFileEditors['get'](_0x4ab9ed);if(_0x212440){try{_0x212440['destroy']();}catch(_0x1e74e5){console['warn']('Failed\x20to\x20dispose\x20markdown\x20editor:',_0x1e74e5);}markdownFileEditors['delete'](_0x4ab9ed);}}function hasMarkdownFileEditor(_0x50a144){return markdownFileEditors['has'](_0x50a144);}function getMarkdownFileEditorMode(_0x4ab262){const _0x3b2c5d=markdownFileEditors['get'](_0x4ab262);if(!_0x3b2c5d||!_0x3b2c5d['getMode'])return null;return _0x3b2c5d['getMode']();}function setMarkdownFileEditorMode(_0x13b600,_0x29cf1b){const _0x2a7d98=markdownFileEditors['get'](_0x13b600);_0x2a7d98&&_0x2a7d98['setMode']&&_0x2a7d98['setMode'](_0x29cf1b);}typeof window!=='undefined'&&(window['MarkdownFileEditor']={'isMarkdownFile':isMarkdownFile,'create':createMarkdownFileEditor,'getOrCreate':getOrCreateMarkdownFileEditor,'getValue':getMarkdownFileEditorValue,'setValue':setMarkdownFileEditorValue,'dispose':disposeMarkdownFileEditor,'has':hasMarkdownFileEditor,'getMode':getMarkdownFileEditorMode,'setMode':setMarkdownFileEditorMode,'editors':markdownFileEditors,'ensureMonacoLoaded':ensureMonacoLoaded});
|