@uiw/react-codemirror 4.21.18 → 4.21.19

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.
@@ -12,161 +12,7 @@ return /******/ (() => { // webpackBootstrap
12
12
  /******/ "use strict";
13
13
  /******/ var __webpack_modules__ = ({
14
14
 
15
- /***/ 736:
16
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
17
-
18
- __webpack_require__.r(__webpack_exports__);
19
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
20
- /* harmony export */ defaultLightThemeOption: () => (/* reexport safe */ _theme_light__WEBPACK_IMPORTED_MODULE_4__.d),
21
- /* harmony export */ getDefaultExtensions: () => (/* binding */ getDefaultExtensions)
22
- /* harmony export */ });
23
- /* harmony import */ var _codemirror_commands__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(79);
24
- /* harmony import */ var _uiw_codemirror_extensions_basic_setup__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(141);
25
- /* harmony import */ var _codemirror_view__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(105);
26
- /* harmony import */ var _codemirror_view__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_codemirror_view__WEBPACK_IMPORTED_MODULE_1__);
27
- /* harmony import */ var _codemirror_theme_one_dark__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(362);
28
- /* harmony import */ var _codemirror_theme_one_dark__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_codemirror_theme_one_dark__WEBPACK_IMPORTED_MODULE_2__);
29
- /* harmony import */ var _codemirror_state__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(242);
30
- /* harmony import */ var _codemirror_state__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_codemirror_state__WEBPACK_IMPORTED_MODULE_3__);
31
- /* harmony import */ var _theme_light__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(259);
32
- /* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};
33
- /* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _codemirror_theme_one_dark__WEBPACK_IMPORTED_MODULE_2__) if(["default","getDefaultExtensions"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _codemirror_theme_one_dark__WEBPACK_IMPORTED_MODULE_2__[__WEBPACK_IMPORT_KEY__]
34
- /* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
35
- var getDefaultExtensions=function getDefaultExtensions(){var optios=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var _optios$indentWithTab=optios.indentWithTab,defaultIndentWithTab=_optios$indentWithTab===void 0?true:_optios$indentWithTab,_optios$editable=optios.editable,editable=_optios$editable===void 0?true:_optios$editable,_optios$readOnly=optios.readOnly,readOnly=_optios$readOnly===void 0?false:_optios$readOnly,_optios$theme=optios.theme,theme=_optios$theme===void 0?'light':_optios$theme,_optios$placeholder=optios.placeholder,placeholderStr=_optios$placeholder===void 0?'':_optios$placeholder,_optios$basicSetup=optios.basicSetup,defaultBasicSetup=_optios$basicSetup===void 0?true:_optios$basicSetup;var getExtensions=[];if(defaultIndentWithTab){getExtensions.unshift(_codemirror_view__WEBPACK_IMPORTED_MODULE_1__.keymap.of([_codemirror_commands__WEBPACK_IMPORTED_MODULE_5__/* .indentWithTab */ .oc]));}if(defaultBasicSetup){if(typeof defaultBasicSetup==='boolean'){getExtensions.unshift((0,_uiw_codemirror_extensions_basic_setup__WEBPACK_IMPORTED_MODULE_0__/* .basicSetup */ .X)());}else{getExtensions.unshift((0,_uiw_codemirror_extensions_basic_setup__WEBPACK_IMPORTED_MODULE_0__/* .basicSetup */ .X)(defaultBasicSetup));}}if(placeholderStr){getExtensions.unshift((0,_codemirror_view__WEBPACK_IMPORTED_MODULE_1__.placeholder)(placeholderStr));}switch(theme){case'light':getExtensions.push(_theme_light__WEBPACK_IMPORTED_MODULE_4__/* .defaultLightThemeOption */ .d);break;case'dark':getExtensions.push(_codemirror_theme_one_dark__WEBPACK_IMPORTED_MODULE_2__.oneDark);break;case'none':break;default:getExtensions.push(theme);break;}if(editable===false){getExtensions.push(_codemirror_view__WEBPACK_IMPORTED_MODULE_1__.EditorView.editable.of(false));}if(readOnly){getExtensions.push(_codemirror_state__WEBPACK_IMPORTED_MODULE_3__.EditorState.readOnly.of(true));}return[].concat(getExtensions);};
36
-
37
- /***/ }),
38
-
39
- /***/ 259:
40
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
41
-
42
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
43
- /* harmony export */ d: () => (/* binding */ defaultLightThemeOption)
44
- /* harmony export */ });
45
- /* harmony import */ var _codemirror_view__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(105);
46
- /* harmony import */ var _codemirror_view__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_codemirror_view__WEBPACK_IMPORTED_MODULE_0__);
47
- var defaultLightThemeOption=_codemirror_view__WEBPACK_IMPORTED_MODULE_0__.EditorView.theme({'&':{backgroundColor:'#fff'}},{dark:false});
48
-
49
- /***/ }),
50
-
51
- /***/ 128:
52
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
53
-
54
-
55
- // EXPORTS
56
- __webpack_require__.d(__webpack_exports__, {
57
- U: () => (/* binding */ useCodeMirror)
58
- });
59
-
60
- ;// CONCATENATED MODULE: ../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js
61
- function _arrayLikeToArray(arr, len) {
62
- if (len == null || len > arr.length) len = arr.length;
63
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
64
- return arr2;
65
- }
66
- ;// CONCATENATED MODULE: ../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js
67
-
68
- function _arrayWithoutHoles(arr) {
69
- if (Array.isArray(arr)) return _arrayLikeToArray(arr);
70
- }
71
- ;// CONCATENATED MODULE: ../node_modules/@babel/runtime/helpers/esm/iterableToArray.js
72
- function _iterableToArray(iter) {
73
- if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
74
- }
75
- ;// CONCATENATED MODULE: ../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js
76
-
77
- function _unsupportedIterableToArray(o, minLen) {
78
- if (!o) return;
79
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
80
- var n = Object.prototype.toString.call(o).slice(8, -1);
81
- if (n === "Object" && o.constructor) n = o.constructor.name;
82
- if (n === "Map" || n === "Set") return Array.from(o);
83
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
84
- }
85
- ;// CONCATENATED MODULE: ../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js
86
- function _nonIterableSpread() {
87
- throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
88
- }
89
- ;// CONCATENATED MODULE: ../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js
90
-
91
-
92
-
93
-
94
- function _toConsumableArray(arr) {
95
- return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
96
- }
97
- ;// CONCATENATED MODULE: ../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js
98
- function _arrayWithHoles(arr) {
99
- if (Array.isArray(arr)) return arr;
100
- }
101
- ;// CONCATENATED MODULE: ../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js
102
- function _iterableToArrayLimit(r, l) {
103
- var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
104
- if (null != t) {
105
- var e,
106
- n,
107
- i,
108
- u,
109
- a = [],
110
- f = !0,
111
- o = !1;
112
- try {
113
- if (i = (t = t.call(r)).next, 0 === l) {
114
- if (Object(t) !== t) return;
115
- f = !1;
116
- } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
117
- } catch (r) {
118
- o = !0, n = r;
119
- } finally {
120
- try {
121
- if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
122
- } finally {
123
- if (o) throw n;
124
- }
125
- }
126
- return a;
127
- }
128
- }
129
- ;// CONCATENATED MODULE: ../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js
130
- function _nonIterableRest() {
131
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
132
- }
133
- ;// CONCATENATED MODULE: ../node_modules/@babel/runtime/helpers/esm/slicedToArray.js
134
-
135
-
136
-
137
-
138
- function _slicedToArray(arr, i) {
139
- return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
140
- }
141
- // EXTERNAL MODULE: external {"root":"React","commonjs2":"react","commonjs":"react","amd":"react"}
142
- var external_root_React_commonjs2_react_commonjs_react_amd_react_ = __webpack_require__(787);
143
- // EXTERNAL MODULE: external {"root":["CM","@codemirror/state"],"commonjs":"@codemirror/state","commonjs2":"@codemirror/state"}
144
- var state_ = __webpack_require__(242);
145
- // EXTERNAL MODULE: external {"root":["CM","@codemirror/view"],"commonjs":"@codemirror/view","commonjs2":"@codemirror/view"}
146
- var view_ = __webpack_require__(105);
147
- // EXTERNAL MODULE: ./src/getDefaultExtensions.ts
148
- var getDefaultExtensions = __webpack_require__(736);
149
- // EXTERNAL MODULE: ./src/utils.ts
150
- var utils = __webpack_require__(742);
151
- ;// CONCATENATED MODULE: ./src/useCodeMirror.ts
152
- var External=state_.Annotation.define();var emptyExtensions=[];function useCodeMirror(props){var value=props.value,selection=props.selection,onChange=props.onChange,onStatistics=props.onStatistics,onCreateEditor=props.onCreateEditor,onUpdate=props.onUpdate,_props$extensions=props.extensions,extensions=_props$extensions===void 0?emptyExtensions:_props$extensions,autoFocus=props.autoFocus,_props$theme=props.theme,theme=_props$theme===void 0?'light':_props$theme,_props$height=props.height,height=_props$height===void 0?null:_props$height,_props$minHeight=props.minHeight,minHeight=_props$minHeight===void 0?null:_props$minHeight,_props$maxHeight=props.maxHeight,maxHeight=_props$maxHeight===void 0?null:_props$maxHeight,_props$width=props.width,width=_props$width===void 0?null:_props$width,_props$minWidth=props.minWidth,minWidth=_props$minWidth===void 0?null:_props$minWidth,_props$maxWidth=props.maxWidth,maxWidth=_props$maxWidth===void 0?null:_props$maxWidth,_props$placeholder=props.placeholder,placeholderStr=_props$placeholder===void 0?'':_props$placeholder,_props$editable=props.editable,editable=_props$editable===void 0?true:_props$editable,_props$readOnly=props.readOnly,readOnly=_props$readOnly===void 0?false:_props$readOnly,_props$indentWithTab=props.indentWithTab,defaultIndentWithTab=_props$indentWithTab===void 0?true:_props$indentWithTab,_props$basicSetup=props.basicSetup,defaultBasicSetup=_props$basicSetup===void 0?true:_props$basicSetup,root=props.root,initialState=props.initialState;var _useState=(0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useState)(),_useState2=_slicedToArray(_useState,2),container=_useState2[0],setContainer=_useState2[1];var _useState3=(0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useState)(),_useState4=_slicedToArray(_useState3,2),view=_useState4[0],setView=_useState4[1];var _useState5=(0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useState)(),_useState6=_slicedToArray(_useState5,2),state=_useState6[0],setState=_useState6[1];var defaultThemeOption=view_.EditorView.theme({'&':{height:height,minHeight:minHeight,maxHeight:maxHeight,width:width,minWidth:minWidth,maxWidth:maxWidth},'& .cm-scroller':{height:'100% !important'}});var updateListener=view_.EditorView.updateListener.of(function(vu){if(vu.docChanged&&typeof onChange==='function'&&// Fix echoing of the remote changes:
153
- // If transaction is market as remote we don't have to call `onChange` handler again
154
- !vu.transactions.some(function(tr){return tr.annotation(External);})){var doc=vu.state.doc;var _value=doc.toString();onChange(_value,vu);}onStatistics&&onStatistics((0,utils/* getStatistics */.a)(vu));});var defaultExtensions=(0,getDefaultExtensions.getDefaultExtensions)({theme:theme,editable:editable,readOnly:readOnly,placeholder:placeholderStr,indentWithTab:defaultIndentWithTab,basicSetup:defaultBasicSetup});var getExtensions=[updateListener,defaultThemeOption].concat(_toConsumableArray(defaultExtensions));if(onUpdate&&typeof onUpdate==='function'){getExtensions.push(view_.EditorView.updateListener.of(onUpdate));}getExtensions=getExtensions.concat(extensions);(0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(function(){if(container&&!state){var config={doc:value,selection:selection,extensions:getExtensions};var stateCurrent=initialState?state_.EditorState.fromJSON(initialState.json,config,initialState.fields):state_.EditorState.create(config);setState(stateCurrent);if(!view){var viewCurrent=new view_.EditorView({state:stateCurrent,parent:container,root:root});setView(viewCurrent);onCreateEditor&&onCreateEditor(viewCurrent,stateCurrent);}}return function(){if(view){setState(undefined);setView(undefined);}};},[container,state]);(0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(function(){return setContainer(props.container);},[props.container]);(0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(function(){return function(){if(view){view.destroy();setView(undefined);}};},[view]);(0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(function(){if(autoFocus&&view){view.focus();}},[autoFocus,view]);(0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(function(){if(view){view.dispatch({effects:state_.StateEffect.reconfigure.of(getExtensions)});}// eslint-disable-next-line react-hooks/exhaustive-deps
155
- },[theme,extensions,height,minHeight,maxHeight,width,minWidth,maxWidth,placeholderStr,editable,readOnly,defaultIndentWithTab,defaultBasicSetup,onChange,onUpdate]);(0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(function(){if(value===undefined){return;}var currentValue=view?view.state.doc.toString():'';if(view&&value!==currentValue){view.dispatch({changes:{from:0,to:currentValue.length,insert:value||''},annotations:[External.of(true)]});}},[value,view]);return{state:state,setState:setState,view:view,setView:setView,container:container,setContainer:setContainer};}
156
-
157
- /***/ }),
158
-
159
- /***/ 742:
160
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
161
-
162
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
163
- /* harmony export */ a: () => (/* binding */ getStatistics)
164
- /* harmony export */ });
165
- var getStatistics=function getStatistics(view){return{line:view.state.doc.lineAt(view.state.selection.main.from),lineCount:view.state.doc.lines,lineBreak:view.state.lineBreak,length:view.state.doc.length,readOnly:view.state.readOnly,tabSize:view.state.tabSize,selection:view.state.selection,selectionAsSingle:view.state.selection.asSingle().main,ranges:view.state.selection.ranges,selectionCode:view.state.sliceDoc(view.state.selection.main.from,view.state.selection.main.to),selections:view.state.selection.ranges.map(function(r){return view.state.sliceDoc(r.from,r.to);}),selectedText:view.state.selection.ranges.some(function(r){return!r.empty;})};};
166
-
167
- /***/ }),
168
-
169
- /***/ 141:
15
+ /***/ 724:
170
16
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
171
17
 
