roosterjs 9.45.2 → 9.47.0

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.
@@ -3,11 +3,375 @@ var roosterjsAdapter;
3
3
  /******/ "use strict";
4
4
  /******/ var __webpack_modules__ = ({
5
5
 
6
- /***/ "./packages/roosterjs-editor-adapter/lib/corePlugins/BridgePlugin.ts":
6
+ /***/ "./node_modules/tslib/tslib.es6.mjs"
7
+ /*!******************************************!*\
8
+ !*** ./node_modules/tslib/tslib.es6.mjs ***!
9
+ \******************************************/
10
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
11
+
12
+ __webpack_require__.r(__webpack_exports__);
13
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
14
+ /* harmony export */ __assign: () => (/* binding */ __assign),
15
+ /* harmony export */ __asyncDelegator: () => (/* binding */ __asyncDelegator),
16
+ /* harmony export */ __asyncGenerator: () => (/* binding */ __asyncGenerator),
17
+ /* harmony export */ __asyncValues: () => (/* binding */ __asyncValues),
18
+ /* harmony export */ __await: () => (/* binding */ __await),
19
+ /* harmony export */ __awaiter: () => (/* binding */ __awaiter),
20
+ /* harmony export */ __classPrivateFieldGet: () => (/* binding */ __classPrivateFieldGet),
21
+ /* harmony export */ __classPrivateFieldIn: () => (/* binding */ __classPrivateFieldIn),
22
+ /* harmony export */ __classPrivateFieldSet: () => (/* binding */ __classPrivateFieldSet),
23
+ /* harmony export */ __createBinding: () => (/* binding */ __createBinding),
24
+ /* harmony export */ __decorate: () => (/* binding */ __decorate),
25
+ /* harmony export */ __esDecorate: () => (/* binding */ __esDecorate),
26
+ /* harmony export */ __exportStar: () => (/* binding */ __exportStar),
27
+ /* harmony export */ __extends: () => (/* binding */ __extends),
28
+ /* harmony export */ __generator: () => (/* binding */ __generator),
29
+ /* harmony export */ __importDefault: () => (/* binding */ __importDefault),
30
+ /* harmony export */ __importStar: () => (/* binding */ __importStar),
31
+ /* harmony export */ __makeTemplateObject: () => (/* binding */ __makeTemplateObject),
32
+ /* harmony export */ __metadata: () => (/* binding */ __metadata),
33
+ /* harmony export */ __param: () => (/* binding */ __param),
34
+ /* harmony export */ __propKey: () => (/* binding */ __propKey),
35
+ /* harmony export */ __read: () => (/* binding */ __read),
36
+ /* harmony export */ __rest: () => (/* binding */ __rest),
37
+ /* harmony export */ __runInitializers: () => (/* binding */ __runInitializers),
38
+ /* harmony export */ __setFunctionName: () => (/* binding */ __setFunctionName),
39
+ /* harmony export */ __spread: () => (/* binding */ __spread),
40
+ /* harmony export */ __spreadArray: () => (/* binding */ __spreadArray),
41
+ /* harmony export */ __spreadArrays: () => (/* binding */ __spreadArrays),
42
+ /* harmony export */ __values: () => (/* binding */ __values),
43
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
44
+ /* harmony export */ });
45
+ /******************************************************************************
46
+ Copyright (c) Microsoft Corporation.
47
+
48
+ Permission to use, copy, modify, and/or distribute this software for any
49
+ purpose with or without fee is hereby granted.
50
+
51
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
52
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
53
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
54
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
55
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
56
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
57
+ PERFORMANCE OF THIS SOFTWARE.
58
+ ***************************************************************************** */
59
+ /* global Reflect, Promise */
60
+
61
+ var extendStatics = function(d, b) {
62
+ extendStatics = Object.setPrototypeOf ||
63
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
64
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
65
+ return extendStatics(d, b);
66
+ };
67
+
68
+ function __extends(d, b) {
69
+ if (typeof b !== "function" && b !== null)
70
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
71
+ extendStatics(d, b);
72
+ function __() { this.constructor = d; }
73
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
74
+ }
75
+
76
+ var __assign = function() {
77
+ __assign = Object.assign || function __assign(t) {
78
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
79
+ s = arguments[i];
80
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
81
+ }
82
+ return t;
83
+ }
84
+ return __assign.apply(this, arguments);
85
+ }
86
+
87
+ function __rest(s, e) {
88
+ var t = {};
89
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
90
+ t[p] = s[p];
91
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
92
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
93
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
94
+ t[p[i]] = s[p[i]];
95
+ }
96
+ return t;
97
+ }
98
+
99
+ function __decorate(decorators, target, key, desc) {
100
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
101
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
102
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
103
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
104
+ }
105
+
106
+ function __param(paramIndex, decorator) {
107
+ return function (target, key) { decorator(target, key, paramIndex); }
108
+ }
109
+
110
+ function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
111
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
112
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
113
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
114
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
115
+ var _, done = false;
116
+ for (var i = decorators.length - 1; i >= 0; i--) {
117
+ var context = {};
118
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
119
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
120
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
121
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
122
+ if (kind === "accessor") {
123
+ if (result === void 0) continue;
124
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
125
+ if (_ = accept(result.get)) descriptor.get = _;
126
+ if (_ = accept(result.set)) descriptor.set = _;
127
+ if (_ = accept(result.init)) initializers.unshift(_);
128
+ }
129
+ else if (_ = accept(result)) {
130
+ if (kind === "field") initializers.unshift(_);
131
+ else descriptor[key] = _;
132
+ }
133
+ }
134
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
135
+ done = true;
136
+ };
137
+
138
+ function __runInitializers(thisArg, initializers, value) {
139
+ var useValue = arguments.length > 2;
140
+ for (var i = 0; i < initializers.length; i++) {
141
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
142
+ }
143
+ return useValue ? value : void 0;
144
+ };
145
+
146
+ function __propKey(x) {
147
+ return typeof x === "symbol" ? x : "".concat(x);
148
+ };
149
+
150
+ function __setFunctionName(f, name, prefix) {
151
+ if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
152
+ return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
153
+ };
154
+
155
+ function __metadata(metadataKey, metadataValue) {
156
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
157
+ }
158
+
159
+ function __awaiter(thisArg, _arguments, P, generator) {
160
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
161
+ return new (P || (P = Promise))(function (resolve, reject) {
162
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
163
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
164
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
165
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
166
+ });
167
+ }
168
+
169
+ function __generator(thisArg, body) {
170
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
171
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
172
+ function verb(n) { return function (v) { return step([n, v]); }; }
173
+ function step(op) {
174
+ if (f) throw new TypeError("Generator is already executing.");
175
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
176
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
177
+ if (y = 0, t) op = [op[0] & 2, t.value];
178
+ switch (op[0]) {
179
+ case 0: case 1: t = op; break;
180
+ case 4: _.label++; return { value: op[1], done: false };
181
+ case 5: _.label++; y = op[1]; op = [0]; continue;
182
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
183
+ default:
184
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
185
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
186
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
187
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
188
+ if (t[2]) _.ops.pop();
189
+ _.trys.pop(); continue;
190
+ }
191
+ op = body.call(thisArg, _);
192
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
193
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
194
+ }
195
+ }
196
+
197
+ var __createBinding = Object.create ? (function(o, m, k, k2) {
198
+ if (k2 === undefined) k2 = k;
199
+ var desc = Object.getOwnPropertyDescriptor(m, k);
200
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
201
+ desc = { enumerable: true, get: function() { return m[k]; } };
202
+ }
203
+ Object.defineProperty(o, k2, desc);
204
+ }) : (function(o, m, k, k2) {
205
+ if (k2 === undefined) k2 = k;
206
+ o[k2] = m[k];
207
+ });
208
+
209
+ function __exportStar(m, o) {
210
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
211
+ }
212
+
213
+ function __values(o) {
214
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
215
+ if (m) return m.call(o);
216
+ if (o && typeof o.length === "number") return {
217
+ next: function () {
218
+ if (o && i >= o.length) o = void 0;
219
+ return { value: o && o[i++], done: !o };
220
+ }
221
+ };
222
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
223
+ }
224
+
225
+ function __read(o, n) {
226
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
227
+ if (!m) return o;
228
+ var i = m.call(o), r, ar = [], e;
229
+ try {
230
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
231
+ }
232
+ catch (error) { e = { error: error }; }
233
+ finally {
234
+ try {
235
+ if (r && !r.done && (m = i["return"])) m.call(i);
236
+ }
237
+ finally { if (e) throw e.error; }
238
+ }
239
+ return ar;
240
+ }
241
+
242
+ /** @deprecated */
243
+ function __spread() {
244
+ for (var ar = [], i = 0; i < arguments.length; i++)
245
+ ar = ar.concat(__read(arguments[i]));
246
+ return ar;
247
+ }
248
+
249
+ /** @deprecated */
250
+ function __spreadArrays() {
251
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
252
+ for (var r = Array(s), k = 0, i = 0; i < il; i++)
253
+ for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
254
+ r[k] = a[j];
255
+ return r;
256
+ }
257
+
258
+ function __spreadArray(to, from, pack) {
259
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
260
+ if (ar || !(i in from)) {
261
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
262
+ ar[i] = from[i];
263
+ }
264
+ }
265
+ return to.concat(ar || Array.prototype.slice.call(from));
266
+ }
267
+
268
+ function __await(v) {
269
+ return this instanceof __await ? (this.v = v, this) : new __await(v);
270
+ }
271
+
272
+ function __asyncGenerator(thisArg, _arguments, generator) {
273
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
274
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
275
+ return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
276
+ function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
277
+ function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
278
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
279
+ function fulfill(value) { resume("next", value); }
280
+ function reject(value) { resume("throw", value); }
281
+ function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
282
+ }
283
+
284
+ function __asyncDelegator(o) {
285
+ var i, p;
286
+ return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
287
+ function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }
288
+ }
289
+
290
+ function __asyncValues(o) {
291
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
292
+ var m = o[Symbol.asyncIterator], i;
293
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
294
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
295
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
296
+ }
297
+
298
+ function __makeTemplateObject(cooked, raw) {
299
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
300
+ return cooked;
301
+ };
302
+
303
+ var __setModuleDefault = Object.create ? (function(o, v) {
304
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
305
+ }) : function(o, v) {
306
+ o["default"] = v;
307
+ };
308
+
309
+ function __importStar(mod) {
310
+ if (mod && mod.__esModule) return mod;
311
+ var result = {};
312
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
313
+ __setModuleDefault(result, mod);
314
+ return result;
315
+ }
316
+
317
+ function __importDefault(mod) {
318
+ return (mod && mod.__esModule) ? mod : { default: mod };
319
+ }
320
+
321
+ function __classPrivateFieldGet(receiver, state, kind, f) {
322
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
323
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
324
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
325
+ }
326
+
327
+ function __classPrivateFieldSet(receiver, state, value, kind, f) {
328
+ if (kind === "m") throw new TypeError("Private method is not writable");
329
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
330
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
331
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
332
+ }
333
+
334
+ function __classPrivateFieldIn(state, receiver) {
335
+ if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function")) throw new TypeError("Cannot use 'in' operator on non-object");
336
+ return typeof state === "function" ? receiver === state : state.has(receiver);
337
+ }
338
+
339
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
340
+ __extends,
341
+ __assign,
342
+ __rest,
343
+ __decorate,
344
+ __param,
345
+ __metadata,
346
+ __awaiter,
347
+ __generator,
348
+ __createBinding,
349
+ __exportStar,
350
+ __values,
351
+ __read,
352
+ __spread,
353
+ __spreadArrays,
354
+ __spreadArray,
355
+ __await,
356
+ __asyncGenerator,
357
+ __asyncDelegator,
358
+ __asyncValues,
359
+ __makeTemplateObject,
360
+ __importStar,
361
+ __importDefault,
362
+ __classPrivateFieldGet,
363
+ __classPrivateFieldSet,
364
+ __classPrivateFieldIn,
365
+ });
366
+
367
+
368
+ /***/ },
369
+
370
+ /***/ "./packages/roosterjs-editor-adapter/lib/corePlugins/BridgePlugin.ts"
7
371
  /*!***************************************************************************!*\
8
372
  !*** ./packages/roosterjs-editor-adapter/lib/corePlugins/BridgePlugin.ts ***!
9
373
  \***************************************************************************/
