quill-table-up 1.0.1 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -8,8 +8,10 @@ Enhancement of quill table module
8
8
  - [x] insert/delete row/column/table; merge/split cells
9
9
  - [x] support insert header/list/video/image/code-block
10
10
  - [x] control cells width/height/background color
11
+ - [x] 100 percent table width or fixed pixel width
11
12
  - [x] line break in cells
12
13
  - [x] not effect on other formats
14
+ - [x] redo and undo
13
15
 
14
16
  ## Usage
15
17
 
@@ -58,7 +60,6 @@ const quill = new Quill('#editor', {
58
60
  | texts | the text used to create the table | `TableTextOptions` | `defaultTexts` |
59
61
  | customSelect | display a custom select to custom row and column number add a table. the DOM returned by the function will replace the default selector | `(tableModule: TableUp) => HTMLElement` | - |
60
62
  | selection | moduel TableSelection options | `TableSelection` | - |
61
- | resizer | moduel TableResize options | `TableResizeOptions` | - |
62
63
 
63
64
  <details>
64
65
  <summary> default value </summary>
@@ -187,12 +188,6 @@ const defaultTools = [
187
188
 
188
189
  </details>
189
190
 
190
- ### TableResizer Options
191
-
192
- | attribute | description | type | default |
193
- | --------- | ----------------------- | -------- | ------- |
194
- | size | resizer width or height | `number` | `12` |
195
-
196
191
  ## Overrides
197
192
 
198
193
  if you need to rewrite quill origin `Block` or `Scroll` blot. you need to import from `quill-table-up`. beacuse module internal rewrite some functions, but those change only effect formats about table.
package/dist/index.css CHANGED
@@ -1 +1 @@
1
- .ql-snow .ql-table-up-main.ql-picker{width:28px}.ql-snow .ql-table-up-main.ql-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-table-up-main.ql-picker .ql-picker-label svg{position:static;margin-top:0}.ql-snow .ql-picker.ql-expanded .ql-picker-options{z-index:11}.ql-snow .ql-table-selection_line{display:none;position:absolute;border:2px solid;pointer-events:none}.ql-snow .ql-table-menu{position:absolute;z-index:11;display:none;align-items:center;justify-content:center;padding:4px;border-radius:6px;box-shadow:0 0 8px rgba(0,0,0,.5);background-color:#fff;font-size:14px}.ql-snow .ql-table-menu.contextmenu{flex-direction:column}.ql-snow .ql-table-menu.contextmenu .ql-table-menu-item{width:100%;justify-content:flex-start;cursor:pointer}.ql-snow .ql-table-menu.contextmenu .break{height:1px;margin:4px 0;background-color:#a3a3a3}.ql-snow .ql-table-menu.contextmenu .icon{margin-right:4px}.ql-snow .ql-table-menu-item{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:4px;border-radius:4px;cursor:pointer}.ql-snow .ql-table-menu-item:hover{background-color:#eee}.ql-snow .ql-table-menu-item.break{align-self:stretch;width:1px;padding:0;margin:2px 4px;background-color:#a3a3a3;cursor:default}.ql-snow .ql-table-menu-item .icon{display:flex;flex-shrink:0;font-size:20px}.ql-snow .ql-table-resizer{position:absolute;z-index:10}.ql-snow .ql-table-resizer .ql-table-col-wrapper,.ql-snow .ql-table-resizer .ql-table-row-wrapper{position:absolute;top:0;left:0;display:flex;overflow:hidden}.ql-snow .ql-table-resizer .ql-table-col-header,.ql-snow .ql-table-resizer .ql-table-row-header{position:relative;flex-shrink:0;background-color:#f3f4f5;border:1px solid #ccc}.ql-snow .ql-table-resizer .ql-table-col-wrapper{width:100%}.ql-snow .ql-table-resizer .ql-table-col-header{height:100%}.ql-snow .ql-table-resizer .ql-table-col-separator{position:absolute;top:0;bottom:0;right:-2px;width:2px;cursor:ew-resize;z-index:10}.ql-snow .ql-table-resizer .ql-table-col-separator::after{right:-6px}.ql-snow .ql-table-resizer .ql-table-col-separator::before{left:-6px}.ql-snow .ql-table-resizer .ql-table-col-separator::after,.ql-snow .ql-table-resizer .ql-table-col-separator::before{content:'';position:absolute;top:0;display:block;width:8px;height:100%;z-index:11}.ql-snow .ql-table-resizer .ql-table-row-wrapper{flex-direction:column;height:100%}.ql-snow .ql-table-resizer .ql-table-row-header{width:100%}.ql-snow .ql-table-resizer .ql-table-row-separator{position:absolute;left:0;right:0;bottom:-2px;height:2px;cursor:ns-resize;z-index:10}.ql-snow .ql-table-resizer .ql-table-row-separator::after{bottom:-6px}.ql-snow .ql-table-resizer .ql-table-row-separator::before{top:-6px}.ql-snow .ql-table-resizer .ql-table-row-separator::after,.ql-snow .ql-table-resizer .ql-table-row-separator::before{content:'';position:absolute;left:0;display:block;width:100%;height:8px;z-index:11}.ql-snow .ql-table-resizer-corner{position:absolute;top:0;left:0;background-color:#f3f4f5;border:1px solid #ccc;border-right:none;border-bottom:none;border-top-left-radius:50%}.table-color-used{display:flex;align-items:center;justify-content:center;flex-direction:row-reverse}.table-color-used-item{width:1rem;height:1rem;margin:.25rem;border:.0625rem solid #a3a3a3;cursor:pointer}.ql-table-drag-line{position:fixed;background-color:#409eff;z-index:10}.ql-table-drag-line.col{width:2px;cursor:ew-resize}.ql-table-drag-line.row{height:2px;cursor:ns-resize}.ql-editor .ql-table{border-collapse:separate;table-layout:fixed;width:auto}.ql-editor .ql-table[data-full]{width:100%}.ql-editor .ql-table-dragging{-webkit-user-select:none;-moz-user-select:none;user-select:none}.ql-editor .ql-table-wrapper{width:100%;overflow:auto}.ql-editor .ql-table-wrapper:hover::-webkit-scrollbar-thumb{background-color:#a1a1aa}.ql-editor .ql-table-wrapper::-webkit-scrollbar{width:4px;height:4px}.ql-editor .ql-table-wrapper::-webkit-scrollbar-thumb{background-color:#d2d2d2;border-radius:4px}.ql-editor .ql-table-cell{padding:8px 12px;border:1px solid #a1a1aa;font-size:14px;outline:0;overflow:auto}.ql-editor .ql-table-cell-inner{display:inline-block;min-width:100%;word-break:break-word}.ql-editor .ql-table col{border-collapse:separate;text-indent:initial;display:table-column;table-layout:fixed}.select-box{--select-box-color-border:#e5e7eb;--select-box-border:0.0625rem solid var(--select-box-color-border);--select-box-color-active:#0ea5e9;--select-box-bg-active:#e0f2fe;--select-box-bg-hover:#f5f5f5}.select-box__block{display:flex;width:10rem;flex-wrap:wrap;align-items:center;justify-content:center}.select-box__item{margin:.125rem;height:1rem;width:1rem;border:var(--select-box-border)}.select-box__item.active{border-color:var(--select-box-color-active);background-color:var(--select-box-bg-active)}.select-box__custom{padding:.5rem;color:#000;font-size:1rem;text-align:center;cursor:pointer}.select-box__custom:hover{background-color:var(--select-box-bg-hover)}.tooltip{position:absolute;z-index:20;padding:.25rem .75rem;border-radius:.25rem;font-size:.75rem;color:#fff;white-space:nowrap;background-color:#303133;transition:opacity .15s linear}.tooltip.transparent{opacity:0}.tooltip.hidden{display:none}
1
+ .ql-container .ql-table-up-main.ql-picker{width:28px}.ql-container .ql-table-up-main.ql-picker .ql-picker-label{padding:2px 4px}.ql-container .ql-table-up-main.ql-picker .ql-picker-label svg{position:static;margin-top:0}.ql-container .ql-picker.ql-expanded .ql-picker-options{z-index:11}.ql-container .ql-table-selection_line{display:none;position:absolute;border:2px solid;pointer-events:none}.ql-container .ql-table-menu{position:absolute;z-index:11;display:none;align-items:center;justify-content:center;padding:4px;border-radius:6px;box-shadow:0 0 8px rgba(0,0,0,.5);background-color:#fff;font-size:14px}.ql-container .ql-table-menu.contextmenu{flex-direction:column}.ql-container .ql-table-menu.contextmenu .ql-table-menu-item{width:100%;justify-content:flex-start;cursor:pointer}.ql-container .ql-table-menu.contextmenu .break{height:1px;margin:4px 0;background-color:#a3a3a3}.ql-container .ql-table-menu.contextmenu .icon{margin-right:4px}.ql-container .ql-table-menu-item{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:4px;border-radius:4px;cursor:pointer}.ql-container .ql-table-menu-item:hover{background-color:#eee}.ql-container .ql-table-menu-item.break{align-self:stretch;width:1px;padding:0;margin:2px 4px;background-color:#a3a3a3;cursor:default}.ql-container .ql-table-menu-item .icon{display:flex;flex-shrink:0;font-size:20px}.ql-container .ql-table-resize-line-col,.ql-container .ql-table-resize-line-row{position:absolute;z-index:10}.ql-container .ql-table-resize-line-col::after,.ql-container .ql-table-resize-line-col::before,.ql-container .ql-table-resize-line-row::after,.ql-container .ql-table-resize-line-row::before{content:'';display:block;position:absolute;top:0;z-index:11}.ql-container .ql-table-resize-line-row{height:1px;cursor:ns-resize}.ql-container .ql-table-resize-line-row::after,.ql-container .ql-table-resize-line-row::before{width:100%;height:8px}.ql-container .ql-table-resize-line-row::before{transform:translateY(-8px)}.ql-container .ql-table-resize-line-col{width:1px;cursor:ew-resize}.ql-container .ql-table-resize-line-col::after,.ql-container .ql-table-resize-line-col::before{height:100%;width:8px}.ql-container .ql-table-resize-line-col::before{transform:translateX(-8px)}.ql-table-drag-line{position:fixed;z-index:10;background-color:#409eff}.ql-table-drag-line.col{width:2px;cursor:ew-resize}.ql-table-drag-line.row{height:2px;cursor:ns-resize}.table-color-used{display:flex;align-items:center;justify-content:center;flex-direction:row-reverse}.table-color-used-item{width:1rem;height:1rem;margin:.25rem;border:.0625rem solid #a3a3a3;cursor:pointer}.ql-editor .ql-table{border-collapse:separate;table-layout:fixed;width:auto}.ql-editor .ql-table[data-full]{width:100%}.ql-editor .ql-table-dragging{-webkit-user-select:none;-moz-user-select:none;user-select:none}.ql-editor .ql-table-wrapper{width:100%;overflow:auto}.ql-editor .ql-table-wrapper:hover::-webkit-scrollbar-thumb{background-color:#a1a1aa}.ql-editor .ql-table-wrapper::-webkit-scrollbar{width:4px;height:4px}.ql-editor .ql-table-wrapper::-webkit-scrollbar-thumb{background-color:#d2d2d2;border-radius:4px}.ql-editor .ql-table-cell{padding:8px 12px;border:1px solid #a1a1aa;font-size:14px;outline:0;overflow:auto}.ql-editor .ql-table-cell-inner{display:inline-block;min-width:100%;word-break:break-word}.ql-editor .ql-table col{border-collapse:separate;text-indent:initial;display:table-column;table-layout:fixed}.select-box{--select-box-color-border:#e5e7eb;--select-box-border:0.0625rem solid var(--select-box-color-border);--select-box-color-active:#0ea5e9;--select-box-bg-active:#e0f2fe;--select-box-bg-hover:#f5f5f5}.select-box__block{display:flex;width:10rem;flex-wrap:wrap;align-items:center;justify-content:center}.select-box__item{margin:.125rem;height:1rem;width:1rem;border:var(--select-box-border)}.select-box__item.active{border-color:var(--select-box-color-active);background-color:var(--select-box-bg-active)}.select-box__custom{padding:.5rem;color:#000;font-size:1rem;text-align:center;cursor:pointer}.select-box__custom:hover{background-color:var(--select-box-bg-hover)}.tooltip{position:absolute;z-index:20;padding:.25rem .75rem;border-radius:.25rem;font-size:.75rem;color:#fff;white-space:nowrap;background-color:#303133;transition:opacity .15s linear}.tooltip.transparent{opacity:0}.tooltip.hidden{display:none}
package/dist/index.d.ts CHANGED
@@ -59,6 +59,14 @@ interface TableCellValue {
59
59
  backgroundColor?: string;
60
60
  height?: number;
61
61
  }
62
+ interface TableRowValue {
63
+ tableId: string;
64
+ rowId: string;
65
+ }
66
+ interface TableValue {
67
+ tableId: string;
68
+ full: boolean;
69
+ }
62
70
  interface RelactiveRect {
63
71
  x: number;
64
72
  y: number;
@@ -79,6 +87,7 @@ declare class ContainerFormat extends Container {
79
87
  clearDeltaCache(): void;
80
88
  insertBefore(blot: Parchment.Blot, ref?: Parchment.Blot | null): void;
81
89
  insertAt(index: number, value: string, def?: any): void;
90
+ optimize(_context: Record<string, any>): void;
82
91
  }
83
92
 
84
93
  declare class TableWrapperFormat extends ContainerFormat {
@@ -89,6 +98,7 @@ declare class TableWrapperFormat extends ContainerFormat {
89
98
  get tableId(): string;
90
99
  insertBefore(blot: Parchment.Blot, ref?: Parchment.Blot | null): void;
91
100
  checkMerge(): boolean;
101
+ deleteAt(index: number, length: number): void;
92
102
  }
93
103
 
94
104
  declare class TableCellFormat extends ContainerFormat {
@@ -112,7 +122,7 @@ declare class TableCellFormat extends ContainerFormat {
112
122
  set height(value: number);
113
123
  getCellInner(): TableCellInnerFormat;
114
124
  checkMerge(): boolean;
115
- deleteAt(index: number, length: number): void;
125
+ optimize(context: Record<string, any>): void;
116
126
  }
117
127
 
118
128
  declare class TableCellInnerFormat extends ContainerFormat {
@@ -140,8 +150,8 @@ declare class TableCellInnerFormat extends ContainerFormat {
140
150
  getColumnIndex(): number;
141
151
  formatAt(index: number, length: number, name: string, value: any): void;
142
152
  formats(): Record<string, any>;
143
- optimize(context: Record<string, any>): void;
144
- insertBefore(childBlot: Parchment.Blot, refBlot?: Parchment.Blot | null | undefined): void;
153
+ optimize(): void;
154
+ insertBefore(blot: Parchment.Blot, ref?: Parchment.Blot | null): void;
145
155
  }
146
156
 
147
157
  type SkipRowCount = number[] & {
@@ -151,15 +161,18 @@ declare class TableRowFormat extends ContainerFormat {
151
161
  static blotName: "table-up-row";
152
162
  static tagName: string;
153
163
  static className: string;
154
- static create(value: string): HTMLElement;
164
+ static create(value: TableRowValue): HTMLElement;
155
165
  children: Parchment.LinkedList<TableCellFormat>;
166
+ resorting: boolean;
156
167
  checkMerge(): boolean;
157
168
  get rowId(): string;
169
+ get tableId(): string;
158
170
  setHeight(value: number): void;
159
171
  insertCell(targetIndex: number, value: TableCellValue): SkipRowCount;
160
172
  getCellByColumIndex(stopIndex: number): [null | TableCellFormat, number, number[]];
161
173
  removeCell(targetIndex: number): SkipRowCount;
162
174
  foreachCellInner(func: (tableCell: TableCellInnerFormat, index: number) => boolean | void): void;
175
+ optimize(context: Record<string, any>): void;
163
176
  }
164
177
 
165
178
  declare const BlockEmbed: typeof BlockEmbed$1;
@@ -183,8 +196,8 @@ declare class TableColFormat extends BlockEmbed {
183
196
  declare class TableMainFormat extends ContainerFormat {
184
197
  static blotName: "table-up-main";
185
198
  static tagName: string;
186
- constructor(scroll: Parchment.Root, domNode: Node);
187
- static create(value: string): HTMLElement;
199
+ static create(value: TableValue): HTMLElement;
200
+ constructor(scroll: Parchment.ScrollBlot, domNode: Node);
188
201
  colWidthFillTable(): number | null | undefined;
189
202
  get tableId(): string;
190
203
  get full(): boolean;
@@ -194,34 +207,42 @@ declare class TableMainFormat extends ContainerFormat {
194
207
  getCols(): TableColFormat[];
195
208
  getColIds(): string[];
196
209
  checkMerge(): boolean;
210
+ optimize(context: Record<string, any>): void;
197
211
  }
198
212
 
199
213
  declare class TableColgroupFormat extends ContainerFormat {
200
214
  static blotName: "table-up-colgroup";
201
215
  static tagName: string;
202
216
  children: Parchment.LinkedList<TableColFormat>;
203
- deleteAt(index: number, length: number): void;
217
+ static create(value: TableValue): HTMLElement;
218
+ get tableId(): string;
219
+ get full(): boolean;
204
220
  findCol(index: number): TableColFormat | null;
205
221
  insertColByIndex(index: number, value: TableColValue): void;
206
222
  removeColByIndex(index: number): void;
223
+ optimize(context: Record<string, any>): void;
207
224
  }
208
225
 
209
226
  declare class TableBodyFormat extends ContainerFormat {
210
227
  static blotName: "table-up-body";
211
228
  static tagName: string;
229
+ static create(value: string): HTMLElement;
230
+ get tableId(): string;
212
231
  checkMerge(): boolean;
213
- deleteAt(index: number, length: number): void;
214
232
  insertRow(targetIndex: number): void;
233
+ optimize(context: Record<string, any>): void;
215
234
  }
216
235
 
217
236
  declare const ScrollBlot: any;
218
237
  declare class ScrollOverride extends ScrollBlot {
219
238
  createBlock(attributes: Record<string, any>, refBlot?: Parchment.Blot): Parchment.ParentBlot;
239
+ optimize(context: Record<string, any>): void;
220
240
  }
221
241
 
222
242
  declare const Block: typeof TypeBlock;
223
243
  declare class BlockOverride extends Block {
224
244
  replaceWith(name: string | Parchment.Blot, value?: any): Parchment.Blot;
245
+ format(name: string, value: any): void;
225
246
  }
226
247
 
227
248
  declare const blotName: {
@@ -238,6 +259,7 @@ declare const blotName: {
238
259
 
239
260
  declare const randomId: () => string;
240
261
  interface ParentBlotReturnMap {
262
+ [blotName.tableWrapper]: TableWrapperFormat;
241
263
  [blotName.tableMain]: TableMainFormat;
242
264
  [blotName.tableCol]: TableColFormat;
243
265
  [blotName.tableColgroup]: TableColgroupFormat;
@@ -246,7 +268,13 @@ interface ParentBlotReturnMap {
246
268
  [blotName.tableCell]: TableCellFormat;
247
269
  [blotName.tableCellInner]: TableCellInnerFormat;
248
270
  }
249
- declare function findParentBlot<T extends Parchment.Parent, U extends string = string>(blot: Parchment.Blot, targetBlotName: U): U extends keyof ParentBlotReturnMap ? ParentBlotReturnMap[U] : T;
271
+ type ParentBlotReturn = {
272
+ [key: string]: Parchment.Parent;
273
+ } & ParentBlotReturnMap;
274
+ declare function findParentBlot<T extends Parchment.Parent, U extends string = string>(blot: Parchment.Blot, targetBlotName: U): U extends keyof ParentBlotReturn ? ParentBlotReturn[U] : T;
275
+ declare function findParentBlots<T extends (keyof ParentBlotReturnMap | string)[]>(blot: Parchment.Blot, targetBlotNames: T): {
276
+ [K in keyof T]: ParentBlotReturn[T[K]];
277
+ };
250
278
 
251
279
  declare class TableMenu {
252
280
  tableModule: TableUp;
@@ -324,30 +352,17 @@ declare function getRelativeRect(targetRect: {
324
352
  height: number;
325
353
  };
326
354
 
327
- declare class TableResize {
328
- tableModule: TableUp;
329
- table: HTMLElement;
355
+ declare class TableResizeLine {
330
356
  quill: Quill;
331
- options: TableResizeOptions;
332
- root: HTMLElement;
333
- tableMain: TableMainFormat;
334
- tableWrapper: Parchment.Parent;
335
- resizeObserver: ResizeObserver;
336
- tableCols: TableColFormat[];
337
- tableRows: TableRowFormat[];
338
- rowHeadWrapper: HTMLElement | null;
339
- colHeadWrapper: HTMLElement | null;
340
- scrollHandler: [HTMLElement, (e: Event) => void][];
341
- constructor(tableModule: TableUp, table: HTMLElement, quill: Quill, options: Partial<TableResizeOptions>);
342
- resolveOptions(options: Partial<TableResizeOptions>): {
343
- size: number;
344
- } & Partial<TableResizeOptions>;
345
- addScrollEvent(dom: HTMLElement, handle: (e: Event) => void): void;
346
- bindColDragEvent(): void;
347
- bindRowDragEvent(): void;
348
- showTool(): void;
349
- hideTool(): void;
350
- destroy(): void;
357
+ options: any;
358
+ colResizer: HTMLElement;
359
+ rowResizer: HTMLElement;
360
+ currentTableCell?: HTMLElement;
361
+ dragging: boolean;
362
+ constructor(quill: Quill, options: any);
363
+ findTableCell(e: MouseEvent): HTMLElement | null;
364
+ updateColResizer(tableCellBlot: TableCellFormat): void;
365
+ updateRowResizer(tableCellBlot: TableCellFormat): void;
351
366
  }
352
367
 
353
368
  declare const tableCantInsert: string[];
@@ -388,6 +403,7 @@ declare class TableUp {
388
403
  quill: Quill;
389
404
  options: TableUpOptions;
390
405
  fixTableByLisenter: (this: any) => void;
406
+ resizer: TableResizeLine;
391
407
  selector?: HTMLElement;
392
408
  picker?: (Picker & {
393
409
  options: HTMLElement;
@@ -395,7 +411,6 @@ declare class TableUp {
395
411
  range?: Range | null;
396
412
  table?: HTMLElement;
397
413
  tableSelection?: TableSelection;
398
- tableResizer?: TableResize;
399
414
  constructor(quill: Quill, options: Partial<TableUpOptions>);
400
415
  resolveOptions(options: Partial<TableUpOptions>): TableUpOptions & Partial<TableUpOptions>;
401
416
  resolveTexts(options: Partial<TableTextOptions>): {
@@ -429,4 +444,4 @@ declare class TableUp {
429
444
  splitCell(): void;
430
445
  }
431
446
 
432
- export { BlockOverride, ContainerFormat, type RelactiveRect, ScrollOverride, type SkipRowCount, TableBodyFormat, TableCellFormat, TableCellInnerFormat, type TableCellValue, TableColFormat, type TableColValue, TableColgroupFormat, TableMainFormat, TableMenu, type TableMenuOptions, TableResize, type TableResizeOptions, TableRowFormat, TableSelection, type TableSelectionOptions, type TableTextOptions, TableUp, type TableUpOptions, TableWrapperFormat, type Tool, type ToolOption, type ToolOptionBreak, TableUp as default, findParentBlot, getRelativeRect, isRectanglesIntersect, randomId, tableCantInsert };
447
+ export { BlockOverride, ContainerFormat, type RelactiveRect, ScrollOverride, type SkipRowCount, TableBodyFormat, TableCellFormat, TableCellInnerFormat, type TableCellValue, TableColFormat, type TableColValue, TableColgroupFormat, TableMainFormat, TableMenu, type TableMenuOptions, TableResizeLine, type TableResizeOptions, TableRowFormat, type TableRowValue, TableSelection, type TableSelectionOptions, type TableTextOptions, TableUp, type TableUpOptions, type TableValue, TableWrapperFormat, type Tool, type ToolOption, type ToolOptionBreak, TableUp as default, findParentBlot, findParentBlots, getRelativeRect, isRectanglesIntersect, randomId, tableCantInsert };
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import t from"quill";const e=(t,e)=>{e.type||(e.type="text"),e.value||(e.value="");const s=document.createElement("div");if(s.classList.add("input__item"),t){const e=document.createElement("span");e.classList.add("input__label"),e.textContent=t,s.appendChild(e)}const o=document.createElement("div");o.classList.add("input__input");const l=document.createElement("input");for(const t in e)l.setAttribute(t,e[t]);(e.max||e.min)&&l.addEventListener("blur",(()=>{e.max&&e.max<=Number(l.value)&&(l.value=String(e.max)),e.min&&e.min>=Number(l.value)&&(l.value=String(e.min))})),o.appendChild(l),s.appendChild(o),l.addEventListener("focus",(()=>{o.classList.add("focus")})),l.addEventListener("blur",(()=>{o.classList.remove("focus")}));return{item:s,input:l,errorTip:t=>{let e;o.classList.contains("error")?e=o.querySelector(".input__error-tip"):(e=document.createElement("span"),e.classList.add("input__error-tip"),o.appendChild(e)),e.textContent=t,o.classList.add("error");return{removeError:()=>{o.classList.remove("error"),e.remove()}}}}};let s=8e3;const o=async(t={})=>{const o=document.createElement("div");o.classList.add("table-creator");const l=document.createElement("div");l.classList.add("table-creator__input");const{item:i,input:n,errorTip:r}=e(t.rowText||"行数",{type:"number",value:String(t.row||""),max:99}),{item:a,input:d,errorTip:c}=e(t.colText||"列数",{type:"number",value:String(t.col||""),max:99});l.appendChild(i),l.appendChild(a),o.appendChild(l);const h=document.createElement("div");h.classList.add("table-creator__control");const u=document.createElement("button");u.classList.add("table-creator__btn","confirm"),u.textContent=t.confirmText||"Confirm";const p=document.createElement("button");return p.classList.add("table-creator__btn","cancel"),p.textContent=t.cancelText||"Cancel",h.appendChild(u),h.appendChild(p),o.appendChild(h),new Promise(((e,l)=>{const{close:i}=(({child:t,target:e=document.body,beforeClose:o=()=>{}}={})=>{const l=e,i=document.createElement("div");i.classList.add("dialog"),i.style.zIndex=String(s);const n=document.createElement("div");if(n.classList.add("dialog__overlay"),i.appendChild(n),t){const e=document.createElement("div");e.classList.add("dialog__content"),e.appendChild(t),n.appendChild(e),e.addEventListener("click",(t=>{t.stopPropagation()}))}const r=getComputedStyle(l).overflow;l.style.overflow="hidden",l.appendChild(i);const a=()=>{o(),i.remove(),l.style.overflow=r};return i.addEventListener("click",a),s+=1,{dialog:i,close:a}})({child:o,beforeClose:l});u.addEventListener("click",(async()=>{const s=Number(n.value),o=Number(d.value);return Number.isNaN(s)||s<=0?r(t.notPositiveNumberError||"请输入正整数"):Number.isNaN(o)||o<=0?c(t.notPositiveNumberError||"请输入正整数"):(e({row:s,col:o}),void i())})),p.addEventListener("click",(()=>{i()}))}))};let l;const i=(t,e={})=>{const{msg:s="",delay:o=150,content:i,direction:n="bottom"}=e;if(s||i){l||(l=document.createElement("div"),document.body.appendChild(l));const e=document.createElement("div");let r;e.classList.add("tooltip"),e.classList.add("hidden"),e.classList.add("transparent"),i?e.appendChild(i):s&&(e.textContent=s),l.appendChild(e);const a=()=>{e.classList.add("hidden")},d=()=>{r&&clearTimeout(r),r=setTimeout((()=>{e.removeEventListener("transitionend",a),e.classList.remove("hidden");const s=t.getBoundingClientRect(),o=e.getBoundingClientRect(),l={top:{top:-o.height-8,left:s.width/2-o.width/2},right:{top:s.height/2-o.height/2,left:s.width+8},bottom:{top:o.height+8,left:s.width/2-o.width/2},left:{top:s.height/2-o.height/2,left:-o.width-8}}[n],i=window.scrollY+s.top+l.top;let r=window.scrollX+s.left+l.left;const d=document.documentElement.clientWidth;r+o.width>d?r=d-o.width:r<0&&(r=0),Object.assign(e.style,{top:`${i}px`,left:`${r}px`}),e.classList.remove("transparent")}),o)},c=()=>{r&&clearTimeout(r),r=setTimeout((()=>{e.classList.add("transparent"),e.addEventListener("transitionend",a,{once:!0})}),o)};return t.addEventListener("mouseenter",d),t.addEventListener("mouseleave",c),e.addEventListener("mouseenter",d),e.addEventListener("mouseleave",c),e}return null},n=t=>"function"==typeof t,r=Array.isArray,a=()=>Math.random().toString(36).slice(2),d=(t,e)=>{let s;return function(...o){s&&clearTimeout(s),s=setTimeout((()=>{t.apply(this,o)}),e)}};function c(t,e){let s=t.parent;for(;s&&s.statics.blotName!==e&&s!==t.scroll;)s=s.parent;if(s===t.scroll)throw new Error(`${t.statics.blotName} must be a child of ${e}`);return s}const h="container",u="table-up-wrapper",p="table-up-main",m="table-up-colgroup",b="table-up-col",g="table-up-body",f="table-up-row",w="table-up-cell",v="table-up-cell-inner",C=t.import("parchment"),x=t.import("blots/container"),I=t.import("blots/block"),y=t.import("blots/block/embed");class N extends x{static blotName=h;static tagName="container";static scope=C.Scope.BLOCK_BLOT;static allowedChildren=[I,y,x];static requiredContainer;static defaultChild;clearDeltaCache(){const t=this.descendants(I,0);for(const e of t)e.cache={}}insertBefore(t,e){t.statics.blotName===this.statics.blotName&&t.children.length>0?super.insertBefore(t.children.head,e):super.insertBefore(t,e)}insertAt(t,e,s){const[o]=this.children.find(t);if(!o){const t=this.scroll.create(this.statics.defaultChild.blotName||"block");this.appendChild(t)}super.insertAt(t,e,s)}}class L extends N{static blotName=u;static tagName="p";static className="ql-table-wrapper";static create(t){const e=super.create();return e.dataset.tableId=t,e.addEventListener("dragstart",(t=>{t.preventDefault(),t.stopPropagation()}),!0),e.addEventListener("drop",(t=>{t.preventDefault()})),e.addEventListener("dragover",(t=>{t.preventDefault(),t.dataTransfer.dropEffect="none"})),e}get tableId(){return this.domNode.dataset.tableId}insertBefore(t,e){t.statics.blotName===this.statics.blotName?super.insertBefore(t.children.head,e):this.statics.allowedChildren.some((e=>e.blotName===t.statics.blotName))?super.insertBefore(t,e):e?this.prev?this.prev.insertBefore(t,null):this.parent.insertBefore(t,this):this.next?this.next.insertBefore(t,e):this.parent.appendChild(t)}checkMerge(){const t=this.next;return null!==t&&t.statics.blotName===this.statics.blotName&&t.domNode.tagName===this.domNode.tagName&&t.domNode.dataset.tableId===this.tableId}}const T=t.import("blots/block/embed");class E extends T{scroll;domNode;static blotName=b;static tagName="col";static create(t){const{width:e,tableId:s,colId:o,full:l}=t,i=super.create();return i.setAttribute("width",`${Number.parseFloat(e)}${l?"%":"px"}`),l&&(i.dataset.full=String(l)),i.dataset.tableId=s,i.dataset.colId=o,i.setAttribute("contenteditable","false"),i}constructor(t,e){super(t,e),this.scroll=t,this.domNode=e}get width(){const t=this.domNode.getAttribute("width");return Number.parseFloat(t)}set width(t){const e=Number.parseFloat(t);this.domNode.setAttribute("width",`${e}${this.full?"%":"px"}`)}get tableId(){return this.domNode.dataset.tableId}get colId(){return this.domNode.dataset.colId}get full(){return Object.hasOwn(this.domNode.dataset,"full")}static value(t){const{tableId:e,colId:s,full:o}=t.dataset,l=t.getAttribute("width"),i={tableId:e,colId:s,full:o};return l&&(i.width=Number.parseFloat(l)),i}checkMerge(){const t=this.next,{tableId:e,colId:s}=this;return null!==t&&t.statics.blotName===this.statics.blotName&&t.domNode.dataset.tableId===e&&t.domNode.dataset.colId===s}optimize(t){const e=this.parent;if(null!=e&&e.statics.blotName!==m){const t=this.scroll.create("block");this.parent.insertBefore(t,this.next);const e=this.scroll.create(u,this.tableId),s=this.scroll.create(p,this.tableId);this.full&&(s.full=!0);const o=this.scroll.create(m);o.appendChild(this),s.appendChild(o),e.appendChild(s),t.replaceWith(e)}super.optimize(t)}}const S=t.import("blots/block"),k=t.import("blots/block/embed");class B extends N{static blotName=v;static tagName="div";static className="ql-table-cell-inner";static defaultChild=S;static create(t){const{tableId:e,rowId:s,colId:o,rowspan:l,colspan:i,backgroundColor:n,height:r}=t,a=super.create();return a.dataset.tableId=e,a.dataset.rowId=s,a.dataset.colId=o,a.dataset.rowspan=String(l||1),a.dataset.colspan=String(i||1),r&&r>0&&(a.dataset.height=String(r)),n&&(a.dataset.backgroundColor=n),a}allowDataAttrs=new Set(["table-id","row-id","col-id","rowspan","colspan","background-color","height"]);setFormatValue(t,e){if(!this.allowDataAttrs.has(t))return;const s=`data-${t}`;e?this.domNode.setAttribute(s,e):this.domNode.removeAttribute(s),this.clearDeltaCache()}get tableId(){return this.domNode.dataset.tableId}get rowId(){return this.domNode.dataset.rowId}set rowId(t){this.parent&&(this.parent.rowId=t),this.setFormatValue("row-id",t)}get colId(){return this.domNode.dataset.colId}set colId(t){this.parent&&(this.parent.colId=t),this.setFormatValue("col-id",t)}get rowspan(){return Number(this.domNode.dataset.rowspan)}set rowspan(t){this.parent&&(this.parent.rowspan=t),this.setFormatValue("rowspan",t)}get colspan(){return Number(this.domNode.dataset.colspan)}set colspan(t){this.parent&&(this.parent.colspan=t),this.setFormatValue("colspan",t)}get backgroundColor(){return this.domNode.dataset.backgroundColor||""}set backgroundColor(t){this.parent&&(this.parent.backgroundColor=t),this.setFormatValue("background-color",t)}get height(){return Number(this.domNode.dataset.height)||0}set height(t){this.parent&&(this.parent.height=Number(t)),this.setFormatValue("height",t)}getColumnIndex(){return c(this,p).getColIds().indexOf(this.colId)}formatAt(t,e,s,o){0===this.children.length&&(this.appendChild(this.scroll.create(this.statics.defaultChild.blotName)),e+=1),super.formatAt(t,e,s,o)}formats(){const{tableId:t,rowId:e,colId:s,rowspan:o,colspan:l,backgroundColor:i,height:n}=this,r={tableId:t,rowId:e,colId:s,rowspan:o,colspan:l};return 0!==n&&(r.height=n),i&&(r.backgroundColor=i),{[this.statics.blotName]:r}}optimize(t){const e=this.parent,{tableId:s,colId:o,rowId:l,rowspan:i,colspan:n,backgroundColor:r,height:a}=this;if(this.prev&&this.prev instanceof k){const t=this.scroll.create("block");this.appendChild(this.prev),this.appendChild(t)}if(null!==e&&e.statics.blotName!==w){const t=this.scroll.create("block");e.insertBefore(t,this.next);const d=this.scroll.create(u,s),c=this.scroll.create(p,s),h=this.scroll.create(g),m=this.scroll.create(f,l),b=this.scroll.create(w,{tableId:s,rowId:l,colId:o,rowspan:i,colspan:n,backgroundColor:r,height:a});b.appendChild(this),m.appendChild(b),h.appendChild(m),c.appendChild(h),d.appendChild(c),t.replaceWith(d)}super.optimize(t)}insertBefore(t,e){t instanceof B||t instanceof E?console.error("Not supported table insert into table."):super.insertBefore(t,e)}}class M extends N{static blotName=f;static tagName="tr";static className="ql-table-row";static create(t){const e=super.create();return e.dataset.rowId=t,e}checkMerge(){const t=this.next;return null!==t&&t.statics.blotName===this.statics.blotName&&t.domNode.dataset.rowId===this.rowId}get rowId(){return this.domNode.dataset.rowId}setHeight(t){this.foreachCellInner((e=>{e.height=t}))}insertCell(t,e){const s=[],o=this.children.iterator();let l,i=0;for(;(l=o())&&(i+=l.colspan,!(i>t));)if(1!==l.rowspan)for(let t=0;t<l.rowspan-1;t++)s[t]=(s[t]||0)+l.colspan;if(l&&i-l.colspan<t){l.getCellInner().colspan+=1,1!==l.rowspan&&(s.skipRowNum=l.rowspan-1)}else{const t=this.scroll.create(w,e),s=this.scroll.create(v,e),o=this.scroll.create("block");o.appendChild(this.scroll.create("break")),s.appendChild(o),t.appendChild(s),this.insertBefore(t,l)}return s}getCellByColumIndex(t){const e=[];let s=null,o=0;if(t<0)return[s,o,e];const l=this.children.iterator();for(;s=l();){if(o+=s.colspan,1!==s.rowspan)for(let t=0;t<s.rowspan-1;t++)e[t]=(e[t]||0)+s.colspan;if(o>t)break}return[s,o,e]}removeCell(t){if(t<0)return[];const e=this.getCellByColumIndex(t),[s,o]=e,l=e[2];if(!s)return l;if(o-s.colspan<t||s.colspan>1){const[e]=s.descendants(B);if(1!==s.colspan&&t===o-s.colspan){const t=c(this,p).getColIds();e.colId=t[t.indexOf(e.colId)+1]}1!==s.rowspan&&(l.skipRowNum=s.rowspan-1),e.colspan-=1}else s.remove();return l}foreachCellInner(t){const e=this.children.iterator();let s,o=0;for(;s=e();){const[e]=s.descendants(B);if(t(e,o++))break}}}class q extends N{static blotName=p;static tagName="table";constructor(t,e){super(t,e),setTimeout((()=>{this.colWidthFillTable()}),0)}static create(t){const e=super.create();return e.dataset.tableId=t,e.classList.add("ql-table"),e.setAttribute("cellpadding","0"),e.setAttribute("cellspacing","0"),e}colWidthFillTable(){if(this.full)return;const t=this.getCols();if(!t)return;const e=t.reduce(((t,e)=>e.width+t),0);return 0===e||Number.isNaN(e)||this.full?null:(this.domNode.style.width=`${e}px`,e)}get tableId(){return this.domNode.dataset.tableId}get full(){return Object.hasOwn(this.domNode.dataset,"full")}set full(t){this.domNode[t?"setAttribute":"removeAttribute"]("data-full","")}getRows(){return this.descendants(M)}getRowIds(){return this.getRows().map((t=>t.rowId))}getCols(){return this.descendants(E)}getColIds(){return this.getCols().map((t=>t.colId))}checkMerge(){const t=this.next;return null!==t&&t.statics.blotName===this.statics.blotName&&t.domNode.tagName===this.domNode.tagName&&t.domNode.dataset.tableId===this.tableId}}class R extends N{static blotName=m;static tagName="colgroup";deleteAt(t,e){if(0===t&&e===this.length())return this.parent.remove();super.deleteAt(t,e)}findCol(t){const e=this.children.iterator();let s,o=0;for(;(s=e())&&o!==t;)o++;return s}insertColByIndex(t,e){const s=this.parent;if(!(s instanceof q))throw new TypeError("TableColgroupFormat should be child of TableFormat");const o=this.findCol(t),l=this.scroll.create(b,e);if(s.full){const t=this.children.iterator();let e;for(;e=t();)if(e.width-l.width>=5){e.width-=l.width;break}}this.insertBefore(l,o)}removeColByIndex(t){if(!(this.parent instanceof q))throw new TypeError("TableColgroupFormat should be child of TableMainFormat");const e=this.findCol(t);e&&(e.next?e.next.width+=e.width:e.prev&&(e.prev.width+=e.width),e.remove())}}class z extends N{static blotName=g;static tagName="tbody";checkMerge(){const t=this.next;return null!==t&&t.statics.blotName===this.statics.blotName}deleteAt(t,e){if(0===t&&e===this.length())return this.parent.remove();this.children.forEachAt(t,e,((t,e,s)=>{t.deleteAt(e,s)}))}insertRow(t){const e=c(this,p);if(!e)return;const s=e.getColIds(),o=this.descendants(M),l=new Set(s);let i=0;for(const e of o){if(i===t)break;e.foreachCellInner((e=>{if(i+e.rowspan>t&&(e.rowspan+=1,l.delete(e.colId),1!==e.colspan)){const t=s.indexOf(e.colId);for(let o=0;o<e.colspan-1;o++)l.delete(s[t+o+1])}})),i+=1}const n=a(),r=this.scroll.create(f,n);for(const t of l){const s=this.scroll.create(w,{rowId:n,colId:t,rowspan:1,colspan:1}),o=this.scroll.create(v,{tableId:e.tableId,rowId:n,colId:t,rowspan:1,colspan:1}),l=this.scroll.create("block");l.appendChild(this.scroll.create("break")),o.appendChild(l),s.appendChild(o),r.appendChild(s)}this.insertBefore(r,o[t]||null)}}class O extends N{static blotName=w;static tagName="td";static className="ql-table-cell";__rect;static create(t){const{tableId:e,rowId:s,colId:o,rowspan:l,colspan:i,backgroundColor:n,height:r}=t,a=super.create();return a.dataset.tableId=e,a.dataset.rowId=s,a.dataset.colId=o,a.setAttribute("rowspan",String(l||1)),a.setAttribute("colspan",String(i||1)),n&&(a.style.backgroundColor=n),r&&a.setAttribute("height",String(r)),a}get tableId(){return this.domNode.dataset.tableId}get rowId(){return this.domNode.dataset.rowId}set rowId(t){this.domNode.dataset.rowId=t}get colId(){return this.domNode.dataset.colId}set colId(t){this.domNode.dataset.colId=t}get rowspan(){return Number(this.domNode.getAttribute("rowspan"))}set rowspan(t){this.domNode.setAttribute("rowspan",String(t))}get colspan(){return Number(this.domNode.getAttribute("colspan"))}set colspan(t){this.domNode.setAttribute("colspan",String(t))}get backgroundColor(){return this.domNode.dataset.backgroundColor||""}set backgroundColor(t){Object.assign(this.domNode.style,{backgroundColor:t})}get height(){return Number(this.domNode.getAttribute("height"))||0}set height(t){t>0&&this.domNode.setAttribute("height",String(t))}getCellInner(){return this.descendants(B)[0]}checkMerge(){const{colId:t,rowId:e}=this.domNode.dataset,s=this.next;return null!==s&&s.statics.blotName===this.statics.blotName&&s.domNode.dataset.rowId===e&&s.domNode.dataset.colId===t}deleteAt(t,e){if(0===t&&e===this.length()){const t=this.next||this.prev,e=t&&t.getCellInner();return e&&(e.colspan+=this.colspan),this.remove()}this.children.forEachAt(t,e,((t,e,s)=>{t.deleteAt(e,s)}))}}const $=t.import("parchment"),A=t.import("blots/scroll");class H extends A{createBlock(t,e){let s,o={};for(const[e,l]of Object.entries(t)){null!=this.query(e,$.Scope.BLOCK&$.Scope.BLOT)?s=e:o[e]=l}s===v&&(o={...t},delete o[s]);const l=this.create(s||this.statics.defaultChild.blotName,s?t[s]:void 0);this.insertBefore(l,e||void 0);const i=l.length();for(const[t,e]of Object.entries(o))l.formatAt(0,i,t,e);return l}}const _=t.import("parchment"),j=t.import("blots/block");class V extends j{replaceWith(t,e){const s="string"==typeof t?this.scroll.create(t,e):t;if(s instanceof _.ParentBlot){if(s.statics.blotName===v)return this.wrap(v,s.formats()[v]);this.moveChildren(s)}return null!=this.parent&&(this.parent.insertBefore(s,this.next||void 0),this.remove()),this.attributes.copy(s),s}}const D=new Set,F=t=>{const e=Number.parseFloat(t);return Number.isNaN(e)?0:e},W=[{name:"InsertTop",icon:'<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="M4 3h14a2 2 0 0 1 2 2v7.08a6 6 0 0 0-4.32.92H12v4h1.08c-.11.68-.11 1.35 0 2H4a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2m0 4v4h6V7zm8 0v4h6V7zm-8 6v4h6v-4zm17.94 4.5h-2v4h-2v-4h-2l3-3z"/></svg>',tip:"Insert row above",handle:t=>{t.appendRow(!1),t.hideTableTools()}},{name:"InsertRight",icon:'<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="M4 3h14a2 2 0 0 1 2 2v7.08a6 6 0 0 0-4.32.92H12v4h1.08c-.11.68-.11 1.35 0 2H4a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2m0 4v4h6V7zm8 0v4h6V7zm-8 6v4h6v-4zm15.44 8v-2h-4v-2h4v-2l3 3z"/></svg>',tip:"Insert column right",handle:t=>{t.appendCol(!0),t.hideTableTools()}},{name:"InsertBottom",icon:'<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="M4 3h14a2 2 0 0 1 2 2v7.08a6 6 0 0 0-4.32.92H12v4h1.08c-.11.68-.11 1.35 0 2H4a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2m0 4v4h6V7zm8 0v4h6V7zm-8 6v4h6v-4zm11.94 5.5h2v-4h2v4h2l-3 3z"/></svg>',tip:"Insert row below",handle:t=>{t.appendRow(!0),t.hideTableTools()}},{name:"InsertLeft",icon:'<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="M4 3h14a2 2 0 0 1 2 2v7.08a6 6 0 0 0-4.32.92H12v4h1.08c-.11.68-.11 1.35 0 2H4a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2m0 4v4h6V7zm8 0v4h6V7zm-8 6v4h6v-4zm14.44 2v2h4v2h-4v2l-3-3z"/></svg>',tip:"Insert column Left",handle:t=>{t.appendCol(!1),t.hideTableTools()}},{name:"break"},{name:"MergeCell",icon:'<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="M5 10H3V4h8v2H5zm14 8h-6v2h8v-6h-2zM5 18v-4H3v6h8v-2zM21 4h-8v2h6v4h2zM8 13v2l3-3l-3-3v2H3v2zm8-2V9l-3 3l3 3v-2h5v-2z"/></svg>',tip:"Merge Cell",handle:t=>{t.mergeCells(),t.hideTableTools()}},{name:"SplitCell",icon:'<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="M19 14h2v6H3v-6h2v4h14zM3 4v6h2V6h14v4h2V4zm8 7v2H8v2l-3-3l3-3v2zm5 0V9l3 3l-3 3v-2h-3v-2z"/></svg>',tip:"Split Cell",handle:t=>{t.splitCell(),t.hideTableTools()}},{name:"break"},{name:"DeleteRow",icon:'<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="M9.41 13L12 15.59L14.59 13L16 14.41L13.41 17L16 19.59L14.59 21L12 18.41L9.41 21L8 19.59L10.59 17L8 14.41zM22 9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2zM4 9h4V6H4zm6 0h4V6h-4zm6 0h4V6h-4z"/></svg>',tip:"Delete Row",handle:t=>{t.removeRow(),t.hideTableTools()}},{name:"DeleteColumn",icon:'<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="M4 2h7a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2m0 8v4h7v-4zm0 6v4h7v-4zM4 4v4h7V4zm13.59 8L15 9.41L16.41 8L19 10.59L21.59 8L23 9.41L20.41 12L23 14.59L21.59 16L19 13.41L16.41 16L15 14.59z"/></svg>',tip:"Delete Column",handle:t=>{t.removeCol(),t.hideTableTools()}},{name:"DeleteTable",icon:'<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="m15.46 15.88l1.42-1.42L19 16.59l2.12-2.13l1.42 1.42L20.41 18l2.13 2.12l-1.42 1.42L19 19.41l-2.12 2.13l-1.42-1.42L17.59 18zM4 3h14a2 2 0 0 1 2 2v7.08a6 6 0 0 0-4.32.92H12v4h1.08c-.11.68-.11 1.35 0 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2m0 4v4h6V7zm8 0v4h6V7zm-8 6v4h6v-4z"/></svg>',tip:"Delete table",handle:t=>{t.deleteTable()}},{name:"break"},{name:"BackgroundColor",icon:'<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m11 7l6 6M4 16L15.7 4.3a1 1 0 0 1 1.4 0l2.6 2.6a1 1 0 0 1 0 1.4L8 20H4z"/></svg>',isColorChoose:!0,tip:"Set background color",handle:(t,e,s)=>{t.setBackgroundColor(e,s)}}];class P{tableModule;quill;options;menu=null;selectedTds=[];updateUsedColor;colorItemClass=`color-${a()}`;tooltipItem=[];constructor(t,e,s){this.tableModule=t,this.quill=e,this.options=this.resolveOptions(s);try{const t=localStorage.getItem(this.options.localstorageKey)||"[]";let e=JSON.parse(t);r(e)||(e=[]),e.map((t=>D.add(t)))}catch{}this.updateUsedColor=d((t=>{if(t&&D.add(t),D.size>10){const t=Array.from(D).slice(-10);D.clear(),t.map((t=>D.add(t)))}localStorage.setItem(this.options.localstorageKey,JSON.stringify(Array.from(D)));const e=Array.from(document.querySelectorAll(`.${this.colorItemClass}.table-color-used`));for(const t of e)if(t){t.innerHTML="";for(const e of D){const s=document.createElement("div");s.classList.add("table-color-used-item"),s.style.backgroundColor=e,t.appendChild(s)}}}),1e3),this.options.contextmenu?this.quill.root.addEventListener("contextmenu",this.listenContextmenu):this.menu=this.buildTools()}resolveOptions(t){return Object.assign({tipText:!0,tipTexts:{},tools:W,localstorageKey:"__table-bg-used-color",contextmenu:!1},t)}listenContextmenu=t=>{t.preventDefault();const e=t.composedPath();if(!e||e.length<=0)return;e.find((t=>t.tagName&&"TABLE"===t.tagName.toUpperCase()&&t.classList.contains("ql-table")))&&this.tableModule.tableSelection?.selectedTds?.length?(this.menu||(this.menu=this.buildTools()),this.updateTools({x:t.clientX,y:t.clientY}),document.addEventListener("click",(()=>{this.hideTools()}),{once:!0})):this.hideTools()};buildTools(){const t=this.quill.addContainer("ql-table-menu");this.options.contextmenu&&t.classList.add("contextmenu"),Object.assign(t.style,{display:"flex"});for(const e of this.options.tools){const{name:s,icon:o,handle:l,isColorChoose:r,tip:a=""}=e,d=document.createElement(r?"label":"span");if(d.classList.add("ql-table-menu-item"),"break"===s)d.classList.add("break");else{const t=document.createElement("i");if(t.classList.add("icon"),n(o)?t.appendChild(o(this.tableModule)):t.innerHTML=o,d.appendChild(t),r){const t=document.createElement("input");t.type="color",Object.assign(t.style,{width:0,height:0,padding:0,border:0,outline:"none",opacity:0});const e=document.createElement("div");e.classList.add("table-color-used"),e.classList.add(this.colorItemClass),d.appendChild(e);for(const t of D){const s=document.createElement("div");s.classList.add("table-color-used-item"),s.style.backgroundColor=t,e.appendChild(s)}e.addEventListener("click",(t=>{t.preventDefault();const e=t.target;e&&e.style.backgroundColor&&this.selectedTds.length>0&&this.tableModule.setBackgroundColor(this.selectedTds,e.style.backgroundColor)}));const s=i(d,{content:e,direction:"top"});s&&this.tooltipItem.push(s),n(l)&&t.addEventListener("input",(()=>{l(this.tableModule,this.selectedTds,t.value),this.updateUsedColor(t.value)}),!1),d.appendChild(t)}else n(l)&&d.addEventListener("click",(t=>{this.quill.focus(),l(this.tableModule,this.selectedTds,t)}),!1);d.addEventListener("click",(t=>t.stopPropagation()));const e=this.options.tipTexts[s]||a;if(e&&a)if(this.options.contextmenu){const t=document.createElement("span");t.textContent=e,d.appendChild(t)}else{const t=i(d,{msg:e});t&&this.tooltipItem.push(t)}}t.appendChild(d)}return t}hideTools(){this.menu&&Object.assign(this.menu.style,{display:"none"})}updateTools(t){if(!this.menu||!this.tableModule.tableSelection||!this.tableModule.tableSelection.boundary)return;const{boundary:e,selectedTds:s}=this.tableModule.tableSelection;if(this.selectedTds=s,this.options.contextmenu){if(!t)return this.hideTools();const{x:e,y:s}=t,o=this.quill.container.getBoundingClientRect();let l=e-o.left,i=s-o.top;Object.assign(this.menu.style,{display:"flex",left:null,top:null});const n=this.menu.getBoundingClientRect();l+n.width+o.left>o.right&&(l=o.width-n.width-15),i+n.height+o.top>o.bottom&&(i=o.height-n.height-15),Object.assign(this.menu.style,{left:`${l}px`,top:`${i}px`})}else{Object.assign(this.menu.style,{display:"flex",left:e.x+e.width/2-1+"px",top:`${e.y+e.height}px`,transform:"translate(-50%, 20%)"});const{paddingLeft:t,paddingRight:s}=getComputedStyle(this.quill.root),o=this.menu.getBoundingClientRect(),l=this.quill.root.getBoundingClientRect();o.right>l.right-F(s)?Object.assign(this.menu.style,{left:l.right-l.left-o.width-F(s)-1+"px",transform:"translate(0%, 20%)"}):o.left<F(t)&&Object.assign(this.menu.style,{left:`${F(t)+1}px`,transform:"translate(0%, 20%)"})}}destroy(){if(this.menu){for(const t of this.tooltipItem)t.remove();this.quill.root.removeEventListener("contextmenu",this.listenContextmenu),this.menu.remove(),this.menu=null}}}class X{tableModule;table;quill;options;boundary=null;startScrollX=0;selectedTds=[];cellSelect;dragging=!1;scrollHandler=[];selectingHandler=this.mouseDownHandler.bind(this);tableMenu;constructor(t,e,s,o={}){this.tableModule=t,this.table=e,this.quill=s,this.options=this.resolveOptions(o),this.cellSelect=this.quill.addContainer("ql-table-selection_line"),this.helpLinesInitial();new ResizeObserver((()=>{this.hideSelection()})).observe(this.table),this.quill.root.addEventListener("mousedown",this.selectingHandler,!1),this.tableMenu=new P(this.tableModule,s,this.options.tableMenu)}resolveOptions(t){return Object.assign({selectColor:"#0589f3",tableMenu:{}},t)}addScrollEvent(t,e){t.addEventListener("scroll",e),this.scrollHandler.push([t,e])}clearScrollEvent(){for(let t=0;t<this.scrollHandler.length;t++){const[e,s]=this.scrollHandler[t];e.removeEventListener("scroll",s)}this.scrollHandler=[]}helpLinesInitial(){Object.assign(this.cellSelect.style,{"border-color":this.options.selectColor})}computeSelectedTds(e,s){const o=t.find(this.table);if(!o)return[];const l=new Set(o.descendants(O));let i={x:Math.min(s.x,e.x),y:Math.min(s.y,e.y),x1:Math.max(s.x,e.x),y1:Math.max(s.y,e.y)};const n=new Set;let r=!0;for(;r;){r=!1;for(const t of l){t.__rect||(t.__rect=t.domNode.getBoundingClientRect());const{x:e,y:s,right:o,bottom:a}=t.__rect;if(U(i,{x:e,y:s,x1:o,y1:a},2)){n.add(t),l.delete(t),i={x:Math.min(i.x,e),y:Math.min(i.y,s),x1:Math.max(i.x1,o),y1:Math.max(i.y1,a)},r=!0;break}}}for(const t of[...n,...l])delete t.__rect;return this.boundary=Y({...i,width:i.x1-i.x,height:i.y1-i.y},this.quill.root.parentNode),Array.from(n).map((t=>t.getCellInner()))}mouseDownHandler(t){const{button:e,target:s,clientX:o,clientY:l}=t,i=s.closest(".ql-table");if(0!==e||!i)return;const n=i.dataset.tableId,r={x:o,y:l};this.startScrollX=this.table.parentNode.scrollLeft,this.selectedTds=this.computeSelectedTds(r,r),this.showSelection();const a=t=>{const{button:e,target:s,clientX:o,clientY:l}=t,i=s.closest(".ql-table");if(0!==e||!i||i.dataset.tableId!==n)return;this.dragging=!0;const a={x:o,y:l};this.selectedTds=this.computeSelectedTds(r,a),this.selectedTds.length>1&&this.quill.blur(),this.updateSelection()},d=()=>{document.body.removeEventListener("mousemove",a,!1),document.body.removeEventListener("mouseup",d,!1),this.dragging=!1};document.body.addEventListener("mousemove",a,!1),document.body.addEventListener("mouseup",d,!1)}updateSelection(){if(0===this.selectedTds.length||!this.boundary)return;const t=this.table.parentNode.scrollLeft,e=this.quill.root.parentNode.scrollTop;Object.assign(this.cellSelect.style,{left:this.boundary.x+(this.startScrollX-t)-1+"px",top:`${2*e+this.boundary.y}px`,width:`${this.boundary.width+1}px`,height:`${this.boundary.height+1}px`}),this.tableMenu.updateTools()}showSelection(){this.clearScrollEvent(),Object.assign(this.cellSelect.style,{display:"block"}),this.updateSelection(),this.addScrollEvent(this.table.parentNode,(()=>{this.updateSelection()}))}hideSelection(){this.boundary=null,this.selectedTds=[],this.cellSelect&&Object.assign(this.cellSelect.style,{display:"none"}),this.tableMenu.hideTools(),this.clearScrollEvent()}destroy(){return this.hideSelection(),this.tableMenu.destroy(),this.cellSelect.remove(),this.clearScrollEvent(),this.quill.root.removeEventListener("mousedown",this.selectingHandler,!1),null}}function U(t,e,s=4){const{x:o,y:l,x1:i,y1:n}=t,{x:r,y:a,x1:d,y1:c}=e;return!(i<=r+s||o+s>=d||(n<=a+s||l+s>=c))}function Y(t,e){const s=e.getBoundingClientRect();return{x:t.x-s.x-e.scrollLeft,y:t.y-s.y-e.scrollTop,x1:t.x-s.x-e.scrollLeft+t.width,y1:t.y-s.y-e.scrollTop+t.height,width:t.width,height:t.height}}class K{tableModule;table;quill;options;root;tableMain;tableWrapper;resizeObserver;tableCols=[];tableRows=[];rowHeadWrapper=null;colHeadWrapper=null;scrollHandler=[];constructor(e,s,o,l){this.tableModule=e,this.table=s,this.quill=o,this.options=this.resolveOptions(l),this.tableMain=t.find(this.table),this.tableMain&&(this.tableWrapper=this.tableMain.parent,this.tableWrapper&&(this.root=this.quill.addContainer("ql-table-resizer"),this.resizeObserver=new ResizeObserver((()=>{this.showTool()})),this.resizeObserver.observe(this.table)))}resolveOptions(t){return Object.assign({size:12},t)}addScrollEvent(t,e){t.addEventListener("scroll",e),this.scrollHandler.push([t,e])}bindColDragEvent(){let t=null,e=-1;const s=Array.from(this.root.getElementsByClassName("ql-table-col-header")),o=Array.from(this.root.getElementsByClassName("ql-table-col-separator")),l=document.body,i=o=>{const l=s[e].getBoundingClientRect(),i=this.tableMain.domNode.getBoundingClientRect().width;let n=o.clientX;if(this.tableMain.full){const t=.05*i,o=n>l.right?s[e+1]?s[e+1].getBoundingClientRect().right-t:l.right-t:1/0,r=l.x+t;n=Math.min(Math.max(n,r),o)}else n-l.x<26&&(n=l.x+26);t.style.left=`${n}px`,t.dataset.w=String(n-l.x)},n=()=>{const o=Number.parseInt(t.dataset.w);if(this.tableMain.full){let t=o/this.tableMain.domNode.getBoundingClientRect().width*100;const l=this.tableCols[e].width;if(t<l){t=Math.max(5,t);const o=l-t;this.tableCols[e+1]?(s[e+1].style.width=`${this.tableCols[e+1].width+o}%`,this.tableCols[e+1].width=`${this.tableCols[e+1].width+o}%`):this.tableCols[e-1]?(s[e-1].style.width=`${this.tableCols[e-1].width+o}%`,this.tableCols[e-1].width=`${this.tableCols[e-1].width+o}%`):t=100,s[e].style.width=`${t}%`,this.tableCols[e].width=`${t}%`}else if(this.tableCols[e+1]){const o=l+this.tableCols[e+1].width;t=Math.min(o-5,t),this.tableCols[e].width=`${t}%`,this.tableCols[e+1].width=o-t+"%",s[e].style.width=`${t}%`,s[e+1].style.width=o-t+"%"}}else this.tableMain.domNode.style.width=`${Number.parseFloat(this.tableMain.domNode.style.width)-Number.parseFloat(s[e].style.width)+o}px`,s[e].style.width=`${o}px`,this.tableCols[e].width=`${o}px`,this.colHeadWrapper.style.width=`${this.tableMain.colWidthFillTable()}px`;l.removeChild(t),t=null,e=-1,document.removeEventListener("mouseup",n),document.removeEventListener("mousemove",i)},r=(o,r)=>{document.addEventListener("mouseup",n),document.addEventListener("mousemove",i),e=o;const a=document.createElement("div");a.classList.add("ql-table-drag-line"),a.classList.add("col");const d=this.tableMain.domNode.getBoundingClientRect().width,c=Number.parseFloat(s[e].style.width),h=this.tableMain.full?c/100*d:c;a.dataset.w=String(h);const u=this.table.getBoundingClientRect();Object.assign(a.style,{top:u.y-this.options.size+"px",left:`${r.clientX}px`,height:`${u.height+this.options.size}px`}),l.appendChild(a),t&&l.removeChild(t),t=a};this.addScrollEvent(this.tableWrapper.domNode,(()=>{this.colHeadWrapper.scrollLeft=this.tableWrapper.domNode.scrollLeft}));for(const[t,e]of o.entries())e.addEventListener("mousedown",r.bind(this,t)),e.addEventListener("dragstart",(t=>{t.preventDefault()}))}bindRowDragEvent(){let t=null,e=-1;const s=Array.from(this.root.getElementsByClassName("ql-table-row-header")),o=Array.from(this.root.getElementsByClassName("ql-table-row-separator")),l=document.body,i=o=>{const l=s[e].getBoundingClientRect();let i=o.clientY;i-l.y<36&&(i=l.y+36),t.style.top=`${i}px`,t.dataset.w=String(i-l.y)},n=()=>{const o=Number.parseInt(t.dataset.w);this.tableRows[e].setHeight(o);const r=this.table.getBoundingClientRect();this.rowHeadWrapper.style.height=`${r.height}px`;for(const[t,e]of this.tableRows.entries()){const o=e.domNode.getBoundingClientRect();s[t].style.height=`${o.height}px`}l.removeChild(t),t=null,e=-1,document.removeEventListener("mouseup",n),document.removeEventListener("mousemove",i)},r=(o,r)=>{document.addEventListener("mouseup",n),document.addEventListener("mousemove",i),e=o;const a=document.createElement("div");a.classList.add("ql-table-drag-line"),a.classList.add("row");const d=s[e].getBoundingClientRect().height;a.dataset.w=String(d);const c=this.table.getBoundingClientRect();Object.assign(a.style,{top:`${r.clientY}px`,left:c.x-this.options.size+"px",width:`${c.width+this.options.size}px`}),l.appendChild(a),t&&l.removeChild(t),t=a};for(const[t,e]of o.entries())e.addEventListener("mousedown",r.bind(this,t)),e.addEventListener("dragstart",(t=>{t.preventDefault()}))}showTool(){const e=t.find(this.table);if(!e)return;this.tableCols=this.tableMain.getCols(),this.tableRows=this.tableMain.getRows(),this.root.innerHTML="";const s=e.domNode.getBoundingClientRect(),o=this.quill.root.getBoundingClientRect();Object.assign(this.root.style,{top:s.y-o.y+"px",left:`${s.x-o.x+this.tableWrapper.domNode.scrollLeft}px`});const l=document.createElement("div");l.classList.add("ql-table-resizer-corner"),Object.assign(l.style,{width:`${this.options.size}px`,height:`${this.options.size}px`,transform:`translate(-${this.options.size}px, -${this.options.size}px)`}),this.root.appendChild(l);let i="";for(const t of this.tableCols){let o=t.width+(e.full?"%":"px");t.width||(o=`${t.domNode.getBoundingClientRect().width}px`),i+=`<div class="ql-table-col-header" style="width: ${o}">\n <div class="ql-table-col-separator" style="height: ${s.height+this.options.size-3}px"></div>\n </div>`}const n=document.createElement("div");n.classList.add("ql-table-col-wrapper"),Object.assign(n.style,{transform:`translateY(-${this.options.size}px)`,width:`${s.width}px`,height:`${this.options.size}px`}),n.innerHTML=i,this.root.appendChild(n),n.scrollLeft=this.tableWrapper.domNode.scrollLeft,this.colHeadWrapper=n,this.bindColDragEvent();let r="";for(const t of this.tableRows){r+=`<div class="ql-table-row-header" style="height: ${`${t.domNode.getBoundingClientRect().height}px`}">\n <div class="ql-table-row-separator" style="width: ${s.width+this.options.size-3}px"></div>\n </div>`}const a=document.createElement("div");a.classList.add("ql-table-row-wrapper"),Object.assign(a.style,{transform:`translateX(-${this.options.size}px)`,width:`${this.options.size}px`,height:`${s.height}px`}),a.innerHTML=r,this.root.appendChild(a),this.rowHeadWrapper=a,this.bindRowDragEvent()}hideTool(){this.root.classList.add("ql-hidden")}destroy(){this.hideTool(),this.resizeObserver.disconnect();for(const[t,e]of this.scrollHandler)t.removeEventListener("scroll",e);this.root.remove()}}const G=t.import("delta"),J=t.import("blots/break"),Z=t.import("ui/icons"),Q=(t,{tableId:e,rowId:s,colId:o})=>{const l={tableId:e,rowId:s,colId:o,colspan:1,rowspan:1},i=t.create(w,l),n=t.create(v,l),r=t.create("block");return r.appendChild(t.create("break")),n.appendChild(r),i.appendChild(n),i},tt=[w],et=t=>{return!(!t||!t.parent)&&(e=t.parent,!!tt.includes(e.statics.blotName)||et(t.parent));var e};class st{static moduleName="tableUp";static toolName=p;static keyboradHandler={"forbid remove table by backspace":{bindInHead:!0,key:"Backspace",collapsed:!0,offset:0,handler(t,e){const s=this.quill.getLine(t.index)[0];if(s.prev instanceof L)return s.prev.remove(),!0;if(e.format[v]){if(0===s.offset(c(s,v)))return!1}return!0}},"forbid remove table by delete":{bindInHead:!0,key:"Delete",collapsed:!0,handler(t,e){const s=this.quill.getLine(t.index),o=s[0],l=s[1];if((o.next instanceof L||o.next instanceof E)&&l===o.length()-1)return!1;if(e.format[v]){if(o===c(o,v).children.tail&&l===o.length()-1)return!1}return!0}},"after table insert new line":{bindInHead:!0,key:"Enter",collapsed:!0,format:[v],prefix:/^$/,suffix:/^\s*$/,handler(e){const[s]=this.quill.getLine(e.index);let o=2,l=s;for(;null!==l&&l.length()<=1;)if(l=l.prev,o-=1,o<=0)return this.quill.insertText(e.index+1,"\n"),this.quill.setSelection(e.index+1,t.sources.SILENT),!1;return!0}}};static register(){L.allowedChildren=[q],q.allowedChildren=[z,R],q.requiredContainer=L,R.allowedChildren=[E],R.requiredContainer=q,z.allowedChildren=[M],z.requiredContainer=q,M.allowedChildren=[O],O.requiredContainer=z,O.allowedChildren=[B,J],O.requiredContainer=M,B.requiredContainer=O,t.register({"blots/scroll":H,"blots/block":V,[`formats/${w}`]:O,[`formats/${v}`]:B,[`formats/${f}`]:M,[`formats/${g}`]:z,[`formats/${b}`]:E,[`formats/${m}`]:R,[`formats/${p}`]:q,[`formats/${u}`]:L},!0)}quill;options;fixTableByLisenter=d(this.balanceTables,100);selector;picker;range;table;tableSelection;tableResizer;constructor(e,s){this.quill=e,this.options=this.resolveOptions(s||{});const o=this.quill.getModule("toolbar");if(o){const[,t]=(o.controls||[]).find((([t])=>t===st.toolName))||[];if(t&&"select"===t.tagName.toLocaleLowerCase()){if(this.picker=this.quill.theme.pickers.find((e=>e.select===t)),!this.picker)return;this.picker.label.innerHTML=Z.table,this.buildCustomSelect(this.options.customSelect),this.picker.label.addEventListener("mousedown",this.handleInViewport)}}const l=this.quill.getModule("keyboard");for(const t of Object.values(st.keyboradHandler))t.bindInHead?l.bindings[t.key].unshift(t):l.addBinding(t.key,t);this.quill.root.addEventListener("click",(t=>{const s=t.composedPath();if(!s||s.length<=0)return;const o=s.find((t=>t.tagName&&"TABLE"===t.tagName.toUpperCase()&&t.classList.contains("ql-table")));if(o){if(this.table===o)return;this.table&&this.hideTableTools(),this.showTableTools(o,e)}else this.table&&this.hideTableTools()}),!1),this.quill.root.addEventListener("scroll",(()=>{this.hideTableTools()})),this.quill.on(t.events.EDITOR_CHANGE,((e,s)=>{if(e===t.events.SELECTION_CHANGE&&s){const[e]=this.quill.getLine(s.index),[o]=this.quill.getLine(s.index+s.length);if(0===s.length&&e instanceof E)return this.quill.setSelection(s.index-1,0,t.sources.SILENT);if(e instanceof E)return this.quill.setSelection(s.index-1,s.length+1,t.sources.SILENT);if(o instanceof E)return this.quill.setSelection(s.index-1,s.length-1,t.sources.SILENT);try{return c(e,p),void c(o,p)}catch{}this.hideTableTools()}})),this.pasteTableHandler(),this.listenBalanceCells()}resolveOptions(t){return Object.assign({customBtn:!0,texts:this.resolveTexts(t.texts||{}),full:!0},t)}resolveTexts(t){return Object.assign({customBtnText:"Custom",confirmText:"Confirm",cancelText:"Cancel",rowText:"Row",colText:"Column",notPositiveNumberError:"Please enter a positive integer"},t)}pasteTableHandler(){let t=a(),e=a(),s=[],o=0,l=0;this.quill.clipboard.addMatcher("table",((e,i)=>{if(0===i.ops.length)return i;let n,r=!1;if(i.ops[0]&&"string"!=typeof i.ops[0].insert){for(let t=0;t<i.ops.length;t++){const{insert:e,attributes:s}=i.ops[t];if(e&&"string"!=typeof e&&e[b]){r=!0;break}if(s&&s[v])break}r=!!i.ops[0].insert?.[b]}let d=this.options.full;r&&(d=!!i.ops[0].insert?.[b]?.full);const c=window.getComputedStyle(this.quill.root),h=Number.parseFloat(c.paddingLeft),u=Number.parseFloat(c.paddingRight),p=Number.parseFloat(c.width)-h-u,m=d?`${Math.max(100/s.length,5)}%`:`${Math.max(p/s.length,26)}px`;if(r)for(let e=0;e<i.ops.length;e++){const o=i.ops[e].insert;if(!o||"string"==typeof o||!o[b]){"\n"===o&&i.ops.splice(e,1);break}Object.assign(o[b],{tableId:t,colId:s[e],full:d,width:o[b].width?Number.parseFloat(o[b].width)+(d?"%":"px"):m})}else n=s.reduce(((e,s)=>(e.insert({[b]:{colId:s,tableId:t,width:m,full:d}}),e)),new G);for(let t=0;t<i.ops.length;t++){const e=i.ops[t].attributes;e&&e.table&&delete e.table}return t=a(),s=[],o=0,l=0,(i=n?n.concat(i):i).ops.unshift({insert:"\n"}),i.ops.push({insert:"\n"}),i})),this.quill.clipboard.addMatcher("col",(e=>{s[l]=a();const o=(new G).insert({[b]:{tableId:t,colId:s[l],full:Object.hasOwn(e.dataset,"full")}});return l+=1,o})),this.quill.clipboard.addMatcher("tr",((t,s)=>(e=a(),o=0,s)));const i=(l,i)=>{const n=l,r=n.getAttribute("rowspan")||1,d=n.getAttribute("colspan")||1,c=n.getAttribute("height")||1,h=n.style.backgroundColor||void 0;if(!s[o])for(let t=o;t>=0;t--)s[t]||(s[t]=a());const u=s[o];return o+=Number(d),"\n"!==i.slice(i.length()-1).ops[0]?.insert&&i.insert("\n"),i.compose((new G).retain(i.length(),{[v]:{tableId:t,rowId:e,colId:u,rowspan:r,colspan:d,height:c,backgroundColor:h}}))};this.quill.clipboard.addMatcher("td",i),this.quill.clipboard.addMatcher("th",i)}showTableTools(t,e){t&&(this.table=t,this.tableSelection=new X(this,t,e,this.options.selection||{}),this.tableResizer=new K(this,t,e,this.options.resizer||{}))}hideTableTools(){this.tableSelection&&this.tableSelection.destroy(),this.tableSelection=void 0,this.tableResizer&&this.tableResizer.destroy(),this.tableResizer=void 0,this.table=void 0}async buildCustomSelect(t){if(!this.picker)return;const e=document.createElement("div");e.classList.add("ql-custom-select"),this.selector=t&&n(t)?await t(this):((t={})=>{const e=document.createElement("div");e.classList.add("select-box");const s=document.createElement("div");s.classList.add("select-box__block");for(let e=0;e<(t.row||8);e++)for(let o=0;o<(t.col||8);o++){const t=document.createElement("div");t.classList.add("select-box__item"),t.dataset.row=String(e+1),t.dataset.col=String(o+1),s.appendChild(t)}const l=()=>{const{row:t,col:o}=e.dataset;for(const t of Array.from(s.querySelectorAll(".active")))t.classList.remove("active");if(!t||!o)return;const l=Array.from(s.children);for(let e=0;e<l.length;e++){const{row:s,col:i}=l[e].dataset;if(s>t&&i>o)return;s<=t&&i<=o?l[e].classList.add("active"):l[e].classList.remove("active")}};if(s.addEventListener("mousemove",(t=>{if(!t.target)return;const{row:s,col:o}=t.target.dataset;s&&o&&(e.dataset.row=s,e.dataset.col=o,l())})),s.addEventListener("mouseleave",(()=>{e.removeAttribute("data-row"),e.removeAttribute("data-col"),l()})),s.addEventListener("click",(()=>{const{row:s,col:o}=e.dataset;s&&o&&t.onSelect&&t.onSelect(Number(s),Number(o))})),e.appendChild(s),t.customBtn){const s=t.texts||{},l=document.createElement("div");l.classList.add("select-box__custom"),l.textContent=s.customBtnText||"自定义行列数",l.addEventListener("click",(async()=>{const e=await o(s);e&&t.onSelect&&t.onSelect(e.row,e.col)})),e.appendChild(l)}return e})({onSelect:(t,e)=>{this.insertTable(t,e),this.picker&&this.picker.close()},customBtn:this.options.customBtn,texts:this.options.texts}),e.appendChild(this.selector),this.picker.options.appendChild(e)}handleInViewport=()=>{if(!this.selector||!this.picker)return;if(this.selector.getBoundingClientRect().right>=window.innerWidth){const t=this.picker.label.getBoundingClientRect();Object.assign(this.picker.options.style,{transform:`translateX(calc(-100% + ${t.width}px))`})}else Object.assign(this.picker.options.style,{transform:void 0})};insertTable(e,s){if(e>=30||s>=30)throw new Error("Both rows and columns must be less than 30.");this.quill.focus(),this.range=this.quill.getSelection();const o=this.range;if(null==o)return;const[l]=this.quill.getLeaf(o.index);if(!l)return;if(et(l))throw new Error(`Not supported ${l.statics.blotName} insert into table.`);const i=getComputedStyle(this.quill.root),n=Number.parseInt(i.paddingLeft),r=Number.parseInt(i.paddingRight),d=Number.parseInt(i.width)-n-r;let c=(new G).retain(o.index).insert("\n");const h=a(),u=new Array(s).fill(0).map((()=>a()));c=new Array(s).fill("\n").reduce(((t,e,o)=>(t.insert(e,{[b]:{width:this.options.full?1/s*100+"%":`${Math.floor(d/s)}px`,tableId:h,colId:u[o],full:this.options.full}}),t)),c),c=new Array(e).fill(0).reduce((t=>{const e=a();return new Array(s).fill("\n").reduce(((t,s,o)=>(t.insert(s,{[v]:{tableId:h,rowId:e,colId:u[o],rowspan:1,colspan:1}}),t)),t)}),c),this.quill.updateContents(c,t.sources.USER),this.quill.setSelection(o.index+s+s*e+1,t.sources.SILENT),this.quill.focus()}fixUnusuaDeletelTable(t){const e=t.getRows(),s=t.getColIds();if(0===e.length)return t.remove();if(0===s.length)return;const o=new Array(e.length).fill(0).map((()=>new Array(s.length).fill(!1))),l=t.tableId;for(const[t,i]of e.entries()){let n=0,r=0;const a=o[t],d=i.descendants(O);for(;r<s.length;){if(a[r]){r+=1;continue}const c=d[n];if(c&&c.colId===s[r]){t+c.rowspan-1>=e.length&&(c.getCellInner().rowspan=e.length-t);const{colspan:s,rowspan:l}=c;if(s>1)for(let t=1;t<s;t++)a[r+t]=!0;if(l>1)for(let e=t+1;e<t+l;e++)for(let t=0;t<s;t++)o[e][r+t]=!0;n+=1}else i.insertBefore(Q(this.quill.scroll,{tableId:l,colId:s[r],rowId:i.rowId}),c);r+=1}if(n<d.length)for(let t=n;t<d.length;t++)d[t].remove()}}balanceTables(){for(const t of this.quill.scroll.descendants(q))this.fixUnusuaDeletelTable(t)}listenBalanceCells(){this.quill.on(t.events.SCROLL_OPTIMIZE,(t=>{t.some((t=>!!["TD","TR","TBODY","TABLE"].includes(t.target.tagName)&&(this.fixTableByLisenter(),!0)))}))}setBackgroundColor(t,e){if(0!==t.length)for(const s of t)s.backgroundColor=e}deleteTable(){if(!this.tableSelection||0===this.tableSelection.selectedTds.length)return;const t=c(this.tableSelection.selectedTds[0],p);t&&t.remove(),this.hideTableTools()}appendRow(t){if(!this.tableSelection)return;const e=this.tableSelection.selectedTds;if(e.length<=0)return;const s=e[t?e.length-1:0],o=c(s,p),[l]=o.descendants(z);if(!l)return;const i=c(s,f),n=o.getRows().indexOf(i)+(t?s.rowspan:0);l.insertRow(n)}appendCol(t){if(!this.tableSelection)return;const e=this.tableSelection.selectedTds;if(e.length<=0)return;const[s]=e.reduce(((e,s)=>{const o=s.getColumnIndex();return(!t&&o<=e[1]||t&&o>=e[1])&&(e=[s,o]),e}),[e[0],e[0].getColumnIndex()]),o=s.getColumnIndex()+(t?s.colspan:0),l=c(s,p),i=l.tableId,n=a(),[r]=l.descendants(R);r&&r.insertColByIndex(o,{tableId:i,colId:n,width:l.full?"6%":"160px",full:l.full});const d=l.descendants(M),h=[];let u=0;for(const t of Object.values(d)){const e=h.shift()||0;if(u>0){u-=1;continue}const s=t.insertCell(o-e,{tableId:i,rowId:t.rowId,colId:n,rowspan:1,colspan:1});s.skipRowNum&&(u+=s.skipRowNum);for(const[t,e]of s.entries())h[t]=(h[t]||0)+e}}fixTableByRemove(t){const e=t.getRows(),s=t.getCols(),o=s.reduce(((t,e)=>(t[e.colId]=0,t)),{}),l=[...e].reverse(),i=[];for(const[t,s]of l.entries()){const l=e.length-t-1;s.children.length<=0?i.push(l):s.foreachCellInner((t=>{const e=i.reduce(((e,s)=>t.rowspan+l>s?e+1:e),0);t.rowspan-=e,o[t.colId]+=1}))}let n=0;for(const t of Object.values(o))if(0===t){const t=[];let s=0;for(const o of Object.values(e)){const e=t.shift()||0;let l=[];s>0?(l=o.getCellByColumIndex(n-e)[2],s-=1):(l=o.removeCell(n-e),l.skipRowNum&&(s+=l.skipRowNum));for(const[e,s]of l.entries())t[e]=(t[e]||0)+s}}else n+=1;for(const t of s)0===o[t.colId]&&(t.prev?t.prev.width+=t.width:t.next&&(t.next.width+=t.width),t.remove())}removeRow(){if(!this.tableSelection)return;const t=this.tableSelection.selectedTds;if(t.length<=0)return;const e=c(t[0],p),s=e.getRows();let o=s.length,l=-1;for(const e of t){const t=c(e,f),i=s.indexOf(t);i<o&&(o=i),i+e.rowspan>l&&(l=i+e.rowspan)}const i={};for(let t=o;t<Math.min(s.length,l);t++){s[t].foreachCellInner((e=>{e.rowspan+t>l&&(i[e.colId]={rowspan:e.rowspan+t-l,colspan:e.colspan,colIndex:e.getColumnIndex()}),e.parent.remove()}))}if(s[l]){const t=s[l],o=e.tableId;for(const[e,{colIndex:s,colspan:l,rowspan:n}]of Object.entries(i))t.insertCell(s,{tableId:o,rowId:t.rowId,colId:e,colspan:l,rowspan:n})}this.fixTableByRemove(e)}removeCol(){if(!this.tableSelection)return;const t=this.tableSelection.selectedTds;if(t.length<=0)return;const e=t[0],s=c(e,p),o={};for(const e of t)o[e.rowId]||(o[e.rowId]=0),o[e.rowId]+=e.colspan;const l=Math.max(...Object.values(o)),i=e.getColumnIndex(),n=s.descendants(M);for(let t=0;t<l;t++){const t=[];let e=0;for(const s of Object.values(n)){const o=t.shift()||0;if(e>0){e-=1;continue}const l=s.removeCell(i-o);l.skipRowNum&&(e+=l.skipRowNum);for(const[e,s]of l.entries())t[e]=(t[e]||0)+s}}const[r]=s.descendants(R);if(r)for(let t=0;t<l;t++)r.removeColByIndex(i);this.fixTableByRemove(s)}mergeCells(){if(!this.tableSelection)return;const t=this.tableSelection.selectedTds;if(t.length<=1)return;const e=t.reduce(((t,e,s)=>{const o=e.colId;t[0][o]||(t[0][o]=0),t[0][o]+=e.rowspan;const l=e.rowId;return t[1][l]||(t[1][l]=0),t[1][l]+=e.colspan,0!==s&&(e.moveChildren(t[2]),e.parent.remove()),t}),[{},{},t[0]]),s=Math.max(...Object.values(e[0])),o=Math.max(...Object.values(e[1])),l=e[2];l.colspan=o,l.rowspan=s;const i=c(l,p);this.fixTableByRemove(i)}splitCell(){if(!this.tableSelection)return;const t=this.tableSelection.selectedTds;if(1!==t.length)return;const e=t[0];if(1===e.colspan&&1===e.rowspan)return;const s=c(e,f),o=c(e,p),l=o.tableId,i=e.getColumnIndex(),n=o.getColIds().slice(i,i+e.colspan).reverse();let r=s,a=e.rowspan;for(e.colspan=1,e.rowspan=1;r&&a>0;){for(const t of n)r===s&&t===e.colId||r.insertCell(i+(r===s?1:0),{tableId:l,rowId:r.rowId,colId:t,rowspan:1,colspan:1});a-=1,r=r.next}}}export{V as BlockOverride,N as ContainerFormat,H as ScrollOverride,z as TableBodyFormat,O as TableCellFormat,B as TableCellInnerFormat,E as TableColFormat,R as TableColgroupFormat,q as TableMainFormat,P as TableMenu,K as TableResize,M as TableRowFormat,X as TableSelection,st as TableUp,L as TableWrapperFormat,st as default,c as findParentBlot,Y as getRelativeRect,U as isRectanglesIntersect,a as randomId,tt as tableCantInsert};
1
+ import t from"quill";const e=(t,e)=>{e.type||(e.type="text"),e.value||(e.value="");const s=document.createElement("div");if(s.classList.add("input__item"),t){const e=document.createElement("span");e.classList.add("input__label"),e.textContent=t,s.appendChild(e)}const o=document.createElement("div");o.classList.add("input__input");const l=document.createElement("input");for(const t in e)l.setAttribute(t,e[t]);(e.max||e.min)&&l.addEventListener("blur",(()=>{e.max&&e.max<=Number(l.value)&&(l.value=String(e.max)),e.min&&e.min>=Number(l.value)&&(l.value=String(e.min))})),o.appendChild(l),s.appendChild(o),l.addEventListener("focus",(()=>{o.classList.add("focus")})),l.addEventListener("blur",(()=>{o.classList.remove("focus")}));return{item:s,input:l,errorTip:t=>{let e;o.classList.contains("error")?e=o.querySelector(".input__error-tip"):(e=document.createElement("span"),e.classList.add("input__error-tip"),o.appendChild(e)),e.textContent=t,o.classList.add("error");return{removeError:()=>{o.classList.remove("error"),e.remove()}}}}};let s=8e3;const o=async(t={})=>{const o=document.createElement("div");o.classList.add("table-creator");const l=document.createElement("div");l.classList.add("table-creator__input");const{item:i,input:n,errorTip:r}=e(t.rowText||"行数",{type:"number",value:String(t.row||""),max:99}),{item:a,input:d,errorTip:c}=e(t.colText||"列数",{type:"number",value:String(t.col||""),max:99});l.appendChild(i),l.appendChild(a),o.appendChild(l);const h=document.createElement("div");h.classList.add("table-creator__control");const u=document.createElement("button");u.classList.add("table-creator__btn","confirm"),u.textContent=t.confirmText||"Confirm";const p=document.createElement("button");return p.classList.add("table-creator__btn","cancel"),p.textContent=t.cancelText||"Cancel",h.appendChild(u),h.appendChild(p),o.appendChild(h),new Promise(((e,l)=>{const{close:i}=(({child:t,target:e=document.body,beforeClose:o=()=>{}}={})=>{const l=e,i=document.createElement("div");i.classList.add("dialog"),i.style.zIndex=String(s);const n=document.createElement("div");if(n.classList.add("dialog__overlay"),i.appendChild(n),t){const e=document.createElement("div");e.classList.add("dialog__content"),e.appendChild(t),n.appendChild(e),e.addEventListener("click",(t=>{t.stopPropagation()}))}const r=getComputedStyle(l).overflow;l.style.overflow="hidden",l.appendChild(i);const a=()=>{o(),i.remove(),l.style.overflow=r};return i.addEventListener("click",a),s+=1,{dialog:i,close:a}})({child:o,beforeClose:l});u.addEventListener("click",(async()=>{const s=Number(n.value),o=Number(d.value);return Number.isNaN(s)||s<=0?r(t.notPositiveNumberError||"请输入正整数"):Number.isNaN(o)||o<=0?c(t.notPositiveNumberError||"请输入正整数"):(e({row:s,col:o}),void i())})),p.addEventListener("click",(()=>{i()}))}))};let l;const i=(t,e={})=>{const{msg:s="",delay:o=150,content:i,direction:n="bottom"}=e;if(s||i){l||(l=document.createElement("div"),document.body.appendChild(l));const e=document.createElement("div");let r;e.classList.add("tooltip"),e.classList.add("hidden"),e.classList.add("transparent"),i?e.appendChild(i):s&&(e.textContent=s),l.appendChild(e);const a=()=>{e.classList.add("hidden")},d=()=>{r&&clearTimeout(r),r=setTimeout((()=>{e.removeEventListener("transitionend",a),e.classList.remove("hidden");const s=t.getBoundingClientRect(),o=e.getBoundingClientRect(),l={top:{top:-o.height-8,left:s.width/2-o.width/2},right:{top:s.height/2-o.height/2,left:s.width+8},bottom:{top:o.height+8,left:s.width/2-o.width/2},left:{top:s.height/2-o.height/2,left:-o.width-8}}[n],i=window.scrollY+s.top+l.top;let r=window.scrollX+s.left+l.left;const d=document.documentElement.clientWidth;r+o.width>d?r=d-o.width:r<0&&(r=0),Object.assign(e.style,{top:`${i}px`,left:`${r}px`}),e.classList.remove("transparent")}),o)},c=()=>{r&&clearTimeout(r),r=setTimeout((()=>{e.classList.add("transparent"),e.addEventListener("transitionend",a,{once:!0})}),o)};return t.addEventListener("mouseenter",d),t.addEventListener("mouseleave",c),e.addEventListener("mouseenter",d),e.addEventListener("mouseleave",c),e}return null},n=t=>"function"==typeof t,r=Array.isArray,a=()=>Math.random().toString(36).slice(2),d=(t,e)=>{let s;return function(...o){s&&clearTimeout(s),s=setTimeout((()=>{t.apply(this,o)}),e)}};function c(t,e){let s=t.parent;for(;s&&s.statics.blotName!==e&&s!==t.scroll;)s=s.parent;if(s===t.scroll)throw new Error(`${t.statics.blotName} must be a child of ${e}`);return s}function h(t,e){const s=new Array(e.length),o=new Map(e.map(((t,e)=>[t,e])));let l=t.parent;for(;l&&l!==t.scroll&&0!==o.size;){if(o.has(l.statics.blotName)){s[o.get(l.statics.blotName)]=l,o.delete(l.statics.blotName)}l=l.parent}if(o.size>0)throw new Error(`${t.statics.blotName} must be a child of ${Array.from(o.keys()).join(", ")}`);return s}const u="container",p="table-up-wrapper",m="table-up-main",b="table-up-colgroup",g="table-up-col",f="table-up-body",w="table-up-row",v="table-up-cell",C="table-up-cell-inner",x=t.import("parchment"),I=t.import("blots/container"),N=t.import("blots/block"),y=t.import("blots/block/embed");class L extends I{static blotName=u;static tagName="container";static scope=x.Scope.BLOCK_BLOT;static allowedChildren=[N,y,I];static requiredContainer;static defaultChild;clearDeltaCache(){const t=this.descendants(N,0);for(const e of t)e.cache={}}insertBefore(t,e){t.statics.blotName===this.statics.blotName&&t.children.length>0?super.insertBefore(t.children.head,e):super.insertBefore(t,e)}insertAt(t,e,s){const[o]=this.children.find(t);if(!o){const t=this.scroll.create(this.statics.defaultChild.blotName||"block");this.appendChild(t)}super.insertAt(t,e,s)}optimize(t){if(0===this.children.length)if(null!=this.statics.defaultChild){const t=this.scroll.create(this.statics.defaultChild.blotName);this.appendChild(t)}else this.remove();this.children.length>0&&null!=this.next&&this.checkMerge()&&(this.next.moveChildren(this),this.next.remove())}}const T=t.import("blots/block"),S=t.import("blots/block/embed");class k extends L{static blotName=C;static tagName="div";static className="ql-table-cell-inner";static defaultChild=T;static create(t){const{tableId:e,rowId:s,colId:o,rowspan:l,colspan:i,backgroundColor:n,height:r}=t,a=super.create();return a.dataset.tableId=e,a.dataset.rowId=s,a.dataset.colId=o,a.dataset.rowspan=String(l||1),a.dataset.colspan=String(i||1),r&&r>0&&(a.dataset.height=String(r)),n&&(a.dataset.backgroundColor=n),a}allowDataAttrs=new Set(["table-id","row-id","col-id","rowspan","colspan","background-color","height"]);setFormatValue(t,e){if(!this.allowDataAttrs.has(t))return;const s=`data-${t}`;e?this.domNode.setAttribute(s,e):this.domNode.removeAttribute(s),this.clearDeltaCache()}get tableId(){return this.domNode.dataset.tableId}get rowId(){return this.domNode.dataset.rowId}set rowId(t){this.parent&&(this.parent.rowId=t),this.setFormatValue("row-id",t)}get colId(){return this.domNode.dataset.colId}set colId(t){this.parent&&(this.parent.colId=t),this.setFormatValue("col-id",t)}get rowspan(){return Number(this.domNode.dataset.rowspan)}set rowspan(t){this.parent&&(this.parent.rowspan=t),this.setFormatValue("rowspan",t)}get colspan(){return Number(this.domNode.dataset.colspan)}set colspan(t){this.parent&&(this.parent.colspan=t),this.setFormatValue("colspan",t)}get backgroundColor(){return this.domNode.dataset.backgroundColor||""}set backgroundColor(t){this.parent&&(this.parent.backgroundColor=t),this.setFormatValue("background-color",t)}get height(){return Number(this.domNode.dataset.height)||0}set height(t){this.parent&&(this.parent.height=Number(t)),this.setFormatValue("height",t)}getColumnIndex(){return c(this,m).getColIds().indexOf(this.colId)}formatAt(t,e,s,o){0===this.children.length&&(this.appendChild(this.scroll.create(this.statics.defaultChild.blotName)),e+=1),super.formatAt(t,e,s,o)}formats(){const{tableId:t,rowId:e,colId:s,rowspan:o,colspan:l,backgroundColor:i,height:n}=this,r={tableId:t,rowId:e,colId:s,rowspan:o,colspan:l};return 0!==n&&(r.height=n),i&&(r.backgroundColor=i),{[this.statics.blotName]:r}}optimize(){const t=this.parent,{tableId:e,colId:s,rowId:o,rowspan:l,colspan:i,backgroundColor:n,height:r}=this;if(this.prev&&this.prev instanceof S){const t=this.scroll.create("block");this.appendChild(this.prev),this.appendChild(t)}null!==t&&t.statics.blotName!==v&&this.wrap(v,{tableId:e,colId:s,rowId:o,rowspan:l,colspan:i,backgroundColor:n,height:r}),this.children.length>0&&null!=this.next&&this.checkMerge()&&(this.next.moveChildren(this),this.next.remove()),null!=this.uiNode&&this.uiNode!==this.domNode.firstChild&&this.domNode.insertBefore(this.uiNode,this.domNode.firstChild),0===this.children.length&&this.remove()}insertBefore(t,e){if(t.statics.blotName===this.statics.blotName){const s=t,o=s.formats()[this.statics.blotName],l=this.formats()[this.statics.blotName];if(!Object.entries(l).every((([t,e])=>e===o[t]))){return c(this,w).insertBefore(t.wrap(v,o),e?this.parent:this.parent.next)}s.moveChildren(this)}super.insertBefore(t,e)}}class E extends L{static blotName=w;static tagName="tr";static className="ql-table-row";static create(t){const e=super.create();return e.dataset.rowId=t.rowId,e.dataset.tableId=t.tableId,e}resorting=!1;checkMerge(){const t=this.next;return null!==t&&t.statics.blotName===this.statics.blotName&&t.domNode.dataset.rowId===this.rowId}get rowId(){return this.domNode.dataset.rowId}get tableId(){return this.domNode.dataset.tableId}setHeight(t){this.foreachCellInner((e=>{e.height=t}))}insertCell(t,e){const s=[],o=this.children.iterator();let l,i=0;for(;(l=o())&&(i+=l.colspan,!(i>t));)if(1!==l.rowspan)for(let t=0;t<l.rowspan-1;t++)s[t]=(s[t]||0)+l.colspan;if(l&&i-l.colspan<t){l.getCellInner().colspan+=1,1!==l.rowspan&&(s.skipRowNum=l.rowspan-1)}else{const t=this.scroll.create(v,e),s=this.scroll.create(C,e),o=this.scroll.create("block");o.appendChild(this.scroll.create("break")),s.appendChild(o),t.appendChild(s),this.insertBefore(t,l)}return s}getCellByColumIndex(t){const e=[];let s=null,o=0;if(t<0)return[s,o,e];const l=this.children.iterator();for(;s=l();){if(o+=s.colspan,1!==s.rowspan)for(let t=0;t<s.rowspan-1;t++)e[t]=(e[t]||0)+s.colspan;if(o>t)break}return[s,o,e]}removeCell(t){if(t<0)return[];const e=this.getCellByColumIndex(t),[s,o]=e,l=e[2];if(!s)return l;if(o-s.colspan<t||s.colspan>1){const[e]=s.descendants(k);if(1!==s.colspan&&t===o-s.colspan){const t=c(this,m).getColIds();e.colId=t[t.indexOf(e.colId)+1]}1!==s.rowspan&&(l.skipRowNum=s.rowspan-1),e.colspan-=1}else s.remove();return l}foreachCellInner(t){const e=this.children.iterator();let s,o=0;for(;s=e();){const[e]=s.descendants(k);if(t(e,o++))break}}optimize(t){const e=this.parent,{tableId:s}=this;null!==e&&e.statics.blotName!==f&&this.wrap(f,s),super.optimize(t)}}class B extends L{static blotName=f;static tagName="tbody";static create(t){const e=super.create();return e.dataset.tableId=t,e}get tableId(){return this.domNode.dataset.tableId}checkMerge(){const t=this.next;return null!==t&&t.statics.blotName===this.statics.blotName}insertRow(t){const e=c(this,m);if(!e)return;const s=e.getColIds(),o=this.descendants(E),l=new Set(s);let i=0;for(const e of o){if(i===t)break;e.foreachCellInner((e=>{if(i+e.rowspan>t&&(e.rowspan+=1,l.delete(e.colId),1!==e.colspan)){const t=s.indexOf(e.colId);for(let o=0;o<e.colspan-1;o++)l.delete(s[t+o+1])}})),i+=1}const n=e.tableId,r=a(),d=this.scroll.create(w,r);for(const t of l){const e=this.scroll.create(v,{tableId:n,rowId:r,colId:t,rowspan:1,colspan:1}),s=this.scroll.create(C,{tableId:n,rowId:r,colId:t,rowspan:1,colspan:1}),o=this.scroll.create("block");o.appendChild(this.scroll.create("break")),s.appendChild(o),e.appendChild(s),d.appendChild(e)}this.insertBefore(d,o[t]||null)}optimize(t){const e=this.parent;if(null!==e&&e.statics.blotName!==m){const{tableId:t}=this;this.wrap(m,{tableId:t})}super.optimize(t)}}const q=t.import("blots/block/embed");class R extends q{scroll;domNode;static blotName=g;static tagName="col";static create(t){const{width:e,tableId:s,colId:o,full:l}=t,i=super.create();return i.setAttribute("width",`${Number.parseFloat(e)}${l?"%":"px"}`),l&&(i.dataset.full=String(l)),i.dataset.tableId=s,i.dataset.colId=o,i.setAttribute("contenteditable","false"),i}constructor(t,e){super(t,e),this.scroll=t,this.domNode=e}get width(){const t=this.domNode.getAttribute("width");return Number.parseFloat(t)}set width(t){const e=Number.parseFloat(t);this.domNode.setAttribute("width",`${e}${this.full?"%":"px"}`)}get tableId(){return this.domNode.dataset.tableId}get colId(){return this.domNode.dataset.colId}get full(){return Object.hasOwn(this.domNode.dataset,"full")}static value(t){const{tableId:e,colId:s}=t.dataset,o=t.getAttribute("width"),l={tableId:e,colId:s,full:Object.hasOwn(t.dataset,"full")};return o&&(l.width=Number.parseFloat(o)),l}checkMerge(){const t=this.next,{tableId:e,colId:s}=this;return null!==t&&t.statics.blotName===this.statics.blotName&&t.domNode.dataset.tableId===e&&t.domNode.dataset.colId===s}optimize(t){const e=this.parent;if(null!=e&&e.statics.blotName!==b){const{tableId:t,full:e}=this;this.wrap(b,{tableId:t,full:e})}super.optimize(t)}}class z extends L{static blotName=m;static tagName="table";static create(t){const e=super.create(),{tableId:s,full:o}=t;return e.dataset.tableId=s,o&&(e.dataset.full=String(o)),e.classList.add("ql-table"),e.setAttribute("cellpadding","0"),e.setAttribute("cellspacing","0"),e}constructor(t,e){super(t,e),setTimeout((()=>{this.colWidthFillTable()}),0)}colWidthFillTable(){if(this.full)return;const t=this.getCols();if(!t)return;const e=t.reduce(((t,e)=>e.width+t),0);return 0===e||Number.isNaN(e)||this.full?null:(this.domNode.style.width=`${e}px`,e)}get tableId(){return this.domNode.dataset.tableId}get full(){return Object.hasOwn(this.domNode.dataset,"full")}set full(t){this.domNode[t?"setAttribute":"removeAttribute"]("data-full","")}getRows(){return this.descendants(E)}getRowIds(){return this.getRows().map((t=>t.rowId))}getCols(){return this.descendants(R)}getColIds(){return this.getCols().map((t=>t.colId))}checkMerge(){const t=this.next;return null!==t&&t.statics.blotName===this.statics.blotName&&t.domNode.tagName===this.domNode.tagName&&t.domNode.dataset.tableId===this.tableId}optimize(t){const e=this.parent;null!==e&&e.statics.blotName!==p&&this.wrap(p,this.tableId),super.optimize(t)}}class M extends L{static blotName=b;static tagName="colgroup";static create(t){const e=super.create();return e.dataset.tableId=t.tableId,t.full&&(e.dataset.full=String(t.full)),e.setAttribute("contenteditable","false"),e}get tableId(){return this.domNode.dataset.tableId}get full(){return Object.hasOwn(this.domNode.dataset,"full")}findCol(t){const e=this.children.iterator();let s,o=0;for(;(s=e())&&o!==t;)o++;return s}insertColByIndex(t,e){const s=this.parent;if(!(s instanceof z))throw new TypeError("TableColgroupFormat should be child of TableFormat");const o=this.findCol(t),l=this.scroll.create(g,e);if(s.full){const t=this.children.iterator();let e;for(;e=t();)if(e.width-l.width>=5){e.width-=l.width;break}}this.insertBefore(l,o)}removeColByIndex(t){if(!(this.parent instanceof z))throw new TypeError("TableColgroupFormat should be child of TableMainFormat");const e=this.findCol(t);e&&(e.next?e.next.width+=e.width:e.prev&&(e.prev.width+=e.width),e.remove())}optimize(t){const e=this.parent;if(null!=e&&e.statics.blotName!==m){const{tableId:t,full:e}=this;this.wrap(m,{tableId:t,full:e})}super.optimize(t)}}class O extends L{static blotName=p;static tagName="div";static className="ql-table-wrapper";static create(t){const e=super.create();return e.dataset.tableId=t,e.addEventListener("dragstart",(t=>{t.preventDefault(),t.stopPropagation()}),!0),e.addEventListener("drop",(t=>{t.preventDefault()})),e.addEventListener("dragover",(t=>{t.preventDefault(),t.dataTransfer.dropEffect="none"})),e}get tableId(){return this.domNode.dataset.tableId}insertBefore(t,e){t.statics.blotName===this.statics.blotName?super.insertBefore(t.children.head,e):this.statics.allowedChildren.some((e=>e.blotName===t.statics.blotName))?super.insertBefore(t,e):e?this.prev?this.prev.insertBefore(t,null):this.parent.insertBefore(t,this):this.next?this.next.insertBefore(t,e):this.parent.appendChild(t)}checkMerge(){const t=this.next;return null!==t&&t.statics.blotName===this.statics.blotName&&t.domNode.tagName===this.domNode.tagName&&t.domNode.dataset.tableId===this.tableId}deleteAt(t,e){super.deleteAt(t,e),setTimeout((()=>{const t=this.descendants(B),e=this.descendants(M);0!==t.length&&0!==e.length||this.remove()}),0)}}class A extends L{static blotName=v;static tagName="td";static className="ql-table-cell";__rect;static create(t){const{tableId:e,rowId:s,colId:o,rowspan:l,colspan:i,backgroundColor:n,height:r}=t,a=super.create();return a.dataset.tableId=e,a.dataset.rowId=s,a.dataset.colId=o,a.setAttribute("rowspan",String(l||1)),a.setAttribute("colspan",String(i||1)),n&&(a.style.backgroundColor=n),r&&a.setAttribute("height",String(r)),a}get tableId(){return this.domNode.dataset.tableId}get rowId(){return this.domNode.dataset.rowId}set rowId(t){this.domNode.dataset.rowId=t}get colId(){return this.domNode.dataset.colId}set colId(t){this.domNode.dataset.colId=t}get rowspan(){return Number(this.domNode.getAttribute("rowspan"))}set rowspan(t){this.domNode.setAttribute("rowspan",String(t))}get colspan(){return Number(this.domNode.getAttribute("colspan"))}set colspan(t){this.domNode.setAttribute("colspan",String(t))}get backgroundColor(){return this.domNode.dataset.backgroundColor||""}set backgroundColor(t){Object.assign(this.domNode.style,{backgroundColor:t})}get height(){return Number(this.domNode.getAttribute("height"))||0}set height(t){t>0&&this.domNode.setAttribute("height",String(t))}getCellInner(){return this.descendants(k)[0]}checkMerge(){const{colId:t,rowId:e}=this.domNode.dataset,s=this.next;return null!==s&&s.statics.blotName===this.statics.blotName&&s.domNode.dataset.rowId===e&&s.domNode.dataset.colId===t}optimize(t){const e=this.parent,{tableId:s,rowId:o}=this;if(null!==e&&e.statics.blotName!==w&&this.wrap(w,{tableId:s,rowId:o}),e&&e.statics.blotName===w&&e.rowId!==this.rowId){const t=c(this,m),l=t.getColIds(),i=t.getRowIds(),n=l.indexOf(this.colId),r=i.indexOf(this.rowId),a=t=>{if(!t)return t;const e=i.indexOf(t.rowId);if(-1===r){const s=l.indexOf(t.children.head.colId);if(t.children.head===this||!this.prev&&s<n)return t;let o=t.next;for(;o&&(o.resorting||e===i.indexOf(o.rowId));)o=o.next;return o}if(e===r){return l.indexOf(t.children.head.colId)<n?a(t.next):t}return e<r?a(t.next):t},d=a(e),h=this.wrap(w,{tableId:s,rowId:o});h.resorting=!0,e.parent.insertBefore(h,d)}super.optimize(t)}}const $=t.import("parchment"),H=t.import("blots/scroll");class _ extends H{createBlock(t,e){let s,o={};for(const[e,l]of Object.entries(t)){null!=this.query(e,$.Scope.BLOCK&$.Scope.BLOT)?s=e:o[e]=l}s===C&&(o={...t},delete o[s]);const l=this.create(s||this.statics.defaultChild.blotName,s?t[s]:void 0);this.insertBefore(l,e||void 0);const i=l.length();for(const[t,e]of Object.entries(o))l.formatAt(0,i,t,e);return l}optimize(t){super.optimize(t);const e=this.scroll.descendants(E);for(const t of e)t.resorting=!1}}const j=t.import("parchment"),V=t.import("blots/block");class D extends V{replaceWith(t,e){const s="string"==typeof t?this.scroll.create(t,e):t;if(s instanceof j.ParentBlot){if(s.statics.blotName===C){const t=this.parent;if(t.statics.blotName===C){if(null!=t&&t.insertBefore(s,this.prev?null:this.next),this.parent.statics.blotName===C&&this.prev){let t=this;for(;t;){const e=t.next;s.appendChild(t),t=e}}else s.appendChild(this);t&&0===t.length()&&t.parent.remove()}else null!=t&&t.insertBefore(s,this.next),s.appendChild(this);return s}this.moveChildren(s)}return null!=this.parent&&(this.parent.insertBefore(s,this.next||void 0),this.remove()),this.attributes.copy(s),s}format(t,e){if(t!==C||this.parent.statics.blotName!==t||e)super.format(t,e);else{const[t,e,s]=h(this,[v,w,p]),o=s.next;let l=e.next,i=t.next;for(s.parent.insertBefore(this,o);i;){const t=i.next;s.parent.insertBefore(i,o),i=t}for(;l;){const t=l.next;s.parent.insertBefore(l,o),l=t}}}}const F=new Set,P=t=>{const e=Number.parseFloat(t);return Number.isNaN(e)?0:e},U=[{name:"InsertTop",icon:'<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="M4 3h14a2 2 0 0 1 2 2v7.08a6 6 0 0 0-4.32.92H12v4h1.08c-.11.68-.11 1.35 0 2H4a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2m0 4v4h6V7zm8 0v4h6V7zm-8 6v4h6v-4zm17.94 4.5h-2v4h-2v-4h-2l3-3z"/></svg>',tip:"Insert row above",handle:t=>{t.appendRow(!1),t.hideTableTools()}},{name:"InsertRight",icon:'<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="M4 3h14a2 2 0 0 1 2 2v7.08a6 6 0 0 0-4.32.92H12v4h1.08c-.11.68-.11 1.35 0 2H4a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2m0 4v4h6V7zm8 0v4h6V7zm-8 6v4h6v-4zm15.44 8v-2h-4v-2h4v-2l3 3z"/></svg>',tip:"Insert column right",handle:t=>{t.appendCol(!0),t.hideTableTools()}},{name:"InsertBottom",icon:'<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="M4 3h14a2 2 0 0 1 2 2v7.08a6 6 0 0 0-4.32.92H12v4h1.08c-.11.68-.11 1.35 0 2H4a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2m0 4v4h6V7zm8 0v4h6V7zm-8 6v4h6v-4zm11.94 5.5h2v-4h2v4h2l-3 3z"/></svg>',tip:"Insert row below",handle:t=>{t.appendRow(!0),t.hideTableTools()}},{name:"InsertLeft",icon:'<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="M4 3h14a2 2 0 0 1 2 2v7.08a6 6 0 0 0-4.32.92H12v4h1.08c-.11.68-.11 1.35 0 2H4a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2m0 4v4h6V7zm8 0v4h6V7zm-8 6v4h6v-4zm14.44 2v2h4v2h-4v2l-3-3z"/></svg>',tip:"Insert column Left",handle:t=>{t.appendCol(!1),t.hideTableTools()}},{name:"break"},{name:"MergeCell",icon:'<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="M5 10H3V4h8v2H5zm14 8h-6v2h8v-6h-2zM5 18v-4H3v6h8v-2zM21 4h-8v2h6v4h2zM8 13v2l3-3l-3-3v2H3v2zm8-2V9l-3 3l3 3v-2h5v-2z"/></svg>',tip:"Merge Cell",handle:t=>{t.mergeCells(),t.hideTableTools()}},{name:"SplitCell",icon:'<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="M19 14h2v6H3v-6h2v4h14zM3 4v6h2V6h14v4h2V4zm8 7v2H8v2l-3-3l3-3v2zm5 0V9l3 3l-3 3v-2h-3v-2z"/></svg>',tip:"Split Cell",handle:t=>{t.splitCell(),t.hideTableTools()}},{name:"break"},{name:"DeleteRow",icon:'<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="M9.41 13L12 15.59L14.59 13L16 14.41L13.41 17L16 19.59L14.59 21L12 18.41L9.41 21L8 19.59L10.59 17L8 14.41zM22 9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2zM4 9h4V6H4zm6 0h4V6h-4zm6 0h4V6h-4z"/></svg>',tip:"Delete Row",handle:t=>{t.removeRow(),t.hideTableTools()}},{name:"DeleteColumn",icon:'<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="M4 2h7a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2m0 8v4h7v-4zm0 6v4h7v-4zM4 4v4h7V4zm13.59 8L15 9.41L16.41 8L19 10.59L21.59 8L23 9.41L20.41 12L23 14.59L21.59 16L19 13.41L16.41 16L15 14.59z"/></svg>',tip:"Delete Column",handle:t=>{t.removeCol(),t.hideTableTools()}},{name:"DeleteTable",icon:'<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="m15.46 15.88l1.42-1.42L19 16.59l2.12-2.13l1.42 1.42L20.41 18l2.13 2.12l-1.42 1.42L19 19.41l-2.12 2.13l-1.42-1.42L17.59 18zM4 3h14a2 2 0 0 1 2 2v7.08a6 6 0 0 0-4.32.92H12v4h1.08c-.11.68-.11 1.35 0 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2m0 4v4h6V7zm8 0v4h6V7zm-8 6v4h6v-4z"/></svg>',tip:"Delete table",handle:t=>{t.deleteTable()}},{name:"break"},{name:"BackgroundColor",icon:'<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m11 7l6 6M4 16L15.7 4.3a1 1 0 0 1 1.4 0l2.6 2.6a1 1 0 0 1 0 1.4L8 20H4z"/></svg>',isColorChoose:!0,tip:"Set background color",handle:(t,e,s)=>{t.setBackgroundColor(e,s)}}];class X{tableModule;quill;options;menu=null;selectedTds=[];updateUsedColor;colorItemClass=`color-${a()}`;tooltipItem=[];constructor(t,e,s){this.tableModule=t,this.quill=e,this.options=this.resolveOptions(s);try{const t=localStorage.getItem(this.options.localstorageKey)||"[]";let e=JSON.parse(t);r(e)||(e=[]),e.map((t=>F.add(t)))}catch{}this.updateUsedColor=d((t=>{if(t&&F.add(t),F.size>10){const t=Array.from(F).slice(-10);F.clear(),t.map((t=>F.add(t)))}localStorage.setItem(this.options.localstorageKey,JSON.stringify(Array.from(F)));const e=Array.from(document.querySelectorAll(`.${this.colorItemClass}.table-color-used`));for(const t of e)if(t){t.innerHTML="";for(const e of F){const s=document.createElement("div");s.classList.add("table-color-used-item"),s.style.backgroundColor=e,t.appendChild(s)}}}),1e3),this.options.contextmenu?this.quill.root.addEventListener("contextmenu",this.listenContextmenu):this.menu=this.buildTools()}resolveOptions(t){return Object.assign({tipText:!0,tipTexts:{},tools:U,localstorageKey:"__table-bg-used-color",contextmenu:!1},t)}listenContextmenu=t=>{t.preventDefault();const e=t.composedPath();if(!e||e.length<=0)return;e.find((t=>t.tagName&&"TABLE"===t.tagName.toUpperCase()&&t.classList.contains("ql-table")))&&this.tableModule.tableSelection?.selectedTds?.length?(this.menu||(this.menu=this.buildTools()),this.updateTools({x:t.clientX,y:t.clientY}),document.addEventListener("click",(()=>{this.hideTools()}),{once:!0})):this.hideTools()};buildTools(){const t=this.quill.addContainer("ql-table-menu");this.options.contextmenu&&t.classList.add("contextmenu"),Object.assign(t.style,{display:"flex"});for(const e of this.options.tools){const{name:s,icon:o,handle:l,isColorChoose:r,tip:a=""}=e,d=document.createElement(r?"label":"span");if(d.classList.add("ql-table-menu-item"),"break"===s)d.classList.add("break");else{const t=document.createElement("i");if(t.classList.add("icon"),n(o)?t.appendChild(o(this.tableModule)):t.innerHTML=o,d.appendChild(t),r){const t=document.createElement("input");t.type="color",Object.assign(t.style,{width:0,height:0,padding:0,border:0,outline:"none",opacity:0});const e=document.createElement("div");e.classList.add("table-color-used"),e.classList.add(this.colorItemClass),d.appendChild(e);for(const t of F){const s=document.createElement("div");s.classList.add("table-color-used-item"),s.style.backgroundColor=t,e.appendChild(s)}e.addEventListener("click",(t=>{t.preventDefault();const e=t.target;e&&e.style.backgroundColor&&this.selectedTds.length>0&&this.tableModule.setBackgroundColor(this.selectedTds,e.style.backgroundColor)}));const s=i(d,{content:e,direction:"top"});s&&this.tooltipItem.push(s),n(l)&&t.addEventListener("input",(()=>{l(this.tableModule,this.selectedTds,t.value),this.updateUsedColor(t.value)}),!1),d.appendChild(t),this.options.contextmenu&&d.addEventListener("click",(t=>t.stopPropagation()))}else n(l)&&d.addEventListener("click",(t=>{this.quill.focus(),l(this.tableModule,this.selectedTds,t)}),!1);const e=this.options.tipTexts[s]||a;if(e&&a)if(this.options.contextmenu){const t=document.createElement("span");t.textContent=e,d.appendChild(t)}else{const t=i(d,{msg:e});t&&this.tooltipItem.push(t)}}t.appendChild(d)}return t}hideTools(){this.menu&&Object.assign(this.menu.style,{display:"none"})}updateTools(t){if(!this.menu||!this.tableModule.tableSelection||!this.tableModule.tableSelection.boundary)return;const{boundary:e,selectedTds:s}=this.tableModule.tableSelection;if(this.selectedTds=s,this.options.contextmenu){if(!t)return this.hideTools();const{x:e,y:s}=t,o=this.quill.container.getBoundingClientRect();let l=e-o.left,i=s-o.top;Object.assign(this.menu.style,{display:"flex",left:null,top:null});const n=this.menu.getBoundingClientRect();l+n.width+o.left>o.right&&(l=o.width-n.width-15),i+n.height+o.top>o.bottom&&(i=o.height-n.height-15),Object.assign(this.menu.style,{left:`${l}px`,top:`${i}px`})}else{Object.assign(this.menu.style,{display:"flex",left:e.x+e.width/2-1+"px",top:`${e.y+e.height}px`,transform:"translate(-50%, 20%)"});const{paddingLeft:t,paddingRight:s}=getComputedStyle(this.quill.root),o=this.menu.getBoundingClientRect(),l=this.quill.root.getBoundingClientRect();o.right>l.right-P(s)?Object.assign(this.menu.style,{left:l.right-l.left-o.width-P(s)-1+"px",transform:"translate(0%, 20%)"}):o.left<P(t)&&Object.assign(this.menu.style,{left:`${P(t)+1}px`,transform:"translate(0%, 20%)"})}}destroy(){for(const t of this.tooltipItem)t.remove();this.quill.root.removeEventListener("contextmenu",this.listenContextmenu),this.menu&&(this.menu.remove(),this.menu=null)}}class Y{tableModule;table;quill;options;boundary=null;startScrollX=0;selectedTds=[];cellSelect;dragging=!1;scrollHandler=[];selectingHandler=this.mouseDownHandler.bind(this);tableMenu;constructor(t,e,s,o={}){this.tableModule=t,this.table=e,this.quill=s,this.options=this.resolveOptions(o),this.cellSelect=this.quill.addContainer("ql-table-selection_line"),this.helpLinesInitial();new ResizeObserver((()=>{this.hideSelection()})).observe(this.table),this.quill.root.addEventListener("mousedown",this.selectingHandler,!1),this.tableMenu=new X(this.tableModule,s,this.options.tableMenu)}resolveOptions(t){return Object.assign({selectColor:"#0589f3",tableMenu:{}},t)}addScrollEvent(t,e){t.addEventListener("scroll",e),this.scrollHandler.push([t,e])}clearScrollEvent(){for(let t=0;t<this.scrollHandler.length;t++){const[e,s]=this.scrollHandler[t];e.removeEventListener("scroll",s)}this.scrollHandler=[]}helpLinesInitial(){Object.assign(this.cellSelect.style,{"border-color":this.options.selectColor})}computeSelectedTds(e,s){const o=t.find(this.table);if(!o)return[];const l=new Set(o.descendants(A).map(((t,e)=>(t.index=e,t))));let i={x:Math.min(s.x,e.x),y:Math.min(s.y,e.y),x1:Math.max(s.x,e.x),y1:Math.max(s.y,e.y)};const n=new Set;let r=!0;for(;r;){r=!1;for(const t of l){t.__rect||(t.__rect=t.domNode.getBoundingClientRect());const{x:e,y:s,right:o,bottom:a}=t.__rect;if(K(i,{x:e,y:s,x1:o,y1:a},2)){n.add(t),l.delete(t),i={x:Math.min(i.x,e),y:Math.min(i.y,s),x1:Math.max(i.x1,o),y1:Math.max(i.y1,a)},r=!0;break}}}for(const t of[...n,...l])delete t.__rect;return this.boundary=W({...i,width:i.x1-i.x,height:i.y1-i.y},this.quill.root.parentNode),Array.from(n).sort(((t,e)=>t.index-e.index)).map((t=>(t.index=void 0,t.getCellInner())))}mouseDownHandler(t){const{button:e,target:s,clientX:o,clientY:l}=t,i=s.closest(".ql-table");if(0!==e||!i)return;const n=i.dataset.tableId,r={x:o,y:l};this.startScrollX=this.table.parentNode.scrollLeft,this.selectedTds=this.computeSelectedTds(r,r),this.showSelection();const a=t=>{const{button:e,target:s,clientX:o,clientY:l}=t,i=s.closest(".ql-table");if(0!==e||!i||i.dataset.tableId!==n)return;this.dragging=!0;const a={x:o,y:l};this.selectedTds=this.computeSelectedTds(r,a),this.selectedTds.length>1&&this.quill.blur(),this.updateSelection()},d=()=>{document.body.removeEventListener("mousemove",a,!1),document.body.removeEventListener("mouseup",d,!1),this.dragging=!1};document.body.addEventListener("mousemove",a,!1),document.body.addEventListener("mouseup",d,!1)}updateSelection(){if(0===this.selectedTds.length||!this.boundary)return;const t=this.table.parentNode.scrollLeft,e=this.quill.root.parentNode.scrollTop;Object.assign(this.cellSelect.style,{left:this.boundary.x+(this.startScrollX-t)-1+"px",top:`${2*e+this.boundary.y}px`,width:`${this.boundary.width+1}px`,height:`${this.boundary.height+1}px`}),this.tableMenu.updateTools()}showSelection(){this.clearScrollEvent(),Object.assign(this.cellSelect.style,{display:"block"}),this.updateSelection(),this.addScrollEvent(this.table.parentNode,(()=>{this.updateSelection()}))}hideSelection(){this.boundary=null,this.selectedTds=[],this.cellSelect&&Object.assign(this.cellSelect.style,{display:"none"}),this.tableMenu.hideTools(),this.clearScrollEvent()}destroy(){return this.hideSelection(),this.tableMenu.destroy(),this.cellSelect.remove(),this.clearScrollEvent(),this.quill.root.removeEventListener("mousedown",this.selectingHandler,!1),null}}function K(t,e,s=4){const{x:o,y:l,x1:i,y1:n}=t,{x:r,y:a,x1:d,y1:c}=e;return!(i<=r+s||o+s>=d||(n<=a+s||l+s>=c))}function W(t,e){const s=e.getBoundingClientRect();return{x:t.x-s.x-e.scrollLeft,y:t.y-s.y-e.scrollTop,x1:t.x-s.x-e.scrollLeft+t.width,y1:t.y-s.y-e.scrollTop+t.height,width:t.width,height:t.height}}class G{quill;options;colResizer;rowResizer;currentTableCell;dragging=!1;constructor(e,s){this.quill=e,this.options=s,this.colResizer=this.quill.addContainer("ql-table-resize-line-col"),this.rowResizer=this.quill.addContainer("ql-table-resize-line-row"),this.quill.root.addEventListener("mousemove",(e=>{if(this.dragging)return;const s=this.findTableCell(e);if(!s)return;const o=t.find(s);if(o&&this.currentTableCell!==s){this.currentTableCell=s;c(o,m).getCols().length>0&&this.updateColResizer(o),this.updateRowResizer(o)}}))}findTableCell(t){for(const e of t.composedPath())if(e instanceof HTMLElement&&"TD"===e.tagName)return e;return null}updateColResizer(t){this.quill.container.removeChild(this.colResizer),this.colResizer=this.quill.addContainer("ql-table-resize-line-col");const[e,s]=h(t,[f,m]),o=e.domNode.getBoundingClientRect(),l=t.domNode.getBoundingClientRect(),i=this.quill.root.getBoundingClientRect();Object.assign(this.colResizer.style,{top:o.y-i.y+"px",left:l.right-i.x+"px",height:`${o.height}px`});const n=s.getCols(),r=n.findIndex((e=>e.colId===t.colId));let a;const d=t=>{const e=n[r].domNode.getBoundingClientRect(),o=s.domNode.getBoundingClientRect().width;let l=t.clientX;if(s.full){const t=.05*o,s=l>e.right?n[r+1]?n[r+1].domNode.getBoundingClientRect().right-t:e.right-t:1/0,i=e.x+t;l=Math.min(Math.max(l,i),s)}else l-e.x<26&&(l=e.x+26);a.style.left=`${l}px`,a.dataset.w=String(l-e.x)},c=()=>{const e=Number.parseInt(a.dataset.w);if(s.full){let t=e/s.domNode.getBoundingClientRect().width*100;const o=n[r].width;if(t<o){t=Math.max(5,t);const e=o-t;n[r+1]?n[r+1].width=`${n[r+1].width+e}%`:n[r-1]?n[r-1].width=`${n[r-1].width+e}%`:t=100,n[r].width=`${t}%`}else if(n[r+1]){const e=o+n[r+1].width;t=Math.min(e-5,t),n[r].width=`${t}%`,n[r+1].width=e-t+"%"}}else s.domNode.style.width=`${Number.parseFloat(s.domNode.style.width)-n[r].domNode.getBoundingClientRect().width+e}px`,n[r].width=`${e}px`;document.body.removeChild(a),a=null,document.removeEventListener("mouseup",c),document.removeEventListener("mousemove",d),this.dragging=!1,this.updateColResizer(t)};this.colResizer.addEventListener("mousedown",(t=>{this.dragging=!0,document.addEventListener("mouseup",c),document.addEventListener("mousemove",d);const e=document.createElement("div");e.classList.add("ql-table-drag-line"),e.classList.add("col");const o=s.domNode.getBoundingClientRect(),l=o.width,i=n[r].width,h=s.full?i/100*l:i;e.dataset.w=String(h),Object.assign(e.style,{top:`${o.y}px`,left:`${t.clientX}px`,height:`${o.height}px`}),document.body.appendChild(e),a&&document.body.removeChild(a),a=e})),this.colResizer.addEventListener("dragstart",(t=>{t.preventDefault()}))}updateRowResizer(t){this.quill.container.removeChild(this.rowResizer),this.rowResizer=this.quill.addContainer("ql-table-resize-line-row");if(!(t.parent instanceof E))return;const[e,s]=h(t,[f,m]),o=e.domNode.getBoundingClientRect(),l=t.domNode.getBoundingClientRect(),i=this.quill.root.getBoundingClientRect();let n;Object.assign(this.rowResizer.style,{top:l.bottom-i.y+"px",left:o.x-i.x+"px",width:`${o.width}px`});const r=e=>{const s=t.parent.domNode.getBoundingClientRect();let o=e.clientY;o-s.y<36&&(o=s.y+36),n.style.top=`${o}px`,n.dataset.w=String(o-s.y)},a=()=>{const e=Number.parseInt(n.dataset.w);t.parent.setHeight(e),document.body.removeChild(n),n=null,document.removeEventListener("mouseup",a),document.removeEventListener("mousemove",r),this.dragging=!1,this.updateRowResizer(t)};this.rowResizer.addEventListener("mousedown",(e=>{this.dragging=!0,document.addEventListener("mouseup",a),document.addEventListener("mousemove",r);const o=document.createElement("div");o.classList.add("ql-table-drag-line"),o.classList.add("row");const l=t.parent.domNode.getBoundingClientRect().height;o.dataset.w=String(l);const i=s.domNode.getBoundingClientRect();Object.assign(o.style,{top:`${e.clientY}px`,left:`${i.x}px`,width:`${i.width}px`}),document.body.appendChild(o),n&&document.body.removeChild(n),n=o})),this.rowResizer.addEventListener("dragstart",(t=>{t.preventDefault()}))}}const J=t.import("delta"),Z=t.import("blots/break"),Q=t.import("ui/icons"),tt=(t,{tableId:e,rowId:s,colId:o})=>{const l={tableId:e,rowId:s,colId:o,colspan:1,rowspan:1},i=t.create(v,l),n=t.create(C,l),r=t.create("block");return r.appendChild(t.create("break")),n.appendChild(r),i.appendChild(n),i},et=[v],st=t=>{return!(!t||!t.parent)&&(e=t.parent,!!et.includes(e.statics.blotName)||st(t.parent));var e};class ot{static moduleName="tableUp";static toolName=m;static keyboradHandler={"forbid remove table by backspace":{bindInHead:!0,key:"Backspace",collapsed:!0,offset:0,handler(t,e){const s=this.quill.getLine(t.index)[0];if(s.prev instanceof O)return s.prev.remove(),!0;if(e.format[C]){if(0===s.offset(c(s,C)))return!1}return!0}},"forbid remove table by delete":{bindInHead:!0,key:"Delete",collapsed:!0,handler(t,e){const s=this.quill.getLine(t.index),o=s[0],l=s[1];if((o.next instanceof O||o.next instanceof R)&&l===o.length()-1)return!1;if(e.format[C]){if(o===c(o,C).children.tail&&l===o.length()-1)return!1}return!0}},"after table insert new line":{bindInHead:!0,key:"Enter",collapsed:!0,format:[C],prefix:/^$/,suffix:/^\s*$/,handler(e){const[s,o]=this.quill.getLine(e.index);if(this.quill.getFormat(e.index+o+1,1)[C])return!0;let l=2,i=s;for(;null!==i&&i.length()<=1;)if(i=i.prev,l-=1,l<=0)return this.quill.insertText(e.index+1,"\n"),this.quill.setSelection(e.index+1,t.sources.SILENT),!1;return!0}}};static register(){O.allowedChildren=[z],z.allowedChildren=[B,M],z.requiredContainer=O,M.allowedChildren=[R],M.requiredContainer=z,B.allowedChildren=[E],B.requiredContainer=z,E.allowedChildren=[A],A.requiredContainer=B,A.allowedChildren=[k,Z],A.requiredContainer=E,k.requiredContainer=A,t.register({"blots/scroll":_,"blots/block":D,[`formats/${v}`]:A,[`formats/${C}`]:k,[`formats/${w}`]:E,[`formats/${f}`]:B,[`formats/${g}`]:R,[`formats/${b}`]:M,[`formats/${m}`]:z,[`formats/${p}`]:O},!0)}quill;options;fixTableByLisenter=d(this.balanceTables,100);resizer;selector;picker;range;table;tableSelection;constructor(e,s){this.quill=e,this.options=this.resolveOptions(s||{});const o=this.quill.getModule("toolbar");if(o){const[,t]=(o.controls||[]).find((([t])=>t===ot.toolName))||[];t&&"select"===t.tagName.toLocaleLowerCase()&&(this.picker=this.quill.theme.pickers.find((e=>e.select===t)),this.picker&&(this.picker.label.innerHTML=Q.table,this.buildCustomSelect(this.options.customSelect),this.picker.label.addEventListener("mousedown",this.handleInViewport)))}const l=this.quill.getModule("keyboard");for(const t of Object.values(ot.keyboradHandler))t.bindInHead?l.bindings[t.key].unshift(t):l.addBinding(t.key,t);this.quill.root.addEventListener("click",(t=>{const s=t.composedPath();if(!s||s.length<=0)return;const o=s.find((t=>t.tagName&&"TABLE"===t.tagName.toUpperCase()&&t.classList.contains("ql-table")));if(o){if(this.table===o)return;this.table&&this.hideTableTools(),this.showTableTools(o,e)}else this.table&&this.hideTableTools()}),!1),this.quill.root.addEventListener("scroll",(()=>{this.hideTableTools()})),this.quill.on(t.events.EDITOR_CHANGE,((e,s,o)=>{if(e===t.events.SELECTION_CHANGE&&s){const[e]=this.quill.getLine(s.index),[l]=this.quill.getLine(s.index+s.length);let i,n;try{i=c(e,m)}catch{}try{n=c(l,m)}catch{}if(e instanceof R)return this.quill.setSelection(s.index+(o.index>s.index?-1:1),s.length+(o.length===s.length?0:o.length>s.length?-1:1),t.sources.USER);if(l instanceof R)return this.quill.setSelection(s.index+1,s.length+1,t.sources.USER);s.length>0&&(i&&!n?this.quill.setSelection(s.index-1,s.length+1,t.sources.USER):n&&!i&&this.quill.setSelection(s.index,s.length+1,t.sources.USER)),i&&n||this.hideTableTools()}})),this.resizer=new G(e,this.options.resizer||{}),this.pasteTableHandler(),this.listenBalanceCells()}resolveOptions(t){return Object.assign({customBtn:!0,texts:this.resolveTexts(t.texts||{}),full:!0},t)}resolveTexts(t){return Object.assign({customBtnText:"Custom",confirmText:"Confirm",cancelText:"Cancel",rowText:"Row",colText:"Column",notPositiveNumberError:"Please enter a positive integer"},t)}pasteTableHandler(){let t=a(),e=a(),s=[],o=0,l=0;this.quill.clipboard.addMatcher("table",((e,i)=>{if(0===i.ops.length)return i;let n,r=!1;if(i.ops[0]&&"string"!=typeof i.ops[0].insert){for(let t=0;t<i.ops.length;t++){const{insert:e,attributes:s}=i.ops[t];if(e&&"string"!=typeof e&&e[g]){r=!0;break}if(s&&s[C])break}r=!!i.ops[0].insert?.[g]}let d=this.options.full;r&&(d=!!i.ops[0].insert?.[g]?.full);const c=window.getComputedStyle(this.quill.root),h=Number.parseFloat(c.paddingLeft),u=Number.parseFloat(c.paddingRight),p=Number.parseFloat(c.width)-h-u,m=d?`${Math.max(100/s.length,5)}%`:`${Math.max(p/s.length,26)}px`;if(r)for(let e=0;e<i.ops.length;e++){const o=i.ops[e].insert;if(!o||"string"==typeof o||!o[g]){"\n"===o&&i.ops.splice(e,1);break}Object.assign(o[g],{tableId:t,colId:s[e],full:d,width:o[g].width?Number.parseFloat(o[g].width)+(d?"%":"px"):m})}else n=s.reduce(((e,s)=>(e.insert({[g]:{colId:s,tableId:t,width:m,full:d}}),e)),new J);for(let t=0;t<i.ops.length;t++){const e=i.ops[t].attributes;e&&e.table&&delete e.table}return t=a(),s=[],o=0,l=0,(i=n?n.concat(i):i).ops.unshift({insert:"\n"}),i.ops.push({insert:"\n"}),i})),this.quill.clipboard.addMatcher("col",(e=>{s[l]=a();const o=(new J).insert({[g]:{tableId:t,colId:s[l],full:Object.hasOwn(e.dataset,"full")}});return l+=1,o})),this.quill.clipboard.addMatcher("tr",((t,s)=>{e=a(),o=0;for(const t of s.ops)t.attributes&&t.attributes.background&&t.attributes[C]&&!t.attributes[C].backgroundColor&&(t.attributes[C].backgroundColor=t.attributes.background);return s}));const i=(l,i)=>{const n=l,r=n.getAttribute("rowspan")||1,d=n.getAttribute("colspan")||1,c=n.getAttribute("height")||1,h=n.style.backgroundColor||void 0;if(!s[o])for(let t=o;t>=0;t--)s[t]||(s[t]=a());const u=s[o];return o+=Number(d),"\n"!==i.slice(i.length()-1).ops[0]?.insert&&i.insert("\n"),i.compose((new J).retain(i.length(),{[C]:{tableId:t,rowId:e,colId:u,rowspan:r,colspan:d,height:c,backgroundColor:h}}))};this.quill.clipboard.addMatcher("td",i),this.quill.clipboard.addMatcher("th",i)}showTableTools(t,e){t&&(this.table=t,this.tableSelection=new Y(this,t,e,this.options.selection||{}))}hideTableTools(){this.tableSelection&&this.tableSelection.destroy(),this.tableSelection=void 0,this.table=void 0}async buildCustomSelect(t){if(!this.picker)return;const e=document.createElement("div");e.classList.add("ql-custom-select"),this.selector=t&&n(t)?await t(this):((t={})=>{const e=document.createElement("div");e.classList.add("select-box");const s=document.createElement("div");s.classList.add("select-box__block");for(let e=0;e<(t.row||8);e++)for(let o=0;o<(t.col||8);o++){const t=document.createElement("div");t.classList.add("select-box__item"),t.dataset.row=String(e+1),t.dataset.col=String(o+1),s.appendChild(t)}const l=()=>{const{row:t,col:o}=e.dataset;for(const t of Array.from(s.querySelectorAll(".active")))t.classList.remove("active");if(!t||!o)return;const l=Array.from(s.children);for(let e=0;e<l.length;e++){const{row:s,col:i}=l[e].dataset;if(s>t&&i>o)return;s<=t&&i<=o?l[e].classList.add("active"):l[e].classList.remove("active")}};if(s.addEventListener("mousemove",(t=>{if(!t.target)return;const{row:s,col:o}=t.target.dataset;s&&o&&(e.dataset.row=s,e.dataset.col=o,l())})),s.addEventListener("mouseleave",(()=>{e.removeAttribute("data-row"),e.removeAttribute("data-col"),l()})),s.addEventListener("click",(()=>{const{row:s,col:o}=e.dataset;s&&o&&t.onSelect&&t.onSelect(Number(s),Number(o))})),e.appendChild(s),t.customBtn){const s=t.texts||{},l=document.createElement("div");l.classList.add("select-box__custom"),l.textContent=s.customBtnText||"自定义行列数",l.addEventListener("click",(async()=>{const e=await o(s);e&&t.onSelect&&t.onSelect(e.row,e.col)})),e.appendChild(l)}return e})({onSelect:(t,e)=>{this.insertTable(t,e),this.picker&&this.picker.close()},customBtn:this.options.customBtn,texts:this.options.texts}),e.appendChild(this.selector),this.picker.options.appendChild(e)}handleInViewport=()=>{if(!this.selector||!this.picker)return;if(this.selector.getBoundingClientRect().right>=window.innerWidth){const t=this.picker.label.getBoundingClientRect();Object.assign(this.picker.options.style,{transform:`translateX(calc(-100% + ${t.width}px))`})}else Object.assign(this.picker.options.style,{transform:void 0})};insertTable(e,s){if(e>=30||s>=30)throw new Error("Both rows and columns must be less than 30.");this.quill.focus(),this.range=this.quill.getSelection();const o=this.range;if(null==o)return;const[l]=this.quill.getLeaf(o.index);if(!l)return;if(st(l))throw new Error(`Not supported ${l.statics.blotName} insert into table.`);const i=getComputedStyle(this.quill.root),n=Number.parseInt(i.paddingLeft),r=Number.parseInt(i.paddingRight),d=Number.parseInt(i.width)-n-r;let c=(new J).retain(o.index).insert("\n");const h=a(),u=new Array(s).fill(0).map((()=>a()));c=new Array(s).fill("\n").reduce(((t,e,o)=>(t.insert(e,{[g]:{width:this.options.full?1/s*100+"%":`${Math.floor(d/s)}px`,tableId:h,colId:u[o],full:this.options.full}}),t)),c),c=new Array(e).fill(0).reduce((t=>{const e=a();return new Array(s).fill("\n").reduce(((t,s,o)=>(t.insert(s,{[C]:{tableId:h,rowId:e,colId:u[o],rowspan:1,colspan:1}}),t)),t)}),c),this.quill.updateContents(c,t.sources.USER),this.quill.setSelection(o.index+s+s*e+1,t.sources.SILENT),this.quill.focus()}fixUnusuaDeletelTable(t){const e=t.getRows(),s=t.getColIds();if(0===e.length)return t.remove();if(0===s.length)return;const o=new Array(e.length).fill(0).map((()=>new Array(s.length).fill(!1))),l=t.tableId;for(const[t,i]of e.entries()){let n=0,r=0;const a=o[t],d=i.descendants(A);for(;r<s.length;){if(a[r]){r+=1;continue}const c=d[n];if(c&&c.colId===s[r]){t+c.rowspan-1>=e.length&&(c.getCellInner().rowspan=e.length-t);const{colspan:s,rowspan:l}=c;if(s>1)for(let t=1;t<s;t++)a[r+t]=!0;if(l>1)for(let e=t+1;e<t+l;e++)for(let t=0;t<s;t++)o[e][r+t]=!0;n+=1}else i.insertBefore(tt(this.quill.scroll,{tableId:l,colId:s[r],rowId:i.rowId}),c);r+=1}if(n<d.length)for(let t=n;t<d.length;t++)d[t].remove()}}balanceTables(){for(const t of this.quill.scroll.descendants(z))this.fixUnusuaDeletelTable(t)}listenBalanceCells(){this.quill.on(t.events.SCROLL_OPTIMIZE,(t=>{t.some((t=>!!["TD","TR","TBODY","TABLE"].includes(t.target.tagName)&&(this.fixTableByLisenter(),!0)))}))}setBackgroundColor(t,e){if(0!==t.length)for(const s of t)s.backgroundColor=e}deleteTable(){if(!this.tableSelection||0===this.tableSelection.selectedTds.length)return;const t=c(this.tableSelection.selectedTds[0],m);t&&t.remove(),this.hideTableTools()}appendRow(t){if(!this.tableSelection)return;const e=this.tableSelection.selectedTds;if(e.length<=0)return;const s=e[t?e.length-1:0],[o,l,i]=h(s,[m,f,w]),n=o.getRows().indexOf(i)+(t?s.rowspan:0);l.insertRow(n)}appendCol(t){if(!this.tableSelection)return;const e=this.tableSelection.selectedTds;if(e.length<=0)return;const[s]=e.reduce(((e,s)=>{const o=s.getColumnIndex();return(!t&&o<=e[1]||t&&o>=e[1])&&(e=[s,o]),e}),[e[0],e[0].getColumnIndex()]),o=s.getColumnIndex()+(t?s.colspan:0),l=c(s,m),i=l.tableId,n=a(),[r]=l.descendants(M);r&&r.insertColByIndex(o,{tableId:i,colId:n,width:l.full?"6%":"160px",full:l.full});const d=l.descendants(E),h=[];let u=0;for(const t of Object.values(d)){const e=h.shift()||0;if(u>0){u-=1;continue}const s=t.insertCell(o-e,{tableId:i,rowId:t.rowId,colId:n,rowspan:1,colspan:1});s.skipRowNum&&(u+=s.skipRowNum);for(const[t,e]of s.entries())h[t]=(h[t]||0)+e}}fixTableByRemove(t){const e=t.getRows(),s=t.getCols(),o=s.reduce(((t,e)=>(t[e.colId]=0,t)),{}),l=[...e].reverse(),i=[];for(const[t,s]of l.entries()){const l=e.length-t-1;s.children.length<=0?i.push(l):s.foreachCellInner((t=>{const e=i.reduce(((e,s)=>t.rowspan+l>s?e+1:e),0);t.rowspan-=e,o[t.colId]+=1}))}let n=0;for(const t of Object.values(o))if(0===t){const t=[];let s=0;for(const o of Object.values(e)){const e=t.shift()||0;let l=[];s>0?(l=o.getCellByColumIndex(n-e)[2],s-=1):(l=o.removeCell(n-e),l.skipRowNum&&(s+=l.skipRowNum));for(const[e,s]of l.entries())t[e]=(t[e]||0)+s}}else n+=1;for(const t of s)0===o[t.colId]&&(t.prev?t.prev.width+=t.width:t.next&&(t.next.width+=t.width),t.remove())}removeRow(){if(!this.tableSelection)return;const t=this.tableSelection.selectedTds;if(t.length<=0)return;const e=c(t[0],m),s=e.getRows();let o=s.length,l=-1;for(const e of t){const t=c(e,w),i=s.indexOf(t);i<o&&(o=i),i+e.rowspan>l&&(l=i+e.rowspan)}const i={};for(let t=o;t<Math.min(s.length,l);t++){s[t].foreachCellInner((e=>{e.rowspan+t>l&&(i[e.colId]={rowspan:e.rowspan+t-l,colspan:e.colspan,colIndex:e.getColumnIndex()}),e.parent.remove()}))}if(s[l]){const t=s[l],o=e.tableId;for(const[e,{colIndex:s,colspan:l,rowspan:n}]of Object.entries(i))t.insertCell(s,{tableId:o,rowId:t.rowId,colId:e,colspan:l,rowspan:n})}this.fixTableByRemove(e)}removeCol(){if(!this.tableSelection)return;const t=this.tableSelection.selectedTds;if(t.length<=0)return;const e=t[0],s=c(e,m),o={};for(const e of t)o[e.rowId]||(o[e.rowId]=0),o[e.rowId]+=e.colspan;const l=Math.max(...Object.values(o)),i=e.getColumnIndex(),n=s.descendants(E);for(let t=0;t<l;t++){const t=[];let e=0;for(const s of Object.values(n)){const o=t.shift()||0;if(e>0){e-=1;continue}const l=s.removeCell(i-o);l.skipRowNum&&(e+=l.skipRowNum);for(const[e,s]of l.entries())t[e]=(t[e]||0)+s}}const[r]=s.descendants(M);if(r)for(let t=0;t<l;t++)r.removeColByIndex(i);this.fixTableByRemove(s)}mergeCells(){if(!this.tableSelection)return;const t=this.tableSelection.selectedTds;if(t.length<=1)return;const e=t.reduce(((t,e,s)=>{const o=e.colId;t[0][o]||(t[0][o]=0),t[0][o]+=e.rowspan;const l=e.rowId;return t[1][l]||(t[1][l]=0),t[1][l]+=e.colspan,0!==s&&(e.moveChildren(t[2]),e.parent.remove()),t}),[{},{},t[0]]),s=Math.max(...Object.values(e[0])),o=Math.max(...Object.values(e[1])),l=e[2];l.colspan=o,l.rowspan=s;const i=c(l,m);this.fixTableByRemove(i)}splitCell(){if(!this.tableSelection)return;const t=this.tableSelection.selectedTds;if(1!==t.length)return;const e=t[0];if(1===e.colspan&&1===e.rowspan)return;const[s,o]=h(e,[m,w]),l=s.tableId,i=e.getColumnIndex(),n=s.getColIds().slice(i,i+e.colspan).reverse();let r=o,a=e.rowspan;for(e.colspan=1,e.rowspan=1;r&&a>0;){for(const t of n)r===o&&t===e.colId||r.insertCell(i+(r===o?1:0),{tableId:l,rowId:r.rowId,colId:t,rowspan:1,colspan:1});a-=1,r=r.next}}}export{D as BlockOverride,L as ContainerFormat,_ as ScrollOverride,B as TableBodyFormat,A as TableCellFormat,k as TableCellInnerFormat,R as TableColFormat,M as TableColgroupFormat,z as TableMainFormat,X as TableMenu,G as TableResizeLine,E as TableRowFormat,Y as TableSelection,ot as TableUp,O as TableWrapperFormat,ot as default,c as findParentBlot,h as findParentBlots,W as getRelativeRect,K as isRectanglesIntersect,a as randomId,et as tableCantInsert};
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/utils/components.ts","../src/utils/utils.ts","../src/utils/constants.ts","../src/formats/container-format.ts","../src/formats/table-wrapper-format.ts","../src/formats/table-col-format.ts","../src/formats/table-cell-inner-format.ts","../src/formats/table-row-format.ts","../src/formats/table-main-format.ts","../src/formats/table-colgroup-format.ts","../src/formats/table-body-format.ts","../src/formats/table-cell-format.ts","../src/formats/overrides/scroll.ts","../src/formats/overrides/block.ts","../src/modules/table-menu.ts","../src/modules/table-selection.ts","../src/modules/table-resize.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["createInputItem","label","options","type","value","inputItem","document","createElement","classList","add","inputLabel","textContent","appendChild","inputInput","input","key","setAttribute","max","min","addEventListener","Number","String","remove","item","errorTip","msg","contains","querySelector","removeError","zindex","showTableCreator","async","box","inputContent","rowItem","rowInput","rowErrorTip","rowText","row","colItem","colInput","colErrorTip","colText","col","control","confirmBtn","confirmText","cancelBtn","cancelText","Promise","resolve","reject","close","child","target","body","beforeClose","appendTo","dialog","style","zIndex","overlay","content","e","stopPropagation","originOverflow","getComputedStyle","overflow","createDialog","isNaN","notPositiveNumberError","tooltipContainer","createToolTip","delay","direction","tooltip","timer","transitionendHandler","open","clearTimeout","setTimeout","removeEventListener","elRect","getBoundingClientRect","contentRect","extra","top","height","left","width","right","bottom","window","scrollY","scrollX","innerWidth","documentElement","clientWidth","Object","assign","once","isFunction","val","isArray","Array","randomId","Math","random","toString","slice","debounce","fn","timestamp","args","apply","this","findParentBlot","blot","targetBlotName","parent","statics","blotName","scroll","Error","Parchment","Quill","import","Container","Block","BlockEmbed","ContainerFormat","static","Scope","BLOCK_BLOT","clearDeltaCache","blocks","descendants","cache","insertBefore","ref","children","length","super","head","insertAt","index","def","find","defaultChild","create","TableWrapperFormat","node","dataset","tableId","preventDefault","dataTransfer","dropEffect","domNode","allowedChildren","some","prev","next","checkMerge","tagName","TableColFormat","colId","full","parseFloat","constructor","getAttribute","hasOwn","optimize","context","marker","tableWrapper","table","tableColgroup","replaceWith","TableCellInnerFormat","rowId","rowspan","colspan","backgroundColor","allowDataAttrs","Set","setFormatValue","name","has","attrName","removeAttribute","getColumnIndex","getColIds","indexOf","formatAt","formats","afterBlock","tableBody","tr","td","childBlot","refBlot","console","error","TableRowFormat","setHeight","foreachCellInner","cellInner","insertCell","targetIndex","skip","iterator","cur","i","getCellInner","skipRowNum","tableCell","tableCellInner","block","getCellByColumIndex","stopIndex","cellEndIndex","removeCell","columnIndexData","colIds","func","TableMainFormat","colWidthFillTable","cols","getCols","colsWidth","reduce","sum","getRows","getRowIds","map","d","TableColgroupFormat","deleteAt","findCol","insertColByIndex","TypeError","removeColByIndex","TableBodyFormat","forEachAt","offset","insertRow","tableBlot","rows","insertColIds","cell","delete","colIndex","tdInner","TableCellFormat","__rect","ScrollBlot","ScrollOverride","createBlock","attributes","createBlotName","entries","query","BLOCK","BLOT","undefined","BlockOverride","replacement","ParentBlot","wrap","moveChildren","copy","usedColors","parseNum","num","n","defaultTools","icon","tip","handle","tableModule","appendRow","hideTableTools","appendCol","mergeCells","splitCell","removeRow","removeCol","deleteTable","isColorChoose","selectedTds","color","setBackgroundColor","TableMenu","quill","menu","updateUsedColor","colorItemClass","tooltipItem","resolveOptions","storageValue","localStorage","getItem","localstorageKey","colorValue","JSON","parse","c","size","saveColors","from","clear","v","setItem","stringify","usedColorWrappers","querySelectorAll","usedColorWrapper","innerHTML","recordColor","colorItem","contextmenu","root","listenContextmenu","buildTools","tipText","tipTexts","tools","path","composedPath","toUpperCase","tableSelection","updateTools","x","clientX","y","clientY","hideTools","toolBox","addContainer","display","tool","iconDom","padding","border","outline","opacity","usedColorWrap","push","focus","tipTextDom","position","boundary","containerRect","container","resLeft","resTop","menuRect","transform","paddingLeft","paddingRight","rootRect","destroy","TableSelection","startScrollX","cellSelect","dragging","scrollHandler","selectingHandler","mouseDownHandler","bind","tableMenu","helpLinesInitial","ResizeObserver","hideSelection","observe","selectColor","addScrollEvent","dom","clearScrollEvent","computeSelectedTds","startPoint","endPoint","tableMain","tableCells","x1","y1","selectedCells","findEnd","isRectanglesIntersect","getRelativeRect","parentNode","mousedownEvent","button","closestTable","closest","startTableId","scrollLeft","showSelection","mouseMoveHandler","mousemoveEvent","movePoint","blur","updateSelection","mouseUpHandler","tableViewScrollLeft","scrollTop","a","b","tolerance","minAx","minAy","maxAx","maxAy","minBx","minBy","maxBx","maxBy","targetRect","TableResize","resizeObserver","tableCols","tableRows","rowHeadWrapper","colHeadWrapper","showTool","bindColDragEvent","tipColBreak","curColIndex","tableColHeads","getElementsByClassName","tableColHeadSeparators","handleMousemove","rect","tableWidth","resX","minWidth","maxRange","Infinity","minRange","w","handleMouseup","parseInt","pre","oldWidthPre","last","totalWidthNextPre","removeChild","handleMousedown","divDom","fullWidth","colWidthAttr","tableMainRect","el","bindRowDragEvent","tipRowBreak","curRowIndex","tableRowHeads","tableRowHeadSeparators","resY","corner","colHeadStr","rowHeadStr","hideTool","disconnect","Delta","Break","icons","createCell","tableCantInsert","isForbidInTable","current","includes","TableUp","bindInHead","collapsed","handler","range","getLine","format","line","offsetInline","tail","prefix","suffix","numLines","insertText","setSelection","sources","SILENT","register","requiredContainer","fixTableByLisenter","balanceTables","selector","picker","tableResizer","toolbar","getModule","select","controls","toolName","toLocaleLowerCase","theme","pickers","buildCustomSelect","customSelect","handleInViewport","keyboard","values","keyboradHandler","bindings","unshift","addBinding","evt","tableNode","showTableTools","on","events","EDITOR_CHANGE","event","SELECTION_CHANGE","startBlot","endBlot","pasteTableHandler","listenBalanceCells","customBtn","texts","resolveTexts","customBtnText","cellCount","colCount","clipboard","addMatcher","delta","ops","colDelta","hasCol","insert","isFull","editorStyle","editorPaddingLeft","editorPaddingRight","editorInnerWidth","defaultColWidth","splice","id","blotName_tableCol","attrs","concat","matchCell","compose","retain","blotName_tableCellInner","selection","resizer","selectDom","selectBlock","r","selectItem","updateSelectBlockItems","childs","childRow","childCol","onSelect","selectCustom","res","createSelectBox","insertTable","labelRect","columns","getSelection","currentBlot","getLeaf","rootStyle","fill","memo","text","floor","updateContents","USER","fixUnusuaDeletelTable","trBlots","tableColIds","cellSpanMap","indexTr","indexTd","indexCol","curCellSpan","tds","curTd","SCROLL_OPTIMIZE","mutations","mutation","isDown","baseTd","tableBodyBlot","baseTdParentTr","insertRowIndex","isRight","columnIndex","newColId","colgroup","trs","spanCols","spanCol","shift","nextSpanCols","fixTableByRemove","colIdMap","idMap","reverseTrBlots","reverse","removeTr","count","endTrIndex","nextTrIndex","patchTds","nextTr","colspanMap","colspanCount","counts","selectTd","rowCount","baseTr","curTr"],"mappings":"qBASO,MAAMA,EAAkB,CAACC,EAAeC,KAC7CA,EAAQC,OAASD,EAAQC,KAAO,QAChCD,EAAQE,QAAUF,EAAQE,MAAQ,IAElC,MAAMC,EAAYC,SAASC,cAAc,OAGzC,GAFAF,EAAUG,UAAUC,IAAI,eAEpBR,EAAO,CACT,MAAMS,EAAaJ,SAASC,cAAc,QAC1CG,EAAWF,UAAUC,IAAI,gBACzBC,EAAWC,YAAcV,EACzBI,EAAUO,YAAYF,EACvB,CAED,MAAMG,EAAaP,SAASC,cAAc,OAC1CM,EAAWL,UAAUC,IAAI,gBACzB,MAAMK,EAAQR,SAASC,cAAc,SACrC,IAAK,MAAMQ,KAAOb,EAChBY,EAAME,aAAaD,EAAKb,EAAQa,KAE9Bb,EAAQe,KAAOf,EAAQgB,MACzBJ,EAAMK,iBAAiB,QAAQ,KACzBjB,EAAQe,KAAOf,EAAQe,KAAOG,OAAON,EAAMV,SAC7CU,EAAMV,MAAQiB,OAAOnB,EAAQe,MAE3Bf,EAAQgB,KAAOhB,EAAQgB,KAAOE,OAAON,EAAMV,SAC7CU,EAAMV,MAAQiB,OAAOnB,EAAQgB,KAC9B,IAILL,EAAWD,YAAYE,GACvBT,EAAUO,YAAYC,GAEtBC,EAAMK,iBAAiB,SAAS,KAC9BN,EAAWL,UAAUC,IAAI,QAAQ,IAEnCK,EAAMK,iBAAiB,QAAQ,KAC7BN,EAAWL,UAAUc,OAAO,QAAQ,IAwBtC,MAAO,CAAEC,KAAMlB,EAAWS,QAAOU,SArBfC,IAChB,IAAID,EACAX,EAAWL,UAAUkB,SAAS,SAChCF,EAAWX,EAAWc,cAAc,sBAGpCH,EAAWlB,SAASC,cAAc,QAClCiB,EAAShB,UAAUC,IAAI,oBACvBI,EAAWD,YAAYY,IAGzBA,EAASb,YAAcc,EACvBZ,EAAWL,UAAUC,IAAI,SAMzB,MAAO,CAAEmB,YAJW,KAClBf,EAAWL,UAAUc,OAAO,SAC5BE,EAASF,QAAQ,EAEG,EAGmB,EAQ7C,IAAIO,EAAS,IACN,MAqCMC,EAAmBC,MAAO7B,EAA+B,MACpE,MAAM8B,EAAM1B,SAASC,cAAc,OACnCyB,EAAIxB,UAAUC,IAAI,iBAClB,MAAMwB,EAAe3B,SAASC,cAAc,OAC5C0B,EAAazB,UAAUC,IAAI,wBAE3B,MACEc,KAAMW,EACNpB,MAAOqB,EACPX,SAAUY,GACRpC,EAAgBE,EAAQmC,SAAW,KAAM,CAAElC,KAAM,SAAUC,MAAOiB,OAAOnB,EAAQoC,KAAO,IAAKrB,IAAK,MAEpGM,KAAMgB,EACNzB,MAAO0B,EACPhB,SAAUiB,GACRzC,EAAgBE,EAAQwC,SAAW,KAAM,CAAEvC,KAAM,SAAUC,MAAOiB,OAAOnB,EAAQyC,KAAO,IAAK1B,IAAK,KAEtGgB,EAAarB,YAAYsB,GACzBD,EAAarB,YAAY2B,GACzBP,EAAIpB,YAAYqB,GAEhB,MAAMW,EAAUtC,SAASC,cAAc,OACvCqC,EAAQpC,UAAUC,IAAI,0BAEtB,MAAMoC,EAAavC,SAASC,cAAc,UAC1CsC,EAAWrC,UAAUC,IAAI,qBAAsB,WAC/CoC,EAAWlC,YAAcT,EAAQ4C,aAAe,UAEhD,MAAMC,EAAYzC,SAASC,cAAc,UAQzC,OAPAwC,EAAUvC,UAAUC,IAAI,qBAAsB,UAC9CsC,EAAUpC,YAAcT,EAAQ8C,YAAc,SAE9CJ,EAAQhC,YAAYiC,GACpBD,EAAQhC,YAAYmC,GACpBf,EAAIpB,YAAYgC,GAET,IAAIK,SAAsC,CAACC,EAASC,KACzD,MAAMC,MAAEA,GA1EgB,GAAGC,QAAOC,SAAShD,SAASiD,KAAMC,cAAc,QAA4B,MACtG,MAAMC,EAAWH,EACXI,EAASpD,SAASC,cAAc,OACtCmD,EAAOlD,UAAUC,IAAI,UACrBiD,EAAOC,MAAMC,OAASvC,OAAOQ,GAC7B,MAAMgC,EAAUvD,SAASC,cAAc,OAGvC,GAFAsD,EAAQrD,UAAUC,IAAI,mBACtBiD,EAAO9C,YAAYiD,GACfR,EAAO,CACT,MAAMS,EAAUxD,SAASC,cAAc,OACvCuD,EAAQtD,UAAUC,IAAI,mBACtBqD,EAAQlD,YAAYyC,GACpBQ,EAAQjD,YAAYkD,GACpBA,EAAQ3C,iBAAiB,SAAU4C,IACjCA,EAAEC,iBAAiB,GAEtB,CAED,MAAMC,EAAiBC,iBAAiBT,GAAUU,SAClDV,EAASE,MAAMQ,SAAW,SAE1BV,EAAS7C,YAAY8C,GACrB,MAAMN,EAAQ,KACZI,IACAE,EAAOpC,SACPmC,EAASE,MAAMQ,SAAWF,CAAc,EAK1C,OAHAP,EAAOvC,iBAAiB,QAASiC,GACjCvB,GAAU,EAEH,CAAE6B,SAAQN,QAAO,EA4CJgB,CAAa,CAAEf,MAAOrB,EAAKwB,YAAaL,IAE1DN,EAAW1B,iBAAiB,SAASY,UACnC,MAAMO,EAAMlB,OAAOe,EAAS/B,OACtBuC,EAAMvB,OAAOoB,EAASpC,OAE5B,OAAIgB,OAAOiD,MAAM/B,IAAQA,GAAO,EACvBF,EAAYlC,EAAQoE,wBAA0B,UAEnDlD,OAAOiD,MAAM1B,IAAQA,GAAO,EACvBF,EAAYvC,EAAQoE,wBAA0B,WAEvDpB,EAAQ,CAAEZ,MAAKK,aACfS,IAAO,IAETL,EAAU5B,iBAAiB,SAAS,KAClCiC,GAAO,GACP,GACF,EAyFJ,IAAImB,EACG,MAAMC,EAAgB,CAAClB,EAAqBpD,EAA0B,MAC3E,MAAMuB,IAAEA,EAAM,GAAEgD,MAAEA,EAAQ,IAAGX,QAAEA,EAAOY,UAAEA,EAAY,UAAaxE,EACjE,GAAIuB,GAAOqC,EAAS,CACbS,IACHA,EAAmBjE,SAASC,cAAc,OAC1CD,SAASiD,KAAK3C,YAAY2D,IAE5B,MAAMI,EAAUrE,SAASC,cAAc,OAWvC,IAAIqE,EAVJD,EAAQnE,UAAUC,IAAI,WACtBkE,EAAQnE,UAAUC,IAAI,UACtBkE,EAAQnE,UAAUC,IAAI,eAClBqD,EACFa,EAAQ/D,YAAYkD,GAEbrC,IACPkD,EAAQhE,YAAcc,GAExB8C,EAAiB3D,YAAY+D,GAG7B,MAAME,EAAuB,KAC3BF,EAAQnE,UAAUC,IAAI,SAAS,EAE3BqE,EAAO,KACPF,GAAOG,aAAaH,GACxBA,EAAQI,YAAW,KACjBL,EAAQM,oBAAoB,gBAAiBJ,GAC7CF,EAAQnE,UAAUc,OAAO,UACzB,MAAM4D,EAAS5B,EAAO6B,wBAChBC,EAAcT,EAAQQ,wBAoBtBE,EAnBmB,CACvBC,IAAK,CACHA,KAAMF,EAAYG,OAlCb,EAmCLC,KAAMN,EAAOO,MAAQ,EAAIL,EAAYK,MAAQ,GAE/CC,MAAO,CACLJ,IAAKJ,EAAOK,OAAS,EAAIH,EAAYG,OAAS,EAC9CC,KAAMN,EAAOO,MAvCR,GAyCPE,OAAQ,CACNL,IAAKF,EAAYG,OA1CZ,EA2CLC,KAAMN,EAAOO,MAAQ,EAAIL,EAAYK,MAAQ,GAE/CD,KAAM,CACJF,IAAKJ,EAAOK,OAAS,EAAIH,EAAYG,OAAS,EAC9CC,MAAOJ,EAAYK,MA/Cd,IAmDsBf,GACzBY,EAAMM,OAAOC,QAAUX,EAAOI,IAAMD,EAAMC,IAChD,IAAIE,EAAOI,OAAOE,QAAUZ,EAAOM,KAAOH,EAAMG,KAChD,MAAMO,EAAazF,SAAS0F,gBAAgBC,YACxCT,EAAOJ,EAAYK,MAAQM,EAC7BP,EAAOO,EAAaX,EAAYK,MAEzBD,EAAO,IACdA,EAAO,GAETU,OAAOC,OAAOxB,EAAQhB,MAAO,CAC3B2B,IAAK,GAAGA,MACRE,KAAM,GAAGA,QAEXb,EAAQnE,UAAUc,OAAO,cAAc,GACtCmD,EAAM,EAELrB,EAAQ,KACRwB,GAAOG,aAAaH,GACxBA,EAAQI,YAAW,KACjBL,EAAQnE,UAAUC,IAAI,eACtBkE,EAAQxD,iBAAiB,gBAAiB0D,EAAsB,CAAEuB,MAAM,GAAO,GAC9E3B,EAAM,EAMX,OAJAnB,EAAOnC,iBAAiB,aAAc2D,GACtCxB,EAAOnC,iBAAiB,aAAciC,GACtCuB,EAAQxD,iBAAiB,aAAc2D,GACvCH,EAAQxD,iBAAiB,aAAciC,GAChCuB,CACR,CACD,OAAO,IAAI,EChVA0B,EAAcC,GAA6C,mBAARA,EACnDC,EAAUC,MAAMD,QAEhBE,EAAW,IAAMC,KAAKC,SAASC,SAAS,IAAIC,MAAM,GAClDC,EAAW,CAAoCC,EAAOtC,KACjE,IAAIuC,EACJ,OAAO,YAAwBC,GACzBD,GACFjC,aAAaiC,GAEfA,EAAYhC,YAAW,KACrB+B,EAAGG,MAAMC,KAAMF,EAAK,GACnBxC,EACL,CAAC,EAYa,SAAA2C,EACdC,EACAC,GAEA,IAAIhE,EAAS+D,EAAKE,OAClB,KAAOjE,GAAUA,EAAOkE,QAAQC,WAAaH,GAAkBhE,IAAW+D,EAAKK,QAC7EpE,EAASA,EAAOiE,OAElB,GAAIjE,IAAW+D,EAAKK,OAClB,MAAM,IAAIC,MAAM,GAAGN,EAAKG,QAAQC,+BAA+BH,KAEjE,OAAOhE,CACT,CC1CO,MAAMmE,EACA,YADAA,EAEG,mBAFHA,EAGA,gBAHAA,EAII,oBAJJA,EAKD,eALCA,EAMA,gBANAA,EAOD,eAPCA,EAQA,gBARAA,EASK,sBCJZG,EAAYC,EAAMC,OAAO,aACzBC,EAAYF,EAAMC,OAAO,mBACzBE,EAAQH,EAAMC,OAAO,eACrBG,EAAaJ,EAAMC,OAAO,qBAE1B,MAAOI,UAAwBH,EACnCI,gBAA0BV,EAC1BU,eAAiB,YACjBA,aAAeP,EAAUQ,MAAMC,WAE/BF,uBAA2D,CAACH,EAAOC,EAAYF,GAC/EI,yBACAA,oBAEA,eAAAG,GACE,MAAMC,EAASpB,KAAKqB,YAAYR,EAAO,GACvC,IAAK,MAAM3E,KAASkF,EACjBlF,EAAoBoF,MAAQ,EAEhC,CAED,YAAAC,CAAarB,EAA0BsB,GAIjCtB,EAAKG,QAAQC,WAAaN,KAAKK,QAAQC,UAAaJ,EAAkCuB,SAASC,OAAS,EAC1GC,MAAMJ,aAAcrB,EAAkCuB,SAASG,KAAOJ,GAGtEG,MAAMJ,aAAarB,EAAMsB,EAE5B,CAED,QAAAK,CAASC,EAAe7I,EAAe8I,GACrC,MAAO7F,GAAS8D,KAAKyB,SAASO,KAAKF,GACnC,IAAK5F,EAAO,CACV,MAAM+F,EAAejC,KAAKO,OAAO2B,OAAOlC,KAAKK,QAAQ4B,aAAa3B,UAAY,SAC9EN,KAAKvG,YAAYwI,EAClB,CACDN,MAAME,SAASC,EAAO7I,EAAO8I,EAC9B,ECzCG,MAAOI,UAA2BpB,EACtCC,gBAAkBV,EAClBU,eAAiB,IACjBA,iBAAmB,mBAEnB,aAAOkB,CAAOjJ,GACZ,MAAMmJ,EAAOT,MAAMO,SAmBnB,OAjBAE,EAAKC,QAAQC,QAAUrJ,EACvBmJ,EAAKpI,iBACH,aACC4C,IACCA,EAAE2F,iBACF3F,EAAEC,iBAAiB,IAErB,GAGFuF,EAAKpI,iBAAiB,QAAS4C,IAC7BA,EAAE2F,gBAAgB,IAEpBH,EAAKpI,iBAAiB,YAAa4C,IACjCA,EAAE2F,iBACF3F,EAAE4F,aAAcC,WAAa,MAAM,IAE9BL,CACR,CAED,WAAIE,GACF,OAAOtC,KAAK0C,QAAQL,QAAQC,OAC7B,CAED,YAAAf,CAAarB,EAA0BsB,GACjCtB,EAAKG,QAAQC,WAAaN,KAAKK,QAAQC,SACzCqB,MAAMJ,aAAcrB,EAAkCuB,SAASG,KAAOJ,GAE/DxB,KAAKK,QAAQsC,gBAAgBC,MAAM1G,GAAyCA,EAAMoE,WAAaJ,EAAKG,QAAQC,WACnHqB,MAAMJ,aAAarB,EAAMsB,GAIrBA,EACFxB,KAAK6C,KAAO7C,KAAK6C,KAAKtB,aAAarB,EAAM,MAAQF,KAAKI,OAAOmB,aAAarB,EAAMF,MAGhFA,KAAK8C,KAAO9C,KAAK8C,KAAKvB,aAAarB,EAAMsB,GAAOxB,KAAKI,OAAO3G,YAAYyG,EAG7E,CAED,UAAA6C,GACE,MAAMD,EAAO9C,KAAK8C,KAClB,OACW,OAATA,GACGA,EAAKzC,QAAQC,WAAaN,KAAKK,QAAQC,UACvCwC,EAAKJ,QAAQM,UAAYhD,KAAK0C,QAAQM,SACtCF,EAAKJ,QAAQL,QAAQC,UAAYtC,KAAKsC,OAE5C,ECvDH,MAAMxB,EAAaJ,EAAMC,OAAO,qBAE1B,MAAOsC,UAAuBnC,EAgBzBP,OACAmC,QAhBT1B,gBAAkBV,EAClBU,eAAiB,MAEjB,aAAOkB,CAAOjJ,GACZ,MAAMqF,MAAEA,EAAKgE,QAAEA,EAAOY,MAAEA,EAAKC,KAAEA,GAASlK,EAClCmJ,EAAOT,MAAMO,SAMnB,OALAE,EAAKvI,aAAa,QAAS,GAAGI,OAAOmJ,WAAW9E,KAAS6E,EAAO,IAAM,QACtEA,IAASf,EAAKC,QAAQc,KAAOjJ,OAAOiJ,IACpCf,EAAKC,QAAQC,QAAUA,EACvBF,EAAKC,QAAQa,MAAQA,EACrBd,EAAKvI,aAAa,kBAAmB,SAC9BuI,CACR,CAED,WAAAiB,CACS9C,EACAmC,GAEPf,MAAMpB,EAAQmC,GAHP1C,KAAMO,OAANA,EACAP,KAAO0C,QAAPA,CAGR,CAED,SAAIpE,GACF,MAAMA,EAAQ0B,KAAK0C,QAAQY,aAAa,SACxC,OAAOrJ,OAAOmJ,WAAW9E,EAC1B,CAED,SAAIA,CAAMrF,GACR,MAAMqF,EAAQrE,OAAOmJ,WAAWnK,GAChC+G,KAAK0C,QAAQ7I,aAAa,QAAS,GAAGyE,IAAQ0B,KAAKmD,KAAO,IAAM,OACjE,CAED,WAAIb,GACF,OAAOtC,KAAK0C,QAAQL,QAAQC,OAC7B,CAED,SAAIY,GACF,OAAOlD,KAAK0C,QAAQL,QAAQa,KAC7B,CAED,QAAIC,GACF,OAAOpE,OAAOwE,OAAOvD,KAAK0C,QAAQL,QAAS,OAC5C,CAED,YAAOpJ,CAAMyJ,GACX,MAAMJ,QAAEA,EAAOY,MAAEA,EAAKC,KAAEA,GAAST,EAAQL,QACnC/D,EAAQoE,EAAQY,aAAa,SAC7BrK,EAA6B,CACjCqJ,UACAY,QACAC,QAGF,OADA7E,IAAUrF,EAAMqF,MAAQrE,OAAOmJ,WAAW9E,IACnCrF,CACR,CAED,UAAA8J,GACE,MAAMD,EAAO9C,KAAK8C,MACZR,QAAEA,EAAOY,MAAEA,GAAUlD,KAC3B,OACW,OAAT8C,GACGA,EAAKzC,QAAQC,WAAaN,KAAKK,QAAQC,UACtCwC,EAAKJ,QAAwBL,QAAQC,UAAYA,GACjDQ,EAAKJ,QAAwBL,QAAQa,QAAUA,CAEtD,CAED,QAAAM,CAASC,GACP,MAAMrD,EAASJ,KAAKI,OACpB,GAAc,MAAVA,GAAkBA,EAAOC,QAAQC,WAAaA,EAAwB,CACxE,MAAMoD,EAAS1D,KAAKO,OAAO2B,OAAO,SAClClC,KAAKI,OAAOmB,aAAamC,EAAQ1D,KAAK8C,MACtC,MAAMa,EAAe3D,KAAKO,OAAO2B,OAAO5B,EAAuBN,KAAKsC,SAC9DsB,EAAQ5D,KAAKO,OAAO2B,OAAO5B,EAAoBN,KAAKsC,SAC1DtC,KAAKmD,OAASS,EAAMT,MAAO,GAC3B,MAAMU,EAAgB7D,KAAKO,OAAO2B,OAAO5B,GAEzCuD,EAAcpK,YAAYuG,MAC1B4D,EAAMnK,YAAYoK,GAClBF,EAAalK,YAAYmK,GACzBF,EAAOI,YAAYH,EACpB,CACDhC,MAAM6B,SAASC,EAChB,ECpFH,MAAM5C,EAAQH,EAAMC,OAAO,eACrBG,EAAaJ,EAAMC,OAAO,qBAE1B,MAAOoD,UAA6BhD,EACxCC,gBAAkBV,EAClBU,eAAiB,MACjBA,iBAAmB,sBAEnBA,oBAAqDH,EAErD,aAAOqB,CAAOjJ,GACZ,MAAMqJ,QAAEA,EAAO0B,MAAEA,EAAKd,MAAEA,EAAKe,QAAEA,EAAOC,QAAEA,EAAOC,gBAAEA,EAAe/F,OAAEA,GAAWnF,EACvEmJ,EAAOT,MAAMO,SAQnB,OAPAE,EAAKC,QAAQC,QAAUA,EACvBF,EAAKC,QAAQ2B,MAAQA,EACrB5B,EAAKC,QAAQa,MAAQA,EACrBd,EAAKC,QAAQ4B,QAAU/J,OAAO+J,GAAW,GACzC7B,EAAKC,QAAQ6B,QAAUhK,OAAOgK,GAAW,GACzC9F,GAAUA,EAAS,IAAMgE,EAAKC,QAAQjE,OAASlE,OAAOkE,IACtD+F,IAAoB/B,EAAKC,QAAQ8B,gBAAkBA,GAC5C/B,CACR,CAIDgC,eAA8B,IAAIC,IAAI,CAAC,WAAY,SAAU,SAAU,UAAW,UAAW,mBAAoB,WACjH,cAAAC,CAAeC,EAActL,GAC3B,IAAK+G,KAAKoE,eAAeI,IAAID,GAAO,OACpC,MAAME,EAAW,QAAQF,IACrBtL,EACF+G,KAAK0C,QAAQ7I,aAAa4K,EAAUxL,GAGpC+G,KAAK0C,QAAQgC,gBAAgBD,GAE/BzE,KAAKmB,iBACN,CAED,WAAImB,GACF,OAAOtC,KAAK0C,QAAQL,QAAQC,OAC7B,CAED,SAAI0B,GACF,OAAOhE,KAAK0C,QAAQL,QAAQ2B,KAC7B,CAED,SAAIA,CAAM/K,GACR+G,KAAKI,SAAYJ,KAAKI,OAAe4D,MAAQ/K,GAC7C+G,KAAKsE,eAAe,SAAUrL,EAC/B,CAED,SAAIiK,GACF,OAAOlD,KAAK0C,QAAQL,QAAQa,KAC7B,CAED,SAAIA,CAAMjK,GACR+G,KAAKI,SAAYJ,KAAKI,OAAe8C,MAAQjK,GAC7C+G,KAAKsE,eAAe,SAAUrL,EAC/B,CAED,WAAIgL,GACF,OAAOhK,OAAO+F,KAAK0C,QAAQL,QAAQ4B,QACpC,CAED,WAAIA,CAAQhL,GACV+G,KAAKI,SAAWJ,KAAKI,OAAO6D,QAAUhL,GACtC+G,KAAKsE,eAAe,UAAWrL,EAChC,CAED,WAAIiL,GACF,OAAOjK,OAAO+F,KAAK0C,QAAQL,QAAQ6B,QACpC,CAED,WAAIA,CAAQjL,GACV+G,KAAKI,SAAWJ,KAAKI,OAAO8D,QAAUjL,GACtC+G,KAAKsE,eAAe,UAAWrL,EAChC,CAED,mBAAIkL,GACF,OAAOnE,KAAK0C,QAAQL,QAAQ8B,iBAAmB,EAChD,CAED,mBAAIA,CAAgBlL,GAClB+G,KAAKI,SAAWJ,KAAKI,OAAO+D,gBAAkBlL,GAC9C+G,KAAKsE,eAAe,mBAAoBrL,EACzC,CAED,UAAImF,GACF,OAAOnE,OAAO+F,KAAK0C,QAAQL,QAAQjE,SAAW,CAC/C,CAED,UAAIA,CAAOnF,GACT+G,KAAKI,SAAWJ,KAAKI,OAAOhC,OAASnE,OAAOhB,IAC5C+G,KAAKsE,eAAe,SAAUrL,EAC/B,CAED,cAAA0L,GAEE,OADc1E,EAAeD,KAAMM,GACtBsE,YAAYC,QAAQ7E,KAAKkD,MACvC,CAED,QAAA4B,CAAShD,EAAeJ,EAAgB6C,EAActL,GACvB,IAAzB+G,KAAKyB,SAASC,SAChB1B,KAAKvG,YAAYuG,KAAKO,OAAO2B,OAAOlC,KAAKK,QAAQ4B,aAAa3B,WAE9DoB,GAAU,GAEZC,MAAMmD,SAAShD,EAAOJ,EAAQ6C,EAAMtL,EACrC,CAED,OAAA8L,GACE,MAAMzC,QAAEA,EAAO0B,MAAEA,EAAKd,MAAEA,EAAKe,QAAEA,EAAOC,QAAEA,EAAOC,gBAAEA,EAAe/F,OAAEA,GAAW4B,KACvE/G,EAA6B,CACjCqJ,UACA0B,QACAd,QACAe,UACAC,WAIF,OAFW,IAAX9F,IAAiBnF,EAAMmF,OAASA,GAChC+F,IAAoBlL,EAAMkL,gBAAkBA,GACrC,CACL,CAACnE,KAAKK,QAAQC,UAAWrH,EAE5B,CAED,QAAAuK,CAASC,GACP,MAAMrD,EAASJ,KAAKI,QACdkC,QAAEA,EAAOY,MAAEA,EAAKc,MAAEA,EAAKC,QAAEA,EAAOC,QAAEA,EAAOC,gBAAEA,EAAe/F,OAAEA,GAAW4B,KAE7E,GAAIA,KAAK6C,MAAQ7C,KAAK6C,gBAAgB/B,EAAY,CAChD,MAAMkE,EAAahF,KAAKO,OAAO2B,OAAO,SACtClC,KAAKvG,YAAYuG,KAAK6C,MACtB7C,KAAKvG,YAAYuL,EAClB,CACD,GAAe,OAAX5E,GAAmBA,EAAOC,QAAQC,WAAaA,EAAoB,CAErE,MAAMoD,EAAS1D,KAAKO,OAAO2B,OAAO,SAClC9B,EAAOmB,aAAamC,EAAQ1D,KAAK8C,MAEjC,MAAMa,EAAe3D,KAAKO,OAAO2B,OAAO5B,EAAuBgC,GACzDsB,EAAQ5D,KAAKO,OAAO2B,OAAO5B,EAAoBgC,GAC/C2C,EAAYjF,KAAKO,OAAO2B,OAAO5B,GAC/B4E,EAAKlF,KAAKO,OAAO2B,OAAO5B,EAAmB0D,GAC3CmB,EAAKnF,KAAKO,OAAO2B,OAAO5B,EAAoB,CAChDgC,UACA0B,QACAd,QACAe,UACAC,UACAC,kBACA/F,WAGF+G,EAAG1L,YAAYuG,MACfkF,EAAGzL,YAAY0L,GACfF,EAAUxL,YAAYyL,GACtBtB,EAAMnK,YAAYwL,GAClBtB,EAAalK,YAAYmK,GACzBF,EAAOI,YAAYH,EACpB,CAEDhC,MAAM6B,SAASC,EAChB,CAED,YAAAlC,CAAa6D,EAA+BC,GACtCD,aAAqBrB,GAAwBqB,aAAqBnC,EACpEqC,QAAQC,MAAM,0CAGhB5D,MAAMJ,aAAa6D,EAAWC,EAC/B,EC3KG,MAAOG,UAAuBzE,EAClCC,gBAAkBV,EAClBU,eAAiB,KACjBA,iBAAmB,eAEnB,aAAOkB,CAAOjJ,GACZ,MAAMmJ,EAAOT,MAAMO,SAEnB,OADAE,EAAKC,QAAQ2B,MAAQ/K,EACdmJ,CACR,CAID,UAAAW,GACE,MAAMD,EAAO9C,KAAK8C,KAClB,OACW,OAATA,GACGA,EAAKzC,QAAQC,WAAaN,KAAKK,QAAQC,UACvCwC,EAAKJ,QAAQL,QAAQ2B,QAAUhE,KAAKgE,KAE1C,CAED,SAAIA,GACF,OAAOhE,KAAK0C,QAAQL,QAAQ2B,KAC7B,CAED,SAAAyB,CAAUxM,GACR+G,KAAK0F,kBAAkBC,IACrBA,EAAUvH,OAASnF,CAAK,GAE3B,CAKD,UAAA2M,CAAWC,EAAqB5M,GAC9B,MAAM6M,EAAqB,GACrBhD,EAAO9C,KAAKyB,SAASsE,WAC3B,IACIC,EADAlE,EAAQ,EAEZ,MAAQkE,EAAMlD,OACZhB,GAASkE,EAAI9B,UACTpC,EAAQ+D,KACZ,GAAoB,IAAhBG,EAAI/B,QACN,IAAK,IAAIgC,EAAI,EAAGA,EAAID,EAAI/B,QAAU,EAAGgC,IACnCH,EAAKG,IAAMH,EAAKG,IAAM,GAAKD,EAAI9B,QAKrC,GAAI8B,GAAOlE,EAAQkE,EAAI9B,QAAU2B,EAAa,CAC1BG,EAAIE,eACZhC,SAAW,EACD,IAAhB8B,EAAI/B,UACN6B,EAAKK,WAAaH,EAAI/B,QAAU,EAEnC,KACI,CACH,MAAMmC,EAAYpG,KAAKO,OAAO2B,OAAO5B,EAAoBrH,GACnDoN,EAAiBrG,KAAKO,OAAO2B,OAAO5B,EAAyBrH,GAC7DqN,EAAQtG,KAAKO,OAAO2B,OAAO,SACjCoE,EAAM7M,YAAYuG,KAAKO,OAAO2B,OAAO,UACrCmE,EAAe5M,YAAY6M,GAC3BF,EAAU3M,YAAY4M,GACtBrG,KAAKuB,aAAa6E,EAAWJ,EAC9B,CACD,OAAOF,CACR,CAED,mBAAAS,CAAoBC,GAClB,MAAMV,EAAiB,GACvB,IAAIE,EAA8B,KAC9BS,EAAe,EACnB,GAAID,EAAY,EAAG,MAAO,CAACR,EAAKS,EAAcX,GAC9C,MAAMhD,EAAO9C,KAAKyB,SAASsE,WAC3B,KAAQC,EAAMlD,KAAS,CAErB,GADA2D,GAAgBT,EAAI9B,QACA,IAAhB8B,EAAI/B,QACN,IAAK,IAAIgC,EAAI,EAAGA,EAAID,EAAI/B,QAAU,EAAGgC,IACnCH,EAAKG,IAAMH,EAAKG,IAAM,GAAKD,EAAI9B,QAGnC,GAAIuC,EAAeD,EAAW,KAC/B,CACD,MAAO,CAACR,EAAKS,EAAcX,EAC5B,CAED,UAAAY,CAAWb,GACT,GAAIA,EAAc,EAAG,MAAO,GAC5B,MAAMc,EAAkB3G,KAAKuG,oBAAoBV,IAC1CG,EAAKlE,GAAS6E,EACfb,EAAqBa,EAAgB,GAC3C,IAAKX,EAAK,OAAOF,EACjB,GAAIhE,EAAQkE,EAAI9B,QAAU2B,GAAeG,EAAI9B,QAAU,EAAG,CACxD,MAAOkC,GAAaJ,EAAI3E,YAAY0C,GAEpC,GAAoB,IAAhBiC,EAAI9B,SAAiB2B,IAAgB/D,EAAQkE,EAAI9B,QAAS,CAE5D,MACM0C,EADY3G,EAAeD,KAAMM,GACdsE,YACzBwB,EAAUlD,MAAQ0D,EAAOA,EAAO/B,QAAQuB,EAAUlD,OAAS,EAC5D,CACmB,IAAhB8C,EAAI/B,UACN6B,EAAKK,WAAaH,EAAI/B,QAAU,GAGlCmC,EAAUlC,SAAW,CACtB,MAEC8B,EAAI7L,SAEN,OAAO2L,CACR,CAED,gBAAAJ,CAAiBmB,GACf,MAAM/D,EAAO9C,KAAKyB,SAASsE,WAC3B,IACIC,EADAC,EAAI,EAER,KAAQD,EAAMlD,KAAS,CACrB,MAAOsD,GAAaJ,EAAI3E,YAAY0C,GACpC,GAAI8C,EAAKT,EAAWH,KAAM,KAC3B,CACF,EC5HG,MAAOa,UAAwB/F,EACnCC,gBAAkBV,EAClBU,eAAiB,QAEjB,WAAAqC,CAAY9C,EAA4BmC,GACtCf,MAAMpB,EAAQmC,GAEd7E,YAAW,KACTmC,KAAK+G,mBAAmB,GACvB,EACJ,CAED,aAAO7E,CAAOjJ,GACZ,MAAMmJ,EAAOT,MAAMO,SAOnB,OALAE,EAAKC,QAAQC,QAAUrJ,EACvBmJ,EAAK/I,UAAUC,IAAI,YACnB8I,EAAKvI,aAAa,cAAe,KACjCuI,EAAKvI,aAAa,cAAe,KAE1BuI,CACR,CAED,iBAAA2E,GACE,GAAI/G,KAAKmD,KAAM,OACf,MAAM6D,EAAOhH,KAAKiH,UAClB,IAAKD,EAAM,OACX,MAAME,EAAYF,EAAKG,QAAO,CAACC,EAAK5L,IAAQA,EAAI8C,MAAQ8I,GAAK,GAC7D,OAAkB,IAAdF,GAAmBjN,OAAOiD,MAAMgK,IAAclH,KAAKmD,KAAa,MACpEnD,KAAK0C,QAAQlG,MAAM8B,MAAQ,GAAG4I,MACvBA,EACR,CAED,WAAI5E,GACF,OAAOtC,KAAK0C,QAAQL,QAAQC,OAC7B,CAED,QAAIa,GACF,OAAOpE,OAAOwE,OAAOvD,KAAK0C,QAAQL,QAAS,OAC5C,CAED,QAAIc,CAAKlK,GACP+G,KAAK0C,QAAQzJ,EAAQ,eAAiB,mBAAmB,YAAa,GACvE,CAED,OAAAoO,GACE,OAAOrH,KAAKqB,YAAYmE,EACzB,CAED,SAAA8B,GACE,OAAOtH,KAAKqH,UAAUE,KAAIC,GAAKA,EAAExD,OAClC,CAED,OAAAiD,GACE,OAAOjH,KAAKqB,YAAY4B,EACzB,CAED,SAAA2B,GACE,OAAO5E,KAAKiH,UAAUM,KAAIC,GAAKA,EAAEtE,OAClC,CAED,UAAAH,GACE,MAAMD,EAAO9C,KAAK8C,KAClB,OACW,OAATA,GACGA,EAAKzC,QAAQC,WAAaN,KAAKK,QAAQC,UACvCwC,EAAKJ,QAAQM,UAAYhD,KAAK0C,QAAQM,SACtCF,EAAKJ,QAAQL,QAAQC,UAAYtC,KAAKsC,OAE5C,ECpEG,MAAOmF,UAA4B1G,EACvCC,gBAAkBV,EAClBU,eAAiB,WAGjB,QAAA0G,CAAS5F,EAAeJ,GACtB,GAAc,IAAVI,GAAeJ,IAAW1B,KAAK0B,SACjC,OAAO1B,KAAKI,OAAOjG,SAErBwH,MAAM+F,SAAS5F,EAAOJ,EACvB,CAED,OAAAiG,CAAQ7F,GACN,MAAMgB,EAAO9C,KAAKyB,SAASsE,WAC3B,IACIC,EADAC,EAAI,EAER,MAAQD,EAAMlD,MACRmD,IAAMnE,GAGVmE,IAEF,OAAOD,CACR,CAED,gBAAA4B,CAAiB9F,EAAe7I,GAC9B,MAAM2K,EAAQ5D,KAAKI,OACnB,KAAMwD,aAAiBkD,GACrB,MAAM,IAAIe,UAAU,sDAEtB,MAAMrM,EAAMwE,KAAK2H,QAAQ7F,GACnBuE,EAAiBrG,KAAKO,OAAO2B,OAAO5B,EAAmBrH,GAC7D,GAAI2K,EAAMT,KAAM,CAEd,MAAML,EAAO9C,KAAKyB,SAASsE,WAC3B,IAAIC,EACJ,KAAQA,EAAMlD,KACZ,GAAIkD,EAAI1H,MAAQ+H,EAAe/H,OPhCJ,EOgCkC,CAC3D0H,EAAI1H,OAAS+H,EAAe/H,MAC5B,KACD,CAEJ,CACD0B,KAAKuB,aAAa8E,EAAgB7K,EACnC,CAED,gBAAAsM,CAAiBhG,GAEf,KADc9B,KAAKI,kBACI0G,GACrB,MAAM,IAAIe,UAAU,0DAEtB,MAAMrM,EAAMwE,KAAK2H,QAAQ7F,GACrBtG,IACEA,EAAIsH,KACLtH,EAAIsH,KAAwBxE,OAAS9C,EAAI8C,MAEnC9C,EAAIqH,OACVrH,EAAIqH,KAAwBvE,OAAS9C,EAAI8C,OAE5C9C,EAAIrB,SAEP,EC/DG,MAAO4N,UAAwBhH,EACnCC,gBAAkBV,EAClBU,eAAiB,QAEjB,UAAA+B,GACE,MAAMD,EAAO9C,KAAK8C,KAClB,OACW,OAATA,GACGA,EAAKzC,QAAQC,WAAaN,KAAKK,QAAQC,QAE7C,CAED,QAAAoH,CAAS5F,EAAeJ,GACtB,GAAc,IAAVI,GAAeJ,IAAW1B,KAAK0B,SACjC,OAAO1B,KAAKI,OAAOjG,SAErB6F,KAAKyB,SAASuG,UAAUlG,EAAOJ,GAAQ,CAACxF,EAAO+L,EAAQvG,KACrDxF,EAAMwL,SAASO,EAAQvG,EAAO,GAEjC,CAGD,SAAAwG,CAAUrC,GACR,MAAMsC,EAAYlI,EAAeD,KAAMM,GACvC,IAAK6H,EAAW,OAEhB,MAAMvB,EAASuB,EAAUvD,YACnBwD,EAAOpI,KAAKqB,YAAYmE,GACxB6C,EAAe,IAAIhE,IAAIuC,GAC7B,IAAI9E,EAAQ,EACZ,IAAK,MAAM3G,KAAOiN,EAAM,CACtB,GAAItG,IAAU+D,EAAa,MAC3B1K,EAAIuK,kBAAkB4C,IACpB,GAAIxG,EAAQwG,EAAKrE,QAAU4B,IACzByC,EAAKrE,SAAW,EAChBoE,EAAaE,OAAOD,EAAKpF,OAEJ,IAAjBoF,EAAKpE,SAAe,CACtB,MAAMsE,EAAW5B,EAAO/B,QAAQyD,EAAKpF,OACrC,IAAK,IAAI+C,EAAI,EAAGA,EAAIqC,EAAKpE,QAAU,EAAG+B,IACpCoC,EAAaE,OAAO3B,EAAO4B,EAAWvC,EAAI,GAE7C,CACF,IAEHnE,GAAS,CACV,CAED,MAAMkC,EAAQ1E,IACR4F,EAAKlF,KAAKO,OAAO2B,OAAO5B,EAAmB0D,GACjD,IAAK,MAAMd,KAASmF,EAAc,CAChC,MAAMlD,EAAKnF,KAAKO,OAAO2B,OAAO5B,EAAoB,CAChD0D,QACAd,QACAe,QAAS,EACTC,QAAS,IAELuE,EAAUzI,KAAKO,OAAO2B,OAAO5B,EAAyB,CAC1DgC,QAAS6F,EAAU7F,QACnB0B,QACAd,QACAe,QAAS,EACTC,QAAS,IAELoC,EAAQtG,KAAKO,OAAO2B,OAAO,SACjCoE,EAAM7M,YAAYuG,KAAKO,OAAO2B,OAAO,UACrCuG,EAAQhP,YAAY6M,GACpBnB,EAAG1L,YAAYgP,GACfvD,EAAGzL,YAAY0L,EAChB,CACDnF,KAAKuB,aAAa2D,EAAIkD,EAAKvC,IAAgB,KAC5C,ECvEG,MAAO6C,UAAwB3H,EACnCC,gBAAkBV,EAClBU,eAAiB,KACjBA,iBAAmB,gBAGnB2H,OAEA,aAAOzG,CAAOjJ,GACZ,MAAMqJ,QAAEA,EAAO0B,MAAEA,EAAKd,MAAEA,EAAKe,QAAEA,EAAOC,QAAEA,EAAOC,gBAAEA,EAAe/F,OAAEA,GAAWnF,EACvEmJ,EAAOT,MAAMO,SAQnB,OAPAE,EAAKC,QAAQC,QAAUA,EACvBF,EAAKC,QAAQ2B,MAAQA,EACrB5B,EAAKC,QAAQa,MAAQA,EACrBd,EAAKvI,aAAa,UAAWK,OAAO+J,GAAW,IAC/C7B,EAAKvI,aAAa,UAAWK,OAAOgK,GAAW,IAC/CC,IAAoB/B,EAAK5F,MAAM2H,gBAAkBA,GACjD/F,GAAWgE,EAAKvI,aAAa,SAAUK,OAAOkE,IACvCgE,CACR,CAED,WAAIE,GACF,OAAOtC,KAAK0C,QAAQL,QAAQC,OAC7B,CAED,SAAI0B,GACF,OAAOhE,KAAK0C,QAAQL,QAAQ2B,KAC7B,CAED,SAAIA,CAAM/K,GACR+G,KAAK0C,QAAQL,QAAQ2B,MAAQ/K,CAC9B,CAED,SAAIiK,GACF,OAAOlD,KAAK0C,QAAQL,QAAQa,KAC7B,CAED,SAAIA,CAAMjK,GACR+G,KAAK0C,QAAQL,QAAQa,MAAQjK,CAC9B,CAED,WAAIgL,GACF,OAAOhK,OAAO+F,KAAK0C,QAAQY,aAAa,WACzC,CAED,WAAIW,CAAQhL,GACV+G,KAAK0C,QAAQ7I,aAAa,UAAWK,OAAOjB,GAC7C,CAED,WAAIiL,GACF,OAAOjK,OAAO+F,KAAK0C,QAAQY,aAAa,WACzC,CAED,WAAIY,CAAQjL,GACV+G,KAAK0C,QAAQ7I,aAAa,UAAWK,OAAOjB,GAC7C,CAED,mBAAIkL,GACF,OAAOnE,KAAK0C,QAAQL,QAAQ8B,iBAAmB,EAChD,CAED,mBAAIA,CAAgBlL,GAClB8F,OAAOC,OAAOgB,KAAK0C,QAAQlG,MAAO,CAChC2H,gBAAiBlL,GAEpB,CAED,UAAImF,GACF,OAAOnE,OAAO+F,KAAK0C,QAAQY,aAAa,YAAc,CACvD,CAED,UAAIlF,CAAOnF,GACLA,EAAQ,GACV+G,KAAK0C,QAAQ7I,aAAa,SAAUK,OAAOjB,GAE9C,CAED,YAAAiN,GACE,OAAOlG,KAAKqB,YAAY0C,GAAsB,EAC/C,CAED,UAAAhB,GACE,MAAMG,MAAEA,EAAKc,MAAEA,GAAUhE,KAAK0C,QAAQL,QAChCS,EAAO9C,KAAK8C,KAClB,OACW,OAATA,GACGA,EAAKzC,QAAQC,WAAaN,KAAKK,QAAQC,UACtCwC,EAAKJ,QAAwBL,QAAQ2B,QAAUA,GAC/ClB,EAAKJ,QAAwBL,QAAQa,QAAUA,CAEtD,CAED,QAAAwE,CAAS5F,EAAeJ,GACtB,GAAc,IAAVI,GAAeJ,IAAW1B,KAAK0B,SAAU,CAC3C,MAAM4G,EAAQtI,KAAK8C,MAAQ9C,KAAK6C,KAC1B8C,EAAY2C,GAAQA,EAAKpC,eAI/B,OAHIP,IACFA,EAAUzB,SAAWlE,KAAKkE,SAErBlE,KAAK7F,QACb,CACD6F,KAAKyB,SAASuG,UAAUlG,EAAOJ,GAAQ,CAACxF,EAAO+L,EAAQvG,KACrDxF,EAAMwL,SAASO,EAAQvG,EAAO,GAEjC,ECzGH,MAAMjB,EAAYC,EAAMC,OAAO,aACzBiI,EAAalI,EAAMC,OAAO,gBAE1B,MAAOkI,UAAuBD,EAClC,WAAAE,CAAYC,EAAiC1D,GAC3C,IAAI2D,EACAjE,EAA+B,CAAA,EAEnC,IAAK,MAAOnL,EAAKX,KAAU8F,OAAOkK,QAAQF,GAAa,CACgC,MAAjE/I,KAAKkJ,MAAMtP,EAAK6G,EAAUQ,MAAMkI,MAAQ1I,EAAUQ,MAAMmI,MAE1EJ,EAAiBpP,EAGjBmL,EAAQnL,GAAOX,CAElB,CAEG+P,IAAmB1I,IACrByE,EAAU,IAAKgE,UACRhE,EAAQiE,IAGjB,MAAM1C,EAAQtG,KAAKkC,OACjB8G,GAAkBhJ,KAAKK,QAAQ4B,aAAa3B,SAC5C0I,EAAiBD,EAAWC,QAAkBK,GAGhDrJ,KAAKuB,aAAa+E,EAAOjB,QAAWgE,GAEpC,MAAM3H,EAAS4E,EAAM5E,SACrB,IAAK,MAAO9H,EAAKX,KAAU8F,OAAOkK,QAAQlE,GACxCuB,EAAMxB,SAAS,EAAGpD,EAAQ9H,EAAKX,GAGjC,OAAOqN,CACR,EClCH,MAAM7F,EAAYC,EAAMC,OAAO,aACzBE,EAAQH,EAAMC,OAAO,eAErB,MAAO2I,UAAsBzI,EAC1B,WAAAiD,CAAYS,EAAmCtL,GACpD,MAAMsQ,EAA8B,iBAAThF,EAAoBvE,KAAKO,OAAO2B,OAAOqC,EAAMtL,GAASsL,EACjF,GAAIgF,aAAuB9I,EAAU+I,WAAY,CAM/C,GAAID,EAAYlJ,QAAQC,WAAaA,EACnC,OAAON,KAAKyJ,KAAKnJ,EAA0BiJ,EAAqCxE,UAAUzE,IAG1FN,KAAK0J,aAAaH,EAErB,CAMD,OALmB,MAAfvJ,KAAKI,SACPJ,KAAKI,OAAOmB,aAAagI,EAAavJ,KAAK8C,WAAQuG,GACnDrJ,KAAK7F,UAEP6F,KAAK+I,WAAWY,KAAKJ,GACdA,CACR,EChBH,MAAMK,EAAa,IAAIvF,IAEjBwF,EAAYC,IAChB,MAAMC,EAAI9P,OAAOmJ,WAAW0G,GAC5B,OAAO7P,OAAOiD,MAAM6M,GAAK,EAAIA,CAAC,EAG1BC,EAAuB,CAC3B,CACEzF,KAAM,YACN0F,8SACAC,IAAK,mBACLC,OAASC,IACPA,EAAYC,WAAU,GACtBD,EAAYE,gBAAgB,GAGhC,CACE/F,KAAM,cACN0F,4SACAC,IAAK,sBACLC,OAASC,IACPA,EAAYG,WAAU,GACtBH,EAAYE,gBAAgB,GAGhC,CACE/F,KAAM,eACN0F,4SACAC,IAAK,mBACLC,OAASC,IACPA,EAAYC,WAAU,GACtBD,EAAYE,gBAAgB,GAGhC,CACE/F,KAAM,aACN0F,0SACAC,IAAK,qBACLC,OAASC,IACPA,EAAYG,WAAU,GACtBH,EAAYE,gBAAgB,GAGhC,CACE/F,KAAM,SAER,CAEEA,KAAM,YACN0F,wPACAC,IAAK,aACLC,OAASC,IACPA,EAAYI,aACZJ,EAAYE,gBAAgB,GAGhC,CAEE/F,KAAM,YACN0F,6NACAC,IAAK,aACLC,OAASC,IACPA,EAAYK,YACZL,EAAYE,gBAAgB,GAGhC,CACE/F,KAAM,SAER,CACEA,KAAM,YACN0F,oVACAC,IAAK,aACLC,OAASC,IACPA,EAAYM,YACZN,EAAYE,gBAAgB,GAGhC,CACE/F,KAAM,eACN0F,mVACAC,IAAK,gBACLC,OAASC,IACPA,EAAYO,YACZP,EAAYE,gBAAgB,GAGhC,CACE/F,KAAM,cACN0F,2YACAC,IAAK,eACLC,OAASC,IACPA,EAAYQ,aAAa,GAG7B,CACErG,KAAM,SAER,CACEA,KAAM,kBACN0F,wRACAY,eAAe,EACfX,IAAK,uBACLC,OAAQ,CAACC,EAAaU,EAAaC,KACjCX,EAAYY,mBAAmBF,EAAaC,EAAgB,UAKrDE,EAQQb,YAA6Bc,MAPhDnS,QACAoS,KAA2B,KAC3BL,YAAsC,GACtCM,gBACAC,eAAiB,SAAS/L,MAC1BgM,YAA6B,GAE7B,WAAAjI,CAAmB+G,EAA6Bc,EAAcnS,GAA3CiH,KAAWoK,YAAXA,EAA6BpK,KAAKkL,MAALA,EAC9ClL,KAAKjH,QAAUiH,KAAKuL,eAAexS,GAEnC,IACE,MAAMyS,EAAeC,aAAaC,QAAQ1L,KAAKjH,QAAQ4S,kBAAoB,KAC3E,IAAIC,EAAaC,KAAKC,MAAMN,GACvBpM,EAAQwM,KACXA,EAAa,IAEfA,EAAWrE,KAAKwE,GAAcnC,EAAWtQ,IAAIyS,IAC9C,CACD,MAAQ,CAER/L,KAAKoL,gBAAkBzL,GAAUoL,IAI/B,GAHIA,GACFnB,EAAWtQ,IAAIyR,GAEbnB,EAAWoC,KAAO,GAAI,CACxB,MAAMC,EAAa5M,MAAM6M,KAAKtC,GAAYlK,OAAO,IACjDkK,EAAWuC,QACXF,EAAW1E,KAAI6E,GAAKxC,EAAWtQ,IAAI8S,IACpC,CAEDX,aAAaY,QAAQrM,KAAKjH,QAAQ4S,gBAAiBE,KAAKS,UAAUjN,MAAM6M,KAAKtC,KAC7E,MAAM2C,EAAoBlN,MAAM6M,KAAK/S,SAASqT,iBAAiB,IAAIxM,KAAKqL,oCACxE,IAAK,MAAMoB,KAAoBF,EAC7B,GAAKE,EAAL,CAEAA,EAAiBC,UAAY,GAC7B,IAAK,MAAMC,KAAe/C,EAAY,CACpC,MAAMgD,EAAYzT,SAASC,cAAc,OACzCwT,EAAUvT,UAAUC,IAAI,yBACxBsT,EAAUpQ,MAAM2H,gBAAkBwI,EAClCF,EAAiBhT,YAAYmT,EAC9B,CAR+B,CASjC,GACA,KAEE5M,KAAKjH,QAAQ8T,YAIhB7M,KAAKkL,MAAM4B,KAAK9S,iBAAiB,cAAegG,KAAK+M,mBAHrD/M,KAAKmL,KAAOnL,KAAKgN,YAKpB,CAED,cAAAzB,CAAexS,GACb,OAAOgG,OAAOC,OAAO,CACnBiO,SAAS,EACTC,SAAU,CAAE,EACZC,MAAOnD,EACP2B,gBAAiB,wBACjBkB,aAAa,GACZ9T,EACJ,CAEDgU,kBAAqBnQ,IACnBA,EAAE2F,iBAEF,MAAM6K,EAAOxQ,EAAEyQ,eACf,IAAKD,GAAQA,EAAK1L,QAAU,EAAG,OAEb0L,EAAKpL,MAAKI,GAAQA,EAAKY,SAA0C,UAA/BZ,EAAKY,QAAQsK,eAA6BlL,EAAK/I,UAAUkB,SAAS,eAErGyF,KAAKoK,YAAYmD,gBAAgBzC,aAAapJ,QACxD1B,KAAKmL,OACRnL,KAAKmL,KAAOnL,KAAKgN,cAEnBhN,KAAKwN,YAAY,CAAEC,EAAG7Q,EAAE8Q,QAASC,EAAG/Q,EAAEgR,UACtCzU,SAASa,iBAAiB,SAAS,KACjCgG,KAAK6N,WAAW,GACf,CAAE5O,MAAM,KAGXe,KAAK6N,WACN,EAGH,UAAAb,GACE,MAAMc,EAAU9N,KAAKkL,MAAM6C,aAAa,iBACpC/N,KAAKjH,QAAQ8T,aACfiB,EAAQzU,UAAUC,IAAI,eAExByF,OAAOC,OAAO8O,EAAQtR,MAAO,CAAEwR,QAAS,SACxC,IAAK,MAAMC,KAAQjO,KAAKjH,QAAQoU,MAAO,CACrC,MAAM5I,KAAEA,EAAI0F,KAAEA,EAAIE,OAAEA,EAAMU,cAAEA,EAAaX,IAAEA,EAAM,IAAO+D,EAClD7T,EAAOjB,SAASC,cAAcyR,EAAgB,QAAU,QAE9D,GADAzQ,EAAKf,UAAUC,IAAI,sBACN,UAATiL,EACFnK,EAAKf,UAAUC,IAAI,aAEhB,CAEH,MAAM4U,EAAU/U,SAASC,cAAc,KAWvC,GAVA8U,EAAQ7U,UAAUC,IAAI,QAClB4F,EAAW+K,GACbiE,EAAQzU,YAAYwQ,EAAKjK,KAAKoK,cAG9B8D,EAAQxB,UAAYzC,EAEtB7P,EAAKX,YAAYyU,GAGbrD,EAAe,CACjB,MAAMlR,EAAQR,SAASC,cAAc,SACrCO,EAAMX,KAAO,QACb+F,OAAOC,OAAOrF,EAAM6C,MAAO,CACzB8B,MAAO,EACPF,OAAQ,EACR+P,QAAS,EACTC,OAAQ,EACRC,QAAS,OACTC,QAAS,IAGX,MAAMC,EAAgBpV,SAASC,cAAc,OAC7CmV,EAAclV,UAAUC,IAAI,oBAC5BiV,EAAclV,UAAUC,IAAI0G,KAAKqL,gBACjCjR,EAAKX,YAAY8U,GACjB,IAAK,MAAM5B,KAAe/C,EAAY,CACpC,MAAMgD,EAAYzT,SAASC,cAAc,OACzCwT,EAAUvT,UAAUC,IAAI,yBACxBsT,EAAUpQ,MAAM2H,gBAAkBwI,EAClC4B,EAAc9U,YAAYmT,EAC3B,CACD2B,EAAcvU,iBAAiB,SAAU4C,IACvCA,EAAE2F,iBACF,MAAMnI,EAAOwC,EAAET,OACX/B,GAAQA,EAAKoC,MAAM2H,iBAAmBnE,KAAK8K,YAAYpJ,OAAS,GAClE1B,KAAKoK,YAAYY,mBAAmBhL,KAAK8K,YAAa1Q,EAAKoC,MAAM2H,gBAClE,IAEH,MAAMmH,EAAcjO,EAAcjD,EAAM,CAAEuC,QAAS4R,EAAehR,UAAW,QAC7E+N,GAAetL,KAAKsL,YAAYkD,KAAKlD,GAEjCpM,EAAWiL,IACbxQ,EAAMK,iBAAiB,SAAS,KAC9BmQ,EAAOnK,KAAKoK,YAAapK,KAAK8K,YAAanR,EAAMV,OACjD+G,KAAKoL,gBAAgBzR,EAAMV,MAAM,IAChC,GAELmB,EAAKX,YAAYE,EAClB,MAECuF,EAAWiL,IAAW/P,EAAKJ,iBAAiB,SAAU4C,IACpDoD,KAAKkL,MAAMuD,QACXtE,EAAOnK,KAAKoK,YAAapK,KAAK8K,YAAalO,EAAE,IAC5C,GAELxC,EAAKJ,iBAAiB,SAAS4C,GAAKA,EAAEC,oBAGtC,MAAMoQ,EAAUjN,KAAKjH,QAAQmU,SAAS3I,IAAS2F,EAC/C,GAAI+C,GAAW/C,EACb,GAAIlK,KAAKjH,QAAQ8T,YAAa,CAC5B,MAAM6B,EAAavV,SAASC,cAAc,QAC1CsV,EAAWlV,YAAcyT,EACzB7S,EAAKX,YAAYiV,EAClB,KACI,CACH,MAAMA,EAAarR,EAAcjD,EAAM,CAAEE,IAAK2S,IAC9CyB,GAAc1O,KAAKsL,YAAYkD,KAAKE,EACrC,CAEJ,CACDZ,EAAQrU,YAAYW,EACrB,CACD,OAAO0T,CACR,CAED,SAAAD,GACE7N,KAAKmL,MAAQpM,OAAOC,OAAOgB,KAAKmL,KAAK3O,MAAO,CAAEwR,QAAS,QACxD,CAED,WAAAR,CAAYmB,GACV,IAAK3O,KAAKmL,OAASnL,KAAKoK,YAAYmD,iBAAmBvN,KAAKoK,YAAYmD,eAAeqB,SAAU,OACjG,MAAMA,SAAEA,EAAQ9D,YAAEA,GAAgB9K,KAAKoK,YAAYmD,eAGnD,GAFAvN,KAAK8K,YAAcA,EAEd9K,KAAKjH,QAAQ8T,YAwBb,CACH,IAAK8B,EACH,OAAO3O,KAAK6N,YAEd,MAAMJ,EAAEA,EAACE,EAAEA,GAAMgB,EACXE,EAAgB7O,KAAKkL,MAAM4D,UAAU9Q,wBAC3C,IAAI+Q,EAAUtB,EAAIoB,EAAcxQ,KAC5B2Q,EAASrB,EAAIkB,EAAc1Q,IAC/BY,OAAOC,OAAOgB,KAAKmL,KAAK3O,MAAO,CAC7BwR,QAAS,OACT3P,KAAM,KACNF,IAAK,OAEP,MAAM8Q,EAAWjP,KAAKmL,KAAKnN,wBACvB+Q,EAAUE,EAAS3Q,MAAQuQ,EAAcxQ,KAAOwQ,EAActQ,QAChEwQ,EAAUF,EAAcvQ,MAAQ2Q,EAAS3Q,MAAQ,IAE/C0Q,EAASC,EAAS7Q,OAASyQ,EAAc1Q,IAAM0Q,EAAcrQ,SAC/DwQ,EAASH,EAAczQ,OAAS6Q,EAAS7Q,OAAS,IAEpDW,OAAOC,OAAOgB,KAAKmL,KAAK3O,MAAO,CAC7B6B,KAAM,GAAG0Q,MACT5Q,IAAK,GAAG6Q,OAEX,KAhD8B,CAC7BjQ,OAAOC,OAAOgB,KAAKmL,KAAK3O,MAAO,CAC7BwR,QAAS,OACT3P,KAASuQ,EAASnB,EAAKmB,EAAStQ,MAAQ,EAAK,EAAvC,KACNH,IAAK,GAAGyQ,EAASjB,EAAIiB,EAASxQ,WAC9B8Q,UAAW,yBAGb,MAAMC,YAAEA,EAAWC,aAAEA,GAAiBrS,iBAAiBiD,KAAKkL,MAAM4B,MAC5DmC,EAAWjP,KAAKmL,KAAKnN,wBACrBqR,EAAWrP,KAAKkL,MAAM4B,KAAK9O,wBAC7BiR,EAAS1Q,MAAQ8Q,EAAS9Q,MAAQsL,EAASuF,GAC7CrQ,OAAOC,OAAOgB,KAAKmL,KAAK3O,MAAO,CAC7B6B,KAASgR,EAAS9Q,MAAQ8Q,EAAShR,KAAO4Q,EAAS3Q,MAAQuL,EAASuF,GAAgB,EAA9E,KACNF,UAAW,uBAGND,EAAS5Q,KAAOwL,EAASsF,IAChCpQ,OAAOC,OAAOgB,KAAKmL,KAAK3O,MAAO,CAC7B6B,KAAM,GAAGwL,EAASsF,GAAe,MACjCD,UAAW,sBAGhB,CA0BF,CAED,OAAAI,GACE,GAAKtP,KAAKmL,KAAV,CACA,IAAK,MAAM3N,KAAWwC,KAAKsL,YAAa9N,EAAQrD,SAChD6F,KAAKkL,MAAM4B,KAAKhP,oBAAoB,cAAekC,KAAK+M,mBACxD/M,KAAKmL,KAAKhR,SACV6F,KAAKmL,KAAO,IAJW,CAKxB,QCzWUoE,EAWQnF,YAA6BxG,MAA2BsH,MAV3EnS,QACA6V,SAAiC,KACjCY,aAAuB,EACvB1E,YAAsC,GACtC2E,WACAC,UAAoB,EACpBC,cAA2D,GAC3DC,iBAAmB5P,KAAK6P,iBAAiBC,KAAK9P,MAC9C+P,UAEA,WAAA1M,CAAmB+G,EAA6BxG,EAA2BsH,EAAcnS,EAA0C,CAAA,GAAhHiH,KAAWoK,YAAXA,EAA6BpK,KAAK4D,MAALA,EAA2B5D,KAAKkL,MAALA,EACzElL,KAAKjH,QAAUiH,KAAKuL,eAAexS,GAEnCiH,KAAKyP,WAAazP,KAAKkL,MAAM6C,aAAa,2BAC1C/N,KAAKgQ,mBAEkB,IAAIC,gBAAe,KACxCjQ,KAAKkQ,eAAe,IAEPC,QAAQnQ,KAAK4D,OAE5B5D,KAAKkL,MAAM4B,KAAK9S,iBAAiB,YAAagG,KAAK4P,kBAAkB,GACrE5P,KAAK+P,UAAY,IAAI9E,EAAUjL,KAAKoK,YAAac,EAAOlL,KAAKjH,QAAQgX,UACtE,CAED,cAAAxE,CAAexS,GACb,OAAOgG,OAAOC,OAAO,CACnBoR,YAAa,UACbL,UAAW,CAAE,GACZhX,EACJ,CAED,cAAAsX,CAAeC,EAAkBnG,GAC/BmG,EAAItW,iBAAiB,SAAUmQ,GAC/BnK,KAAK2P,cAAcnB,KAAK,CAAC8B,EAAKnG,GAC/B,CAED,gBAAAoG,GACE,IAAK,IAAItK,EAAI,EAAGA,EAAIjG,KAAK2P,cAAcjO,OAAQuE,IAAK,CAClD,MAAOqK,EAAKnG,GAAUnK,KAAK2P,cAAc1J,GACzCqK,EAAIxS,oBAAoB,SAAUqM,EACnC,CACDnK,KAAK2P,cAAgB,EACtB,CAED,gBAAAK,GACEjR,OAAOC,OAAOgB,KAAKyP,WAAWjT,MAAO,CACnC,eAAgBwD,KAAKjH,QAAQqX,aAEhC,CAED,kBAAAI,CAAmBC,EAAsCC,GAEvD,MAAMC,EAAYjQ,EAAMsB,KAAKhC,KAAK4D,OAClC,IAAK+M,EAAW,MAAO,GACvB,MAAMC,EAAa,IAAIvM,IAAIsM,EAAUtP,YAAYqH,IAGjD,IAAIkG,EAAW,CACbnB,EAAGlO,KAAKxF,IAAI2W,EAASjD,EAAGgD,EAAWhD,GACnCE,EAAGpO,KAAKxF,IAAI2W,EAAS/C,EAAG8C,EAAW9C,GACnCkD,GAAItR,KAAKzF,IAAI4W,EAASjD,EAAGgD,EAAWhD,GACpCqD,GAAIvR,KAAKzF,IAAI4W,EAAS/C,EAAG8C,EAAW9C,IAGtC,MAAMoD,EAAgB,IAAI1M,IAC1B,IAAI2M,GAAU,EAEd,KAAOA,GAAS,CACdA,GAAU,EACV,IAAK,MAAM1I,KAAQsI,EAAY,CACxBtI,EAAKK,SACRL,EAAKK,OAASL,EAAK5F,QAAQ1E,yBAG7B,MAAMyP,EAAEA,EAACE,EAAEA,EAACpP,MAAEA,EAAKC,OAAEA,GAAW8J,EAAKK,OACrC,GAAIsI,EAAsBrC,EAAU,CAAEnB,IAAGE,IAAGkD,GAAItS,EAAOuS,GAAItS,GA/E/C,GA+EuE,CAEjFuS,EAAczX,IAAIgP,GAClBsI,EAAWrI,OAAOD,GAElBsG,EAAW,CACTnB,EAAGlO,KAAKxF,IAAI6U,EAASnB,EAAGA,GACxBE,EAAGpO,KAAKxF,IAAI6U,EAASjB,EAAGA,GACxBkD,GAAItR,KAAKzF,IAAI8U,EAASiC,GAAItS,GAC1BuS,GAAIvR,KAAKzF,IAAI8U,EAASkC,GAAItS,IAG5BwS,GAAU,EACV,KACD,CACF,CACF,CACD,IAAK,MAAM1I,IAAQ,IAAIyI,KAAkBH,UAChCtI,EAAKK,OAQd,OALA3I,KAAK4O,SAAWsC,EAAgB,IAC3BtC,EACHtQ,MAAOsQ,EAASiC,GAAKjC,EAASnB,EAC9BrP,OAAQwQ,EAASkC,GAAKlC,EAASjB,GAC9B3N,KAAKkL,MAAM4B,KAAKqE,YACZ9R,MAAM6M,KAAK6E,GAAexJ,KAAIe,GAAQA,EAAKpC,gBACnD,CAED,gBAAA2J,CAAiBuB,GACf,MAAMC,OAAEA,EAAMlV,OAAEA,EAAMuR,QAAEA,EAAOE,QAAEA,GAAYwD,EACvCE,EAAgBnV,EAAuBoV,QAAQ,aACrD,GAAe,IAAXF,IAAiBC,EAAc,OAEnC,MAAME,EAAeF,EAAajP,QAAQC,QACpCmO,EAAa,CAAEhD,EAAGC,EAASC,EAAGC,GACpC5N,KAAKwP,aAAgBxP,KAAK4D,MAAMuN,WAA2BM,WAC3DzR,KAAK8K,YAAc9K,KAAKwQ,mBAAmBC,EAAYA,GACvDzQ,KAAK0R,gBAEL,MAAMC,EAAoBC,IACxB,MAAMP,OAAEA,EAAMlV,OAAEA,EAAMuR,QAAEA,EAAOE,QAAEA,GAAYgE,EACvCN,EAAgBnV,EAAuBoV,QAAQ,aACrD,GACa,IAAXF,IACIC,GACDA,EAAajP,QAAQC,UAAYkP,EAEpC,OAGFxR,KAAK0P,UAAW,EAChB,MAAMmC,EAAY,CAAEpE,EAAGC,EAASC,EAAGC,GACnC5N,KAAK8K,YAAc9K,KAAKwQ,mBAAmBC,EAAYoB,GACnD7R,KAAK8K,YAAYpJ,OAAS,GAC5B1B,KAAKkL,MAAM4G,OAEb9R,KAAK+R,iBAAiB,EAElBC,EAAiB,KACrB7Y,SAASiD,KAAK0B,oBAAoB,YAAa6T,GAAkB,GACjExY,SAASiD,KAAK0B,oBAAoB,UAAWkU,GAAgB,GAC7DhS,KAAK0P,UAAW,CAAK,EAGvBvW,SAASiD,KAAKpC,iBAAiB,YAAa2X,GAAkB,GAC9DxY,SAASiD,KAAKpC,iBAAiB,UAAWgY,GAAgB,EAC3D,CAED,eAAAD,GACE,GAAgC,IAA5B/R,KAAK8K,YAAYpJ,SAAiB1B,KAAK4O,SAAU,OACrD,MAAMqD,EAAuBjS,KAAK4D,MAAMuN,WAA2BM,WAC7DS,EAAalS,KAAKkL,MAAM4B,KAAKqE,WAA2Be,UAE9DnT,OAAOC,OAAOgB,KAAKyP,WAAWjT,MAAO,CACnC6B,KAAS2B,KAAK4O,SAASnB,GAAKzN,KAAKwP,aAAeyC,GAAuB,EAAjE,KACN9T,IAAK,GAAe,EAAZ+T,EAAgBlS,KAAK4O,SAASjB,MACtCrP,MAAO,GAAG0B,KAAK4O,SAAStQ,MAAQ,MAChCF,OAAQ,GAAG4B,KAAK4O,SAASxQ,OAAS,QAEpC4B,KAAK+P,UAAUvC,aAChB,CAED,aAAAkE,GACE1R,KAAKuQ,mBAELxR,OAAOC,OAAOgB,KAAKyP,WAAWjT,MAAO,CAAEwR,QAAS,UAChDhO,KAAK+R,kBAEL/R,KAAKqQ,eAAerQ,KAAK4D,MAAMuN,YAA2B,KACxDnR,KAAK+R,iBAAiB,GAEzB,CAED,aAAA7B,GACElQ,KAAK4O,SAAW,KAChB5O,KAAK8K,YAAc,GACnB9K,KAAKyP,YAAc1Q,OAAOC,OAAOgB,KAAKyP,WAAWjT,MAAO,CAAEwR,QAAS,SACnEhO,KAAK+P,UAAUlC,YACf7N,KAAKuQ,kBACN,CAED,OAAAjB,GAOE,OANAtP,KAAKkQ,gBACLlQ,KAAK+P,UAAUT,UACftP,KAAKyP,WAAWtV,SAChB6F,KAAKuQ,mBAELvQ,KAAKkL,MAAM4B,KAAKhP,oBAAoB,YAAakC,KAAK4P,kBAAkB,GACjE,IACR,EAGG,SAAUqB,EAAsBkB,EAA4CC,EAA4CC,EAAY,GACxI,MAAQ5E,EAAG6E,EAAO3E,EAAG4E,EAAO1B,GAAI2B,EAAO1B,GAAI2B,GAAUN,GAC7C1E,EAAGiF,EAAO/E,EAAGgF,EAAO9B,GAAI+B,EAAO9B,GAAI+B,GAAUT,EAGrD,QAFoBI,GAASE,EAAQL,GAAaC,EAAQD,GAAaO,IACnDH,GAASE,EAAQN,GAAaE,EAAQF,GAAaQ,GAEzE,CAEgB,SAAA3B,EAAgB4B,EAAmEhE,GACjG,MAAMD,EAAgBC,EAAU9Q,wBAEhC,MAAO,CACLyP,EAAGqF,EAAWrF,EAAIoB,EAAcpB,EAAIqB,EAAU2C,WAC9C9D,EAAGmF,EAAWnF,EAAIkB,EAAclB,EAAImB,EAAUoD,UAC9CrB,GAAIiC,EAAWrF,EAAIoB,EAAcpB,EAAIqB,EAAU2C,WAAaqB,EAAWxU,MACvEwS,GAAIgC,EAAWnF,EAAIkB,EAAclB,EAAImB,EAAUoD,UAAYY,EAAW1U,OACtEE,MAAOwU,EAAWxU,MAClBF,OAAQ0U,EAAW1U,OAEvB,OCnNa2U,EAYQ3I,YAA6BxG,MAA2BsH,MAX3EnS,QACA+T,KACA6D,UACAhN,aACAqP,eACAC,UAA8B,GAC9BC,UAA8B,GAC9BC,eAAqC,KACrCC,eAAqC,KACrCzD,cAAqD,GAErD,WAAAtM,CAAmB+G,EAA6BxG,EAA2BsH,EAAcnS,GAAtEiH,KAAWoK,YAAXA,EAA6BpK,KAAK4D,MAALA,EAA2B5D,KAAKkL,MAALA,EACzElL,KAAKjH,QAAUiH,KAAKuL,eAAexS,GACnCiH,KAAK2Q,UAAYjQ,EAAMsB,KAAKhC,KAAK4D,OAE5B5D,KAAK2Q,YACV3Q,KAAK2D,aAAe3D,KAAK2Q,UAAUvQ,OAC9BJ,KAAK2D,eAEV3D,KAAK8M,KAAO9M,KAAKkL,MAAM6C,aAAa,oBAEpC/N,KAAKgT,eAAiB,IAAI/C,gBAAe,KACvCjQ,KAAKqT,UAAU,IAEjBrT,KAAKgT,eAAe7C,QAAQnQ,KAAK4D,QAClC,CAED,cAAA2H,CAAexS,GACb,OAAOgG,OAAOC,OAAO,CACnBgN,KAAM,IACLjT,EACJ,CAED,cAAAsX,CAAeC,EAAkBnG,GAC/BmG,EAAItW,iBAAiB,SAAUmQ,GAC/BnK,KAAK2P,cAAcnB,KAAK,CAAC8B,EAAKnG,GAC/B,CAED,gBAAAmJ,GACE,IAAIC,EAAkC,KAClCC,GAAe,EACnB,MAAMC,EAAgBpU,MAAM6M,KAAKlM,KAAK8M,KAAK4G,uBAAuB,wBAC5DC,EAAyBtU,MAAM6M,KAAKlM,KAAK8M,KAAK4G,uBAAuB,2BACrEpX,EAAWnD,SAASiD,KACpBwX,EAAmBhX,IACvB,MAAMiX,EAAOJ,EAAcD,GAAaxV,wBAClC8V,EAAa9T,KAAK2Q,UAAUjO,QAAQ1E,wBAAwBM,MAClE,IAAIyV,EAAOnX,EAAE8Q,QAEb,GAAI1N,KAAK2Q,UAAUxN,KAAM,CAGvB,MAAM6Q,EAAW,IAA8BF,EACzCG,EAAWF,EAAOF,EAAKtV,MACzBkV,EAAcD,EAAc,GAC1BC,EAAcD,EAAc,GAAGxV,wBAAwBO,MAAQyV,EAC/DH,EAAKtV,MAAQyV,EACfE,IACEC,EAAWN,EAAKpG,EAAIuG,EAE1BD,EAAOxU,KAAKxF,IAAIwF,KAAKzF,IAAIia,EAAMI,GAAWF,EAC3C,MAEKF,EAAOF,EAAKpG,Ed1DU,Kc2DxBsG,EAAOF,EAAKpG,Ed3DY,Ic8D5B8F,EAAa/W,MAAM6B,KAAO,GAAG0V,MAC7BR,EAAalR,QAAQ+R,EAAIla,OAAO6Z,EAAOF,EAAKpG,EAAE,EAE1C4G,EAAgB,KACpB,MAAMD,EAAIna,OAAOqa,SAASf,EAAalR,QAAQ+R,GAC/C,GAAIpU,KAAK2Q,UAAUxN,KAAM,CACvB,IAAIoR,EAAOH,EAAIpU,KAAK2Q,UAAUjO,QAAQ1E,wBAAwBM,MAAS,IACvE,MAAMkW,EAAcxU,KAAKiT,UAAUO,GAAalV,MAChD,GAAIiW,EAAMC,EAAa,CAIrBD,EAAMhV,KAAKzF,Id3Ec,Ec2EWya,GACpC,MAAME,EAAOD,EAAcD,EACvBvU,KAAKiT,UAAUO,EAAc,IAC/BC,EAAcD,EAAc,GAAGhX,MAAM8B,MAAQ,GAAG0B,KAAKiT,UAAUO,EAAc,GAAGlV,MAAQmW,KACxFzU,KAAKiT,UAAUO,EAAc,GAAGlV,MAAQ,GAAG0B,KAAKiT,UAAUO,EAAc,GAAGlV,MAAQmW,MAE5EzU,KAAKiT,UAAUO,EAAc,IACpCC,EAAcD,EAAc,GAAGhX,MAAM8B,MAAQ,GAAG0B,KAAKiT,UAAUO,EAAc,GAAGlV,MAAQmW,KACxFzU,KAAKiT,UAAUO,EAAc,GAAGlV,MAAQ,GAAG0B,KAAKiT,UAAUO,EAAc,GAAGlV,MAAQmW,MAGnFF,EAAM,IAERd,EAAcD,GAAahX,MAAM8B,MAAQ,GAAGiW,KAC5CvU,KAAKiT,UAAUO,GAAalV,MAAQ,GAAGiW,IACxC,MAIC,GAAIvU,KAAKiT,UAAUO,EAAc,GAAI,CACnC,MAAMkB,EAAoBF,EAAcxU,KAAKiT,UAAUO,EAAc,GAAGlV,MACxEiW,EAAMhV,KAAKxF,IAAI2a,EdhGQ,EcgGiCH,GACxDvU,KAAKiT,UAAUO,GAAalV,MAAQ,GAAGiW,KACvCvU,KAAKiT,UAAUO,EAAc,GAAGlV,MAAWoW,EAAoBH,EAAvB,IAExCd,EAAcD,GAAahX,MAAM8B,MAAQ,GAAGiW,KAC5Cd,EAAcD,EAAc,GAAGhX,MAAM8B,MAAWoW,EAAoBH,EAAvB,GAC9C,CAEJ,MAECvU,KAAK2Q,UAAUjO,QAAQlG,MAAM8B,MAAQ,GACnCrE,OAAOmJ,WAAWpD,KAAK2Q,UAAUjO,QAAQlG,MAAM8B,OAC7CrE,OAAOmJ,WAAWqQ,EAAcD,GAAahX,MAAM8B,OACnD8V,MAEJX,EAAcD,GAAahX,MAAM8B,MAAQ,GAAG8V,MAC5CpU,KAAKiT,UAAUO,GAAalV,MAAQ,GAAG8V,MACvCpU,KAAKoT,eAAgB5W,MAAM8B,MAAQ,GAAG0B,KAAK2Q,UAAU5J,wBAGvDzK,EAASqY,YAAYpB,GACrBA,EAAc,KACdC,GAAe,EACfra,SAAS2E,oBAAoB,UAAWuW,GACxClb,SAAS2E,oBAAoB,YAAa8V,EAAgB,EAEtDgB,EAAkB,CAAC3O,EAAWrJ,KAClCzD,SAASa,iBAAiB,UAAWqa,GACrClb,SAASa,iBAAiB,YAAa4Z,GACvCJ,EAAcvN,EAEd,MAAM4O,EAAS1b,SAASC,cAAc,OACtCyb,EAAOxb,UAAUC,IAAI,sBACrBub,EAAOxb,UAAUC,IAAI,OAGrB,MAAMwb,EAAY9U,KAAK2Q,UAAUjO,QAAQ1E,wBAAwBM,MAC3DyW,EAAe9a,OAAOmJ,WAAWqQ,EAAcD,GAAahX,MAAM8B,OAClEA,EAAQ0B,KAAK2Q,UAAUxN,KAAO4R,EAAe,IAAMD,EAAYC,EACrEF,EAAOxS,QAAQ+R,EAAIla,OAAOoE,GAE1B,MAAM0W,EAAgBhV,KAAK4D,MAAM5F,wBACjCe,OAAOC,OAAO6V,EAAOrY,MAAO,CAC1B2B,IAAQ6W,EAAcrH,EAAI3N,KAAKjH,QAAQiT,KAAlC,KACL3N,KAAM,GAAGzB,EAAE8Q,YACXtP,OAAQ,GAAG4W,EAAc5W,OAAS4B,KAAKjH,QAAQiT,WAEjD1P,EAAS7C,YAAYob,GAEjBtB,GAAajX,EAASqY,YAAYpB,GACtCA,EAAcsB,CAAM,EAGtB7U,KAAKqQ,eACHrQ,KAAK2D,aAAajB,SAClB,KACE1C,KAAKoT,eAAgB3B,WAAazR,KAAK2D,aAAajB,QAAQ+O,UAAU,IAI1E,IAAK,MAAOxL,EAAGgP,KAAOtB,EAAuB1K,UAC3CgM,EAAGjb,iBAAiB,YAAa4a,EAAgB9E,KAAK9P,KAAMiG,IAE5DgP,EAAGjb,iBAAiB,aAAc4C,IAChCA,EAAE2F,gBAAgB,GAGvB,CAED,gBAAA2S,GACE,IAAIC,EAAkC,KAClCC,GAAe,EACnB,MAAMC,EAAgBhW,MAAM6M,KAAKlM,KAAK8M,KAAK4G,uBAAuB,wBAC5D4B,EAAyBjW,MAAM6M,KAAKlM,KAAK8M,KAAK4G,uBAAuB,2BACrEpX,EAAWnD,SAASiD,KACpBwX,EAAmBhX,IACvB,MAAMiX,EAAOwB,EAAcD,GAAapX,wBACxC,IAAIuX,EAAO3Y,EAAEgR,QACT2H,EAAO1B,EAAKlG,Ed5KY,Kc6K1B4H,EAAO1B,EAAKlG,Ed7Kc,Ic+K5BwH,EAAa3Y,MAAM2B,IAAM,GAAGoX,MAC5BJ,EAAa9S,QAAQ+R,EAAIla,OAAOqb,EAAO1B,EAAKlG,EAAE,EAE1C0G,EAAgB,KACpB,MAAMD,EAAIna,OAAOqa,SAASa,EAAa9S,QAAQ+R,GAE/CpU,KAAKkT,UAAUkC,GAAa3P,UAAU2O,GACtC,MAAMY,EAAgBhV,KAAK4D,MAAM5F,wBACjCgC,KAAKmT,eAAgB3W,MAAM4B,OAAS,GAAG4W,EAAc5W,WACrD,IAAK,MAAO6H,EAAG9K,KAAQ6E,KAAKkT,UAAUjK,UAAW,CAC/C,MAAM4K,EAAO1Y,EAAIuH,QAAQ1E,wBACzBqX,EAAcpP,GAAGzJ,MAAM4B,OAAS,GAAGyV,EAAKzV,UACzC,CAED9B,EAASqY,YAAYQ,GACrBA,EAAc,KACdC,GAAe,EACfjc,SAAS2E,oBAAoB,UAAWuW,GACxClb,SAAS2E,oBAAoB,YAAa8V,EAAgB,EAEtDgB,EAAkB,CAAC3O,EAAWrJ,KAClCzD,SAASa,iBAAiB,UAAWqa,GACrClb,SAASa,iBAAiB,YAAa4Z,GACvCwB,EAAcnP,EAEd,MAAM4O,EAAS1b,SAASC,cAAc,OACtCyb,EAAOxb,UAAUC,IAAI,sBACrBub,EAAOxb,UAAUC,IAAI,OAGrB,MAAM8E,EAASiX,EAAcD,GAAapX,wBAAwBI,OAClEyW,EAAOxS,QAAQ+R,EAAIla,OAAOkE,GAE1B,MAAM4W,EAAgBhV,KAAK4D,MAAM5F,wBACjCe,OAAOC,OAAO6V,EAAOrY,MAAO,CAC1B2B,IAAK,GAAGvB,EAAEgR,YACVvP,KAAS2W,EAAcvH,EAAIzN,KAAKjH,QAAQiT,KAAlC,KACN1N,MAAO,GAAG0W,EAAc1W,MAAQ0B,KAAKjH,QAAQiT,WAE/C1P,EAAS7C,YAAYob,GAEjBM,GAAa7Y,EAASqY,YAAYQ,GACtCA,EAAcN,CAAM,EAGtB,IAAK,MAAO5O,EAAGgP,KAAOK,EAAuBrM,UAC3CgM,EAAGjb,iBAAiB,YAAa4a,EAAgB9E,KAAK9P,KAAMiG,IAE5DgP,EAAGjb,iBAAiB,aAAc4C,IAChCA,EAAE2F,gBAAgB,GAGvB,CAED,QAAA8Q,GACE,MAAM1C,EAAYjQ,EAAMsB,KAAKhC,KAAK4D,OAClC,IAAK+M,EAAW,OAChB3Q,KAAKiT,UAAYjT,KAAK2Q,UAAU1J,UAChCjH,KAAKkT,UAAYlT,KAAK2Q,UAAUtJ,UAChCrH,KAAK8M,KAAKJ,UAAY,GACtB,MAAMsI,EAAgBrE,EAAUjO,QAAQ1E,wBAClCqR,EAAWrP,KAAKkL,MAAM4B,KAAK9O,wBACjCe,OAAOC,OAAOgB,KAAK8M,KAAKtQ,MAAO,CAC7B2B,IAAQ6W,EAAcrH,EAAI0B,EAAS1B,EAA9B,KACLtP,KAAM,GAAG2W,EAAcvH,EAAI4B,EAAS5B,EAAIzN,KAAK2D,aAAajB,QAAQ+O,iBAGpE,MAAM+D,EAASrc,SAASC,cAAc,OACtCoc,EAAOnc,UAAUC,IAAI,2BACrByF,OAAOC,OAAOwW,EAAOhZ,MAAO,CAC1B8B,MAAO,GAAG0B,KAAKjH,QAAQiT,SACvB5N,OAAQ,GAAG4B,KAAKjH,QAAQiT,SACxBkD,UAAW,cAAclP,KAAKjH,QAAQiT,YAAYhM,KAAKjH,QAAQiT,YAEjEhM,KAAK8M,KAAKrT,YAAY+b,GAEtB,IAAIC,EAAa,GACjB,IAAK,MAAMja,KAAOwE,KAAKiT,UAAW,CAChC,IAAI3U,EAAQ9C,EAAI8C,OAASqS,EAAUxN,KAAO,IAAM,MAC3C3H,EAAI8C,QACPA,EAAQ,GAAG9C,EAAIkH,QAAQ1E,wBAAwBM,WAEjDmX,GAAc,kDAAkDnX,mEACT0W,EAAc5W,OAAS4B,KAAKjH,QAAQiT,KAAO,2BAEnG,CACD,MAAMoH,EAAiBja,SAASC,cAAc,OAC9Cga,EAAe/Z,UAAUC,IAAI,wBAC7ByF,OAAOC,OAAOoU,EAAe5W,MAAO,CAClC0S,UAAW,eAAelP,KAAKjH,QAAQiT,UACvC1N,MAAO,GAAG0W,EAAc1W,UACxBF,OAAQ,GAAG4B,KAAKjH,QAAQiT,WAE1BoH,EAAe1G,UAAY+I,EAC3BzV,KAAK8M,KAAKrT,YAAY2Z,GACtBA,EAAe3B,WAAazR,KAAK2D,aAAajB,QAAQ+O,WACtDzR,KAAKoT,eAAiBA,EACtBpT,KAAKsT,mBAEL,IAAIoC,EAAa,GACjB,IAAK,MAAMva,KAAO6E,KAAKkT,UAAW,CAEhCwC,GAAc,mDADC,GAAGva,EAAIuH,QAAQ1E,wBAAwBI,2EAEA4W,EAAc1W,MAAQ0B,KAAKjH,QAAQiT,KAAO,2BAEjG,CACD,MAAMmH,EAAiBha,SAASC,cAAc,OAC9C+Z,EAAe9Z,UAAUC,IAAI,wBAC7ByF,OAAOC,OAAOmU,EAAe3W,MAAO,CAClC0S,UAAW,eAAelP,KAAKjH,QAAQiT,UACvC1N,MAAO,GAAG0B,KAAKjH,QAAQiT,SACvB5N,OAAQ,GAAG4W,EAAc5W,aAE3B+U,EAAezG,UAAYgJ,EAC3B1V,KAAK8M,KAAKrT,YAAY0Z,GACtBnT,KAAKmT,eAAiBA,EACtBnT,KAAKkV,kBACN,CAED,QAAAS,GACE3V,KAAK8M,KAAKzT,UAAUC,IAAI,YACzB,CAED,OAAAgW,GACEtP,KAAK2V,WACL3V,KAAKgT,eAAe4C,aACpB,IAAK,MAAOtF,EAAKnG,KAAWnK,KAAK2P,cAC/BW,EAAIxS,oBAAoB,SAAUqM,GAEpCnK,KAAK8M,KAAK3S,QACX,EChTH,MAAM0b,EAAQnV,EAAMC,OAAO,SACrBmV,EAAQpV,EAAMC,OAAO,eACrBoV,EAAQrV,EAAMC,OAAO,YAErBqV,EAAa,CAACzV,GAAoC+B,UAAS0B,QAAOd,YACtE,MAAMjK,EAAQ,CACZqJ,UACA0B,QACAd,QACAgB,QAAS,EACTD,QAAS,GAELmC,EAAY7F,EAAO2B,OAAO5B,EAAoBrH,GAC9CoN,EAAiB9F,EAAO2B,OAAO5B,EAAyBrH,GACxDqN,EAAQ/F,EAAO2B,OAAO,SAK5B,OAJAoE,EAAM7M,YAAY8G,EAAO2B,OAAO,UAChCmE,EAAe5M,YAAY6M,GAC3BF,EAAU3M,YAAY4M,GAEfD,CAAS,EAIL6P,GAA4B,CAAC3V,GAEpC4V,GAAmBC,IACvBA,aAAWA,EAAQ/V,UAFQF,EAGHiW,EAAQ/V,SAHwB6V,GAAgBG,SAASlW,EAAKG,QAAQC,WAKxF4V,GAAgBC,EAAQ/V,SALJ,IAACF,CAMlB,QAOEmW,GACXrV,kBAAoB,UACpBA,gBAAkBV,EAClBU,uBAAyB,CACvB,mCAAoC,CAClCsV,YAAY,EACZ1c,IAAK,YACL2c,WAAW,EACXtO,OAAQ,EACR,OAAAuO,CAAgCC,EAAchT,GAC5C,MACMvD,EADOF,KAAKkL,MAAMwL,QAAQD,EAAM3U,OACpB,GAClB,GAAI5B,EAAK2C,gBAAgBV,EAEvB,OADAjC,EAAK2C,KAAK1I,UACH,EAGT,GAAIsJ,EAAQkT,OAAOrW,GAA0B,CAE3C,GAAe,IADAJ,EAAK+H,OAAOhI,EAAeC,EAAMI,IAE9C,OAAO,CAEV,CACD,OAAO,CACR,GAEH,gCAAiC,CAC/BgW,YAAY,EACZ1c,IAAK,SACL2c,WAAW,EACX,OAAAC,CAAgCC,EAAchT,GAC5C,MAAMmT,EAAO5W,KAAKkL,MAAMwL,QAAQD,EAAM3U,OAChC5B,EAAO0W,EAAK,GACZC,EAAeD,EAAK,GAC1B,IAAK1W,EAAK4C,gBAAgBX,GAAsBjC,EAAK4C,gBAAgBG,IAAmB4T,IAAiB3W,EAAKwB,SAAW,EAAG,OAAO,EAEnI,GAAI+B,EAAQkT,OAAOrW,GAA0B,CAE3C,GAAIJ,IADmBD,EAAeC,EAAMI,GAChBmB,SAASqV,MAAQD,IAAiB3W,EAAKwB,SAAW,EAC5E,OAAO,CAEV,CACD,OAAO,CACR,GAEH,8BAA+B,CAE7B4U,YAAY,EACZ1c,IAAK,QACL2c,WAAW,EACXI,OAAQ,CAACrW,GACTyW,OAAQ,KACRC,OAAQ,QACR,OAAAR,CAAgCC,GAE9B,MAAOG,GAAQ5W,KAAKkL,MAAMwL,QAAQD,EAAM3U,OACxC,IAAImV,EAAW,EACXjR,EAAM4Q,EACV,KAAe,OAAR5Q,GAAgBA,EAAItE,UAAY,GAGrC,GAFAsE,EAAMA,EAAInD,KACVoU,GAAY,EACRA,GAAY,EAGd,OAFAjX,KAAKkL,MAAMgM,WAAWT,EAAM3U,MAAQ,EAAG,MACvC9B,KAAKkL,MAAMiM,aAAaV,EAAM3U,MAAQ,EAAGpB,EAAM0W,QAAQC,SAChD,EAGX,OAAO,CACR,IAIL,eAAOC,GACLnV,EAAmBQ,gBAAkB,CAACmE,GAEtCA,EAAgBnE,gBAAkB,CAACoF,EAAiBN,GACpDX,EAAgByQ,kBAAoBpV,EAEpCsF,EAAoB9E,gBAAkB,CAACM,GACvCwE,EAAoB8P,kBAAoBzQ,EAExCiB,EAAgBpF,gBAAkB,CAAC6C,GACnCuC,EAAgBwP,kBAAoBzQ,EAEpCtB,EAAe7C,gBAAkB,CAAC+F,GAClCA,EAAgB6O,kBAAoBxP,EAEpCW,EAAgB/F,gBAAkB,CAACoB,EAAsB+R,GACzDpN,EAAgB6O,kBAAoB/R,EAEpCzB,EAAqBwT,kBAAoB7O,EAEzChI,EAAM4W,SAAS,CACb,eAAgBzO,EAChB,cAAeS,EACf,CAAC,WAAWhJ,KAAuBoI,EACnC,CAAC,WAAWpI,KAA4ByD,EACxC,CAAC,WAAWzD,KAAsBkF,EAClC,CAAC,WAAWlF,KAAuByH,EACnC,CAAC,WAAWzH,KAAsB2C,EAClC,CAAC,WAAW3C,KAA2BmH,EACvC,CAAC,WAAWnH,KAAuBwG,EACnC,CAAC,WAAWxG,KAA0B6B,IACrC,EACJ,CAED+I,MACAnS,QACAye,mBAAqB7X,EAASK,KAAKyX,cAAe,KAClDC,SACAC,OACAlB,MACA7S,MACA2J,eACAqK,aAEA,WAAAvU,CAAY6H,EAAcnS,GACxBiH,KAAKkL,MAAQA,EACblL,KAAKjH,QAAUiH,KAAKuL,eAAexS,GAAW,CAAE,GAEhD,MAAM8e,EAAU7X,KAAKkL,MAAM4M,UAAU,WACrC,GAAID,EAAS,CACX,MAAS,CAAAE,IAAWF,EAAQG,UAAuC,IAAIhW,MAAK,EAAEuC,KAAUA,IAAS8R,GAAQ4B,YAAa,GACtH,GAAIF,GAAiD,WAAvCA,EAAO/U,QAAQkV,oBAAkC,CAE7D,GADAlY,KAAK2X,OAAU3X,KAAKkL,MAAMiN,MAAqBC,QAAQpW,MAAK2V,GAAUA,EAAOI,SAAWA,KACnF/X,KAAK2X,OAAQ,OAClB3X,KAAK2X,OAAO7e,MAAM4T,UAAYqJ,EAAMnS,MACpC5D,KAAKqY,kBAAkBrY,KAAKjH,QAAQuf,cACpCtY,KAAK2X,OAAO7e,MAAMkB,iBAAiB,YAAagG,KAAKuY,iBACtD,CACF,CAED,MAAMC,EAAWxY,KAAKkL,MAAM4M,UAAU,YACtC,IAAK,MAAM3N,KAAUpL,OAAO0Z,OAAOpC,GAAQqC,iBAErCvO,EAAOmM,WACTkC,EAASG,SAASxO,EAAOvQ,KAAKgf,QAAQzO,GAGtCqO,EAASK,WAAW1O,EAAOvQ,IAAKuQ,GAIpCnK,KAAKkL,MAAM4B,KAAK9S,iBACd,SACC8e,IACC,MAAM1L,EAAO0L,EAAIzL,eACjB,IAAKD,GAAQA,EAAK1L,QAAU,EAAG,OAE/B,MAAMqX,EAAY3L,EAAKpL,MAAKI,GAAQA,EAAKY,SAA0C,UAA/BZ,EAAKY,QAAQsK,eAA6BlL,EAAK/I,UAAUkB,SAAS,cACtH,GAAIwe,EAAW,CACb,GAAI/Y,KAAK4D,QAAUmV,EAAW,OAC1B/Y,KAAK4D,OAAO5D,KAAKsK,iBACrBtK,KAAKgZ,eAAeD,EAAW7N,EAChC,MACQlL,KAAK4D,OACZ5D,KAAKsK,gBACN,IAEH,GAEFtK,KAAKkL,MAAM4B,KAAK9S,iBAAiB,UAAU,KACzCgG,KAAKsK,gBAAgB,IAEvBtK,KAAKkL,MAAM+N,GAAGvY,EAAMwY,OAAOC,eAAe,CAACC,EAAe3C,KACxD,GAAI2C,IAAU1Y,EAAMwY,OAAOG,kBAAoB5C,EAAO,CACpD,MAAO6C,GAAatZ,KAAKkL,MAAMwL,QAAQD,EAAM3U,QACtCyX,GAAWvZ,KAAKkL,MAAMwL,QAAQD,EAAM3U,MAAQ2U,EAAM/U,QAGzD,GAAqB,IAAjB+U,EAAM/U,QAAgB4X,aAAqBrW,EAC7C,OAAOjD,KAAKkL,MAAMiM,aAAaV,EAAM3U,MAAQ,EAAG,EAAGpB,EAAM0W,QAAQC,QAGjE,GAAIiC,aAAqBrW,EACvB,OAAOjD,KAAKkL,MAAMiM,aAAaV,EAAM3U,MAAQ,EAAG2U,EAAM/U,OAAS,EAAGhB,EAAM0W,QAAQC,QAE7E,GAAIkC,aAAmBtW,EAC1B,OAAOjD,KAAKkL,MAAMiM,aAAaV,EAAM3U,MAAQ,EAAG2U,EAAM/U,OAAS,EAAGhB,EAAM0W,QAAQC,QAKpF,IAGE,OAFApX,EAAeqZ,EAAYhZ,QAC3BL,EAAesZ,EAAUjZ,EAE1B,CACD,MAAQ,CACRN,KAAKsK,gBACN,KAGHtK,KAAKwZ,oBACLxZ,KAAKyZ,oBACN,CAED,cAAAlO,CAAexS,GACb,OAAOgG,OAAOC,OAAO,CACnB0a,WAAW,EACXC,MAAO3Z,KAAK4Z,aAAa7gB,EAAQ4gB,OAAS,CAAA,GAC1CxW,MAAM,GACapK,EACtB,CAED,YAAA6gB,CAAa7gB,GACX,OAAOgG,OAAOC,OAAO,CACnB6a,cAAe,SACfle,YAAa,UACbE,WAAY,SACZX,QAAS,MACTK,QAAS,SACT4B,uBAAwB,mCACvBpE,EACJ,CAED,iBAAAygB,GACE,IAAIlX,EAAUhD,IACV0E,EAAQ1E,IACRsH,EAAmB,GACnBkT,EAAY,EACZC,EAAW,EAEf/Z,KAAKkL,MAAM8O,UAAUC,WAAW,SAAS,CAAC7X,EAAM8X,KAC9C,GAAyB,IAArBA,EAAMC,IAAIzY,OAAc,OAAOwY,EACnC,IAAIE,EAGAC,GAAS,EACb,GAAIH,EAAMC,IAAI,IAAqC,iBAAxBD,EAAMC,IAAI,GAAGG,OAAqB,CAC3D,IAAK,IAAIrU,EAAI,EAAGA,EAAIiU,EAAMC,IAAIzY,OAAQuE,IAAK,CACzC,MAAMqU,OAAEA,EAAMvR,WAAEA,GAAemR,EAAMC,IAAIlU,GACzC,GAAIqU,GAA4B,iBAAXA,GAAuBA,EAAOha,GAAoB,CACrE+Z,GAAS,EACT,KACD,CACD,GAAItR,GAAcA,EAAWzI,GAC3B,KAEH,CACD+Z,IAAWH,EAAMC,IAAI,GAAGG,SAASha,EAClC,CACD,IAAIia,EAASva,KAAKjH,QAAQoK,KACtBkX,IACFE,IAAYL,EAAMC,IAAI,GAAGG,SAAiCha,IAAoB6C,MAIhF,MAAMqX,EAAc/b,OAAO1B,iBAAiBiD,KAAKkL,MAAM4B,MACjD2N,EAAoBxgB,OAAOmJ,WAAWoX,EAAYrL,aAClDuL,EAAqBzgB,OAAOmJ,WAAWoX,EAAYpL,cACnDuL,EAAmB1gB,OAAOmJ,WAAWoX,EAAYlc,OAASmc,EAAoBC,EAC9EE,EAAkBL,EACpB,GAAGhb,KAAKzF,IAAI,IAAM8M,EAAOlF,OfrSA,MesSzB,GAAGnC,KAAKzF,IAAI6gB,EAAmB/T,EAAOlF,OfrSd,QeuS5B,GAAK2Y,EAcH,IAAK,IAAIpU,EAAI,EAAGA,EAAIiU,EAAMC,IAAIzY,OAAQuE,IAAK,CACzC,MAAMqU,EAASJ,EAAMC,IAAIlU,GAAGqU,OAC5B,IAAKA,GAA4B,iBAAXA,IAAwBA,EAAOha,GAAoB,CACxD,OAAXga,GACFJ,EAAMC,IAAIU,OAAO5U,EAAG,GAEtB,KACD,CACDlH,OAAOC,OAAOsb,EAAOha,GAAqB,CACxCgC,UACAY,MAAO0D,EAAOX,GACd9C,KAAMoX,EACNjc,MAASgc,EAAOha,GAAqChC,MAEjDrE,OAAOmJ,WAAYkX,EAAOha,GAAqChC,QAAUic,EAAS,IAAM,MADxFK,GAGP,MA7BDR,EAAWxT,EAAOO,QAAO,CAACiT,EAAUU,KAClCV,EAASE,OAAO,CACdS,CAACza,GAAoB,CACnB4C,MAAO4X,EACPxY,UACAhE,MAAOsc,EACPzX,KAAMoX,KAGHH,IACN,IAAIvE,GAsBT,IAAK,IAAI5P,EAAI,EAAGA,EAAIiU,EAAMC,IAAIzY,OAAQuE,IAAK,CACzC,MAAM+U,EAAQd,EAAMC,IAAIlU,GAAG8C,WACvBiS,GAASA,EAAMpX,cACVoX,EAAMpX,KAEhB,CASD,OARAtB,EAAUhD,IACVsH,EAAS,GACTkT,EAAY,EACZC,EAAW,GACXG,EAAQE,EAAWA,EAASa,OAAOf,GAASA,GAEtCC,IAAIvB,QAAQ,CAAE0B,OAAQ,OAC5BJ,EAAMC,IAAI3L,KAAK,CAAE8L,OAAQ,OAClBJ,CAAK,IAGdla,KAAKkL,MAAM8O,UAAUC,WAAW,OAAQ7X,IACtCwE,EAAOmT,GAAYza,IACnB,MAAM4a,GAAQ,IAAIrE,GAAQyE,OAAO,CAC/BS,CAACza,GAAoB,CACnBgC,UACAY,MAAO0D,EAAOmT,GACd5W,KAAMpE,OAAOwE,OAAQnB,EAAqBC,QAAS,WAIvD,OADA0X,GAAY,EACLG,CAAK,IAGdla,KAAKkL,MAAM8O,UAAUC,WAAW,MAAM,CAAC7X,EAAM8X,KAC3ClW,EAAQ1E,IACRwa,EAAY,EACLI,KAGT,MAAMgB,EAAY,CAAC9Y,EAAY8X,KAC7B,MAAM5R,EAAOlG,EACP6B,EAAUqE,EAAKhF,aAAa,YAAc,EAC1CY,EAAUoE,EAAKhF,aAAa,YAAc,EAC1ClF,EAASkK,EAAKhF,aAAa,WAAa,EACxCa,EAAkBmE,EAAK9L,MAAM2H,sBAAmBkF,EACtD,IAAKzC,EAAOkT,GACV,IAAK,IAAI7T,EAAI6T,EAAW7T,GAAK,EAAGA,IACzBW,EAAOX,KAAIW,EAAOX,GAAK3G,KAGhC,MAAM4D,EAAQ0D,EAAOkT,GAOrB,OANAA,GAAa7f,OAAOiK,GAEmC,OAAnDgW,EAAMxa,MAAMwa,EAAMxY,SAAW,GAAGyY,IAAI,IAAIG,QAC1CJ,EAAMI,OAAO,MAGRJ,EAAMiB,SACX,IAAItF,GAAQuF,OAAOlB,EAAMxY,SAAU,CACjC2Z,CAAC/a,GAA0B,CACzBgC,UACA0B,QACAd,QACAe,UACAC,UACA9F,SACA+F,qBAGL,EAGHnE,KAAKkL,MAAM8O,UAAUC,WAAW,KAAMiB,GACtClb,KAAKkL,MAAM8O,UAAUC,WAAW,KAAMiB,EACvC,CAED,cAAAlC,CAAepV,EAAoBsH,GAC7BtH,IACF5D,KAAK4D,MAAQA,EACb5D,KAAKuN,eAAiB,IAAIgC,EAAevP,KAAM4D,EAAOsH,EAAOlL,KAAKjH,QAAQuiB,WAAa,CAAE,GACzFtb,KAAK4X,aAAe,IAAI7E,EAAY/S,KAAM4D,EAAOsH,EAAOlL,KAAKjH,QAAQwiB,SAAW,CAAE,GAErF,CAED,cAAAjR,GACEtK,KAAKuN,gBAAkBvN,KAAKuN,eAAe+B,UAC3CtP,KAAKuN,oBAAiBlE,EACtBrJ,KAAK4X,cAAgB5X,KAAK4X,aAAatI,UACvCtP,KAAK4X,kBAAevO,EACpBrJ,KAAK4D,WAAQyF,CACd,CAED,uBAAMgP,CAAkBC,GACtB,IAAKtY,KAAK2X,OAAQ,OAClB,MAAMrH,EAAMnX,SAASC,cAAc,OACnCkX,EAAIjX,UAAUC,IAAI,oBAClB0G,KAAK0X,SAAWY,GAAgBpZ,EAAWoZ,SACjCA,EAAatY,MjB7PI,EAACjH,EAA8B,MAC5D,MAAMyiB,EAAYriB,SAASC,cAAc,OACzCoiB,EAAUniB,UAAUC,IAAI,cAExB,MAAMmiB,EAActiB,SAASC,cAAc,OAC3CqiB,EAAYpiB,UAAUC,IAAI,qBAC1B,IAAK,IAAIoiB,EAAI,EAAGA,GAAK3iB,EAAQoC,KAAO,GAAIugB,IACtC,IAAK,IAAI3P,EAAI,EAAGA,GAAKhT,EAAQyC,KAAO,GAAIuQ,IAAK,CAC3C,MAAM4P,EAAaxiB,SAASC,cAAc,OAC1CuiB,EAAWtiB,UAAUC,IAAI,oBACzBqiB,EAAWtZ,QAAQlH,IAAMjB,OAAOwhB,EAAI,GACpCC,EAAWtZ,QAAQ7G,IAAMtB,OAAO6R,EAAI,GACpC0P,EAAYhiB,YAAYkiB,EACzB,CAEH,MAAMC,EAAyB,KAC7B,MAAMzgB,IAAEA,EAAGK,IAAEA,GAAQggB,EAAUnZ,QAC/B,IAAK,MAAMjI,KAAQiF,MAAM6M,KAAKuP,EAAYjP,iBAAiB,YACzDpS,EAAKf,UAAUc,OAAO,UAExB,IAAKgB,IAAQK,EAAK,OAClB,MAAMqgB,EAASxc,MAAM6M,KAAKuP,EAAYha,UACtC,IAAK,IAAIwE,EAAI,EAAGA,EAAI4V,EAAOna,OAAQuE,IAAK,CACtC,MAAQ9K,IAAK2gB,EAAUtgB,IAAKugB,GAAaF,EAAO5V,GAAG5D,QACnD,GAAIyZ,EAAY3gB,GAAO4gB,EAAYvgB,EACjC,OAEEsgB,GAAa3gB,GAAO4gB,GAAavgB,EACnCqgB,EAAO5V,GAAG5M,UAAUC,IAAI,UAGxBuiB,EAAO5V,GAAG5M,UAAUc,OAAO,SAE9B,GAsBH,GApBAshB,EAAYzhB,iBAAiB,aAAc4C,IACzC,IAAKA,EAAET,OAAQ,OACf,MAAMhB,IAAEA,EAAGK,IAAEA,GAASoB,EAAET,OAAuBkG,QAC1ClH,GAAQK,IACbggB,EAAUnZ,QAAQlH,IAAMA,EACxBqgB,EAAUnZ,QAAQ7G,IAAMA,EACxBogB,IAAwB,IAE1BH,EAAYzhB,iBAAiB,cAAc,KACzCwhB,EAAU9W,gBAAgB,YAC1B8W,EAAU9W,gBAAgB,YAC1BkX,GAAwB,IAE1BH,EAAYzhB,iBAAiB,SAAS,KACpC,MAAMmB,IAAEA,EAAGK,IAAEA,GAAQggB,EAAUnZ,QAC1BlH,GAAQK,GACbzC,EAAQijB,UAAYjjB,EAAQijB,SAAS/hB,OAAOkB,GAAMlB,OAAOuB,GAAK,IAEhEggB,EAAU/hB,YAAYgiB,GAElB1iB,EAAQ2gB,UAAW,CACrB,MAAMC,EAAQ5gB,EAAQ4gB,OAAS,GACzBsC,EAAe9iB,SAASC,cAAc,OAC5C6iB,EAAa5iB,UAAUC,IAAI,sBAC3B2iB,EAAaziB,YAAcmgB,EAAME,eAAiB,SAClDoC,EAAajiB,iBAAiB,SAASY,UACrC,MAAMshB,QAAYvhB,EAAiBgf,GAC/BuC,GACFnjB,EAAQijB,UAAYjjB,EAAQijB,SAASE,EAAI/gB,IAAK+gB,EAAI1gB,IACnD,IAEHggB,EAAU/hB,YAAYwiB,EACvB,CAED,OAAOT,CAAS,EiByLVW,CAAgB,CAChBH,SAAU,CAAC7gB,EAAaK,KACtBwE,KAAKoc,YAAYjhB,EAAKK,GAClBwE,KAAK2X,QACP3X,KAAK2X,OAAO1b,OACb,EAEHyd,UAAW1Z,KAAKjH,QAAQ2gB,UACxBC,MAAO3Z,KAAKjH,QAAQ4gB,QAExBrJ,EAAI7W,YAAYuG,KAAK0X,UACrB1X,KAAK2X,OAAO5e,QAAQU,YAAY6W,EACjC,CAEDiI,iBAAmB,KACjB,IAAKvY,KAAK0X,WAAa1X,KAAK2X,OAAQ,OAEpC,GADmB3X,KAAK0X,SAAS1Z,wBAClBO,OAASE,OAAOG,WAAY,CACzC,MAAMyd,EAAYrc,KAAK2X,OAAO7e,MAAMkF,wBACpCe,OAAOC,OAAOgB,KAAK2X,OAAO5e,QAAQyD,MAAO,CAAE0S,UAAW,2BAA2BmN,EAAU/d,aAC5F,MAECS,OAAOC,OAAOgB,KAAK2X,OAAO5e,QAAQyD,MAAO,CAAE0S,eAAW7F,GACvD,EAGH,WAAA+S,CAAYhU,EAAckU,GACxB,GAAIlU,GAAQ,IAAMkU,GAAW,GAC3B,MAAM,IAAI9b,MAAM,+CAGlBR,KAAKkL,MAAMuD,QACXzO,KAAKyW,MAAQzW,KAAKkL,MAAMqR,eACxB,MAAM9F,EAAQzW,KAAKyW,MACnB,GAAa,MAATA,EAAe,OACnB,MAAO+F,GAAexc,KAAKkL,MAAMuR,QAAQhG,EAAM3U,OAC/C,IAAK0a,EAAa,OAClB,GAAItG,GAAgBsG,GAClB,MAAM,IAAIhc,MAAM,iBAAiBgc,EAAYnc,QAAQC,+BAGvD,MAAMoc,EAAY3f,iBAAiBiD,KAAKkL,MAAM4B,MACxCqC,EAAclV,OAAOqa,SAASoI,EAAUvN,aACxCC,EAAenV,OAAOqa,SAASoI,EAAUtN,cACzC9Q,EAAQrE,OAAOqa,SAASoI,EAAUpe,OAAS6Q,EAAcC,EAE/D,IAAI8K,GAAQ,IAAIrE,GAAQuF,OAAO3E,EAAM3U,OAAOwY,OAAO,MACnD,MAAMhY,EAAUhD,IACVsH,EAAS,IAAIvH,MAAMid,GAASK,KAAK,GAAGpV,KAAI,IAAMjI,MAGpD4a,EAAQ,IAAI7a,MAAMid,GAASK,KAAK,MAAMxV,QAAO,CAACyV,EAAMC,EAAM5W,KACxD2W,EAAKtC,OAAOuC,EAAM,CAChB9B,CAACza,GAAoB,CACnBhC,MAAQ0B,KAAKjH,QAAQoK,KAAgD,EAAImZ,EAAW,IAAnB,IAArC,GAAG/c,KAAKud,MAAMxe,EAAQge,OAClDha,UACAY,MAAO0D,EAAOX,GACd9C,KAAMnD,KAAKjH,QAAQoK,QAGhByZ,IACN1C,GACHA,EAAQ,IAAI7a,MAAM+I,GAAMuU,KAAK,GAAGxV,QAAQyV,IACtC,MAAM5Y,EAAQ1E,IACd,OAAO,IAAID,MAAMid,GAASK,KAAK,MAAMxV,QAAO,CAACyV,EAAMC,EAAM5W,KACvD2W,EAAKtC,OAAOuC,EAAM,CAChBxB,CAAC/a,GAA0B,CACzBgC,UACA0B,QACAd,MAAO0D,EAAOX,GACdhC,QAAS,EACTC,QAAS,KAGN0Y,IACNA,EAAK,GACP1C,GAEHla,KAAKkL,MAAM6R,eAAe7C,EAAOxZ,EAAM0W,QAAQ4F,MAC/Chd,KAAKkL,MAAMiM,aAAaV,EAAM3U,MAAQwa,EAAUA,EAAUlU,EAAO,EAAG1H,EAAM0W,QAAQC,QAClFrX,KAAKkL,MAAMuD,OACZ,CAGD,qBAAAwO,CAAsB9U,GAEpB,MAAM+U,EAAU/U,EAAUd,UACpB8V,EAAchV,EAAUvD,YAC9B,GAAuB,IAAnBsY,EAAQxb,OACV,OAAOyG,EAAUhO,SAEnB,GAA2B,IAAvBgjB,EAAYzb,OAAc,OAE9B,MAAM0b,EAAc,IAAI/d,MAAM6d,EAAQxb,QAAQib,KAAK,GAAGpV,KAAI,IAAM,IAAIlI,MAAM8d,EAAYzb,QAAQib,MAAK,KAC7Fra,EAAU6F,EAAU7F,QAC1B,IAAK,MAAO+a,EAASnY,KAAOgY,EAAQjU,UAAW,CAC7C,IAAIqU,EAAU,EACVC,EAAW,EACf,MAAMC,EAAcJ,EAAYC,GAC1BI,EAAMvY,EAAG7D,YAAYqH,GAE3B,KAAO6U,EAAWJ,EAAYzb,QAAQ,CAEpC,GAAI8b,EAAYD,GAAW,CACzBA,GAAY,EACZ,QACD,CACD,MAAMG,EAAQD,EAAIH,GAElB,GAAKI,GAASA,EAAMxa,QAAUia,EAAYI,GAarC,CACCF,EAAUK,EAAMzZ,QAAU,GAAKiZ,EAAQxb,SACzCgc,EAAMxX,eAAejC,QAAUiZ,EAAQxb,OAAS2b,GAGlD,MAAMnZ,QAAEA,EAAOD,QAAEA,GAAYyZ,EAE7B,GAAIxZ,EAAU,EACZ,IAAK,IAAI6H,EAAI,EAAGA,EAAI7H,EAAS6H,IAC3ByR,EAAYD,EAAWxR,IAAK,EAIhC,GAAI9H,EAAU,EACZ,IAAK,IAAIyX,EAAI2B,EAAU,EAAG3B,EAAI2B,EAAUpZ,EAASyX,IAC/C,IAAK,IAAI3P,EAAI,EAAGA,EAAI7H,EAAS6H,IAC3BqR,EAAY1B,GAAG6B,EAAWxR,IAAK,EAIrCuR,GAAW,CACZ,MAjCCpY,EAAG3D,aACDyU,EACEhW,KAAKkL,MAAM3K,OACX,CACE+B,UACAY,MAAOia,EAAYI,GACnBvZ,MAAOkB,EAAGlB,QAGd0Z,GAyBJH,GAAY,CACb,CAGD,GAAID,EAAUG,EAAI/b,OAChB,IAAK,IAAIuE,EAAIqX,EAASrX,EAAIwX,EAAI/b,OAAQuE,IACpCwX,EAAIxX,GAAG9L,QAGZ,CACF,CAED,aAAAsd,GACE,IAAK,MAAMtP,KAAanI,KAAKkL,MAAM3K,OAAOc,YAAYyF,GACpD9G,KAAKid,sBAAsB9U,EAE9B,CAED,kBAAAsR,GACEzZ,KAAKkL,MAAM+N,GACTvY,EAAMwY,OAAOyE,iBACZC,IACCA,EAAUhb,MAAMib,KAGZ,CAAC,KAAM,KAAM,QAAS,SAASzH,SAAUyH,EAAS1hB,OAAuB6G,WAEzEhD,KAAKwX,sBACE,IAGT,GAGP,CAED,kBAAAxM,CAAmBF,EAAqCC,GACtD,GAA2B,IAAvBD,EAAYpJ,OAChB,IAAK,MAAMyD,KAAM2F,EACf3F,EAAGhB,gBAAkB4G,CAExB,CAED,WAAAH,GACE,IAAK5K,KAAKuN,gBAA6D,IAA3CvN,KAAKuN,eAAezC,YAAYpJ,OAAc,OAC1E,MACMyG,EAAYlI,EADED,KAAKuN,eAAezC,YACK,GAAIxK,GACjD6H,GAAaA,EAAUhO,SACvB6F,KAAKsK,gBACN,CAED,SAAAD,CAAUyT,GACR,IAAK9d,KAAKuN,eAAgB,OAC1B,MAAMzC,EAAc9K,KAAKuN,eAAezC,YACxC,GAAIA,EAAYpJ,QAAU,EAAG,OAE7B,MAAMqc,EAASjT,EAAYgT,EAAShT,EAAYpJ,OAAS,EAAI,GACvDyG,EAAYlI,EAAe8d,EAAQzd,IAClC0d,GAAiB7V,EAAU9G,YAAY0G,GAC9C,IAAKiW,EAAe,OAEpB,MAAMC,EAAiBhe,EAAe8d,EAAQzd,GAGxC4d,EAFW/V,EAAUd,UACRxC,QAAQoZ,IACCH,EAASC,EAAO9Z,QAAU,GAEtD+Z,EAAc9V,UAAUgW,EACzB,CAED,SAAA3T,CAAU4T,GACR,IAAKne,KAAKuN,eAAgB,OAC1B,MAAMzC,EAAc9K,KAAKuN,eAAezC,YACxC,GAAIA,EAAYpJ,QAAU,EAAG,OAG7B,MAAOqc,GAAUjT,EAAY3D,QAAO,CAACoN,EAAKvO,KACxC,MAAMoY,EAAcpY,EAAIrB,iBAOxB,QANKwZ,GAAWC,GAAe7J,EAAI,IAG1B4J,GAAWC,GAAe7J,EAAI,MAFrCA,EAAM,CAACvO,EAAKoY,IAKP7J,CAAG,GACT,CAACzJ,EAAY,GAAIA,EAAY,GAAGnG,mBAC7ByZ,EAAcL,EAAOpZ,kBAAoBwZ,EAAUJ,EAAO7Z,QAAU,GAEpEiE,EAAYlI,EAAe8d,EAAQzd,GACnCgC,EAAU6F,EAAU7F,QACpB+b,EAAW/e,KAEVgf,GAAYnW,EAAU9G,YAAYoG,GACrC6W,GACFA,EAAS1W,iBAAiBwW,EAAa,CACrC9b,UACAY,MAAOmb,EACP/f,MAAO6J,EAAUhF,KAAO,KAAO,QAC/BA,KAAMgF,EAAUhF,OAOpB,MAAMob,EAAMpW,EAAU9G,YAAYmE,GAC5BgZ,EAAqB,GAC3B,IAAIrY,EAAa,EACjB,IAAK,MAAMjB,KAAMnG,OAAO0Z,OAAO8F,GAAM,CACnC,MAAME,EAAUD,EAASE,SAAW,EACpC,GAAIvY,EAAa,EAAG,CAClBA,GAAc,EACd,QACD,CACD,MAAMwY,EAAezZ,EAAGU,WAAWwY,EAAcK,EAAS,CACxDnc,UACA0B,MAAOkB,EAAGlB,MACVd,MAAOmb,EACPpa,QAAS,EACTC,QAAS,IAEPya,EAAaxY,aACfA,GAAcwY,EAAaxY,YAE7B,IAAK,MAAOF,EAAG8D,KAAM4U,EAAa1V,UAChCuV,EAASvY,IAAMuY,EAASvY,IAAM,GAAK8D,CAEtC,CACF,CAKD,gBAAA6U,CAAiBzW,GAGf,MAAM+U,EAAU/U,EAAUd,UACpB4L,EAAY9K,EAAUlB,UACtB4X,EAAW5L,EAAU9L,QAAO,CAAC2X,EAAOtjB,KACxCsjB,EAAMtjB,EAAI0H,OAAS,EACZ4b,IACN,CAA4B,GAEzBC,EAAiB,IAAI7B,GAAS8B,UAC9BC,EAAqB,GAC3B,IAAK,MAAOnd,EAAOoD,KAAO6Z,EAAe9V,UAAW,CAClD,MAAMhD,EAAIiX,EAAQxb,OAASI,EAAQ,EAC/BoD,EAAGzD,SAASC,QAAU,EACxBud,EAASzQ,KAAKvI,GAIdf,EAAGQ,kBAAkBP,IACnB,MAAMiC,EAAM6X,EAAS9X,QAAO,CAACC,EAAKjI,IAAQgG,EAAGlB,QAAUgC,EAAI9G,EAAMiI,EAAM,EAAIA,GAAK,GAChFjC,EAAGlB,SAAWmD,EAEdyX,EAAS1Z,EAAGjC,QAAU,CAAC,GAG5B,CAED,IAAIpB,EAAQ,EACZ,IAAK,MAAMod,KAASngB,OAAO0Z,OAAOoG,GAChC,GAAc,IAAVK,EAAa,CACf,MAAMV,EAAqB,GAC3B,IAAIrY,EAAa,EACjB,IAAK,MAAMjB,KAAMnG,OAAO0Z,OAAOyE,GAAU,CACvC,MAAMuB,EAAUD,EAASE,SAAW,EACpC,IAAIC,EAAe,GACfxY,EAAa,GACfwY,EAAezZ,EAAGqB,oBAAoBzE,EAAQ2c,GAAS,GACvDtY,GAAc,IAGdwY,EAAezZ,EAAGwB,WAAW5E,EAAQ2c,GACjCE,EAAaxY,aACfA,GAAcwY,EAAaxY,aAG/B,IAAK,MAAOF,EAAG8D,KAAM4U,EAAa1V,UAChCuV,EAASvY,IAAMuY,EAASvY,IAAM,GAAK8D,CAEtC,CACF,MAECjI,GAAS,EAIb,IAAK,MAAMtG,KAAOyX,EACY,IAAxB4L,EAASrjB,EAAI0H,SACX1H,EAAIqH,KACLrH,EAAIqH,KAAwBvE,OAAS9C,EAAI8C,MAEnC9C,EAAIsH,OACVtH,EAAIsH,KAAwBxE,OAAS9C,EAAI8C,OAE5C9C,EAAIrB,SAGT,CAED,SAAAuQ,GACE,IAAK1K,KAAKuN,eAAgB,OAC1B,MAAMzC,EAAc9K,KAAKuN,eAAezC,YACxC,GAAIA,EAAYpJ,QAAU,EAAG,OAC7B,MACMyG,EAAYlI,EADH6K,EAAY,GACcxK,GACnCie,EAAMpW,EAAUd,UACtB,IAAI8X,EAAaZ,EAAI7c,OACjB0d,GAAe,EACnB,IAAK,MAAMja,KAAM2F,EAAa,CAC5B,MAAM5F,EAAKjF,EAAekF,EAAI7E,GACxBwB,EAAQyc,EAAI1Z,QAAQK,GACtBpD,EAAQqd,IACVA,EAAard,GAEXA,EAAQqD,EAAGlB,QAAUmb,IACvBA,EAActd,EAAQqD,EAAGlB,QAE5B,CAED,MAAMob,EAMF,CAAA,EACJ,IAAK,IAAIpZ,EAAIkZ,EAAYlZ,EAAI1G,KAAKxF,IAAIwkB,EAAI7c,OAAQ0d,GAAcnZ,IAAK,CACxDsY,EAAItY,GACZP,kBAAkBP,IAEfA,EAAGlB,QAAUgC,EAAImZ,IACnBC,EAASla,EAAGjC,OAAS,CACnBe,QAASkB,EAAGlB,QAAUgC,EAAImZ,EAC1Blb,QAASiB,EAAGjB,QACZsE,SAAUrD,EAAGR,mBAIjBQ,EAAG/E,OAAOjG,QAAQ,GAErB,CAED,GAAIokB,EAAIa,GAAc,CACpB,MAAME,EAASf,EAAIa,GACb9c,EAAU6F,EAAU7F,QAE1B,IAAK,MAAOY,GAAOsF,SAAEA,EAAQtE,QAAEA,EAAOD,QAAEA,MAAclF,OAAOkK,QAAQoW,GACnEC,EAAO1Z,WAAW4C,EAAU,CAC1BlG,UACA0B,MAAOsb,EAAOtb,MACdd,QACAgB,UACAD,WAGL,CAEDjE,KAAK4e,iBAAiBzW,EACvB,CAED,SAAAwC,GACE,IAAK3K,KAAKuN,eAAgB,OAC1B,MAAMzC,EAAc9K,KAAKuN,eAAezC,YACxC,GAAIA,EAAYpJ,QAAU,EAAG,OAC7B,MAAMqc,EAASjT,EAAY,GACrB3C,EAAYlI,EAAe8d,EAAQzd,GACnCif,EAAqC,CAAA,EAC3C,IAAK,MAAMpa,KAAM2F,EACVyU,EAAWpa,EAAGnB,SAAQub,EAAWpa,EAAGnB,OAAS,GAClDub,EAAWpa,EAAGnB,QAAUmB,EAAGjB,QAE7B,MAAMsb,EAAejgB,KAAKzF,OAAOiF,OAAO0Z,OAAO8G,IACzCnB,EAAcL,EAAOpZ,iBAErB4Z,EAAMpW,EAAU9G,YAAYmE,GAClC,IAAK,IAAIS,EAAI,EAAGA,EAAIuZ,EAAcvZ,IAAK,CACrC,MAAMuY,EAAqB,GAC3B,IAAIrY,EAAa,EACjB,IAAK,MAAMjB,KAAMnG,OAAO0Z,OAAO8F,GAAM,CACnC,MAAME,EAAUD,EAASE,SAAW,EACpC,GAAIvY,EAAa,EAAG,CAClBA,GAAc,EACd,QACD,CACD,MAAMwY,EAAezZ,EAAGwB,WAAW0X,EAAcK,GAC7CE,EAAaxY,aACfA,GAAcwY,EAAaxY,YAE7B,IAAK,MAAOF,EAAG8D,KAAM4U,EAAa1V,UAChCuV,EAASvY,IAAMuY,EAASvY,IAAM,GAAK8D,CAEtC,CACF,CAGD,MAAOuU,GAAYnW,EAAU9G,YAAYoG,GACzC,GAAI6W,EACF,IAAK,IAAIrY,EAAI,EAAGA,EAAIuZ,EAAcvZ,IAChCqY,EAASxW,iBAAiBsW,GAI9Bpe,KAAK4e,iBAAiBzW,EACvB,CAED,UAAAqC,GACE,IAAKxK,KAAKuN,eAAgB,OAC1B,MAAMzC,EAAc9K,KAAKuN,eAAezC,YACxC,GAAIA,EAAYpJ,QAAU,EAAG,OAC7B,MAAM+d,EAAS3U,EAAY3D,QACzB,CAACoN,EAAKmL,EAAU5d,KAEd,MAAMoB,EAAQwc,EAASxc,MAClBqR,EAAI,GAAGrR,KAAQqR,EAAI,GAAGrR,GAAS,GACpCqR,EAAI,GAAGrR,IAAUwc,EAASzb,QAE1B,MAAMD,EAAQ0b,EAAS1b,MAQvB,OAPKuQ,EAAI,GAAGvQ,KAAQuQ,EAAI,GAAGvQ,GAAS,GACpCuQ,EAAI,GAAGvQ,IAAU0b,EAASxb,QAEZ,IAAVpC,IACF4d,EAAShW,aAAa6K,EAAI,IAC1BmL,EAAStf,OAAOjG,UAEXoa,CAAG,GAEZ,CAAC,CAA4B,EAAE,CAA4B,EAAEzJ,EAAY,KAGrE6U,EAAWpgB,KAAKzF,OAAOiF,OAAO0Z,OAAOgH,EAAO,KAC5C1F,EAAWxa,KAAKzF,OAAOiF,OAAO0Z,OAAOgH,EAAO,KAC5C1B,EAAS0B,EAAO,GACtB1B,EAAO7Z,QAAU6V,EACjBgE,EAAO9Z,QAAU0b,EAEjB,MAAMxX,EAAYlI,EAAe8d,EAAQzd,GACzCN,KAAK4e,iBAAiBzW,EACvB,CAED,SAAAsC,GACE,IAAKzK,KAAKuN,eAAgB,OAC1B,MAAMzC,EAAc9K,KAAKuN,eAAezC,YACxC,GAA2B,IAAvBA,EAAYpJ,OAAc,OAC9B,MAAMqc,EAASjT,EAAY,GAC3B,GAAuB,IAAnBiT,EAAO7Z,SAAoC,IAAnB6Z,EAAO9Z,QAAe,OAClD,MAAM2b,EAAS3f,EAAe8d,EAAQzd,GAChC6H,EAAYlI,EAAe8d,EAAQzd,GACnCgC,EAAU6F,EAAU7F,QACpBkG,EAAWuV,EAAOpZ,iBAClBiC,EAASuB,EAAUvD,YAAYlF,MAAM8I,EAAUA,EAAWuV,EAAO7Z,SAAS8a,UAEhF,IAAIa,EAAQD,EACR3b,EAAU8Z,EAAO9Z,QAIrB,IAFA8Z,EAAO7Z,QAAU,EACjB6Z,EAAO9Z,QAAU,EACV4b,GAAS5b,EAAU,GAAG,CAC3B,IAAK,MAAM6W,KAAMlU,EAEXiZ,IAAUD,GAAU9E,IAAOiD,EAAO7a,OACtC2c,EAAMja,WAAW4C,GAAYqX,IAAUD,EAAS,EAAI,GAAI,CACtDtd,UACA0B,MAAO6b,EAAM7b,MACbd,MAAO4X,EACP7W,QAAS,EACTC,QAAS,IAIbD,GAAW,EACX4b,EAAQA,EAAM/c,IACf,CACF"}
1
+ {"version":3,"file":"index.js","sources":["../src/utils/components.ts","../src/utils/utils.ts","../src/utils/constants.ts","../src/formats/container-format.ts","../src/formats/table-cell-inner-format.ts","../src/formats/table-row-format.ts","../src/formats/table-body-format.ts","../src/formats/table-col-format.ts","../src/formats/table-main-format.ts","../src/formats/table-colgroup-format.ts","../src/formats/table-wrapper-format.ts","../src/formats/table-cell-format.ts","../src/formats/overrides/scroll.ts","../src/formats/overrides/block.ts","../src/modules/table-menu.ts","../src/modules/table-selection.ts","../src/modules/table-resize-line.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["createInputItem","label","options","type","value","inputItem","document","createElement","classList","add","inputLabel","textContent","appendChild","inputInput","input","key","setAttribute","max","min","addEventListener","Number","String","remove","item","errorTip","msg","contains","querySelector","removeError","zindex","showTableCreator","async","box","inputContent","rowItem","rowInput","rowErrorTip","rowText","row","colItem","colInput","colErrorTip","colText","col","control","confirmBtn","confirmText","cancelBtn","cancelText","Promise","resolve","reject","close","child","target","body","beforeClose","appendTo","dialog","style","zIndex","overlay","content","e","stopPropagation","originOverflow","getComputedStyle","overflow","createDialog","isNaN","notPositiveNumberError","tooltipContainer","createToolTip","delay","direction","tooltip","timer","transitionendHandler","open","clearTimeout","setTimeout","removeEventListener","elRect","getBoundingClientRect","contentRect","extra","top","height","left","width","right","bottom","window","scrollY","scrollX","innerWidth","documentElement","clientWidth","Object","assign","once","isFunction","val","isArray","Array","randomId","Math","random","toString","slice","debounce","fn","timestamp","args","apply","this","findParentBlot","blot","targetBlotName","parent","statics","blotName","scroll","Error","findParentBlots","targetBlotNames","resultBlots","length","blotNameIndexMaps","Map","map","name","i","size","has","get","delete","from","keys","join","Parchment","Quill","import","Container","Block","BlockEmbed","ContainerFormat","static","Scope","BLOCK_BLOT","clearDeltaCache","blocks","descendants","cache","insertBefore","ref","children","super","head","insertAt","index","def","find","defaultChild","create","optimize","_context","next","checkMerge","moveChildren","TableCellInnerFormat","tableId","rowId","colId","rowspan","colspan","backgroundColor","node","dataset","allowDataAttrs","Set","setFormatValue","attrName","domNode","removeAttribute","getColumnIndex","getColIds","indexOf","formatAt","formats","prev","afterBlock","wrap","uiNode","firstChild","cellInnerBlot","cellInnerBlotValue","selfValue","entries","every","TableRowFormat","resorting","setHeight","foreachCellInner","cellInner","insertCell","targetIndex","skip","iterator","cur","getCellInner","skipRowNum","tableCell","tableCellInner","block","getCellByColumIndex","stopIndex","cellEndIndex","removeCell","columnIndexData","colIds","func","context","TableBodyFormat","insertRow","tableBlot","rows","insertColIds","cell","colIndex","tr","td","tdInner","TableColFormat","full","parseFloat","constructor","getAttribute","hasOwn","TableMainFormat","colWidthFillTable","cols","getCols","colsWidth","reduce","sum","getRows","getRowIds","d","tagName","TableColgroupFormat","findCol","insertColByIndex","table","TypeError","removeColByIndex","TableWrapperFormat","preventDefault","dataTransfer","dropEffect","allowedChildren","some","deleteAt","tableBodys","tableColgroups","TableCellFormat","__rect","rowIds","selfColIndex","selfRowIndex","findInsertBefore","rowIndex","firstChildColIndex","returnRow","insertBeforeRow","rowBlot","ScrollBlot","ScrollOverride","createBlock","attributes","refBlot","createBlotName","query","BLOCK","BLOT","undefined","blots","BlockOverride","replaceWith","replacement","ParentBlot","selfParent","copy","format","tableRow","tableWrapper","tableNext","tableRowNext","tableCellNext","usedColors","parseNum","num","n","defaultTools","icon","tip","handle","tableModule","appendRow","hideTableTools","appendCol","mergeCells","splitCell","removeRow","removeCol","deleteTable","isColorChoose","selectedTds","color","setBackgroundColor","TableMenu","quill","menu","updateUsedColor","colorItemClass","tooltipItem","resolveOptions","storageValue","localStorage","getItem","localstorageKey","colorValue","JSON","parse","c","saveColors","clear","v","setItem","stringify","usedColorWrappers","querySelectorAll","usedColorWrapper","innerHTML","recordColor","colorItem","contextmenu","root","listenContextmenu","buildTools","tipText","tipTexts","tools","path","composedPath","toUpperCase","tableSelection","updateTools","x","clientX","y","clientY","hideTools","toolBox","addContainer","display","tool","iconDom","padding","border","outline","opacity","usedColorWrap","push","focus","tipTextDom","position","boundary","containerRect","container","resLeft","resTop","menuRect","transform","paddingLeft","paddingRight","rootRect","destroy","TableSelection","startScrollX","cellSelect","dragging","scrollHandler","selectingHandler","mouseDownHandler","bind","tableMenu","helpLinesInitial","ResizeObserver","hideSelection","observe","selectColor","addScrollEvent","dom","clearScrollEvent","computeSelectedTds","startPoint","endPoint","tableMain","tableCells","x1","y1","selectedCells","findEnd","isRectanglesIntersect","getRelativeRect","parentNode","sort","a","b","mousedownEvent","button","closestTable","closest","startTableId","scrollLeft","showSelection","mouseMoveHandler","mousemoveEvent","movePoint","blur","updateSelection","mouseUpHandler","tableViewScrollLeft","scrollTop","tolerance","minAx","minAy","maxAx","maxAy","minBx","minBy","maxBx","maxBy","targetRect","TableResizeLine","colResizer","rowResizer","currentTableCell","findTableCell","tableCellBlot","updateColResizer","updateRowResizer","el","HTMLElement","removeChild","tableBodyBlot","tableMainBlot","tableBodyect","tableCellRect","curColIndex","findIndex","tipColBreak","handleMousemove","rect","tableWidth","resX","minWidth","maxRange","Infinity","minRange","w","handleMouseup","parseInt","pre","oldWidthPre","last","totalWidthNextPre","divDom","tableMainRect","fullWidth","colWidthAttr","tableBodynRect","tipRowBreak","resY","Delta","Break","icons","createCell","tableCantInsert","isForbidInTable","current","includes","TableUp","bindInHead","collapsed","offset","handler","range","getLine","line","offsetInline","tail","prefix","suffix","getFormat","numLines","insertText","setSelection","sources","SILENT","register","requiredContainer","fixTableByLisenter","balanceTables","resizer","selector","picker","toolbar","getModule","select","controls","toolName","toLocaleLowerCase","theme","pickers","buildCustomSelect","customSelect","handleInViewport","keyboard","values","keyboradHandler","bindings","unshift","addBinding","evt","tableNode","showTableTools","on","events","EDITOR_CHANGE","event","oldRange","SELECTION_CHANGE","startBlot","endBlot","startTableBlot","endTableBlot","USER","pasteTableHandler","listenBalanceCells","customBtn","texts","resolveTexts","customBtnText","cellCount","colCount","clipboard","addMatcher","delta","ops","colDelta","hasCol","insert","isFull","editorStyle","editorPaddingLeft","editorPaddingRight","editorInnerWidth","defaultColWidth","splice","id","blotName_tableCol","attrs","concat","op","background","matchCell","compose","retain","blotName_tableCellInner","selection","selectDom","selectBlock","r","selectItem","updateSelectBlockItems","childs","childRow","childCol","onSelect","selectCustom","res","createSelectBox","insertTable","labelRect","columns","getSelection","currentBlot","getLeaf","rootStyle","fill","memo","text","floor","updateContents","fixUnusuaDeletelTable","trBlots","tableColIds","cellSpanMap","indexTr","indexTd","indexCol","curCellSpan","tds","curTd","SCROLL_OPTIMIZE","mutations","mutation","isDown","baseTd","baseTdParentTr","insertRowIndex","isRight","columnIndex","newColId","colgroup","trs","spanCols","spanCol","shift","nextSpanCols","fixTableByRemove","tableCols","colIdMap","idMap","reverseTrBlots","reverse","removeTr","count","endTrIndex","nextTrIndex","patchTds","nextTr","colspanMap","colspanCount","counts","selectTd","rowCount","baseTr","curTr"],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "quill-table-up",
3
3
  "type": "module",
4
- "version": "1.0.1",
4
+ "version": "1.0.3",
5
5
  "description": "A table module for quill2.x",
6
6
  "author": "zzxming",
7
7
  "license": "MIT",
@@ -43,11 +43,11 @@
43
43
  "@rollup/plugin-terser": "^0.4.4",
44
44
  "@rollup/plugin-typescript": "^11.1.6",
45
45
  "@types/node": "^20.14.10",
46
- "@typescript-eslint/eslint-plugin": "^7.16.0",
47
- "@typescript-eslint/parser": "^7.16.0",
46
+ "@typescript-eslint/eslint-plugin": "^8.0.0",
47
+ "@typescript-eslint/parser": "^8.0.0",
48
48
  "@vitest/coverage-v8": "^2.0.5",
49
49
  "@vitest/ui": "^2.0.5",
50
- "@zzxming/eslint-config": "^0.0.14",
50
+ "@zzxming/eslint-config": "^0.1.1",
51
51
  "autoprefixer": "^10.4.19",
52
52
  "eslint-merge-processors": "^0.1.0",
53
53
  "eslint-plugin-jsonc": "^2.16.0",