172
18
 
@@ -181,7 +27,7 @@ var view_ = __webpack_require__(105);
181
27
  // EXTERNAL MODULE: external {"root":["CM","@codemirror/state"],"commonjs":"@codemirror/state","commonjs2":"@codemirror/state"}
182
28
  var state_ = __webpack_require__(242);
183
29
  // EXTERNAL MODULE: ../node_modules/@codemirror/commands/dist/index.js
184
- var dist = __webpack_require__(79);
30
+ var dist = __webpack_require__(617);
185
31
  ;// CONCATENATED MODULE: ../node_modules/crelt/index.js
186
32
  function crelt() {
187
33
  var elt = arguments[0]
@@ -1434,7 +1280,7 @@ const searchExtensions = [
1434
1280
 
1435
1281
 
1436
1282
  // EXTERNAL MODULE: ../node_modules/@codemirror/language/dist/index.js + 2 modules
1437
- var language_dist = __webpack_require__(434);
1283
+ var language_dist = __webpack_require__(478);
1438
1284
  ;// CONCATENATED MODULE: ../node_modules/@codemirror/autocomplete/dist/index.js
1439
1285
 
1440
1286
 
@@ -4324,7 +4170,161 @@ var minimalSetup = function minimalSetup(options) {
4324
4170
 
4325
4171
  /***/ }),
4326
4172
 
4327
- /***/ 349:
4173
+ /***/ 180:
4174
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4175
+
4176
+ __webpack_require__.r(__webpack_exports__);
4177
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
4178
+ /* harmony export */ defaultLightThemeOption: () => (/* reexport safe */ _theme_light__WEBPACK_IMPORTED_MODULE_4__.d),
4179
+ /* harmony export */ getDefaultExtensions: () => (/* binding */ getDefaultExtensions)
4180
+ /* harmony export */ });
4181
+ /* harmony import */ var _codemirror_commands__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(617);
4182
+ /* harmony import */ var _uiw_codemirror_extensions_basic_setup__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(724);
4183
+ /* harmony import */ var _codemirror_view__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(105);
4184
+ /* harmony import */ var _codemirror_view__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_codemirror_view__WEBPACK_IMPORTED_MODULE_1__);
4185
+ /* harmony import */ var _codemirror_theme_one_dark__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(362);
4186
+ /* harmony import */ var _codemirror_theme_one_dark__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_codemirror_theme_one_dark__WEBPACK_IMPORTED_MODULE_2__);
4187
+ /* harmony import */ var _codemirror_state__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(242);
4188
+ /* harmony import */ var _codemirror_state__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_codemirror_state__WEBPACK_IMPORTED_MODULE_3__);
4189
+ /* harmony import */ var _theme_light__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8);
4190
+ /* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};
4191
+ /* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _codemirror_theme_one_dark__WEBPACK_IMPORTED_MODULE_2__) if(["default","getDefaultExtensions"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _codemirror_theme_one_dark__WEBPACK_IMPORTED_MODULE_2__[__WEBPACK_IMPORT_KEY__]
4192
+ /* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
4193
+ var getDefaultExtensions=function getDefaultExtensions(){var optios=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var _optios$indentWithTab=optios.indentWithTab,defaultIndentWithTab=_optios$indentWithTab===void 0?true:_optios$indentWithTab,_optios$editable=optios.editable,editable=_optios$editable===void 0?true:_optios$editable,_optios$readOnly=optios.readOnly,readOnly=_optios$readOnly===void 0?false:_optios$readOnly,_optios$theme=optios.theme,theme=_optios$theme===void 0?'light':_optios$theme,_optios$placeholder=optios.placeholder,placeholderStr=_optios$placeholder===void 0?'':_optios$placeholder,_optios$basicSetup=optios.basicSetup,defaultBasicSetup=_optios$basicSetup===void 0?true:_optios$basicSetup;var getExtensions=[];if(defaultIndentWithTab){getExtensions.unshift(_codemirror_view__WEBPACK_IMPORTED_MODULE_1__.keymap.of([_codemirror_commands__WEBPACK_IMPORTED_MODULE_5__/* .indentWithTab */ .oc]));}if(defaultBasicSetup){if(typeof defaultBasicSetup==='boolean'){getExtensions.unshift((0,_uiw_codemirror_extensions_basic_setup__WEBPACK_IMPORTED_MODULE_0__/* .basicSetup */ .X)());}else{getExtensions.unshift((0,_uiw_codemirror_extensions_basic_setup__WEBPACK_IMPORTED_MODULE_0__/* .basicSetup */ .X)(defaultBasicSetup));}}if(placeholderStr){getExtensions.unshift((0,_codemirror_view__WEBPACK_IMPORTED_MODULE_1__.placeholder)(placeholderStr));}switch(theme){case'light':getExtensions.push(_theme_light__WEBPACK_IMPORTED_MODULE_4__/* .defaultLightThemeOption */ .d);break;case'dark':getExtensions.push(_codemirror_theme_one_dark__WEBPACK_IMPORTED_MODULE_2__.oneDark);break;case'none':break;default:getExtensions.push(theme);break;}if(editable===false){getExtensions.push(_codemirror_view__WEBPACK_IMPORTED_MODULE_1__.EditorView.editable.of(false));}if(readOnly){getExtensions.push(_codemirror_state__WEBPACK_IMPORTED_MODULE_3__.EditorState.readOnly.of(true));}return[].concat(getExtensions);};
4194
+
4195
+ /***/ }),
4196
+
4197
+ /***/ 8:
4198
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4199
+
4200
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
4201
+ /* harmony export */ d: () => (/* binding */ defaultLightThemeOption)
4202
+ /* harmony export */ });
4203
+ /* harmony import */ var _codemirror_view__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(105);
4204
+ /* harmony import */ var _codemirror_view__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_codemirror_view__WEBPACK_IMPORTED_MODULE_0__);
4205
+ var defaultLightThemeOption=_codemirror_view__WEBPACK_IMPORTED_MODULE_0__.EditorView.theme({'&':{backgroundColor:'#fff'}},{dark:false});
4206
+
4207
+ /***/ }),
4208
+
4209
+ /***/ 80:
4210
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4211
+
4212
+
4213
+ // EXPORTS
4214
+ __webpack_require__.d(__webpack_exports__, {
4215
+ U: () => (/* binding */ useCodeMirror)
4216
+ });
4217
+
4218
+ ;// CONCATENATED MODULE: ../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js
4219
+ function _arrayLikeToArray(arr, len) {
4220
+ if (len == null || len > arr.length) len = arr.length;
4221
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
4222
+ return arr2;
4223
+ }
4224
+ ;// CONCATENATED MODULE: ../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js
4225
+
4226
+ function _arrayWithoutHoles(arr) {
4227
+ if (Array.isArray(arr)) return _arrayLikeToArray(arr);
4228
+ }
4229
+ ;// CONCATENATED MODULE: ../node_modules/@babel/runtime/helpers/esm/iterableToArray.js
4230
+ function _iterableToArray(iter) {
4231
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
4232
+ }
4233
+ ;// CONCATENATED MODULE: ../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js
4234
+
4235
+ function _unsupportedIterableToArray(o, minLen) {
4236
+ if (!o) return;
4237
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
4238
+ var n = Object.prototype.toString.call(o).slice(8, -1);
4239
+ if (n === "Object" && o.constructor) n = o.constructor.name;
4240
+ if (n === "Map" || n === "Set") return Array.from(o);
4241
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
4242
+ }
4243
+ ;// CONCATENATED MODULE: ../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js
4244
+ function _nonIterableSpread() {
4245
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
4246
+ }
4247
+ ;// CONCATENATED MODULE: ../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js
4248
+
4249
+
4250
+
4251
+
4252
+ function _toConsumableArray(arr) {
4253
+ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
4254
+ }
4255
+ ;// CONCATENATED MODULE: ../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js
4256
+ function _arrayWithHoles(arr) {
4257
+ if (Array.isArray(arr)) return arr;
4258
+ }
4259
+ ;// CONCATENATED MODULE: ../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js
4260
+ function _iterableToArrayLimit(r, l) {
4261
+ var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
4262
+ if (null != t) {
4263
+ var e,
4264
+ n,
4265
+ i,
4266
+ u,
4267
+ a = [],
4268
+ f = !0,
4269
+ o = !1;
4270
+ try {
4271
+ if (i = (t = t.call(r)).next, 0 === l) {
4272
+ if (Object(t) !== t) return;
4273
+ f = !1;
4274
+ } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
4275
+ } catch (r) {
4276
+ o = !0, n = r;
4277
+ } finally {
4278
+ try {
4279
+ if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
4280
+ } finally {
4281
+ if (o) throw n;
4282
+ }
4283
+ }
4284
+ return a;
4285
+ }
4286
+ }
4287
+ ;// CONCATENATED MODULE: ../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js
4288
+ function _nonIterableRest() {
4289
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
4290
+ }
4291
+ ;// CONCATENATED MODULE: ../node_modules/@babel/runtime/helpers/esm/slicedToArray.js
4292
+
4293
+
4294
+
4295
+
4296
+ function _slicedToArray(arr, i) {
4297
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
4298
+ }
4299
+ // EXTERNAL MODULE: external {"root":"React","commonjs2":"react","commonjs":"react","amd":"react"}
4300
+ var external_root_React_commonjs2_react_commonjs_react_amd_react_ = __webpack_require__(787);
4301
+ // EXTERNAL MODULE: external {"root":["CM","@codemirror/state"],"commonjs":"@codemirror/state","commonjs2":"@codemirror/state"}
4302
+ var state_ = __webpack_require__(242);
4303
+ // EXTERNAL MODULE: external {"root":["CM","@codemirror/view"],"commonjs":"@codemirror/view","commonjs2":"@codemirror/view"}
4304
+ var view_ = __webpack_require__(105);
4305
+ // EXTERNAL MODULE: ./src/getDefaultExtensions.ts
4306
+ var getDefaultExtensions = __webpack_require__(180);
4307
+ // EXTERNAL MODULE: ./src/utils.ts
4308
+ var utils = __webpack_require__(237);
4309
+ ;// CONCATENATED MODULE: ./src/useCodeMirror.ts
4310
+ var External=state_.Annotation.define();var emptyExtensions=[];function useCodeMirror(props){var value=props.value,selection=props.selection,onChange=props.onChange,onStatistics=props.onStatistics,onCreateEditor=props.onCreateEditor,onUpdate=props.onUpdate,_props$extensions=props.extensions,extensions=_props$extensions===void 0?emptyExtensions:_props$extensions,autoFocus=props.autoFocus,_props$theme=props.theme,theme=_props$theme===void 0?'light':_props$theme,_props$height=props.height,height=_props$height===void 0?null:_props$height,_props$minHeight=props.minHeight,minHeight=_props$minHeight===void 0?null:_props$minHeight,_props$maxHeight=props.maxHeight,maxHeight=_props$maxHeight===void 0?null:_props$maxHeight,_props$width=props.width,width=_props$width===void 0?null:_props$width,_props$minWidth=props.minWidth,minWidth=_props$minWidth===void 0?null:_props$minWidth,_props$maxWidth=props.maxWidth,maxWidth=_props$maxWidth===void 0?null:_props$maxWidth,_props$placeholder=props.placeholder,placeholderStr=_props$placeholder===void 0?'':_props$placeholder,_props$editable=props.editable,editable=_props$editable===void 0?true:_props$editable,_props$readOnly=props.readOnly,readOnly=_props$readOnly===void 0?false:_props$readOnly,_props$indentWithTab=props.indentWithTab,defaultIndentWithTab=_props$indentWithTab===void 0?true:_props$indentWithTab,_props$basicSetup=props.basicSetup,defaultBasicSetup=_props$basicSetup===void 0?true:_props$basicSetup,root=props.root,initialState=props.initialState;var _useState=(0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useState)(),_useState2=_slicedToArray(_useState,2),container=_useState2[0],setContainer=_useState2[1];var _useState3=(0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useState)(),_useState4=_slicedToArray(_useState3,2),view=_useState4[0],setView=_useState4[1];var _useState5=(0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useState)(),_useState6=_slicedToArray(_useState5,2),state=_useState6[0],setState=_useState6[1];var defaultThemeOption=view_.EditorView.theme({'&':{height:height,minHeight:minHeight,maxHeight:maxHeight,width:width,minWidth:minWidth,maxWidth:maxWidth},'& .cm-scroller':{height:'100% !important'}});var updateListener=view_.EditorView.updateListener.of(function(vu){if(vu.docChanged&&typeof onChange==='function'&&// Fix echoing of the remote changes:
4311
+ // If transaction is market as remote we don't have to call `onChange` handler again
4312
+ !vu.transactions.some(function(tr){return tr.annotation(External);})){var doc=vu.state.doc;var _value=doc.toString();onChange(_value,vu);}onStatistics&&onStatistics((0,utils/* getStatistics */.a)(vu));});var defaultExtensions=(0,getDefaultExtensions.getDefaultExtensions)({theme:theme,editable:editable,readOnly:readOnly,placeholder:placeholderStr,indentWithTab:defaultIndentWithTab,basicSetup:defaultBasicSetup});var getExtensions=[updateListener,defaultThemeOption].concat(_toConsumableArray(defaultExtensions));if(onUpdate&&typeof onUpdate==='function'){getExtensions.push(view_.EditorView.updateListener.of(onUpdate));}getExtensions=getExtensions.concat(extensions);(0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(function(){if(container&&!state){var config={doc:value,selection:selection,extensions:getExtensions};var stateCurrent=initialState?state_.EditorState.fromJSON(initialState.json,config,initialState.fields):state_.EditorState.create(config);setState(stateCurrent);if(!view){var viewCurrent=new view_.EditorView({state:stateCurrent,parent:container,root:root});setView(viewCurrent);onCreateEditor&&onCreateEditor(viewCurrent,stateCurrent);}}return function(){if(view){setState(undefined);setView(undefined);}};},[container,state]);(0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(function(){return setContainer(props.container);},[props.container]);(0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(function(){return function(){if(view){view.destroy();setView(undefined);}};},[view]);(0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(function(){if(autoFocus&&view){view.focus();}},[autoFocus,view]);(0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(function(){if(view){view.dispatch({effects:state_.StateEffect.reconfigure.of(getExtensions)});}// eslint-disable-next-line react-hooks/exhaustive-deps
4313
+ },[theme,extensions,height,minHeight,maxHeight,width,minWidth,maxWidth,placeholderStr,editable,readOnly,defaultIndentWithTab,defaultBasicSetup,onChange,onUpdate]);(0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(function(){if(value===undefined){return;}var currentValue=view?view.state.doc.toString():'';if(view&&value!==currentValue){view.dispatch({changes:{from:0,to:currentValue.length,insert:value||''},annotations:[External.of(true)]});}},[value,view]);return{state:state,setState:setState,view:view,setView:setView,container:container,setContainer:setContainer};}
4314
+
4315
+ /***/ }),
4316
+
4317
+ /***/ 237:
4318
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4319
+
4320
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
4321
+ /* harmony export */ a: () => (/* binding */ getStatistics)
4322
+ /* harmony export */ });
4323
+ var getStatistics=function getStatistics(view){return{line:view.state.doc.lineAt(view.state.selection.main.from),lineCount:view.state.doc.lines,lineBreak:view.state.lineBreak,length:view.state.doc.length,readOnly:view.state.readOnly,tabSize:view.state.tabSize,selection:view.state.selection,selectionAsSingle:view.state.selection.asSingle().main,ranges:view.state.selection.ranges,selectionCode:view.state.sliceDoc(view.state.selection.main.from,view.state.selection.main.to),selections:view.state.selection.ranges.map(function(r){return view.state.sliceDoc(r.from,r.to);}),selectedText:view.state.selection.ranges.some(function(r){return!r.empty;})};};
4324
+
4325
+ /***/ }),
4326
+
4327
+ /***/ 426:
4328
4328
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4329
4329
 