10
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
374
+ (__unused_webpack_module, exports, __webpack_require__) {
11
375
 
12
376
 
13
377
  Object.defineProperty(exports, "__esModule", ({ value: true }));
@@ -185,13 +549,13 @@ function isMixedPlugin(plugin) {
185
549
  }
186
550
 
187
551
 
188
- /***/ }),
552
+ /***/ },
189
553
 
190
- /***/ "./packages/roosterjs-editor-adapter/lib/corePlugins/EditPlugin.ts":
554
+ /***/ "./packages/roosterjs-editor-adapter/lib/corePlugins/EditPlugin.ts"
191
555
  /*!*************************************************************************!*\
192
556
  !*** ./packages/roosterjs-editor-adapter/lib/corePlugins/EditPlugin.ts ***!
193
557
  \*************************************************************************/
194
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
558
+ (__unused_webpack_module, exports, __webpack_require__) {
195
559
 
196
560
 
197
561
  Object.defineProperty(exports, "__esModule", ({ value: true }));
@@ -283,13 +647,13 @@ function createEditPlugin() {
283
647
  exports.createEditPlugin = createEditPlugin;
284
648
 
285
649
 
286
- /***/ }),
650
+ /***/ },
287
651
 
288
- /***/ "./packages/roosterjs-editor-adapter/lib/editor/DarkColorHandlerImpl.ts":
652
+ /***/ "./packages/roosterjs-editor-adapter/lib/editor/DarkColorHandlerImpl.ts"
289
653
  /*!******************************************************************************!*\
290
654
  !*** ./packages/roosterjs-editor-adapter/lib/editor/DarkColorHandlerImpl.ts ***!
291
655
  \******************************************************************************/
292
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
656
+ (__unused_webpack_module, exports, __webpack_require__) {
293
657
 
294
658
 
295
659
  Object.defineProperty(exports, "__esModule", ({ value: true }));
@@ -426,13 +790,13 @@ function createDarkColorHandler(innerHandler) {
426
790
  exports.createDarkColorHandler = createDarkColorHandler;
427
791
 
428
792
 
429
- /***/ }),
793
+ /***/ },
430
794
 
431
- /***/ "./packages/roosterjs-editor-adapter/lib/editor/EditorAdapter.ts":
795
+ /***/ "./packages/roosterjs-editor-adapter/lib/editor/EditorAdapter.ts"
432
796
  /*!***********************************************************************!*\
433
797
  !*** ./packages/roosterjs-editor-adapter/lib/editor/EditorAdapter.ts ***!
434
798
  \***********************************************************************/
435
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
799
+ (__unused_webpack_module, exports, __webpack_require__) {
436
800
 
437
801
 
438
802
  var _a;
@@ -1212,7 +1576,9 @@ var EditorAdapter = /** @class */ (function (_super) {
1212
1576
  if (direction === void 0) { direction = 0 /* LightToDark */; }
1213
1577
  var core = this.getCore();
1214
1578
  if (core.lifecycle.isDarkMode) {
1215
- (0, roosterjs_content_model_dom_1.transformColor)(node, true /*includeSelf*/, direction == 1 /* DarkToLight */ ? 'darkToLight' : 'lightToDark', core.darkColorHandler);
1579
+ (0, roosterjs_content_model_dom_1.transformColor)(node, true /*includeSelf*/, direction == 1 /* DarkToLight */ ? 'darkToLight' : 'lightToDark', core.darkColorHandler, {
1580
+ tableBorders: this.isExperimentalFeatureEnabled('TransformTableBorderColors'),
1581
+ }, core.format.defaultFormat.textColor);
1216
1582
  }
1217
1583
  };
1218
1584
  /**
@@ -1288,13 +1654,13 @@ var EditorAdapter = /** @class */ (function (_super) {
1288
1654
  exports.EditorAdapter = EditorAdapter;
1289
1655
 
1290
1656
 
1291
- /***/ }),
1657
+ /***/ },
1292
1658
 
1293
- /***/ "./packages/roosterjs-editor-adapter/lib/editor/IgnoredPluginNames.ts":
1659
+ /***/ "./packages/roosterjs-editor-adapter/lib/editor/IgnoredPluginNames.ts"
1294
1660
  /*!****************************************************************************!*\
1295
1661
  !*** ./packages/roosterjs-editor-adapter/lib/editor/IgnoredPluginNames.ts ***!
1296
1662
  \****************************************************************************/
1297
- /***/ ((__unused_webpack_module, exports) => {
1663
+ (__unused_webpack_module, exports) {
1298
1664
 
1299
1665
 
1300
1666
  Object.defineProperty(exports, "__esModule", ({ value: true }));
@@ -1308,13 +1674,13 @@ exports.IgnoredPluginNames = [
1308
1674
  ];
1309
1675
 
1310
1676
 
1311
- /***/ }),
1677
+ /***/ },
1312
1678
 
1313
- /***/ "./packages/roosterjs-editor-adapter/lib/editor/utils/buildRangeEx.ts":
1679
+ /***/ "./packages/roosterjs-editor-adapter/lib/editor/utils/buildRangeEx.ts"
1314
1680
  /*!****************************************************************************!*\
1315
1681
  !*** ./packages/roosterjs-editor-adapter/lib/editor/utils/buildRangeEx.ts ***!
1316
1682
  \****************************************************************************/
1317
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1683
+ (__unused_webpack_module, exports, __webpack_require__) {
1318
1684
 
1319
1685
 
1320
1686
  Object.defineProperty(exports, "__esModule", ({ value: true }));
@@ -1398,13 +1764,13 @@ function isNodePosition(obj) {
1398
1764
  }
1399
1765
 
1400
1766
 
1401
- /***/ }),
1767
+ /***/ },
1402
1768
 
1403
- /***/ "./packages/roosterjs-editor-adapter/lib/editor/utils/createTableRanges.ts":
1769
+ /***/ "./packages/roosterjs-editor-adapter/lib/editor/utils/createTableRanges.ts"
1404
1770
  /*!*********************************************************************************!*\
1405
1771
  !*** ./packages/roosterjs-editor-adapter/lib/editor/utils/createTableRanges.ts ***!
1406
1772
  \*********************************************************************************/
1407
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1773
+ (__unused_webpack_module, exports, __webpack_require__) {
1408
1774
 
1409
1775
 
1410
1776
  Object.defineProperty(exports, "__esModule", ({ value: true }));
@@ -1436,13 +1802,13 @@ function createTableRanges(selection) {
1436
1802
  exports.createTableRanges = createTableRanges;
1437
1803
 
1438
1804
 
1439
- /***/ }),
1805
+ /***/ },
1440
1806
 
1441
- /***/ "./packages/roosterjs-editor-adapter/lib/editor/utils/eventConverter.ts":
1807
+ /***/ "./packages/roosterjs-editor-adapter/lib/editor/utils/eventConverter.ts"
1442
1808
  /*!******************************************************************************!*\
1443
1809
  !*** ./packages/roosterjs-editor-adapter/lib/editor/utils/eventConverter.ts ***!
1444
1810
  \******************************************************************************/
