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