4330
4330
  var __webpack_unused_export__;
@@ -4343,13 +4343,13 @@ function q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=""+g);void 0!==a.key&&
4343
4343
 
4344
4344
  /***/ }),
4345
4345
 
4346
- /***/ 501:
4346
+ /***/ 246:
4347
4347
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
4348
4348
 
4349
4349
 
4350
4350
 
4351
4351
  if (true) {
4352
- module.exports = __webpack_require__(349);
4352
+ module.exports = __webpack_require__(426);
4353
4353
  } else {}
4354
4354
 
4355
4355
 
@@ -4505,7 +4505,7 @@ function _objectWithoutProperties(source, excluded) {
4505
4505
 
4506
4506
  /***/ }),
4507
4507
 
4508
- /***/ 79:
4508
+ /***/ 617:
4509
4509
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
4510
4510
 
4511
4511
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
@@ -4514,11 +4514,11 @@ function _objectWithoutProperties(source, excluded) {
4514
4514
  /* harmony export */ oc: () => (/* binding */ indentWithTab),
4515
4515
  /* harmony export */ wQ: () => (/* binding */ defaultKeymap)
4516
4516
  /* harmony export */ });
4517
- /* unused harmony exports blockComment, blockUncomment, copyLineDown, copyLineUp, cursorCharBackward, cursorCharForward, cursorCharLeft, cursorCharRight, cursorDocEnd, cursorDocStart, cursorGroupBackward, cursorGroupForward, cursorGroupLeft, cursorGroupRight, cursorLineBoundaryBackward, cursorLineBoundaryForward, cursorLineBoundaryLeft, cursorLineBoundaryRight, cursorLineDown, cursorLineEnd, cursorLineStart, cursorLineUp, cursorMatchingBracket, cursorPageDown, cursorPageUp, cursorSubwordBackward, cursorSubwordForward, cursorSyntaxLeft, cursorSyntaxRight, deleteCharBackward, deleteCharForward, deleteGroupBackward, deleteGroupForward, deleteLine, deleteToLineEnd, deleteToLineStart, deleteTrailingWhitespace, emacsStyleKeymap, historyField, indentLess, indentMore, indentSelection, insertBlankLine, insertNewline, insertNewlineAndIndent, insertTab, invertedEffects, isolateHistory, lineComment, lineUncomment, moveLineDown, moveLineUp, redo, redoDepth, redoSelection, selectAll, selectCharBackward, selectCharForward, selectCharLeft, selectCharRight, selectDocEnd, selectDocStart, selectGroupBackward, selectGroupForward, selectGroupLeft, selectGroupRight, selectLine, selectLineBoundaryBackward, selectLineBoundaryForward, selectLineBoundaryLeft, selectLineBoundaryRight, selectLineDown, selectLineEnd, selectLineStart, selectLineUp, selectMatchingBracket, selectPageDown, selectPageUp, selectParentSyntax, selectSubwordBackward, selectSubwordForward, selectSyntaxLeft, selectSyntaxRight, simplifySelection, splitLine, standardKeymap, toggleBlockComment, toggleBlockCommentByLine, toggleComment, toggleLineComment, transposeChars, undo, undoDepth, undoSelection */
4517
+ /* unused harmony exports blockComment, blockUncomment, copyLineDown, copyLineUp, cursorCharBackward, cursorCharForward, cursorCharLeft, cursorCharRight, cursorDocEnd, cursorDocStart, cursorGroupBackward, cursorGroupForward, cursorGroupLeft, cursorGroupRight, cursorLineBoundaryBackward, cursorLineBoundaryForward, cursorLineBoundaryLeft, cursorLineBoundaryRight, cursorLineDown, cursorLineEnd, cursorLineStart, cursorLineUp, cursorMatchingBracket, cursorPageDown, cursorPageUp, cursorSubwordBackward, cursorSubwordForward, cursorSyntaxLeft, cursorSyntaxRight, deleteCharBackward, deleteCharForward, deleteGroupBackward, deleteGroupForward, deleteLine, deleteLineBoundaryBackward, deleteLineBoundaryForward, deleteToLineEnd, deleteToLineStart, deleteTrailingWhitespace, emacsStyleKeymap, historyField, indentLess, indentMore, indentSelection, insertBlankLine, insertNewline, insertNewlineAndIndent, insertTab, invertedEffects, isolateHistory, lineComment, lineUncomment, moveLineDown, moveLineUp, redo, redoDepth, redoSelection, selectAll, selectCharBackward, selectCharForward, selectCharLeft, selectCharRight, selectDocEnd, selectDocStart, selectGroupBackward, selectGroupForward, selectGroupLeft, selectGroupRight, selectLine, selectLineBoundaryBackward, selectLineBoundaryForward, selectLineBoundaryLeft, selectLineBoundaryRight, selectLineDown, selectLineEnd, selectLineStart, selectLineUp, selectMatchingBracket, selectPageDown, selectPageUp, selectParentSyntax, selectSubwordBackward, selectSubwordForward, selectSyntaxLeft, selectSyntaxRight, simplifySelection, splitLine, standardKeymap, toggleBlockComment, toggleBlockCommentByLine, toggleComment, toggleLineComment, transposeChars, undo, undoDepth, undoSelection */
4518
4518
  /* harmony import */ var _codemirror_state__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(242);