1445
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1811
+ (__unused_webpack_module, exports, __webpack_require__) {
1446
1812
 
1447
1813
 
1448
1814
  var _a, _b, _c, _d;
@@ -1746,825 +2112,461 @@ function newEventToOldEvent(input, refEvent) {
1746
2112
  eventDataCache: input.eventDataCache,
1747
2113
  rawEvent: input.rawEvent,
1748
2114
  };
1749
- case 'beforePaste':
1750
- var refBeforePasteEvent = (refEvent === null || refEvent === void 0 ? void 0 : refEvent.eventType) == 10 /* BeforePaste */ ? refEvent : undefined;
1751
- var oldBeforePasteEvent = {
1752
- eventType: 10 /* BeforePaste */,
1753
- clipboardData: input.clipboardData,
1754
- eventDataCache: input.eventDataCache,
1755
- fragment: input.fragment,
1756
- htmlAfter: input.htmlAfter,
1757
- htmlAttributes: input.htmlAttributes,
1758
- htmlBefore: input.htmlBefore,
1759
- pasteType: PasteTypeNewToOld[input.pasteType],
1760
- sanitizingOption: (_a = refBeforePasteEvent === null || refBeforePasteEvent === void 0 ? void 0 : refBeforePasteEvent.sanitizingOption) !== null && _a !== void 0 ? _a : (0, roosterjs_editor_dom_1.createDefaultHtmlSanitizerOptions)(),
1761
- domToModelOption: input.domToModelOption,
1762
- customizedMerge: input.customizedMerge,
1763
- };
1764
- return oldBeforePasteEvent;
1765
- case 'beforeSetContent':
1766
- return {
1767
- eventType: 20 /* BeforeSetContent */,
1768
- eventDataCache: input.eventDataCache,
1769
- newContent: input.newContent,
1770
- };
1771
- case 'compositionEnd':
1772
- return {
1773
- eventType: 4 /* CompositionEnd */,
1774
- eventDataCache: input.eventDataCache,
1775
- rawEvent: input.rawEvent,
1776
- };
1777
- case 'contentChanged':
1778
- var entityStates_1 = input.entityStates;
1779
- return {
1780
- eventType: 7 /* ContentChanged */,
1781
- eventDataCache: input.eventDataCache,
1782
- data: input.data,
1783
- source: input.source,
1784
- additionalData: {
1785
- formatApiName: input.formatApiName,
1786
- getAnnounceData: input.announceData
1787
- ? function () { return announceDataNewToOld(input.announceData); }
1788
- : undefined,
1789
- getEntityState: entityStates_1 ? function () { return entityStates_1; } : undefined,
1790
- },
1791
- };
1792
- case 'contextMenu':
1793
- return {
1794
- eventType: 16 /* ContextMenu */,
1795
- eventDataCache: input.eventDataCache,
1796
- rawEvent: input.rawEvent,
1797
- items: input.items,
1798
- };
1799
- case 'editImage':
1800
- return {
1801
- eventType: 19 /* EditImage */,
1802
- eventDataCache: input.eventDataCache,
1803
- image: input.image,
1804
- newSrc: input.newSrc,
1805
- originalSrc: input.originalSrc,
1806
- previousSrc: input.previousSrc,
1807
- };
1808
- case 'editorReady':
1809
- return {
1810
- eventType: 11 /* EditorReady */,
1811
- eventDataCache: input.eventDataCache,
1812
- };
1813
- case 'enteredShadowEdit':
1814
- var refEnteredShadowEditEvent = (refEvent === null || refEvent === void 0 ? void 0 : refEvent.eventType) == 17 /* EnteredShadowEdit */ ? refEvent : undefined;
1815
- return {
1816
- eventType: 17 /* EnteredShadowEdit */,
1817
- eventDataCache: input.eventDataCache,
1818
- fragment: (_b = refEnteredShadowEditEvent === null || refEnteredShadowEditEvent === void 0 ? void 0 : refEnteredShadowEditEvent.fragment) !== null && _b !== void 0 ? _b : document.createDocumentFragment(),
1819
- selectionPath: (_c = refEnteredShadowEditEvent === null || refEnteredShadowEditEvent === void 0 ? void 0 : refEnteredShadowEditEvent.selectionPath) !== null && _c !== void 0 ? _c : {
1820
- end: [],
1821
- start: [],
1822
- },
1823
- };
1824
- case 'entityOperation':
1825
- var oldOperation = EntityOperationNewToOld[input.operation];
1826
- if (oldOperation !== null) {
1827
- return {
1828
- eventType: 15 /* EntityOperation */,
1829
- eventDataCache: input.eventDataCache,
1830
- rawEvent: input.rawEvent,
1831
- entity: input.entity,
1832
- operation: oldOperation,
1833
- shouldPersist: input.shouldPersist,
1834
- state: input.state,
1835
- };
1836
- }
1837
- else {
1838
- return undefined;
1839
- }
1840
- case 'extractContentWithDom':
1841
- return {
1842
- eventType: 8 /* ExtractContentWithDom */,
1843
- eventDataCache: input.eventDataCache,
1844
- clonedRoot: input.clonedRoot,
1845
- };
1846
- case 'input':
1847
- return {
1848
- eventType: 3 /* Input */,
1849
- eventDataCache: input.eventDataCache,
1850
- rawEvent: input.rawEvent,
1851
- };
1852
- case 'keyDown':
1853
- case 'keyPress':
1854
- case 'keyUp':
1855
- return {
1856
- eventType: input.eventType == 'keyDown'
1857
- ? 0 /* KeyDown */
1858
- : input.eventType == 'keyPress'
1859
- ? 1 /* KeyPress */
1860
- : 2 /* KeyUp */,
1861
- eventDataCache: input.eventDataCache,
1862
- rawEvent: input.rawEvent,
1863
- };
1864
- case 'leavingShadowEdit':
1865
- return {
1866
- eventType: 18 /* LeavingShadowEdit */,
1867
- eventDataCache: input.eventDataCache,
1868
- };
1869
- case 'mouseDown':
1870
- return {
1871
- eventType: 5 /* MouseDown */,
1872
- eventDataCache: input.eventDataCache,
1873
- rawEvent: input.rawEvent,
1874
- };
1875
- case 'mouseUp':
1876
- return {
1877
- eventType: 6 /* MouseUp */,
2115
+ case 'beforePaste':
2116
+ var refBeforePasteEvent = (refEvent === null || refEvent === void 0 ? void 0 : refEvent.eventType) == 10 /* BeforePaste */ ? refEvent : undefined;
2117
+ var oldBeforePasteEvent = {
2118
+ eventType: 10 /* BeforePaste */,
2119
+ clipboardData: input.clipboardData,
1878
2120
  eventDataCache: input.eventDataCache,
1879
- rawEvent: input.rawEvent,
1880
- isClicking: input.isClicking,
2121
+ fragment: input.fragment,
2122
+ htmlAfter: input.htmlAfter,
2123
+ htmlAttributes: input.htmlAttributes,
2124
+ htmlBefore: input.htmlBefore,
2125
+ pasteType: PasteTypeNewToOld[input.pasteType],
2126
+ sanitizingOption: (_a = refBeforePasteEvent === null || refBeforePasteEvent === void 0 ? void 0 : refBeforePasteEvent.sanitizingOption) !== null && _a !== void 0 ? _a : (0, roosterjs_editor_dom_1.createDefaultHtmlSanitizerOptions)(),
2127
+ domToModelOption: input.domToModelOption,
2128
+ customizedMerge: input.customizedMerge,
1881
2129
  };
1882
- case 'scroll':
2130
+ return oldBeforePasteEvent;
2131
+ case 'beforeSetContent':
1883
2132
  return {
1884
- eventType: 14 /* Scroll */,
2133
+ eventType: 20 /* BeforeSetContent */,
1885
2134
  eventDataCache: input.eventDataCache,
1886
- rawEvent: input.rawEvent,
1887
- scrollContainer: input.scrollContainer,
2135
+ newContent: input.newContent,
1888
2136
  };
1889
- case 'selectionChanged':
1890
- var refSelectionChangedEvent = (refEvent === null || refEvent === void 0 ? void 0 : refEvent.eventType) == 22 /* SelectionChanged */ ? refEvent : undefined;
2137
+ case 'compositionEnd':
1891
2138
  return {
1892
- eventType: 22 /* SelectionChanged */,
2139
+ eventType: 4 /* CompositionEnd */,
1893
2140
  eventDataCache: input.eventDataCache,
1894
- selectionRangeEx: (_d = refSelectionChangedEvent === null || refSelectionChangedEvent === void 0 ? void 0 : refSelectionChangedEvent.selectionRangeEx) !== null && _d !== void 0 ? _d : (0, selectionConverter_1.convertDomSelectionToRangeEx)(input.newSelection),
2141
+ rawEvent: input.rawEvent,
1895
2142
  };
1896
- case 'zoomChanged':
2143
+ case 'contentChanged':
2144
+ var entityStates_1 = input.entityStates;
1897
2145
  return {
1898
- eventType: 21 /* ZoomChanged */,
2146
+ eventType: 7 /* ContentChanged */,
1899
2147
  eventDataCache: input.eventDataCache,
1900
- newZoomScale: input.newZoomScale,
1901
- oldZoomScale: (refEvent === null || refEvent === void 0 ? void 0 : refEvent.eventType) == 21 /* ZoomChanged */ ? refEvent.oldZoomScale : 1, // In new ZoomChangedEvent we don't really have oldZoomScale. So if we can't get it, just use 1 instead
1902
- };
1903
- default:
1904
- return undefined;
1905
- }
1906
- }
1907
- exports.newEventToOldEvent = newEventToOldEvent;
1908
- function announceDataOldToNew(data) {
1909
- return data
1910
- ? {
1911
- defaultStrings: data.defaultStrings
1912
- ? KnownAnnounceStringsOldToNew[data.defaultStrings]
1913
- : undefined,
1914
- formatStrings: data.formatStrings,
1915
- text: data.text,
1916
- }
1917
- : undefined;
1918
- }
1919
- function announceDataNewToOld(data) {
1920
- if (!data) {
1921
- return undefined;
1922
- }
1923
- var oldDefaultStrings = data.defaultStrings
1924
- ? KnownAnnounceStringsNewToOld[data.defaultStrings]
1925
- : undefined;
1926
- // If the new announce string doesn't exist in the old system (undefined), return undefined for the whole announce data
1927
- // This means formatting announcements won't be available in the legacy editor adapter
1928
- if (data.defaultStrings && oldDefaultStrings === undefined) {
1929
- return undefined;
1930
- }
1931
- return {
1932
- defaultStrings: oldDefaultStrings,
1933
- formatStrings: data.formatStrings,
1934
- text: data.text,
1935
- };
1936
- }
1937
-
1938
-
1939
- /***/ }),
1940
-
1941
- /***/ "./packages/roosterjs-editor-adapter/lib/editor/utils/insertNode.ts":
1942
- /*!**************************************************************************!*\
1943
- !*** ./packages/roosterjs-editor-adapter/lib/editor/utils/insertNode.ts ***!
1944
- \**************************************************************************/
1945
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1946
-
1947
-
1948
- Object.defineProperty(exports, "__esModule", ({ value: true }));
1949
- exports.insertNode = void 0;
1950
- var roosterjs_editor_dom_1 = __webpack_require__(/*! roosterjs-editor-dom */ "roosterjs-editor-dom");
1951
- function getInitialRange(selection, option) {
1952
- // Selection start replaces based on the current selection.
1953
- // Range inserts based on a provided range.
1954
- // Both have the potential to use the current selection to restore cursor position
1955
- // So in both cases we need to store the selection state.
1956
- var range = (selection === null || selection === void 0 ? void 0 : selection.type) == 'range' ? selection.range : null;
1957
- var rangeToRestore = null;
1958
- if (option.position == 5 /* Range */) {
1959
- rangeToRestore = range;
1960
- range = option.range;
1961
- }
1962
- else if (range) {
1963
- rangeToRestore = range.cloneRange();
1964
- }
1965
- return { range: range, rangeToRestore: rangeToRestore };
1966
- }
1967
- /**
1968
- * @internal
1969
- * Insert a DOM node into editor content
1970
- */
1971
- function insertNode(contentDiv, selection, node, option) {
1972
- var _a, _b;
1973
- switch (option.position) {
1974
- case 0 /* Begin */:
1975
- case 1 /* End */: {
1976
- var isBegin = option.position == 0 /* Begin */;
1977
- var block = (0, roosterjs_editor_dom_1.getFirstLastBlockElement)(contentDiv, isBegin);
1978
- var insertedNode_1;
1979
- if (block) {
1980
- var refNode = isBegin ? block.getStartNode() : block.getEndNode();
1981
- if (option.insertOnNewLine ||
1982
- refNode.nodeType == 3 /* Text */ ||
1983
- (0, roosterjs_editor_dom_1.isVoidHtmlElement)(refNode)) {
1984
- // For insert on new line, or refNode is text or void html element (HR, BR etc.)
1985
- // which cannot have children, i.e. <div>hello<br>world</div>. 'hello', 'world' are the
1986
- // first and last node. Insert before 'hello' or after 'world', but still inside DIV
1987
- if ((0, roosterjs_editor_dom_1.safeInstanceOf)(node, 'DocumentFragment')) {
1988
- // if the node to be inserted is DocumentFragment, use its childNodes as insertedNode
1989
- // because insertBefore() returns an empty DocumentFragment
1990
- insertedNode_1 = (0, roosterjs_editor_dom_1.toArray)(node.childNodes);
1991
- (_a = refNode.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(node, isBegin ? refNode : refNode.nextSibling);
1992
- }
1993
- else {
1994
- insertedNode_1 = (_b = refNode.parentNode) === null || _b === void 0 ? void 0 : _b.insertBefore(node, isBegin ? refNode : refNode.nextSibling);
1995
- }
1996
- }
1997
- else {
1998
- // if the refNode can have child, use appendChild (which is like to insert as first/last child)
1999
- // i.e. <div>hello</div>, the content will be inserted before/after hello
2000
- insertedNode_1 = refNode.insertBefore(node, isBegin ? refNode.firstChild : null);
2001
- }
2002
- }
2003
- else {
2004
- // No first block, this can happen when editor is empty. Use appendChild to insert the content in contentDiv
2005
- insertedNode_1 = contentDiv.appendChild(node);
2006
- }
2007
- // Final check to see if the inserted node is a block. If not block and the ask is to insert on new line,
2008
- // add a DIV wrapping
2009
- if (insertedNode_1 && option.insertOnNewLine) {
2010
- var nodes = Array.isArray(insertedNode_1) ? insertedNode_1 : [insertedNode_1];
2011
- if (!(0, roosterjs_editor_dom_1.isBlockElement)(nodes[0]) || !(0, roosterjs_editor_dom_1.isBlockElement)(nodes[nodes.length - 1])) {
2012
- (0, roosterjs_editor_dom_1.wrap)(nodes);
2013
- }
2014
- }
2015
- break;
2016
- }
2017
- case 2 /* DomEnd */:
2018
- // Use appendChild to insert the node at the end of the content div.
2019
- var insertedNode = contentDiv.appendChild(node);
2020
- // Final check to see if the inserted node is a block. If not block and the ask is to insert on new line,
2021
- // add a DIV wrapping
2022
- if (insertedNode && option.insertOnNewLine && !(0, roosterjs_editor_dom_1.isBlockElement)(insertedNode)) {
2023
- (0, roosterjs_editor_dom_1.wrap)(insertedNode);
2024
- }
2025
- break;
2026
- case 5 /* Range */:
2027
- case 3 /* SelectionStart */:
2028
- var _c = getInitialRange(selection, option), range = _c.range, rangeToRestore = _c.rangeToRestore;
2029
- if (!range) {
2030
- break;
2031
- }
2032
- // if to replace the selection and the selection is not collapsed, remove the the content at selection first
2033
- if (option.replaceSelection && !range.collapsed) {
2034
- range.deleteContents();
2035
- }
2036
- var pos = roosterjs_editor_dom_1.Position.getStart(range);
2037
- var blockElement = void 0;
2038
- if (option.insertOnNewLine && option.insertToRegionRoot) {
2039
- pos = adjustInsertPositionRegionRoot(contentDiv, range, pos);
2040
- }
2041
- else if (option.insertOnNewLine &&
2042
- (blockElement = (0, roosterjs_editor_dom_1.getBlockElementAtNode)(contentDiv, pos.normalize().node))) {
2043
- pos = adjustInsertPositionNewLine(blockElement, contentDiv, pos);
2044
- }
2045
- else {
2046
- pos = (0, roosterjs_editor_dom_1.adjustInsertPosition)(contentDiv, node, pos, range);
2047
- }
2048
- var nodeForCursor = node.nodeType == 11 /* DocumentFragment */ ? node.lastChild : node;
2049
- range = (0, roosterjs_editor_dom_1.createRange)(pos);
2050
- range.insertNode(node);
2051
- if (option.updateCursor && nodeForCursor) {
2052
- rangeToRestore = (0, roosterjs_editor_dom_1.createRange)(new roosterjs_editor_dom_1.Position(nodeForCursor, -3 /* After */).normalize());
2053
- }
2054
- return rangeToRestore
2055
- ? {
2056
- type: 'range',
2057
- range: rangeToRestore,
2058
- isReverted: false,
2059
- }
2060
- : undefined;
2061
- }
2062
- }
2063
- exports.insertNode = insertNode;
2064
- function adjustInsertPositionRegionRoot(contentDiv, range, position) {
2065
- var region = (0, roosterjs_editor_dom_1.getRegionsFromRange)(contentDiv, range, 0 /* Table */)[0];
2066
- var node = position.node;
2067
- if (region) {
2068
- if (node.nodeType == 3 /* Text */ && !position.isAtEnd) {
2069
- node = (0, roosterjs_editor_dom_1.splitTextNode)(node, position.offset, true /*returnFirstPart*/);
2070
- }
2071
- if (node != region.rootNode) {
2072
- while (node && node.parentNode != region.rootNode) {
2073
- (0, roosterjs_editor_dom_1.splitParentNode)(node, false /*splitBefore*/);
2074
- node = node.parentNode;
2075
- }
2076
- }
2077
- if (node) {
2078
- position = new roosterjs_editor_dom_1.Position(node, -3 /* After */);
2079
- }
2080
- }
2081
- return position;
2082
- }
2083
- function adjustInsertPositionNewLine(blockElement, contentDiv, pos) {
2084
- var tempPos = new roosterjs_editor_dom_1.Position(blockElement.getEndNode(), -3 /* After */);
2085
- if ((0, roosterjs_editor_dom_1.safeInstanceOf)(tempPos.node, 'HTMLTableRowElement')) {
2086
- var div = contentDiv.ownerDocument.createElement('div');
2087
- var range = (0, roosterjs_editor_dom_1.createRange)(pos);
2088
- range.insertNode(div);
2089
- tempPos = new roosterjs_editor_dom_1.Position(div, 0 /* Begin */);
2090
- }
2091
- return tempPos;
2092
- }
2093
-
2094
-
2095
- /***/ }),
2096
-
2097
- /***/ "./packages/roosterjs-editor-adapter/lib/editor/utils/selectionConverter.ts":
2098
- /*!**********************************************************************************!*\
2099
- !*** ./packages/roosterjs-editor-adapter/lib/editor/utils/selectionConverter.ts ***!
2100
- \**********************************************************************************/
2101
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2102
-
2103
-
2104
- Object.defineProperty(exports, "__esModule", ({ value: true }));
2105
- exports.convertDomSelectionToRangeEx = exports.convertRangeExToDomSelection = void 0;
2106
- var roosterjs_editor_dom_1 = __webpack_require__(/*! roosterjs-editor-dom */ "roosterjs-editor-dom");
2107
- var createTableRanges_1 = __webpack_require__(/*! ./createTableRanges */ "./packages/roosterjs-editor-adapter/lib/editor/utils/createTableRanges.ts");
2108
- // In theory, all functions below are not necessary. We keep these functions here only for compatibility with old IEditor interface
2109
- /**
2110
- * @internal
2111
- */
2112
- function convertRangeExToDomSelection(rangeEx) {
2113
- switch (rangeEx === null || rangeEx === void 0 ? void 0 : rangeEx.type) {
2114
- case 2 /* ImageSelection */:
2148
+ data: input.data,
2149
+ source: input.source,
2150
+ additionalData: {
2151
+ formatApiName: input.formatApiName,
2152
+ getAnnounceData: input.announceData
2153
+ ? function () { return announceDataNewToOld(input.announceData); }
2154
+ : undefined,
2155
+ getEntityState: entityStates_1 ? function () { return entityStates_1; } : undefined,
2156
+ },
2157
+ };
2158
+ case 'contextMenu':
2115
2159
  return {
2116
- type: 'image',
2117
- image: rangeEx.image,
2160
+ eventType: 16 /* ContextMenu */,
2161
+ eventDataCache: input.eventDataCache,
2162
+ rawEvent: input.rawEvent,
2163
+ items: input.items,
2118
2164
  };
2119
- case 0 /* Normal */:
2120
- return rangeEx.ranges.length > 0
2121
- ? {
2122
- type: 'range',
2123
- range: rangeEx.ranges[0],
2124
- isReverted: false,
2125
- }
2126
- : null;
2127
- case 1 /* TableSelection */:
2128
- return rangeEx.coordinates
2129
- ? {
2130
- type: 'table',
2131
- table: rangeEx.table,
2132
- firstColumn: rangeEx.coordinates.firstCell.x,
2133
- firstRow: rangeEx.coordinates.firstCell.y,
2134
- lastColumn: rangeEx.coordinates.lastCell.x,
2135
- lastRow: rangeEx.coordinates.lastCell.y,
2136
- }
2137
- : null;
2138
- default:
2139
- return null;
2140
- }
2141
- }
2142
- exports.convertRangeExToDomSelection = convertRangeExToDomSelection;
2143
- /**
2144
- * @internal
2145
- */
2146
- function convertDomSelectionToRangeEx(selection) {
2147
- switch (selection === null || selection === void 0 ? void 0 : selection.type) {
2148
- case 'image':
2165
+ case 'editImage':
2149
2166
  return {
2150
- type: 2 /* ImageSelection */,
2151
- image: selection.image,
2152
- areAllCollapsed: false,
2153
- ranges: [(0, roosterjs_editor_dom_1.createRange)(selection.image)],
2167
+ eventType: 19 /* EditImage */,
2168
+ eventDataCache: input.eventDataCache,
2169
+ image: input.image,
2170
+ newSrc: input.newSrc,
2171
+ originalSrc: input.originalSrc,
2172
+ previousSrc: input.previousSrc,
2154
2173
  };
2155
- case 'range':
2174
+ case 'editorReady':
2156
2175
  return {
2157
- type: 0 /* Normal */,
2158
- ranges: [selection.range],
2159
- areAllCollapsed: selection.range.collapsed,
2176
+ eventType: 11 /* EditorReady */,
2177
+ eventDataCache: input.eventDataCache,
2160
2178
  };
2161
- case 'table':
2179
+ case 'enteredShadowEdit':
2180
+ var refEnteredShadowEditEvent = (refEvent === null || refEvent === void 0 ? void 0 : refEvent.eventType) == 17 /* EnteredShadowEdit */ ? refEvent : undefined;
2162
2181
  return {
2163
- type: 1 /* TableSelection */,
2164
- ranges: (0, createTableRanges_1.createTableRanges)(selection),
2165
- areAllCollapsed: false,
2166
- table: selection.table,
2167
- coordinates: {
2168
- firstCell: { x: selection.firstColumn, y: selection.firstRow },
2169
- lastCell: { x: selection.lastColumn, y: selection.lastRow },
2182
+ eventType: 17 /* EnteredShadowEdit */,
2183
+ eventDataCache: input.eventDataCache,
2184
+ fragment: (_b = refEnteredShadowEditEvent === null || refEnteredShadowEditEvent === void 0 ? void 0 : refEnteredShadowEditEvent.fragment) !== null && _b !== void 0 ? _b : document.createDocumentFragment(),
2185
+ selectionPath: (_c = refEnteredShadowEditEvent === null || refEnteredShadowEditEvent === void 0 ? void 0 : refEnteredShadowEditEvent.selectionPath) !== null && _c !== void 0 ? _c : {
2186
+ end: [],
2187
+ start: [],
2170
2188
  },
2171
2189
  };
2172
- default:
2190
+ case 'entityOperation':
2191
+ var oldOperation = EntityOperationNewToOld[input.operation];
2192
+ if (oldOperation !== null) {
2193
+ return {
2194
+ eventType: 15 /* EntityOperation */,
2195
+ eventDataCache: input.eventDataCache,
2196
+ rawEvent: input.rawEvent,
2197
+ entity: input.entity,
2198
+ operation: oldOperation,
2199
+ shouldPersist: input.shouldPersist,
2200
+ state: input.state,
2201
+ };
2202
+ }
2203
+ else {
2204
+ return undefined;
2205
+ }
2206
+ case 'extractContentWithDom':
2173
2207
  return {
2174
- type: 0 /* Normal */,
2175
- ranges: [],
2176
- areAllCollapsed: true,
2208
+ eventType: 8 /* ExtractContentWithDom */,
2209
+ eventDataCache: input.eventDataCache,
2210
+ clonedRoot: input.clonedRoot,
2177
2211
  };
2178
- }
2179
- }
2180
- exports.convertDomSelectionToRangeEx = convertDomSelectionToRangeEx;
2181
-
2182
-
2183
- /***/ }),
2184
-
2185
- /***/ "roosterjs-content-model-dom":
2186
- /*!****************************!*\
2187
- !*** external "roosterjs" ***!
2188
- \****************************/
2189
- /***/ ((module) => {
2190
-
2191
- module.exports = roosterjs;
2192
-
2193
- /***/ }),
2194
-
2195
- /***/ "roosterjs-editor-dom":
2196
- /*!**********************************!*\
2197
- !*** external "roosterjsLegacy" ***!
2198
- \**********************************/
2199
- /***/ ((module) => {
2200
-
2201
- module.exports = roosterjsLegacy;
2202
-
2203
- /***/ }),
2204
-
2205
- /***/ "./node_modules/tslib/tslib.es6.mjs":
2206
- /*!******************************************!*\
2207
- !*** ./node_modules/tslib/tslib.es6.mjs ***!
2208
- \******************************************/
2209
- /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2210
-
2211
- __webpack_require__.r(__webpack_exports__);
2212
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2213
- /* harmony export */ __assign: () => (/* binding */ __assign),
2214
- /* harmony export */ __asyncDelegator: () => (/* binding */ __asyncDelegator),
2215
- /* harmony export */ __asyncGenerator: () => (/* binding */ __asyncGenerator),
2216
- /* harmony export */ __asyncValues: () => (/* binding */ __asyncValues),
2217
- /* harmony export */ __await: () => (/* binding */ __await),
2218
- /* harmony export */ __awaiter: () => (/* binding */ __awaiter),
2219
- /* harmony export */ __classPrivateFieldGet: () => (/* binding */ __classPrivateFieldGet),
2220
- /* harmony export */ __classPrivateFieldIn: () => (/* binding */ __classPrivateFieldIn),
2221
- /* harmony export */ __classPrivateFieldSet: () => (/* binding */ __classPrivateFieldSet),
2222
- /* harmony export */ __createBinding: () => (/* binding */ __createBinding),
2223
- /* harmony export */ __decorate: () => (/* binding */ __decorate),
2224
- /* harmony export */ __esDecorate: () => (/* binding */ __esDecorate),
2225
- /* harmony export */ __exportStar: () => (/* binding */ __exportStar),
2226
- /* harmony export */ __extends: () => (/* binding */ __extends),
2227
- /* harmony export */ __generator: () => (/* binding */ __generator),
2228
- /* harmony export */ __importDefault: () => (/* binding */ __importDefault),
2229
- /* harmony export */ __importStar: () => (/* binding */ __importStar),
2230
- /* harmony export */ __makeTemplateObject: () => (/* binding */ __makeTemplateObject),
2231
- /* harmony export */ __metadata: () => (/* binding */ __metadata),
2232
- /* harmony export */ __param: () => (/* binding */ __param),
2233
- /* harmony export */ __propKey: () => (/* binding */ __propKey),
2234
- /* harmony export */ __read: () => (/* binding */ __read),
2235
- /* harmony export */ __rest: () => (/* binding */ __rest),
2236
- /* harmony export */ __runInitializers: () => (/* binding */ __runInitializers),
2237
- /* harmony export */ __setFunctionName: () => (/* binding */ __setFunctionName),
2238
- /* harmony export */ __spread: () => (/* binding */ __spread),
2239
- /* harmony export */ __spreadArray: () => (/* binding */ __spreadArray),
2240
- /* harmony export */ __spreadArrays: () => (/* binding */ __spreadArrays),
2241
- /* harmony export */ __values: () => (/* binding */ __values),
2242
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
2243
- /* harmony export */ });
2244
- /******************************************************************************
2245
- Copyright (c) Microsoft Corporation.
2246
-
2247
- Permission to use, copy, modify, and/or distribute this software for any
2248
- purpose with or without fee is hereby granted.
2249
-
2250
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
2251
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
2252
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
2253
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
2254
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
2255
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
2256
- PERFORMANCE OF THIS SOFTWARE.
2257
- ***************************************************************************** */
2258
- /* global Reflect, Promise */
2259
-
2260
- var extendStatics = function(d, b) {
2261
- extendStatics = Object.setPrototypeOf ||
2262
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
2263
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
2264
- return extendStatics(d, b);
2265
- };
2266
-
2267
- function __extends(d, b) {
2268
- if (typeof b !== "function" && b !== null)
2269
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
2270
- extendStatics(d, b);
2271
- function __() { this.constructor = d; }
2272
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
2273
- }
2274
-
2275
- var __assign = function() {
2276
- __assign = Object.assign || function __assign(t) {
2277
- for (var s, i = 1, n = arguments.length; i < n; i++) {
2278
- s = arguments[i];
2279
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
2280
- }
2281
- return t;
2282
- }
2283
- return __assign.apply(this, arguments);
2284
- }
2285
-
2286
- function __rest(s, e) {
2287
- var t = {};
2288
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
2289
- t[p] = s[p];
2290
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
2291
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
2292
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
2293
- t[p[i]] = s[p[i]];
2294
- }
2295
- return t;
2212
+ case 'input':
2213
+ return {
2214
+ eventType: 3 /* Input */,
2215
+ eventDataCache: input.eventDataCache,
2216
+ rawEvent: input.rawEvent,
2217
+ };
2218
+ case 'keyDown':
2219
+ case 'keyPress':
2220
+ case 'keyUp':
2221
+ return {
2222
+ eventType: input.eventType == 'keyDown'
2223
+ ? 0 /* KeyDown */
2224
+ : input.eventType == 'keyPress'
2225
+ ? 1 /* KeyPress */
2226
+ : 2 /* KeyUp */,
2227
+ eventDataCache: input.eventDataCache,
2228
+ rawEvent: input.rawEvent,
2229
+ };
2230
+ case 'leavingShadowEdit':
2231
+ return {
2232
+ eventType: 18 /* LeavingShadowEdit */,
2233
+ eventDataCache: input.eventDataCache,
2234
+ };
2235
+ case 'mouseDown':
2236
+ return {
2237
+ eventType: 5 /* MouseDown */,
2238
+ eventDataCache: input.eventDataCache,
2239
+ rawEvent: input.rawEvent,
2240
+ };
2241
+ case 'mouseUp':
2242
+ return {
2243
+ eventType: 6 /* MouseUp */,
2244
+ eventDataCache: input.eventDataCache,
2245
+ rawEvent: input.rawEvent,
2246
+ isClicking: input.isClicking,
2247
+ };
2248
+ case 'scroll':
2249
+ return {
2250
+ eventType: 14 /* Scroll */,
2251
+ eventDataCache: input.eventDataCache,
2252
+ rawEvent: input.rawEvent,
2253
+ scrollContainer: input.scrollContainer,
2254
+ };
2255
+ case 'selectionChanged':
2256
+ var refSelectionChangedEvent = (refEvent === null || refEvent === void 0 ? void 0 : refEvent.eventType) == 22 /* SelectionChanged */ ? refEvent : undefined;
2257
+ return {
2258
+ eventType: 22 /* SelectionChanged */,
2259
+ eventDataCache: input.eventDataCache,
2260
+ selectionRangeEx: (_d = refSelectionChangedEvent === null || refSelectionChangedEvent === void 0 ? void 0 : refSelectionChangedEvent.selectionRangeEx) !== null && _d !== void 0 ? _d : (0, selectionConverter_1.convertDomSelectionToRangeEx)(input.newSelection),
2261
+ };
2262
+ case 'zoomChanged':
2263
+ return {
2264
+ eventType: 21 /* ZoomChanged */,
2265
+ eventDataCache: input.eventDataCache,
2266
+ newZoomScale: input.newZoomScale,
2267
+ oldZoomScale: (refEvent === null || refEvent === void 0 ? void 0 : refEvent.eventType) == 21 /* ZoomChanged */ ? refEvent.oldZoomScale : 1, // In new ZoomChangedEvent we don't really have oldZoomScale. So if we can't get it, just use 1 instead
2268
+ };
2269
+ default:
2270
+ return undefined;
2271
+ }
2296
2272
  }
