{"version":3,"file":"use-editor-statusbar2.mjs","sources":["../../../../../../../../packages/components/editor/src/hooks/use-editor-statusbar.ts"],"sourcesContent":["import { type ComputedRef, type Ref, computed } from 'vue'\nimport { type EditorProps } from '../typings'\n\nexport function useEditorStatusbar(options: { mergedProps: ComputedRef<EditorProps> }) {\n  const { mergedProps } = options\n\n  /** see: https://www.tiny.cloud/docs/tinymce/5/statusbar-configuration-options/ */\n  const statusbarConfig = computed(() => {\n    return {\n      statusbar: true,\n      statusbarOptions: {\n        /** 左下角元素路径是否显示 */\n        elementpath: false,\n        /** 编辑器宽高是否可变，false|true|'both' */\n        resize: 'both' as any,\n      },\n    }\n  })\n\n  function updateStatusbarStyle(e: any, editorMainElRef: Ref<HTMLDivElement | undefined>) {\n    if (e.type === 'init') {\n      const statusBarEl = editorMainElRef.value?.querySelector('.tox-statusbar') as\n        | HTMLDivElement\n        | undefined\n        | null\n\n      if (statusBarEl) {\n        statusBarEl.style.position = 'absolute'\n        statusBarEl.style.bottom = '0'\n        statusBarEl.style.right = '0'\n        statusBarEl.style.display = 'inline-block'\n        statusBarEl.style.width = '20px'\n        statusBarEl.style.height = '20px'\n        statusBarEl.style.backgroundColor = 'transparent'\n        statusBarEl.style.borderTop = 'none'\n      }\n\n      const statusBarResizeEl = statusBarEl?.querySelector('.tox-statusbar__resize-handle') as\n        | HTMLDivElement\n        | undefined\n        | null\n\n      if (statusBarResizeEl) {\n        statusBarResizeEl.style.position = 'absolute'\n        statusBarResizeEl.style.top = '50%'\n        statusBarResizeEl.style.right = '50%'\n        statusBarResizeEl.style.transform = 'translate(-50%, -50%)'\n        statusBarResizeEl.style.padding = '0'\n      }\n    }\n  }\n\n  function addStatusbarAutosaveTip(e: any, editorMainElRef: Ref<HTMLDivElement | undefined>) {\n    if (e.type === 'init') {\n      const statusBarEl = editorMainElRef.value?.querySelector('.tox-statusbar')\n      if (statusBarEl) {\n        statusBarEl.insertAdjacentHTML(\n          'afterbegin',\n          `<div title=\"自动保存提示\" data-alloy-tabstop=\"true\" tabindex=\"-1\" class=\"tox-statusbar__custom-autosave-tip\"></div>`\n        )\n      }\n    } else if (e.type === 'storedraft') {\n      const statusBarAutosaveTipEl = editorMainElRef.value?.querySelector(\n        '.tox-statusbar__custom-autosave-tip'\n      )\n      if (statusBarAutosaveTipEl) {\n        statusBarAutosaveTipEl.innerHTML = `${new Date(\n          Date.UTC(2012, 11, 12, 3, 0, 0)\n        ).toLocaleString()} 自动保存成功!`\n      }\n    }\n  }\n\n  return {\n    statusbarConfig,\n    updateStatusbarStyle,\n    addStatusbarAutosaveTip,\n  }\n}\n"],"names":[],"mappings":"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"}