x-star-editor 0.6.2 → 0.6.4
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/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/styles/index.css +17 -14
- package/dist/utils/handler.d.ts +2 -1
- package/dist/utils/handler.js +54 -19
- package/dist/utils/history.d.ts +8 -1
- package/dist/utils/history.js +69 -42
- package/package.json +4 -4
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export type { ToolbarItem } from './components/Toolbar';
|
|
2
2
|
export { createSelection, getRange } from './utils/container';
|
|
3
|
-
export { batchHandler, insertHandler, mutateHandler, redoHandler, selectHandler, setHandler, toggleHandler, undoHandler, } from './utils/handler';
|
|
3
|
+
export { batchHandler, indentHandler, insertHandler, mutateHandler, redoHandler, selectHandler, setHandler, toggleHandler, undoHandler, } from './utils/handler';
|
|
4
4
|
export type { Executor, Handler, KeyboardEventHandler } from './utils/handler';
|
|
5
5
|
export { toHTML, toMarkdown, toText } from './utils/markdown';
|
|
6
6
|
export { default as XStarEditor, useEditorRef } from './x-star-editor';
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { createSelection, getRange } from "./utils/container";
|
|
2
|
-
export { batchHandler, insertHandler, mutateHandler, redoHandler, selectHandler, setHandler, toggleHandler, undoHandler } from "./utils/handler";
|
|
2
|
+
export { batchHandler, indentHandler, insertHandler, mutateHandler, redoHandler, selectHandler, setHandler, toggleHandler, undoHandler } from "./utils/handler";
|
|
3
3
|
export { toHTML, toMarkdown, toText } from "./utils/markdown";
|
|
4
4
|
export { default as XStarEditor, useEditorRef } from "./x-star-editor";
|
|
5
5
|
export { default as XStarMdEditor, useMdEditorRef } from "./x-star-md-editor";
|
package/dist/styles/index.css
CHANGED
|
@@ -1787,6 +1787,9 @@ body {
|
|
|
1787
1787
|
.x-star-editor-md-editor > :last-child {
|
|
1788
1788
|
margin-bottom: 0.5em;
|
|
1789
1789
|
}
|
|
1790
|
+
.x-star-editor-md-editor.x-star-editor-empty {
|
|
1791
|
+
/* 文本为空时显示提示 */
|
|
1792
|
+
}
|
|
1790
1793
|
.x-star-editor-md-editor.x-star-editor-empty::before {
|
|
1791
1794
|
content: attr(placeholder);
|
|
1792
1795
|
position: absolute;
|
|
@@ -1830,6 +1833,9 @@ body {
|
|
|
1830
1833
|
.x-star-editor-md-viewer tr:nth-child(even) td {
|
|
1831
1834
|
background-color: rgba(0, 0, 0, 0.04);
|
|
1832
1835
|
}
|
|
1836
|
+
.x-star-editor-md-viewer img {
|
|
1837
|
+
max-width: 100%;
|
|
1838
|
+
}
|
|
1833
1839
|
|
|
1834
1840
|
.x-star-editor-slide-viewer {
|
|
1835
1841
|
position: relative;
|
|
@@ -1849,19 +1855,14 @@ body {
|
|
|
1849
1855
|
.x-star-editor-slide-viewer .x-star-editor-slide {
|
|
1850
1856
|
width: 1280px;
|
|
1851
1857
|
height: 720px;
|
|
1852
|
-
padding:
|
|
1858
|
+
padding: 78.5px;
|
|
1853
1859
|
display: flex;
|
|
1854
1860
|
flex-direction: column;
|
|
1855
1861
|
justify-content: center;
|
|
1862
|
+
font-size: 29px;
|
|
1856
1863
|
background-color: #fff;
|
|
1857
1864
|
transform-origin: top left;
|
|
1858
1865
|
}
|
|
1859
|
-
.x-star-editor-slide-viewer .x-star-editor-slide > :first-child {
|
|
1860
|
-
margin-top: 0; /* 防止垂直居中时出现的视觉上的不居中现象 */
|
|
1861
|
-
}
|
|
1862
|
-
.x-star-editor-slide-viewer .x-star-editor-slide > :last-child {
|
|
1863
|
-
margin-bottom: 0; /* 防止垂直居中时出现的视觉上的不居中现象 */
|
|
1864
|
-
}
|
|
1865
1866
|
.x-star-editor-slide-viewer .x-star-editor-slide h1,
|
|
1866
1867
|
.x-star-editor-slide-viewer .x-star-editor-slide h2,
|
|
1867
1868
|
.x-star-editor-slide-viewer .x-star-editor-slide h3,
|
|
@@ -1871,12 +1872,12 @@ body {
|
|
|
1871
1872
|
font-weight: bold;
|
|
1872
1873
|
}
|
|
1873
1874
|
.x-star-editor-slide-viewer .x-star-editor-slide table {
|
|
1874
|
-
margin:
|
|
1875
|
+
margin: 1em 0;
|
|
1875
1876
|
border-collapse: collapse;
|
|
1876
1877
|
}
|
|
1877
1878
|
.x-star-editor-slide-viewer .x-star-editor-slide th,
|
|
1878
1879
|
.x-star-editor-slide-viewer .x-star-editor-slide td {
|
|
1879
|
-
padding:
|
|
1880
|
+
padding: 0.5em;
|
|
1880
1881
|
border: 1px solid #dedede;
|
|
1881
1882
|
}
|
|
1882
1883
|
.x-star-editor-slide-viewer .x-star-editor-slide th {
|
|
@@ -1886,12 +1887,14 @@ body {
|
|
|
1886
1887
|
.x-star-editor-slide-viewer .x-star-editor-slide tr:nth-child(even) td {
|
|
1887
1888
|
background-color: rgba(0, 0, 0, 0.04);
|
|
1888
1889
|
}
|
|
1889
|
-
.x-star-editor-slide-viewer .x-star-editor-slide
|
|
1890
|
-
width:
|
|
1890
|
+
.x-star-editor-slide-viewer .x-star-editor-slide img {
|
|
1891
|
+
max-width: 100%;
|
|
1891
1892
|
}
|
|
1892
|
-
.x-star-editor-slide-viewer .x-star-editor-slide
|
|
1893
|
-
|
|
1894
|
-
|
|
1893
|
+
.x-star-editor-slide-viewer .x-star-editor-slide > :first-child {
|
|
1894
|
+
margin-top: 0; /* 防止垂直居中时出现视觉上不居中的现象 */
|
|
1895
|
+
}
|
|
1896
|
+
.x-star-editor-slide-viewer .x-star-editor-slide > :last-child {
|
|
1897
|
+
margin-bottom: 0; /* 防止垂直居中时出现视觉上不居中的现象 */
|
|
1895
1898
|
}
|
|
1896
1899
|
.x-star-editor-slide-viewer .x-star-editor-custom-cursor-pencil {
|
|
1897
1900
|
cursor: url("./cursor/pencil.png"), auto;
|
package/dist/utils/handler.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import type { BatchAction, InsertAction, MutateAction, SelectAction, SetAction, ToggleAction, useHistory } from './history';
|
|
2
|
+
import type { BatchAction, IndentAction, InsertAction, MutateAction, SelectAction, SetAction, ToggleAction, useHistory } from './history';
|
|
3
3
|
/**
|
|
4
4
|
* 处理函数上下文
|
|
5
5
|
*/
|
|
@@ -12,6 +12,7 @@ export interface Handler<T = void> {
|
|
|
12
12
|
}
|
|
13
13
|
export declare const insertHandler: (payload: InsertAction['payload']) => Handler;
|
|
14
14
|
export declare const toggleHandler: (payload: ToggleAction['payload']) => Handler;
|
|
15
|
+
export declare const indentHandler: (payload: IndentAction['payload']) => Handler;
|
|
15
16
|
export declare const setHandler: (payload: SetAction['payload']) => Handler;
|
|
16
17
|
export declare const undoHandler: () => Handler;
|
|
17
18
|
export declare const redoHandler: () => Handler;
|
package/dist/utils/handler.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _createForOfIteratorHelper from "@babel/runtime/helpers/esm/createForOfIteratorHelper";
|
|
2
2
|
import { createKeybindingsHandler } from 'tinykeys';
|
|
3
|
-
import { createSelection } from "./container";
|
|
3
|
+
import { createSelection, getRange } from "./container";
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* 处理函数上下文
|
|
@@ -32,10 +32,21 @@ export var toggleHandler = function toggleHandler(payload) {
|
|
|
32
32
|
});
|
|
33
33
|
};
|
|
34
34
|
};
|
|
35
|
-
export var
|
|
35
|
+
export var indentHandler = function indentHandler(payload) {
|
|
36
36
|
return function (_ref3) {
|
|
37
37
|
var selection = _ref3.selection,
|
|
38
38
|
dispatch = _ref3.dispatch;
|
|
39
|
+
return dispatch({
|
|
40
|
+
type: 'indent',
|
|
41
|
+
payload: payload,
|
|
42
|
+
selection: selection
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
export var setHandler = function setHandler(payload) {
|
|
47
|
+
return function (_ref4) {
|
|
48
|
+
var selection = _ref4.selection,
|
|
49
|
+
dispatch = _ref4.dispatch;
|
|
39
50
|
return dispatch({
|
|
40
51
|
type: 'set',
|
|
41
52
|
payload: payload,
|
|
@@ -44,24 +55,24 @@ export var setHandler = function setHandler(payload) {
|
|
|
44
55
|
};
|
|
45
56
|
};
|
|
46
57
|
export var undoHandler = function undoHandler() {
|
|
47
|
-
return function (
|
|
48
|
-
var dispatch =
|
|
58
|
+
return function (_ref5) {
|
|
59
|
+
var dispatch = _ref5.dispatch;
|
|
49
60
|
return dispatch({
|
|
50
61
|
type: 'undo'
|
|
51
62
|
});
|
|
52
63
|
};
|
|
53
64
|
};
|
|
54
65
|
export var redoHandler = function redoHandler() {
|
|
55
|
-
return function (
|
|
56
|
-
var dispatch =
|
|
66
|
+
return function (_ref6) {
|
|
67
|
+
var dispatch = _ref6.dispatch;
|
|
57
68
|
return dispatch({
|
|
58
69
|
type: 'redo'
|
|
59
70
|
});
|
|
60
71
|
};
|
|
61
72
|
};
|
|
62
73
|
export var batchHandler = function batchHandler(payload) {
|
|
63
|
-
return function (
|
|
64
|
-
var dispatch =
|
|
74
|
+
return function (_ref7) {
|
|
75
|
+
var dispatch = _ref7.dispatch;
|
|
65
76
|
return dispatch({
|
|
66
77
|
type: 'batch',
|
|
67
78
|
payload: payload
|
|
@@ -69,8 +80,8 @@ export var batchHandler = function batchHandler(payload) {
|
|
|
69
80
|
};
|
|
70
81
|
};
|
|
71
82
|
export var mutateHandler = function mutateHandler(payload) {
|
|
72
|
-
return function (
|
|
73
|
-
var dispatch =
|
|
83
|
+
return function (_ref8) {
|
|
84
|
+
var dispatch = _ref8.dispatch;
|
|
74
85
|
return dispatch({
|
|
75
86
|
type: 'mutate',
|
|
76
87
|
payload: payload
|
|
@@ -78,8 +89,8 @@ export var mutateHandler = function mutateHandler(payload) {
|
|
|
78
89
|
};
|
|
79
90
|
};
|
|
80
91
|
export var selectHandler = function selectHandler(payload) {
|
|
81
|
-
return function (
|
|
82
|
-
var dispatch =
|
|
92
|
+
return function (_ref9) {
|
|
93
|
+
var dispatch = _ref9.dispatch;
|
|
83
94
|
return dispatch({
|
|
84
95
|
type: 'select',
|
|
85
96
|
payload: payload
|
|
@@ -98,18 +109,42 @@ export var selectHandler = function selectHandler(payload) {
|
|
|
98
109
|
*/
|
|
99
110
|
|
|
100
111
|
export var getDefaultKeyboardEventHandlers = function getDefaultKeyboardEventHandlers() {
|
|
101
|
-
return [function (
|
|
102
|
-
var sourceCode =
|
|
103
|
-
selection =
|
|
104
|
-
dispatch =
|
|
105
|
-
e =
|
|
112
|
+
return [function (_ref10) {
|
|
113
|
+
var sourceCode = _ref10.sourceCode,
|
|
114
|
+
selection = _ref10.selection,
|
|
115
|
+
dispatch = _ref10.dispatch,
|
|
116
|
+
e = _ref10.e;
|
|
106
117
|
return createKeybindingsHandler({
|
|
107
118
|
Tab: function Tab(e) {
|
|
119
|
+
e.preventDefault();
|
|
120
|
+
var _getRange = getRange(selection),
|
|
121
|
+
startOffset = _getRange.startOffset,
|
|
122
|
+
endOffset = _getRange.endOffset;
|
|
123
|
+
var text = sourceCode.slice(startOffset, endOffset);
|
|
124
|
+
if (text.includes('\n')) {
|
|
125
|
+
dispatch({
|
|
126
|
+
type: 'indent',
|
|
127
|
+
payload: {
|
|
128
|
+
indent: true
|
|
129
|
+
},
|
|
130
|
+
selection: selection
|
|
131
|
+
});
|
|
132
|
+
} else {
|
|
133
|
+
dispatch({
|
|
134
|
+
type: 'insert',
|
|
135
|
+
payload: {
|
|
136
|
+
text: '\t'
|
|
137
|
+
},
|
|
138
|
+
selection: selection
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
},
|
|
142
|
+
'Shift+Tab': function ShiftTab(e) {
|
|
108
143
|
e.preventDefault();
|
|
109
144
|
dispatch({
|
|
110
|
-
type: '
|
|
145
|
+
type: 'indent',
|
|
111
146
|
payload: {
|
|
112
|
-
|
|
147
|
+
indent: false
|
|
113
148
|
},
|
|
114
149
|
selection: selection
|
|
115
150
|
});
|
package/dist/utils/history.d.ts
CHANGED
|
@@ -33,12 +33,19 @@ export interface ToggleAction {
|
|
|
33
33
|
};
|
|
34
34
|
selection: ContainerSelection;
|
|
35
35
|
}
|
|
36
|
+
export interface IndentAction {
|
|
37
|
+
type: 'indent';
|
|
38
|
+
payload: {
|
|
39
|
+
indent: boolean;
|
|
40
|
+
};
|
|
41
|
+
selection: ContainerSelection;
|
|
42
|
+
}
|
|
36
43
|
export interface SetAction {
|
|
37
44
|
type: 'set';
|
|
38
45
|
payload: State;
|
|
39
46
|
selection: ContainerSelection;
|
|
40
47
|
}
|
|
41
|
-
type StateAction = InsertAction | ToggleAction | SetAction;
|
|
48
|
+
type StateAction = InsertAction | ToggleAction | IndentAction | SetAction;
|
|
42
49
|
/**
|
|
43
50
|
* 编辑器历史
|
|
44
51
|
*/
|
package/dist/utils/history.js
CHANGED
|
@@ -33,6 +33,34 @@ var stateReducer = function stateReducer(_ref, action) {
|
|
|
33
33
|
var lineEndOffset = endOffset + "".concat(after, "\n").indexOf('\n');
|
|
34
34
|
var lineBefore = sourceCode.slice(0, lineStartOffset);
|
|
35
35
|
var lineAfter = sourceCode.slice(lineEndOffset);
|
|
36
|
+
var toggleDelimiters = function toggleDelimiters() {
|
|
37
|
+
var text = sourceCode.slice(startOffset, endOffset);
|
|
38
|
+
for (var _len = arguments.length, delimiters = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
39
|
+
delimiters[_key] = arguments[_key];
|
|
40
|
+
}
|
|
41
|
+
for (var _i = 0, _delimiters = delimiters; _i < _delimiters.length; _i++) {
|
|
42
|
+
var _delimiter = _delimiters[_i];
|
|
43
|
+
if (before.endsWith(_delimiter) && after.startsWith(_delimiter)) {
|
|
44
|
+
// 删除分隔文本
|
|
45
|
+
return {
|
|
46
|
+
sourceCode: "".concat(before.slice(0, before.length - _delimiter.length)).concat(text).concat(after.slice(_delimiter.length)),
|
|
47
|
+
selection: createSelection(anchorOffset - _delimiter.length, focusOffset - _delimiter.length)
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
var delimiter = delimiters[0];
|
|
52
|
+
// 插入分隔文本
|
|
53
|
+
return {
|
|
54
|
+
sourceCode: "".concat(before).concat(delimiter).concat(text).concat(delimiter).concat(after),
|
|
55
|
+
selection: createSelection(anchorOffset + delimiter.length, focusOffset + delimiter.length)
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
var toggleBlock = function toggleBlock(block, offset) {
|
|
59
|
+
return {
|
|
60
|
+
sourceCode: "".concat(sourceCode.slice(0, lineEndOffset), "\n").concat(block, "\n").concat(lineAfter),
|
|
61
|
+
selection: createSelection(lineEndOffset + offset + 1)
|
|
62
|
+
};
|
|
63
|
+
};
|
|
36
64
|
switch (action.payload.type) {
|
|
37
65
|
case 'blockquote':
|
|
38
66
|
case 'orderedList':
|
|
@@ -53,8 +81,8 @@ var stateReducer = function stateReducer(_ref, action) {
|
|
|
53
81
|
if (values.some(function (value) {
|
|
54
82
|
return !value;
|
|
55
83
|
})) {
|
|
56
|
-
for (var
|
|
57
|
-
lines[
|
|
84
|
+
for (var _i2 = 0; _i2 < lines.length; _i2++) {
|
|
85
|
+
lines[_i2] = "".concat(prefixes[1], " ").concat(lines[_i2]);
|
|
58
86
|
}
|
|
59
87
|
}
|
|
60
88
|
var _text = lines.join('\n');
|
|
@@ -76,30 +104,12 @@ var stateReducer = function stateReducer(_ref, action) {
|
|
|
76
104
|
};
|
|
77
105
|
}
|
|
78
106
|
case 'delete':
|
|
107
|
+
{
|
|
108
|
+
return toggleDelimiters('~~');
|
|
109
|
+
}
|
|
79
110
|
case 'emphasis':
|
|
80
|
-
case 'inlineCode':
|
|
81
|
-
case 'inlineMath':
|
|
82
|
-
case 'strong':
|
|
83
111
|
{
|
|
84
|
-
|
|
85
|
-
var delimiters = _type === 'emphasis' ? ['*', '_'] : _type === 'strong' ? ['**', '__'] : _type === 'inlineCode' ? ['`'] : _type === 'delete' ? ['~~'] : ['$'];
|
|
86
|
-
var _text2 = sourceCode.slice(startOffset, endOffset);
|
|
87
|
-
for (var _i2 = 0, _delimiters = delimiters; _i2 < _delimiters.length; _i2++) {
|
|
88
|
-
var _delimiter = _delimiters[_i2];
|
|
89
|
-
if (before.endsWith(_delimiter) && after.startsWith(_delimiter)) {
|
|
90
|
-
// 删除分隔文本
|
|
91
|
-
return {
|
|
92
|
-
sourceCode: "".concat(before.slice(0, before.length - _delimiter.length)).concat(_text2).concat(after.slice(_delimiter.length)),
|
|
93
|
-
selection: createSelection(anchorOffset - _delimiter.length, focusOffset - _delimiter.length)
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
var delimiter = delimiters[0];
|
|
98
|
-
// 插入分隔文本
|
|
99
|
-
return {
|
|
100
|
-
sourceCode: "".concat(before).concat(delimiter).concat(_text2).concat(delimiter).concat(after),
|
|
101
|
-
selection: createSelection(anchorOffset + delimiter.length, focusOffset + delimiter.length)
|
|
102
|
-
};
|
|
112
|
+
return toggleDelimiters('*', '_');
|
|
103
113
|
}
|
|
104
114
|
case 'heading':
|
|
105
115
|
{
|
|
@@ -123,44 +133,47 @@ var stateReducer = function stateReducer(_ref, action) {
|
|
|
123
133
|
_lines[_i4] = "".concat('#'.repeat(depth), " ").concat(_lines[_i4]);
|
|
124
134
|
}
|
|
125
135
|
}
|
|
126
|
-
var
|
|
136
|
+
var _text2 = _lines.join('\n');
|
|
127
137
|
return {
|
|
128
|
-
sourceCode: "".concat(lineBefore).concat(
|
|
129
|
-
selection: createSelection(lineStartOffset +
|
|
138
|
+
sourceCode: "".concat(lineBefore).concat(_text2).concat(lineAfter),
|
|
139
|
+
selection: createSelection(lineStartOffset + _text2.length)
|
|
130
140
|
};
|
|
131
141
|
}
|
|
132
142
|
case 'image':
|
|
133
143
|
case 'link':
|
|
134
144
|
{
|
|
135
145
|
var _action$payload2 = action.payload,
|
|
136
|
-
|
|
146
|
+
_type = _action$payload2.type,
|
|
137
147
|
url = _action$payload2.url,
|
|
138
148
|
description = _action$payload2.description;
|
|
139
149
|
return {
|
|
140
|
-
sourceCode: "".concat(before).concat(
|
|
141
|
-
selection: createSelection(startOffset + url.length + description.length + 4 + (
|
|
150
|
+
sourceCode: "".concat(before).concat(_type === 'image' ? '!' : '', "[").concat(description, "](").concat(url, ")").concat(after),
|
|
151
|
+
selection: createSelection(startOffset + url.length + description.length + 4 + (_type === 'image' ? 1 : 0))
|
|
142
152
|
};
|
|
143
153
|
}
|
|
154
|
+
case 'inlineCode':
|
|
155
|
+
{
|
|
156
|
+
return toggleDelimiters('`');
|
|
157
|
+
}
|
|
158
|
+
case 'inlineMath':
|
|
159
|
+
{
|
|
160
|
+
return toggleDelimiters('$');
|
|
161
|
+
}
|
|
144
162
|
case 'math':
|
|
145
163
|
{
|
|
146
|
-
return
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
164
|
+
return toggleBlock('$$\n\n$$', 3);
|
|
165
|
+
}
|
|
166
|
+
case 'strong':
|
|
167
|
+
{
|
|
168
|
+
return toggleDelimiters('**', '__');
|
|
150
169
|
}
|
|
151
170
|
case 'table':
|
|
152
171
|
{
|
|
153
|
-
return
|
|
154
|
-
sourceCode: "".concat(sourceCode.slice(0, lineEndOffset), "\n| | |\n| - | - |\n| | |\n| | |\n").concat(lineAfter),
|
|
155
|
-
selection: createSelection(lineEndOffset + 3)
|
|
156
|
-
};
|
|
172
|
+
return toggleBlock('| | |\n| - | - |\n| | |\n| | |', 2);
|
|
157
173
|
}
|
|
158
174
|
case 'thematicBreak':
|
|
159
175
|
{
|
|
160
|
-
return
|
|
161
|
-
sourceCode: "".concat(sourceCode.slice(0, lineEndOffset), "\n***\n").concat(lineAfter),
|
|
162
|
-
selection: createSelection(lineEndOffset + 5)
|
|
163
|
-
};
|
|
176
|
+
return toggleBlock('***', 4);
|
|
164
177
|
}
|
|
165
178
|
default:
|
|
166
179
|
{
|
|
@@ -169,6 +182,20 @@ var stateReducer = function stateReducer(_ref, action) {
|
|
|
169
182
|
}
|
|
170
183
|
}
|
|
171
184
|
}
|
|
185
|
+
case 'indent':
|
|
186
|
+
{
|
|
187
|
+
var _lineStartOffset = before.lastIndexOf('\n') + 1;
|
|
188
|
+
var _lineEndOffset = endOffset + "".concat(after, "\n").indexOf('\n');
|
|
189
|
+
var _lineBefore = sourceCode.slice(0, _lineStartOffset);
|
|
190
|
+
var _lineAfter = sourceCode.slice(_lineEndOffset);
|
|
191
|
+
var _text3 = sourceCode.slice(_lineStartOffset, _lineEndOffset).split('\n').map(function (line) {
|
|
192
|
+
return action.payload.indent ? "\t".concat(line) : line.replace(/^(\t| )/, '');
|
|
193
|
+
}).join('\n');
|
|
194
|
+
return {
|
|
195
|
+
sourceCode: "".concat(_lineBefore).concat(_text3).concat(_lineAfter),
|
|
196
|
+
selection: createSelection(_lineStartOffset, _lineStartOffset + _text3.length)
|
|
197
|
+
};
|
|
198
|
+
}
|
|
172
199
|
case 'set':
|
|
173
200
|
{
|
|
174
201
|
var _action$payload3 = action.payload,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "x-star-editor",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.4",
|
|
4
4
|
"description": "An editor developed by turingstar",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
]
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"@babel/runtime": "^7.
|
|
47
|
+
"@babel/runtime": "^7.24.1",
|
|
48
48
|
"ahooks": "^3.7.10",
|
|
49
49
|
"classnames": "^2.3.2",
|
|
50
50
|
"hast-util-to-jsx-runtime": "^1.2.0",
|
|
@@ -71,8 +71,8 @@
|
|
|
71
71
|
"unist-util-visit": "^4.1.2"
|
|
72
72
|
},
|
|
73
73
|
"devDependencies": {
|
|
74
|
-
"@babel/core": "^7.
|
|
75
|
-
"@babel/preset-typescript": "^7.
|
|
74
|
+
"@babel/core": "^7.24.1",
|
|
75
|
+
"@babel/preset-typescript": "^7.24.1",
|
|
76
76
|
"@commitlint/cli": "^17.1.2",
|
|
77
77
|
"@commitlint/config-conventional": "^17.1.0",
|
|
78
78
|
"@types/react": "^18.0.0",
|