4519
4519
  /* harmony import */ var _codemirror_view__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(105);
4520
- /* harmony import */ var _codemirror_language__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(434);
4521
- /* harmony import */ var _lezer_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(857);
4520
+ /* harmony import */ var _codemirror_language__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(478);
4521
+ /* harmony import */ var _lezer_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(59);
4522
4522
 
4523
4523
 
4524
4524
 
@@ -5535,12 +5535,15 @@ syntax tree.
5535
5535
  const selectParentSyntax = ({ state, dispatch }) => {
5536
5536
  let selection = updateSel(state.selection, range => {
5537
5537
  var _a;
5538
- let context = (0,_codemirror_language__WEBPACK_IMPORTED_MODULE_3__/* .syntaxTree */ .qz)(state).resolveInner(range.head, 1);
5539
- while (!((context.from < range.from && context.to >= range.to) ||
5540
- (context.to > range.to && context.from <= range.from) ||
5541
- !((_a = context.parent) === null || _a === void 0 ? void 0 : _a.parent)))
5542
- context = context.parent;
5543
- return _codemirror_state__WEBPACK_IMPORTED_MODULE_0__.EditorSelection.range(context.to, context.from);
5538
+ let stack = (0,_codemirror_language__WEBPACK_IMPORTED_MODULE_3__/* .syntaxTree */ .qz)(state).resolveStack(range.from, 1);
5539
+ for (let cur = stack; cur; cur = cur.next) {
5540
+ let { node } = cur;
5541
+ if (((node.from < range.from && node.to >= range.to) ||
5542
+ (node.to > range.to && node.from <= range.from)) &&
5543
+ ((_a = node.parent) === null || _a === void 0 ? void 0 : _a.parent))
5544
+ return _codemirror_state__WEBPACK_IMPORTED_MODULE_0__.EditorSelection.range(node.to, node.from);
5545
+ }
5546
+ return range;
5544
5547
  });
5545
5548
  dispatch(setSel(state, selection));
5546
5549
  return true;
@@ -5568,7 +5571,7 @@ function deleteBy(target, by) {
5568
5571
  let changes = state.changeByRange(range => {
5569
5572
  let { from, to } = range;
5570
5573
  if (from == to) {
5571
- let towards = by(from);
5574
+ let towards = by(range);
5572
5575
  if (towards < from) {
5573
5576
  event = "delete.backward";
5574
5577
  towards = skipAtomic(target, towards, false);
@@ -5584,7 +5587,7 @@ function deleteBy(target, by) {
5584
5587
  from = skipAtomic(target, from, false);
5585
5588
  to = skipAtomic(target, to, true);
5586
5589
  }
5587
- return from == to ? { range } : { changes: { from, to }, range: _codemirror_state__WEBPACK_IMPORTED_MODULE_0__.EditorSelection.cursor(from) };
5590
+ return from == to ? { range } : { changes: { from, to }, range: _codemirror_state__WEBPACK_IMPORTED_MODULE_0__.EditorSelection.cursor(from, from < range.head ? -1 : 1) };
5588
5591
  });
5589
5592
  if (changes.changes.empty)
5590
5593
  return false;
@@ -5604,8 +5607,8 @@ function skipAtomic(target, pos, forward) {
5604
5607
  });
5605
5608
  return pos;
5606
5609
  }
5607
- const deleteByChar = (target, forward) => deleteBy(target, pos => {
5608
- let { state } = target, line = state.doc.lineAt(pos), before, targetPos;
5610
+ const deleteByChar = (target, forward) => deleteBy(target, range => {
5611
+ let pos = range.from, { state } = target, line = state.doc.lineAt(pos), before, targetPos;
5609
5612
  if (!forward && pos > line.from && pos < line.from + 200 &&
5610
5613
  !/[^ \t]/.test(before = line.text.slice(0, pos - line.from))) {
5611
5614
  if (before[before.length - 1] == "\t")
@@ -5631,12 +5634,12 @@ const deleteCharBackward = view => deleteByChar(view, false);
5631
5634
  Delete the selection or the character after the cursor.
5632
5635
  */
5633
5636
  const deleteCharForward = view => deleteByChar(view, true);
5634
- const deleteByGroup = (target, forward) => deleteBy(target, start => {
5635
- let pos = start, { state } = target, line = state.doc.lineAt(pos);
5637
+ const deleteByGroup = (target, forward) => deleteBy(target, range => {
5638
+ let pos = range.head, { state } = target, line = state.doc.lineAt(pos);
5636
5639
  let categorize = state.charCategorizer(pos);
5637
5640
  for (let cat = null;;) {
5638
5641
  if (pos == (forward ? line.to : line.from)) {
5639
- if (pos == start && line.number != (forward ? state.doc.lines : 1))
5642
+ if (pos == range.head && line.number != (forward ? state.doc.lines : 1))
5640
5643
  pos += forward ? 1 : -1;
5641
5644
  break;
5642
5645
  }
@@ -5645,7 +5648,7 @@ const deleteByGroup = (target, forward) => deleteBy(target, start => {
5645
5648
  let nextCat = categorize(nextChar);
5646
5649
  if (cat != null && nextCat != cat)
5647
5650
  break;
5648
- if (nextChar != " " || pos != start)
5651
+ if (nextChar != " " || pos != range.head)
5649
5652
  cat = nextCat;
5650
5653
  pos = next;
5651
5654
  }
@@ -5666,18 +5669,34 @@ Delete the selection, or, if it is a cursor selection, delete to
5666
5669
  the end of the line. If the cursor is directly at the end of the
5667
5670
  line, delete the line break after it.
5668
5671
  */
5669
- const deleteToLineEnd = view => deleteBy(view, pos => {
5670
- let lineEnd = view.lineBlockAt(pos).to;
5671
- return pos < lineEnd ? lineEnd : Math.min(view.state.doc.length, pos + 1);
5672
+ const deleteToLineEnd = view => deleteBy(view, range => {
5673
+ let lineEnd = view.lineBlockAt(range.head).to;
5674
+ return range.head < lineEnd ? lineEnd : Math.min(view.state.doc.length, range.head + 1);
5672
5675
  });
5673
5676
  /**
5674
5677
  Delete the selection, or, if it is a cursor selection, delete to
5675
5678
  the start of the line. If the cursor is directly at the start of the
5676
5679
  line, delete the line break before it.
5677
5680
  */
5678
- const deleteToLineStart = view => deleteBy(view, pos => {
5679
- let lineStart = view.lineBlockAt(pos).from;
5680
- return pos > lineStart ? lineStart : Math.max(0, pos - 1);
5681
+ const deleteToLineStart = view => deleteBy(view, range => {
5682
+ let lineStart = view.lineBlockAt(range.head).from;
5683
+ return range.head > lineStart ? lineStart : Math.max(0, range.head - 1);
5684
+ });
5685
+ /**
5686
+ Delete the selection, or, if it is a cursor selection, delete to
5687
+ the start of the line or the next line wrap before the cursor.
5688
+ */
5689
+ const deleteLineBoundaryBackward = view => deleteBy(view, range => {
5690
+ let lineStart = view.moveToLineBoundary(range, false).head;
5691
+ return range.head > lineStart ? lineStart : Math.max(0, range.head - 1);
5692
+ });
5693
+ /**
5694
+ Delete the selection, or, if it is a cursor selection, delete to
5695
+ the end of the line or the next line wrap after the cursor.
5696
+ */
5697
+ const deleteLineBoundaryForward = view => deleteBy(view, range => {
5698
+ let lineStart = view.moveToLineBoundary(range, true).head;
5699
+ return range.head < lineStart ? lineStart : Math.min(view.state.doc.length, range.head + 1);
5681
5700
  });
5682
5701
  /**
5683
5702
  Delete all whitespace directly before a line end from the
@@ -6048,8 +6067,8 @@ property changed to `mac`.)
6048
6067
  - Delete: [`deleteCharForward`](https://codemirror.net/6/docs/ref/#commands.deleteCharForward)
6049
6068
  - Ctrl-Backspace (Alt-Backspace on macOS): [`deleteGroupBackward`](https://codemirror.net/6/docs/ref/#commands.deleteGroupBackward)
6050
6069
  - Ctrl-Delete (Alt-Delete on macOS): [`deleteGroupForward`](https://codemirror.net/6/docs/ref/#commands.deleteGroupForward)
6051
- - Cmd-Backspace (macOS): [`deleteToLineStart`](https://codemirror.net/6/docs/ref/#commands.deleteToLineStart).
6052
- - Cmd-Delete (macOS): [`deleteToLineEnd`](https://codemirror.net/6/docs/ref/#commands.deleteToLineEnd).
6070
+ - Cmd-Backspace (macOS): [`deleteLineBoundaryBackward`](https://codemirror.net/6/docs/ref/#commands.deleteLineBoundaryBackward).
6071
+ - Cmd-Delete (macOS): [`deleteLineBoundaryForward`](https://codemirror.net/6/docs/ref/#commands.deleteLineBoundaryForward).
6053
6072
  */
6054
6073
  const standardKeymap = /*@__PURE__*/[
6055
6074
  { key: "ArrowLeft", run: cursorCharLeft, shift: selectCharLeft, preventDefault: true },
@@ -6076,8 +6095,8 @@ const standardKeymap = /*@__PURE__*/[
6076
6095
  { key: "Delete", run: deleteCharForward },
6077
6096
  { key: "Mod-Backspace", mac: "Alt-Backspace", run: deleteGroupBackward },
6078
6097
  { key: "Mod-Delete", mac: "Alt-Delete", run: deleteGroupForward },
6079
- { mac: "Mod-Backspace", run: deleteToLineStart },
6080
- { mac: "Mod-Delete", run: deleteToLineEnd }
6098
+ { mac: "Mod-Backspace", run: deleteLineBoundaryBackward },
6099
+ { mac: "Mod-Delete", run: deleteLineBoundaryForward }
6081
6100
  ].concat(/*@__PURE__*/emacsStyleKeymap.map(b => ({ mac: b.key, run: b.run, shift: b.shift })));
6082
6101
  /**
6083
6102
  The default keymap. Includes all bindings from
@@ -6133,7 +6152,7 @@ const indentWithTab = { key: "Tab", run: indentMore, shift: indentLess };
6133
6152
 
6134
6153
  /***/ }),
6135
6154
 
6136
- /***/ 434:
6155
+ /***/ 478:
6137
6156
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
6138
6157
 
6139
6158
 
@@ -6157,7 +6176,7 @@ __webpack_require__.d(__webpack_exports__, {
6157
6176
  // UNUSED EXPORTS: DocInput, HighlightStyle, LRLanguage, Language, LanguageDescription, LanguageSupport, ParseContext, StreamLanguage, StringStream, TreeIndentContext, bracketMatchingHandle, codeFolding, continuedIndent, defineLanguageFacet, delimitedIndent, ensureSyntaxTree, flatIndent, foldAll, foldCode, foldEffect, foldInside, foldNodeProp, foldService, foldState, foldable, foldedRanges, forceParsing, highlightingFor, indentNodeProp, indentRange, indentService, language, languageDataProp, sublanguageProp, syntaxParserRunning, syntaxTreeAvailable, toggleFold, unfoldAll, unfoldCode, unfoldEffect
6158
6177
 
6159
6178
  // EXTERNAL MODULE: ../node_modules/@lezer/common/dist/index.js
6160
- var dist = __webpack_require__(857);
6179
+ var dist = __webpack_require__(59);
6161
6180
  // EXTERNAL MODULE: external {"root":["CM","@codemirror/state"],"commonjs":"@codemirror/state","commonjs2":"@codemirror/state"}
6162
6181
  var state_ = __webpack_require__(242);
6163
6182
  // EXTERNAL MODULE: external {"root":["CM","@codemirror/view"],"commonjs":"@codemirror/view","commonjs2":"@codemirror/view"}
@@ -9723,7 +9742,7 @@ function docID(data) {
9723
9742
 
9724
9743
  /***/ }),
9725
9744
 
9726
- /***/ 857:
9745
+ /***/ 59:
9727
9746
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
9728
9747
 
9729
9748
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
@@ -11921,8 +11940,8 @@ __webpack_require__.r(__webpack_exports__);
11921
11940
  /* harmony import */ var _home_runner_work_react_codemirror_react_codemirror_node_modules_babel_runtime_helpers_esm_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(808);
11922
11941
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(787);
11923
11942
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
11924
- /* harmony import */ var _useCodeMirror__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(128);
11925
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(501);
11943
+ /* harmony import */ var _useCodeMirror__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(80);
11944
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(246);
11926
11945
  /* harmony import */ var _codemirror_view__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(105);
11927
11946
  /* harmony import */ var _codemirror_view__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_codemirror_view__WEBPACK_IMPORTED_MODULE_3__);
11928
11947
  /* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};
@@ -11933,12 +11952,12 @@ __webpack_require__.r(__webpack_exports__);
11933
11952
  /* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};
11934
11953
  /* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _codemirror_state__WEBPACK_IMPORTED_MODULE_4__) if(__WEBPACK_IMPORT_KEY__ !== "default") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _codemirror_state__WEBPACK_IMPORTED_MODULE_4__[__WEBPACK_IMPORT_KEY__]
11935
11954
  /* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
11936
- /* harmony import */ var _uiw_codemirror_extensions_basic_setup__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(141);
11937
- /* harmony import */ var _getDefaultExtensions__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(736);
11955
+ /* harmony import */ var _uiw_codemirror_extensions_basic_setup__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(724);
11956
+ /* harmony import */ var _getDefaultExtensions__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(180);
11938
11957
  /* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};
11939
11958
  /* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _getDefaultExtensions__WEBPACK_IMPORTED_MODULE_6__) if(["default","basicSetup","minimalSetup","useCodeMirror"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _getDefaultExtensions__WEBPACK_IMPORTED_MODULE_6__[__WEBPACK_IMPORT_KEY__]
11940
11959
  /* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
11941
- /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(742);
11960
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(237);
11942
11961
  var _excluded=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"];var ReactCodeMirror=/*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function(props,ref){var className=props.className,_props$value=props.value,value=_props$value===void 0?'':_props$value,selection=props.selection,_props$extensions=props.extensions,extensions=_props$extensions===void 0?[]:_props$extensions,onChange=props.onChange,onStatistics=props.onStatistics,onCreateEditor=props.onCreateEditor,onUpdate=props.onUpdate,autoFocus=props.autoFocus,_props$theme=props.theme,theme=_props$theme===void 0?'light':_props$theme,height=props.height,minHeight=props.minHeight,maxHeight=props.maxHeight,width=props.width,minWidth=props.minWidth,maxWidth=props.maxWidth,basicSetup=props.basicSetup,placeholder=props.placeholder,indentWithTab=props.indentWithTab,editable=props.editable,readOnly=props.readOnly,root=props.root,initialState=props.initialState,other=(0,_home_runner_work_react_codemirror_react_codemirror_node_modules_babel_runtime_helpers_esm_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z)(props,_excluded);var editor=(0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);var _useCodeMirror=(0,_useCodeMirror__WEBPACK_IMPORTED_MODULE_1__/* .useCodeMirror */ .U)({container:editor.current,root:root,value:value,autoFocus:autoFocus,theme:theme,height:height,minHeight:minHeight,maxHeight:maxHeight,width:width,minWidth:minWidth,maxWidth:maxWidth,basicSetup:basicSetup,placeholder:placeholder,indentWithTab:indentWithTab,editable:editable,readOnly:readOnly,selection:selection,onChange:onChange,onStatistics:onStatistics,onCreateEditor:onCreateEditor,onUpdate:onUpdate,extensions:extensions,initialState:initialState}),state=_useCodeMirror.state,view=_useCodeMirror.view,container=_useCodeMirror.container;(0,react__WEBPACK_IMPORTED_MODULE_0__.useImperativeHandle)(ref,function(){return{editor:editor.current,state:state,view:view};},[editor,container,state,view]);// check type of value
11943
11962
  if(typeof value!=='string'){throw new Error("value must be typeof string but got ".concat(typeof value));}var defaultClassNames=typeof theme==='string'?"cm-theme-".concat(theme):'cm-theme';return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div",(0,_home_runner_work_react_codemirror_react_codemirror_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .Z)({ref:editor,className:"".concat(defaultClassNames).concat(className?" ".concat(className):'')},other));});ReactCodeMirror.displayName='CodeMirror';/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ReactCodeMirror);
11944
11963
  })();