x-star-editor 0.3.10 → 0.3.12

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.
@@ -1,3 +1,4 @@
1
+ @charset "UTF-8";
1
2
  .x-star-editor-file-input {
2
3
  margin: 0.5em 1em 1em;
3
4
  font-size: 0.9em;
@@ -243,6 +244,16 @@
243
244
  margin-bottom: 0.5em;
244
245
  }
245
246
 
247
+ .x-star-editor-empty {
248
+ /* 输入框为空时显示 placeholder */
249
+ }
250
+ .x-star-editor-empty::before {
251
+ position: absolute;
252
+ content: attr(placeholder);
253
+ color: lightgray;
254
+ margin-top: 0.5em;
255
+ }
256
+
246
257
  .x-star-editor-md-viewer {
247
258
  position: relative;
248
259
  color: rgba(0, 0, 0, 0.88);
@@ -36,7 +36,7 @@ export interface XStarEditorProps {
36
36
  /**
37
37
  * 编辑器属性
38
38
  */
39
- editorProps?: Omit<XStarMdEditorProps, 'height' | 'locale' | 'initialValue' | 'readOnly' | 'onChange' | 'onInsertFile'>;
39
+ editorProps?: Omit<XStarMdEditorProps, 'height' | 'locale' | 'initialValue' | 'readOnly' | 'onChange' | 'onInsertFile' | 'placeholder'>;
40
40
  /**
41
41
  * 查看器属性
42
42
  */
@@ -53,6 +53,10 @@ export interface XStarEditorProps {
53
53
  * 文件插入回调函数
54
54
  */
55
55
  onInsertFile?: XStarMdEditorProps['onInsertFile'];
56
+ /**
57
+ * 配置未输入时的提示语
58
+ */
59
+ placeholder?: string;
56
60
  }
57
61
  declare const XStarEditor: React.ForwardRefExoticComponent<XStarEditorProps & React.RefAttributes<XStarEditorHandle>>;
58
62
  export default XStarEditor;
@@ -49,7 +49,8 @@ var XStarEditor = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
49
49
  viewerProps = _ref2.viewerProps,
50
50
  viewerRender = _ref2.viewerRender,
51
51
  _onChange = _ref2.onChange,
52
- onInsertFile = _ref2.onInsertFile;
52
+ onInsertFile = _ref2.onInsertFile,
53
+ placeholder = _ref2.placeholder;
53
54
  var editorRef = useMdEditorRef();
54
55
  var viewerRef = useMdViewerRef();
55
56
  var containerRef = useRef(null);
@@ -254,7 +255,8 @@ var XStarEditor = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
254
255
  setValue(value);
255
256
  _onChange === null || _onChange === void 0 ? void 0 : _onChange(value);
256
257
  },
257
- onInsertFile: onInsertFile
258
+ onInsertFile: onInsertFile,
259
+ placeholder: placeholder
258
260
  })), viewerRender ? /*#__PURE__*/React.createElement(ViewerRenderWrapper, {
259
261
  ref: viewerRef,
260
262
  className: classNames((_classNames5 = {}, _defineProperty(_classNames5, "".concat(prefix, "active"), viewOnly), _defineProperty(_classNames5, "".concat(prefix, "hidden"), editOnly), _classNames5), viewerProps === null || viewerProps === void 0 ? void 0 : viewerProps.className),
@@ -21,6 +21,8 @@ export interface XStarMdEditorPlugin {
21
21
  export interface XStarMdEditorHandle {
22
22
  exec: Executor;
23
23
  getEditorContainer: () => HTMLDivElement;
24
+ getValue: () => string;
25
+ setValue: (value: string) => void;
24
26
  }
25
27
  export interface XStarMdEditorProps {
26
28
  /**
@@ -70,6 +72,10 @@ export interface XStarMdEditorProps {
70
72
  description: string;
71
73
  image: boolean;
72
74
  }) => void;
75
+ /**
76
+ * 配置未输入时的提示语
77
+ */
78
+ placeholder?: string;
73
79
  }
74
80
  declare const XStarMdEditor: React.ForwardRefExoticComponent<XStarMdEditorProps & React.RefAttributes<XStarMdEditorHandle>>;
75
81
  export default XStarMdEditor;
@@ -1,4 +1,5 @@
1
1
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
3
  import classNames from 'classnames';
3
4
  import React, { useEffect, useImperativeHandle, useMemo, useRef } from 'react';
4
5
  import Toolbar, { getDefaultToolbarItemMap, getDefaultToolbarItems } from "../components/Toolbar";
@@ -19,7 +20,8 @@ var XStarMdEditor = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
19
20
  readOnly = _ref.readOnly,
20
21
  plugins = _ref.plugins,
21
22
  onChange = _ref.onChange,
22
- onInsertFile = _ref.onInsertFile;
23
+ onInsertFile = _ref.onInsertFile,
24
+ placeholder = _ref.placeholder;
23
25
  var containerRef = useRef(null);
24
26
  var container = useContainer(containerRef);
25
27
  var _useHistory = useHistory(initialValue, readOnly),
@@ -82,6 +84,26 @@ var XStarMdEditor = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
82
84
  exec: exec,
83
85
  getEditorContainer: function getEditorContainer() {
84
86
  return containerRef.current;
87
+ },
88
+ getValue: function getValue() {
89
+ return exec(function (_ref2) {
90
+ var sourceCode = _ref2.sourceCode;
91
+ return sourceCode;
92
+ });
93
+ },
94
+ setValue: function setValue(value) {
95
+ return exec(function (_ref3) {
96
+ var selection = _ref3.selection,
97
+ dispatch = _ref3.dispatch;
98
+ return dispatch({
99
+ type: 'set',
100
+ payload: {
101
+ sourceCode: value,
102
+ selection: selection
103
+ },
104
+ selection: selection
105
+ });
106
+ });
85
107
  }
86
108
  };
87
109
  }, []);
@@ -367,7 +389,7 @@ var XStarMdEditor = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
367
389
  exec: exec
368
390
  }), /*#__PURE__*/React.createElement("div", {
369
391
  ref: containerRef,
370
- className: classNames("".concat(prefix, "md-editor"), className),
392
+ className: classNames("".concat(prefix, "md-editor"), _defineProperty({}, "".concat(prefix, "empty"), !sourceCode), className),
371
393
  style: _objectSpread(_objectSpread({}, style), {}, {
372
394
  height: height
373
395
  }),
@@ -377,7 +399,8 @@ var XStarMdEditor = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
377
399
  onCopy: clipboardEventHandler,
378
400
  onCut: clipboardEventHandler,
379
401
  onDragStart: dragEventHandler,
380
- onKeyDown: keyboardEventHandler
402
+ onKeyDown: keyboardEventHandler,
403
+ placeholder: placeholder
381
404
  }));
382
405
  });
383
406
  if (process.env.NODE_ENV !== 'production') {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "x-star-editor",
3
- "version": "0.3.10",
3
+ "version": "0.3.12",
4
4
  "description": "An editor developed by turingstar",
5
5
  "license": "MIT",
6
6
  "module": "dist/index.js",