2297
-
2298
- function __decorate(decorators, target, key, desc) {
2299
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2300
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2301
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2302
- return c > 3 && r && Object.defineProperty(target, key, r), r;
2273
+ exports.newEventToOldEvent = newEventToOldEvent;
2274
+ function announceDataOldToNew(data) {
2275
+ return data
2276
+ ? {
2277
+ defaultStrings: data.defaultStrings
2278
+ ? KnownAnnounceStringsOldToNew[data.defaultStrings]
2279
+ : undefined,
2280
+ formatStrings: data.formatStrings,
2281
+ text: data.text,
2282
+ }
2283
+ : undefined;
2303
2284
  }
2304
-
2305
- function __param(paramIndex, decorator) {
2306
- return function (target, key) { decorator(target, key, paramIndex); }
2285
+ function announceDataNewToOld(data) {
2286
+ if (!data) {
2287
+ return undefined;
2288
+ }
2289
+ var oldDefaultStrings = data.defaultStrings
2290
+ ? KnownAnnounceStringsNewToOld[data.defaultStrings]
2291
+ : undefined;
2292
+ // If the new announce string doesn't exist in the old system (undefined), return undefined for the whole announce data
2293
+ // This means formatting announcements won't be available in the legacy editor adapter
2294
+ if (data.defaultStrings && oldDefaultStrings === undefined) {
2295
+ return undefined;
2296
+ }
2297
+ return {
2298
+ defaultStrings: oldDefaultStrings,
2299
+ formatStrings: data.formatStrings,
2300
+ text: data.text,
2301
+ };
2307
2302
  }
2308
2303
 
2309
- function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
2310
- function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
2311
- var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
2312
- var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
2313
- var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
2314
- var _, done = false;
2315
- for (var i = decorators.length - 1; i >= 0; i--) {
2316
- var context = {};
2317
- for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
2318
- for (var p in contextIn.access) context.access[p] = contextIn.access[p];
2319
- context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
2320
- var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
2321
- if (kind === "accessor") {
2322
- if (result === void 0) continue;
2323
- if (result === null || typeof result !== "object") throw new TypeError("Object expected");
2324
- if (_ = accept(result.get)) descriptor.get = _;
2325
- if (_ = accept(result.set)) descriptor.set = _;
2326
- if (_ = accept(result.init)) initializers.unshift(_);
2327
- }
2328
- else if (_ = accept(result)) {
2329
- if (kind === "field") initializers.unshift(_);
2330
- else descriptor[key] = _;
2331
- }
2332
- }
2333
- if (target) Object.defineProperty(target, contextIn.name, descriptor);
2334
- done = true;
2335
- };
2336
-
2337
- function __runInitializers(thisArg, initializers, value) {
2338
- var useValue = arguments.length > 2;
2339
- for (var i = 0; i < initializers.length; i++) {
2340
- value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
2341
- }
2342
- return useValue ? value : void 0;
2343
- };
2344
-
2345
- function __propKey(x) {
2346
- return typeof x === "symbol" ? x : "".concat(x);
2347
- };
2348
-
2349
- function __setFunctionName(f, name, prefix) {
2350
- if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
2351
- return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
2352
- };
2353
-
2354
- function __metadata(metadataKey, metadataValue) {
2355
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
2356
- }
2357
2304
 
2358
- function __awaiter(thisArg, _arguments, P, generator) {
2359
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2360
- return new (P || (P = Promise))(function (resolve, reject) {
2361
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
2362
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
2363
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
2364
- step((generator = generator.apply(thisArg, _arguments || [])).next());
2365
- });
2366
- }
2305
+ /***/ },
2367
2306
 
2368
- function __generator(thisArg, body) {
2369
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
2370
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
2371
- function verb(n) { return function (v) { return step([n, v]); }; }
2372
- function step(op) {
2373
- if (f) throw new TypeError("Generator is already executing.");
2374
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
2375
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
2376
- if (y = 0, t) op = [op[0] & 2, t.value];
2377
- switch (op[0]) {
2378
- case 0: case 1: t = op; break;
2379
- case 4: _.label++; return { value: op[1], done: false };
2380
- case 5: _.label++; y = op[1]; op = [0]; continue;
2381
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
2382
- default:
2383
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
2384
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
2385
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
2386
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
2387
- if (t[2]) _.ops.pop();
2388
- _.trys.pop(); continue;
2389
- }
2390
- op = body.call(thisArg, _);
2391
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
2392
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
2393
- }
2394
- }
2307
+ /***/ "./packages/roosterjs-editor-adapter/lib/editor/utils/insertNode.ts"
2308
+ /*!**************************************************************************!*\
2309
+ !*** ./packages/roosterjs-editor-adapter/lib/editor/utils/insertNode.ts ***!
2310
+ \**************************************************************************/
2311
+ (__unused_webpack_module, exports, __webpack_require__) {
2395
2312
 
2396
- var __createBinding = Object.create ? (function(o, m, k, k2) {
2397
- if (k2 === undefined) k2 = k;
2398
- var desc = Object.getOwnPropertyDescriptor(m, k);
2399
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
2400
- desc = { enumerable: true, get: function() { return m[k]; } };
2401
- }
2402
- Object.defineProperty(o, k2, desc);
2403
- }) : (function(o, m, k, k2) {
2404
- if (k2 === undefined) k2 = k;
2405
- o[k2] = m[k];
2406
- });
2407
2313
 
2408
- function __exportStar(m, o) {
2409
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
2314
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2315
+ exports.insertNode = void 0;
2316
+ var roosterjs_editor_dom_1 = __webpack_require__(/*! roosterjs-editor-dom */ "roosterjs-editor-dom");
2317
+ function getInitialRange(selection, option) {
2318
+ // Selection start replaces based on the current selection.
2319
+ // Range inserts based on a provided range.
2320
+ // Both have the potential to use the current selection to restore cursor position
2321
+ // So in both cases we need to store the selection state.
2322
+ var range = (selection === null || selection === void 0 ? void 0 : selection.type) == 'range' ? selection.range : null;
2323
+ var rangeToRestore = null;
2324
+ if (option.position == 5 /* Range */) {
2325
+ rangeToRestore = range;
2326
+ range = option.range;
2327
+ }
2328
+ else if (range) {
2329
+ rangeToRestore = range.cloneRange();
2330
+ }
2331
+ return { range: range, rangeToRestore: rangeToRestore };
2410
2332
  }
2411
-
2412
- function __values(o) {
2413
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
2414
- if (m) return m.call(o);
2415
- if (o && typeof o.length === "number") return {
2416
- next: function () {
2417
- if (o && i >= o.length) o = void 0;
2418
- return { value: o && o[i++], done: !o };
2419
- }
2420
- };
2421
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
2333
+ /**
2334
+ * @internal
2335
+ * Insert a DOM node into editor content
2336
+ */
2337
+ function insertNode(contentDiv, selection, node, option) {
2338
+ var _a, _b;
2339
+ switch (option.position) {
2340
+ case 0 /* Begin */:
2341
+ case 1 /* End */: {
2342
+ var isBegin = option.position == 0 /* Begin */;
2343
+ var block = (0, roosterjs_editor_dom_1.getFirstLastBlockElement)(contentDiv, isBegin);
2344
+ var insertedNode_1;
2345
+ if (block) {
2346
+ var refNode = isBegin ? block.getStartNode() : block.getEndNode();
2347
+ if (option.insertOnNewLine ||
2348
+ refNode.nodeType == 3 /* Text */ ||
2349
+ (0, roosterjs_editor_dom_1.isVoidHtmlElement)(refNode)) {
2350
+ // For insert on new line, or refNode is text or void html element (HR, BR etc.)
2351
+ // which cannot have children, i.e. <div>hello<br>world</div>. 'hello', 'world' are the
2352
+ // first and last node. Insert before 'hello' or after 'world', but still inside DIV
2353
+ if ((0, roosterjs_editor_dom_1.safeInstanceOf)(node, 'DocumentFragment')) {
2354
+ // if the node to be inserted is DocumentFragment, use its childNodes as insertedNode
2355
+ // because insertBefore() returns an empty DocumentFragment
2356
+ insertedNode_1 = (0, roosterjs_editor_dom_1.toArray)(node.childNodes);
2357
+ (_a = refNode.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(node, isBegin ? refNode : refNode.nextSibling);
2358
+ }
2359
+ else {
2360
+ insertedNode_1 = (_b = refNode.parentNode) === null || _b === void 0 ? void 0 : _b.insertBefore(node, isBegin ? refNode : refNode.nextSibling);
2361
+ }
2362
+ }
2363
+ else {
2364
+ // if the refNode can have child, use appendChild (which is like to insert as first/last child)
2365
+ // i.e. <div>hello</div>, the content will be inserted before/after hello
2366
+ insertedNode_1 = refNode.insertBefore(node, isBegin ? refNode.firstChild : null);
2367
+ }
2368
+ }
2369
+ else {
2370
+ // No first block, this can happen when editor is empty. Use appendChild to insert the content in contentDiv
2371
+ insertedNode_1 = contentDiv.appendChild(node);
2372
+ }
2373
+ // Final check to see if the inserted node is a block. If not block and the ask is to insert on new line,
2374
+ // add a DIV wrapping
2375
+ if (insertedNode_1 && option.insertOnNewLine) {
2376
+ var nodes = Array.isArray(insertedNode_1) ? insertedNode_1 : [insertedNode_1];
2377
+ if (!(0, roosterjs_editor_dom_1.isBlockElement)(nodes[0]) || !(0, roosterjs_editor_dom_1.isBlockElement)(nodes[nodes.length - 1])) {
2378
+ (0, roosterjs_editor_dom_1.wrap)(nodes);
2379
+ }
2380
+ }
2381
+ break;
2382
+ }
2383
+ case 2 /* DomEnd */:
2384
+ // Use appendChild to insert the node at the end of the content div.
2385
+ var insertedNode = contentDiv.appendChild(node);
2386
+ // Final check to see if the inserted node is a block. If not block and the ask is to insert on new line,
2387
+ // add a DIV wrapping
2388
+ if (insertedNode && option.insertOnNewLine && !(0, roosterjs_editor_dom_1.isBlockElement)(insertedNode)) {
2389
+ (0, roosterjs_editor_dom_1.wrap)(insertedNode);
2390
+ }
2391
+ break;
2392
+ case 5 /* Range */:
2393
+ case 3 /* SelectionStart */:
2394
+ var _c = getInitialRange(selection, option), range = _c.range, rangeToRestore = _c.rangeToRestore;
2395
+ if (!range) {
2396
+ break;
2397
+ }
2398
+ // if to replace the selection and the selection is not collapsed, remove the the content at selection first
2399
+ if (option.replaceSelection && !range.collapsed) {
2400
+ range.deleteContents();
2401
+ }
2402
+ var pos = roosterjs_editor_dom_1.Position.getStart(range);
2403
+ var blockElement = void 0;
2404
+ if (option.insertOnNewLine && option.insertToRegionRoot) {
2405
+ pos = adjustInsertPositionRegionRoot(contentDiv, range, pos);
2406
+ }
2407
+ else if (option.insertOnNewLine &&
2408
+ (blockElement = (0, roosterjs_editor_dom_1.getBlockElementAtNode)(contentDiv, pos.normalize().node))) {
2409
+ pos = adjustInsertPositionNewLine(blockElement, contentDiv, pos);
2410
+ }
2411
+ else {
2412
+ pos = (0, roosterjs_editor_dom_1.adjustInsertPosition)(contentDiv, node, pos, range);
2413
+ }
2414
+ var nodeForCursor = node.nodeType == 11 /* DocumentFragment */ ? node.lastChild : node;
2415
+ range = (0, roosterjs_editor_dom_1.createRange)(pos);
2416
+ range.insertNode(node);
2417
+ if (option.updateCursor && nodeForCursor) {
2418
+ rangeToRestore = (0, roosterjs_editor_dom_1.createRange)(new roosterjs_editor_dom_1.Position(nodeForCursor, -3 /* After */).normalize());
2419
+ }
2420
+ return rangeToRestore
2421
+ ? {
2422
+ type: 'range',
2423
+ range: rangeToRestore,
2424
+ isReverted: false,
2425
+ }
2426
+ : undefined;
2427
+ }
2422
2428
  }
2423
-
2424
- function __read(o, n) {
2425
- var m = typeof Symbol === "function" && o[Symbol.iterator];
2426
- if (!m) return o;
2427
- var i = m.call(o), r, ar = [], e;
2428
- try {
2429
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
2430
- }
2431
- catch (error) { e = { error: error }; }
2432
- finally {
2433
- try {
2434
- if (r && !r.done && (m = i["return"])) m.call(i);
2435
- }
2436
- finally { if (e) throw e.error; }
2437
- }
2438
- return ar;
2429
+ exports.insertNode = insertNode;
2430
+ function adjustInsertPositionRegionRoot(contentDiv, range, position) {
2431
+ var region = (0, roosterjs_editor_dom_1.getRegionsFromRange)(contentDiv, range, 0 /* Table */)[0];
2432
+ var node = position.node;
2433
+ if (region) {
2434
+ if (node.nodeType == 3 /* Text */ && !position.isAtEnd) {
2435
+ node = (0, roosterjs_editor_dom_1.splitTextNode)(node, position.offset, true /*returnFirstPart*/);
2436
+ }
2437
+ if (node != region.rootNode) {
2438
+ while (node && node.parentNode != region.rootNode) {
2439
+ (0, roosterjs_editor_dom_1.splitParentNode)(node, false /*splitBefore*/);
2440
+ node = node.parentNode;
2441
+ }
2442
+ }
2443
+ if (node) {
2444
+ position = new roosterjs_editor_dom_1.Position(node, -3 /* After */);
2445
+ }
2446
+ }
2447
+ return position;
2439
2448
  }
2440
-
2441
- /** @deprecated */
2442
- function __spread() {
2443
- for (var ar = [], i = 0; i < arguments.length; i++)
2444
- ar = ar.concat(__read(arguments[i]));
2445
- return ar;
2449
+ function adjustInsertPositionNewLine(blockElement, contentDiv, pos) {
2450
+ var tempPos = new roosterjs_editor_dom_1.Position(blockElement.getEndNode(), -3 /* After */);
2451
+ if ((0, roosterjs_editor_dom_1.safeInstanceOf)(tempPos.node, 'HTMLTableRowElement')) {
2452
+ var div = contentDiv.ownerDocument.createElement('div');
2453
+ var range = (0, roosterjs_editor_dom_1.createRange)(pos);
2454
+ range.insertNode(div);
2455
+ tempPos = new roosterjs_editor_dom_1.Position(div, 0 /* Begin */);
2456
+ }
2457
+ return tempPos;
2446
2458
  }
2447
2459
 
2448
- /** @deprecated */
2449
- function __spreadArrays() {
2450
- for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
2451
- for (var r = Array(s), k = 0, i = 0; i < il; i++)
2452
- for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
2453
- r[k] = a[j];
2454
- return r;
2455
- }
2456
2460
 
2457
- function __spreadArray(to, from, pack) {
2458
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
2459
- if (ar || !(i in from)) {
2460
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
2461
- ar[i] = from[i];
2462
- }
2463
- }
2464
- return to.concat(ar || Array.prototype.slice.call(from));
2465
- }
2461
+ /***/ },
2466
2462
 
2467
- function __await(v) {
2468
- return this instanceof __await ? (this.v = v, this) : new __await(v);
2469
- }
2463
+ /***/ "./packages/roosterjs-editor-adapter/lib/editor/utils/selectionConverter.ts"
2464
+ /*!**********************************************************************************!*\
2465
+ !*** ./packages/roosterjs-editor-adapter/lib/editor/utils/selectionConverter.ts ***!
2466
+ \**********************************************************************************/
2467
+ (__unused_webpack_module, exports, __webpack_require__) {
2470
2468
 
2471
- function __asyncGenerator(thisArg, _arguments, generator) {
2472
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
2473
- var g = generator.apply(thisArg, _arguments || []), i, q = [];
2474
- return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
2475
- function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
2476
- function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
2477
- function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
2478
- function fulfill(value) { resume("next", value); }
2479
- function reject(value) { resume("throw", value); }
2480
- function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
2481
- }
2482
2469
 
2483
- function __asyncDelegator(o) {
2484
- var i, p;
2485
- return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
2486
- function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }
2470
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2471
+ exports.convertDomSelectionToRangeEx = exports.convertRangeExToDomSelection = void 0;
2472
+ var roosterjs_editor_dom_1 = __webpack_require__(/*! roosterjs-editor-dom */ "roosterjs-editor-dom");
2473
+ var createTableRanges_1 = __webpack_require__(/*! ./createTableRanges */ "./packages/roosterjs-editor-adapter/lib/editor/utils/createTableRanges.ts");
2474
+ // In theory, all functions below are not necessary. We keep these functions here only for compatibility with old IEditor interface
2475
+ /**
2476
+ * @internal
2477
+ */
2478
+ function convertRangeExToDomSelection(rangeEx) {
2479
+ switch (rangeEx === null || rangeEx === void 0 ? void 0 : rangeEx.type) {
2480
+ case 2 /* ImageSelection */:
2481
+ return {
2482
+ type: 'image',
2483
+ image: rangeEx.image,
2484
+ };
2485
+ case 0 /* Normal */:
2486
+ return rangeEx.ranges.length > 0
2487
+ ? {
2488
+ type: 'range',
2489
+ range: rangeEx.ranges[0],
2490
+ isReverted: false,
2491
+ }
2492
+ : null;
2493
+ case 1 /* TableSelection */:
2494
+ return rangeEx.coordinates
2495
+ ? {
2496
+ type: 'table',
2497
+ table: rangeEx.table,
2498
+ firstColumn: rangeEx.coordinates.firstCell.x,
2499
+ firstRow: rangeEx.coordinates.firstCell.y,
2500
+ lastColumn: rangeEx.coordinates.lastCell.x,
2501
+ lastRow: rangeEx.coordinates.lastCell.y,
2502
+ }
2503
+ : null;
2504
+ default:
2505
+ return null;
2506
+ }
2487
2507
  }
2488
-
2489
- function __asyncValues(o) {
2490
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
2491
- var m = o[Symbol.asyncIterator], i;
2492
- return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
2493
- function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
2494
- function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
2508
+ exports.convertRangeExToDomSelection = convertRangeExToDomSelection;
2509
+ /**
2510
+ * @internal
2511
+ */
2512
+ function convertDomSelectionToRangeEx(selection) {
2513
+ switch (selection === null || selection === void 0 ? void 0 : selection.type) {
2514
+ case 'image':
2515
+ return {
2516
+ type: 2 /* ImageSelection */,
2517
+ image: selection.image,
2518
+ areAllCollapsed: false,
2519
+ ranges: [(0, roosterjs_editor_dom_1.createRange)(selection.image)],
2520
+ };
2521
+ case 'range':
2522
+ return {
2523
+ type: 0 /* Normal */,
2524
+ ranges: [selection.range],
2525
+ areAllCollapsed: selection.range.collapsed,
2526
+ };
2527
+ case 'table':
2528
+ return {
2529
+ type: 1 /* TableSelection */,
2530
+ ranges: (0, createTableRanges_1.createTableRanges)(selection),
2531
+ areAllCollapsed: false,
2532
+ table: selection.table,
2533
+ coordinates: {
2534
+ firstCell: { x: selection.firstColumn, y: selection.firstRow },
2535
+ lastCell: { x: selection.lastColumn, y: selection.lastRow },
2536
+ },
2537
+ };
2538
+ default:
2539
+ return {
2540
+ type: 0 /* Normal */,
2541
+ ranges: [],
2542
+ areAllCollapsed: true,
2543
+ };
2544
+ }
2495
2545
  }
2546
+ exports.convertDomSelectionToRangeEx = convertDomSelectionToRangeEx;
2496
2547
 
2497
- function __makeTemplateObject(cooked, raw) {
2498
- if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
2499
- return cooked;
2500
- };
2501
-
2502
- var __setModuleDefault = Object.create ? (function(o, v) {
2503
- Object.defineProperty(o, "default", { enumerable: true, value: v });
2504
- }) : function(o, v) {
2505
- o["default"] = v;
2506
- };
2507
-
2508
- function __importStar(mod) {
2509
- if (mod && mod.__esModule) return mod;
2510
- var result = {};
2511
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
2512
- __setModuleDefault(result, mod);
2513
- return result;
2514
- }
2515
2548
 
2516
- function __importDefault(mod) {
2517
- return (mod && mod.__esModule) ? mod : { default: mod };
2518
- }
2549
+ /***/ },
2519
2550
 
2520
- function __classPrivateFieldGet(receiver, state, kind, f) {
2521
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
2522
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
2523
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
2524
- }
2551
+ /***/ "roosterjs-content-model-dom"
2552
+ /*!****************************!*\
2553
+ !*** external "roosterjs" ***!
2554
+ \****************************/
2555
+ (module) {
2525
2556
 
2526
- function __classPrivateFieldSet(receiver, state, value, kind, f) {
2527
- if (kind === "m") throw new TypeError("Private method is not writable");
2528
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
2529
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
2530
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
2531
- }
2557
+ module.exports = roosterjs;
2532
2558
 
2533
- function __classPrivateFieldIn(state, receiver) {
2534
- if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function")) throw new TypeError("Cannot use 'in' operator on non-object");
2535
- return typeof state === "function" ? receiver === state : state.has(receiver);
2536
- }
2559
+ /***/ },
2537
2560
 
2538
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
2539
- __extends,
2540
- __assign,
2541
- __rest,
2542
- __decorate,
2543
- __param,
2544
- __metadata,
2545
- __awaiter,
2546
- __generator,
2547
- __createBinding,
2548
- __exportStar,
2549
- __values,
2550
- __read,
2551
- __spread,
2552
- __spreadArrays,
2553
- __spreadArray,
2554
- __await,
2555
- __asyncGenerator,
2556
- __asyncDelegator,
2557
- __asyncValues,
2558
- __makeTemplateObject,
2559
- __importStar,
2560
- __importDefault,
2561
- __classPrivateFieldGet,
2562
- __classPrivateFieldSet,
2563
- __classPrivateFieldIn,
2564
- });
2561
+ /***/ "roosterjs-editor-dom"
2562
+ /*!**********************************!*\
2563
+ !*** external "roosterjsLegacy" ***!
2564
+ \**********************************/
2565
+ (module) {
2565
2566
 
2567
+ module.exports = roosterjsLegacy;
2566
2568
 
2567
- /***/ })
2569
+ /***/ }
2568
2570
 
2569
2571
  /******/ });
2570
2572
  /************************************************************************/
@@ -2578,6 +2580,12 @@ function __classPrivateFieldIn(state, receiver) {
2578
2580
  /******/ if (cachedModule !== undefined) {
2579
2581
  /******/ return cachedModule.exports;
2580
2582
  /******/ }
2583
+ /******/ // Check if module exists (development only)
2584
+ /******/ if (__webpack_modules__[moduleId] === undefined) {
2585
+ /******/ var e = new Error("Cannot find module '" + moduleId + "'");
2586
+ /******/ e.code = 'MODULE_NOT_FOUND';
2587
+ /******/ throw e;
2588
+ /******/ }
2581
2589
  /******/ // Create a new module (and put it into the cache)
2582
2590
  /******/ var module = __webpack_module_cache__[moduleId] = {
2583
2591
  /******/ // no module.id needed
@@ -2623,7 +2631,7 @@ function __classPrivateFieldIn(state, receiver) {
2623
2631
  /******/
2624
2632
  /************************************************************************/
2625
2633
  var __webpack_exports__ = {};
2626
- // This entry need to be wrapped in an IIFE because it uses a non-standard name for the exports (exports).
2634
+ // This entry needs to be wrapped in an IIFE because it needs to be isolated against other modules in the chunk.
2627
2635
  (() => {
2628
2636
  var exports = __webpack_exports__;
2629
2637
  /*!********************************************************!*\