quill-table-up 3.1.2 → 3.2.1
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 +15 -8
- package/dist/index.css +1 -1
- package/dist/index.d.ts +168 -146
- package/dist/index.js +47 -47
- package/dist/index.js.map +1 -1
- package/dist/index.umd.js +52 -52
- package/dist/index.umd.js.map +1 -1
- package/package.json +22 -24
- package/src/__tests__/e2e/custom-creator.test.ts +44 -44
- package/src/__tests__/e2e/editor-page.ts +77 -77
- package/src/__tests__/e2e/table-align.test.ts +104 -104
- package/src/__tests__/e2e/table-blots.test.ts +169 -169
- package/src/__tests__/e2e/table-caption.test.ts +134 -134
- package/src/__tests__/e2e/table-clipboard.test.ts +20 -20
- package/src/__tests__/e2e/table-hack.test.ts +151 -151
- package/src/__tests__/e2e/table-keyboard-handler.test.ts +20 -4
- package/src/__tests__/e2e/table-menu.test.ts +172 -172
- package/src/__tests__/e2e/table-resize.test.ts +654 -9
- package/src/__tests__/e2e/table-scrollbar.test.ts +144 -144
- package/src/__tests__/e2e/table-selection.test.ts +563 -563
- package/src/__tests__/e2e/types.d.ts +8 -7
- package/src/__tests__/e2e/utils.ts +52 -52
- package/src/__tests__/unit/table-blots.test.ts +720 -720
- package/src/__tests__/unit/table-caption.test.ts +234 -234
- package/src/__tests__/unit/table-cell-merge.test.ts +713 -724
- package/src/__tests__/unit/table-clipboard.test.ts +2176 -2176
- package/src/__tests__/unit/table-hack.test.ts +1014 -1014
- package/src/__tests__/unit/table-insert.test.ts +915 -926
- package/src/__tests__/unit/table-redo-undo.test.ts +2429 -2429
- package/src/__tests__/unit/table-remove.test.ts +313 -343
- package/src/__tests__/unit/utils.test-d.ts +49 -49
- package/src/__tests__/unit/utils.test.ts +711 -711
- package/src/__tests__/unit/utils.ts +307 -307
- package/src/__tests__/unit/vitest.d.ts +14 -14
- package/src/formats/container-format.ts +107 -107
- package/src/formats/overrides/block-embed.ts +72 -72
- package/src/formats/overrides/block.ts +95 -95
- package/src/formats/overrides/index.ts +3 -3
- package/src/formats/overrides/scroll.ts +70 -70
- package/src/formats/table-body-format.ts +52 -52
- package/src/formats/table-caption-format.ts +116 -116
- package/src/formats/table-cell-format.ts +304 -304
- package/src/formats/table-cell-inner-format.ts +403 -398
- package/src/formats/table-colgroup-format.ts +136 -136
- package/src/formats/table-foot-format.ts +7 -7
- package/src/formats/table-head-format.ts +7 -7
- package/src/formats/table-main-format.ts +1 -1
- package/src/formats/table-row-format.ts +218 -210
- package/src/formats/utils.ts +6 -6
- package/src/index.ts +19 -19
- package/src/modules/index.ts +7 -7
- package/src/modules/table-align.ts +131 -131
- package/src/modules/table-clipboard/table-clipboard.ts +6 -8
- package/src/modules/table-dom-selector.ts +33 -33
- package/src/modules/table-menu/constants.ts +223 -223
- package/src/modules/table-menu/index.ts +4 -4
- package/src/modules/table-menu/table-menu-common.ts +330 -329
- package/src/modules/table-menu/table-menu-contextmenu.ts +111 -118
- package/src/modules/table-menu/table-menu-select.ts +96 -94
- package/src/modules/table-resize/index.ts +5 -5
- package/src/modules/table-resize/table-resize-box.ts +714 -363
- package/src/modules/table-resize/table-resize-common.ts +246 -382
- package/src/modules/table-resize/table-resize-drag.ts +241 -0
- package/src/modules/table-resize/table-resize-line.ts +244 -182
- package/src/modules/table-resize/table-resize-scale.ts +174 -173
- package/src/modules/table-resize/utils.ts +84 -3
- package/src/modules/table-scrollbar.ts +292 -292
- package/src/modules/table-selection.ts +613 -669
- package/src/style/button.less +45 -45
- package/src/style/color-picker.less +136 -136
- package/src/style/dialog.less +53 -53
- package/src/style/functions.less +9 -9
- package/src/style/index.less +120 -120
- package/src/style/input.less +64 -64
- package/src/style/select-box.less +52 -52
- package/src/style/table-creator.less +56 -56
- package/src/style/table-menu.less +125 -125
- package/src/style/table-resize-scale.less +31 -31
- package/src/style/table-resize.less +249 -202
- package/src/style/table-scrollbar.less +49 -49
- package/src/style/table-selection.less +23 -23
- package/src/style/tooltip.less +19 -19
- package/src/style/variables.less +1 -1
- package/src/svg/arrow-up-down.svg +11 -11
- package/src/svg/convert-cell.svg +7 -7
- package/src/table-up.ts +1363 -1360
- package/src/types.d.ts +4 -4
- package/src/utils/bem.ts +23 -23
- package/src/utils/blot-helper.ts +101 -105
- package/src/utils/color.ts +109 -109
- package/src/utils/components/button.ts +22 -22
- package/src/utils/components/color-picker.ts +236 -236
- package/src/utils/components/dialog.ts +83 -41
- package/src/utils/components/index.ts +6 -6
- package/src/utils/components/input.ts +74 -74
- package/src/utils/components/table/creator.ts +89 -89
- package/src/utils/components/table/index.ts +2 -2
- package/src/utils/components/table/select-box.ts +78 -78
- package/src/utils/components/tooltip.ts +179 -189
- package/src/utils/constants.ts +125 -124
- package/src/utils/drag-helper.ts +112 -0
- package/src/utils/index.ts +15 -14
- package/src/utils/is.ts +9 -9
- package/src/utils/position.ts +60 -60
- package/src/utils/resize-observer-helper.ts +47 -47
- package/src/utils/scroll.ts +145 -47
- package/src/utils/style-helper.ts +47 -47
- package/src/utils/transformer.ts +10 -10
- package/src/utils/transition-event-helper.ts +8 -8
- package/src/utils/types.ts +156 -157
- package/src/utils/utils.ts +12 -12
package/README.md
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Enhancement of quill table module
|
|
4
4
|
|
|
5
|
-
[demo](https://
|
|
5
|
+
[demo](https://quill-modules.github.io/quill-table-up/)
|
|
6
6
|
|
|
7
|
-
[quill@1.3.7 table module](https://github.com/
|
|
7
|
+
[quill@1.3.7 table module](https://github.com/quill-modules/quill-table)
|
|
8
8
|
|
|
9
9
|
- [x] complete UI operation process
|
|
10
10
|
- [x] insert/delete row/column/table; merge/split cells
|
|
@@ -22,7 +22,7 @@ Enhancement of quill table module
|
|
|
22
22
|
npm install quill-table-up
|
|
23
23
|
```
|
|
24
24
|
|
|
25
|
-
> the registe module name is used internal. so if you want to change it, place use the function [`updateTableConstants`](https://github.com/
|
|
25
|
+
> the registe module name is used internal. so if you want to change it, place use the function [`updateTableConstants`](https://github.com/quill-modules/quill-table-up?tab=readme-ov-file#change-internal-constants-variable)
|
|
26
26
|
|
|
27
27
|
```js
|
|
28
28
|
import Quill from 'quill';
|
|
@@ -63,7 +63,7 @@ const quill = new Quill('#editor', {
|
|
|
63
63
|
|
|
64
64
|
## Options
|
|
65
65
|
|
|
66
|
-
**Full options usage see [demo](https://github.com/
|
|
66
|
+
**Full options usage see [demo](https://github.com/quill-modules/quill-table-up/blob/master/docs/index.js#L38)**
|
|
67
67
|
|
|
68
68
|
| Attribute | Description | Type | Default |
|
|
69
69
|
| ------------- | --------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------ |
|
|
@@ -76,7 +76,7 @@ const quill = new Quill('#editor', {
|
|
|
76
76
|
| autoMergeCell | empty row or column will auto merge to one | `boolean` | `true` |
|
|
77
77
|
| modules | the module plugin to help user control about table operate. see [`Export Internal Module`](#export-internal-module) | `[]` | `{ module: Contstructor, options: any }[]` |
|
|
78
78
|
|
|
79
|
-
> I'm not suggest to use `TableVirtualScrollbar` and `TableResizeLine` at same time, because it have a little conflict when user hover on it. Just like the first editor in [demo](https://
|
|
79
|
+
> I'm not suggest to use `TableVirtualScrollbar` and `TableResizeLine` at same time, because it have a little conflict when user hover on it. Just like the first editor in [demo](https://quill-modules.github.io/quill-table-up/)
|
|
80
80
|
|
|
81
81
|
> If you doesn't use `TableVirtualScrollbar`, you may need to set css `.ql-editor .ql-table-wrapper { scrollbar-width: auto; }` to display the browser origin scrollbar.
|
|
82
82
|
|
|
@@ -132,6 +132,13 @@ The table cell selection handler
|
|
|
132
132
|
|
|
133
133
|
The table cell resize handler
|
|
134
134
|
|
|
135
|
+
#### TableResizeBox Options
|
|
136
|
+
|
|
137
|
+
| Attribute | Description | Type | Default |
|
|
138
|
+
| --------- | ------------------------------------------------- | --------- | ------- |
|
|
139
|
+
| size | bounding box size(px) | `number` | `12` |
|
|
140
|
+
| draggable | allow drag bounding box head to sort content cell | `boolean` | `true` |
|
|
141
|
+
|
|
135
142
|
### TableMenuContextmenu / TableMenuSelect
|
|
136
143
|
|
|
137
144
|
The table operate menu
|
|
@@ -352,7 +359,7 @@ If you need to rewrite extends from quill `Block` or `Scroll` blot. you need to
|
|
|
352
359
|
|
|
353
360
|
`Header`, `List'`, `Blockquote` and `CodeBlock` have been overrides. If you need to rewrite them, you need to rewrite them before `TableUp` registed.
|
|
354
361
|
|
|
355
|
-
Please read [source code](https://github.com/
|
|
362
|
+
Please read [source code](https://github.com/quill-modules/quill-table-up/tree/master/src/formats/overrides) to know those change.
|
|
356
363
|
|
|
357
364
|
```ts
|
|
358
365
|
import { BlockOverride, ScrollOverride, } from 'quill-table-up';
|
|
@@ -378,8 +385,8 @@ You can change internal constants variable by importing `updateTableConstants` f
|
|
|
378
385
|
|
|
379
386
|
It helps to migrate from other table modules with the same data structure.
|
|
380
387
|
|
|
381
|
-
- [full variable demo](https://github.com/
|
|
382
|
-
- [change blot name that in delta demo](https://github.com/
|
|
388
|
+
- [full variable demo](https://github.com/quill-modules/quill-table-up/blob/master/docs/update-constants.js)
|
|
389
|
+
- [change blot name that in delta demo](https://github.com/quill-modules/quill-table-up/blob/master/docs/update-formats-value.js)
|
|
383
390
|
|
|
384
391
|
If you change the `TableWrapperFormat` blot name, you also need to add new css style to make toolbar icon have correct style.
|
|
385
392
|
|
package/dist/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.ql-toolbar .ql-picker:not(.ql-color-picker):not(.ql-icon-picker).ql-table-up{width:28px}.ql-toolbar .ql-picker:not(.ql-color-picker):not(.ql-icon-picker).ql-table-up .ql-picker-label{padding:2px 4px}.ql-toolbar .ql-picker:not(.ql-color-picker):not(.ql-icon-picker).ql-table-up .ql-picker-label svg{position:static;margin-top:0}.ql-toolbar .ql-picker.ql-expanded .ql-picker-options{z-index:1}.ql-editor .ql-table{display:table;border-collapse:collapse;table-layout:fixed;width:auto}.ql-editor .ql-table[data-full]{width:100%}.ql-editor .ql-table-wrapper{width:100%;overflow:auto}.ql-editor .ql-table-caption{position:relative;word-break:break-word;outline:0}.ql-editor .ql-table-caption .ql-table-caption--switch{display:flex;align-items:center;justify-content:center;padding:2px;border-radius:4px;border:1px solid #0003;font-size:12px;cursor:pointer;background-color:#fff}.ql-editor .ql-table-caption .ql-table-caption--switch:hover{background-color:#eee}.ql-editor .ql-table-cell{padding:8px 12px;border-color:transparent;font-size:14px;outline:0;overflow:auto}.ql-editor .ql-table-cell-inner{display:inline-block;min-width:100%;word-break:break-word;outline:0;counter-reset:list-0}.ql-editor .ql-table col{border-collapse:separate;text-indent:initial;display:table-column;table-layout:fixed}.ql-editor .ql-table tr+tr td,.ql-editor .ql-table tr+tr th{border-top:none}.ql-editor .ql-table td,.ql-editor .ql-table th{border:1px solid #a1a1aa}.ql-editor .ql-table td+td,.ql-editor .ql-table td+th,.ql-editor .ql-table th+td,.ql-editor .ql-table th+th{border-left:none}.table-up-toolbox{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;pointer-events:none}.table-up-toolbox *{pointer-events:all}.table-up-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}.table-up-tooltip.transparent{opacity:0}.table-up-tooltip.hidden{display:none}.table-up-button{--table-btn-color:#606266;--table-btn-bg-hover:#f3f4f6;--table-btn-color-border:#dcdfe6;--table-btn-border:0.0625rem solid var(--table-btn-color-border);--table-btn-confirm-color-border:#409eff;--table-btn-confirm-bg:#409eff;--table-btn-confirm-hover:#79bbff;--table-btn-confirm-outline-focus-visible:0.125rem solid #a0cfff;box-sizing:border-box;display:inline-flex;height:2rem;line-height:1;margin:0;padding:.5rem 1rem;border-radius:.25rem;border:var(--table-btn-border);color:var(--table-btn-color);background-color:transparent;font-size:.875rem;cursor:pointer}.table-up-button+.table-up-button{margin-left:.375rem}.table-up-button:hover{background-color:var(--table-btn-bg-hover)}.table-up-button.confirm{border-color:var(--table-btn-confirm-color-border);background-color:var(--table-btn-confirm-bg);color:#fff}.table-up-button.confirm:hover{border-color:var(--table-btn-confirm-hover);background-color:var(--table-btn-confirm-hover)}.table-up-button.confirm:focus-visible{outline:var(--table-btn-confirm-outline-focus-visible);outline-offset:.0625rem}.table-up-dialog{--dialog-bg:rgba(0, 0, 0, 0.5);--dialog-color-border:#ebeef5;--dialog-color-boxshadow:rgba(0, 0, 0, 0.12);--dialog-border:0.0625rem solid var(--dialog-color-border);--dialog-boxshadow:0 0 0.75rem var(--dialog-color-boxshadow);position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;height:100%;background-color:var(--dialog-bg);overflow:auto}.table-up-dialog__overlay{position:fixed;top:0;right:0;bottom:0;left:0;padding:1rem;overflow:auto;text-align:center}.table-up-dialog__overlay::after{content:'';display:inline-block;height:100%;width:0;vertical-align:middle}.table-up-dialog__content{display:inline-block;max-width:50vw;width:100%;vertical-align:middle;background-color:#fff;border-radius:.25rem;border:var(--dialog-border);font-size:1.125rem;box-shadow:var(--dialog-boxshadow);text-align:left;overflow:hidden;box-sizing:border-box}.table-up-color-picker{--color-picker-bg-color:#ffffff;box-sizing:border-box;display:inline-flex;flex-direction:column;width:16.75rem;padding:.5rem;border-radius:.375rem;background:var(--color-picker-bg-color);box-shadow:0 0 .375rem #b2b5b8}.table-up-color-picker__content{box-sizing:border-box;width:100%;height:11.75rem;padding-top:.5rem}.table-up-color-picker__selector{width:14.375rem;height:9.375rem;position:absolute}.table-up-color-picker__background{width:100%;height:100%;background:linear-gradient(to top,#000 0,rgba(0,0,0,0) 100%),linear-gradient(to right,#fff 0,rgba(255,255,255,0) 100%)}.table-up-color-picker__background-handle{box-sizing:border-box;position:absolute;border:.0625rem solid #fff;cursor:pointer;top:0;left:14.375rem;border-radius:100%;width:.625rem;height:.625rem;transform:translate(-.3125rem,-.3125rem)}.table-up-color-picker__hue{width:.75rem;height:9.375rem;margin-left:15rem;position:absolute;background:linear-gradient(0deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.table-up-color-picker__hue-handle{box-sizing:border-box;position:absolute;border:.0625rem solid #fff;cursor:pointer;background-color:#fff;box-shadow:0 0 .125rem #0009;left:0;width:1rem;height:.625rem;transform:translate(-.125rem,-.3125rem)}.table-up-color-picker__alpha{width:14.375rem;height:.75rem;position:absolute;margin-top:10rem;background:linear-gradient(45deg,#ccc 25%,transparent 25%),linear-gradient(135deg,#ccc 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ccc 75%),linear-gradient(135deg,transparent 75%,#ccc 75%);background-size:.75rem .75rem;background-position:0 0,.375rem 0,.375rem -.375rem,0 .375rem}.table-up-color-picker__alpha-bg{position:relative;height:100%;background:linear-gradient(to right,rgba(255,255,255,0) 0,#fff 100%)}.table-up-color-picker__alpha-handle{box-sizing:border-box;position:absolute;border:.0625rem solid #fff;cursor:pointer;background-color:#fff;box-shadow:0 0 .125rem #0009;top:0;width:.625rem;height:1rem;transform:translate(-.3125rem,-.125rem)}.table-up-color-picker__action{box-sizing:border-box;display:flex;align-items:center;gap:.375rem;width:100%;padding-top:.5rem;border-top:.0625rem solid #e9ecef}.table-up-color-picker__action-item{flex:1;display:inline-flex;align-items:center;font-size:.75rem}.table-up-color-picker__input{box-sizing:border-box;width:100%;height:1.375rem;margin-left:.125rem;padding:.125rem 0 .125rem .25rem;background-color:#fff;border:.0625rem solid #ced4da;border-radius:.25rem;outline:0;color:#405057}.table-up-tooltip .table-up-color-picker{--color-picker-bg-color:transparent;box-shadow:none;width:15.75rem;padding:.5rem 0}.ql-container .table-up-selection{--select-color:#0589f340;display:none;position:absolute;overflow:hidden;pointer-events:none}.ql-container .table-up-selection__line{position:absolute;background-color:var(--select-color);pointer-events:none}.table-up-resize-line__col,.table-up-resize-line__row{position:absolute;z-index:0}.table-up-resize-line__col.is-hidden,.table-up-resize-line__row.is-hidden{display:none}.table-up-resize-line__col::after,.table-up-resize-line__col::before,.table-up-resize-line__row::after,.table-up-resize-line__row::before{content:'';display:block;position:absolute;top:0;z-index:1}.table-up-resize-line__row{height:.0625rem;cursor:ns-resize}.table-up-resize-line__row::after,.table-up-resize-line__row::before{width:100%;height:.5rem}.table-up-resize-line__row::before{transform:translateY(-.5rem)}.table-up-resize-line__col{width:.0625rem;cursor:ew-resize}.table-up-resize-line__col::after,.table-up-resize-line__col::before{height:100%;width:.5rem}.table-up-resize-line__col::before{transform:translateX(-.5rem)}.table-up-resize-box{position:absolute;z-index:0}.table-up-resize-box.is-hidden{display:none}.table-up-resize-box.is-caption-bottom .table-up-resize-box__corner{border-top-width:0;border-bottom-width:.0625rem;border-top-left-radius:0;border-bottom-left-radius:50%}.table-up-resize-box.is-align-right .table-up-resize-box__col-separator{left:-.125rem}.table-up-resize-box.is-align-right .table-up-resize-box__corner{border-left-width:0;border-right-width:.0625rem;border-top-left-radius:0;border-top-right-radius:50%}.table-up-resize-box.is-align-right.is-caption-bottom .table-up-resize-box__corner{border-top-right-radius:0;border-bottom-left-radius:0;border-bottom-right-radius:50%}.table-up-resize-box__col,.table-up-resize-box__row{position:absolute;top:0;left:0;overflow:hidden;display:flex}.table-up-resize-box__col-wrapper,.table-up-resize-box__row-wrapper{display:flex}.table-up-resize-box__col-header,.table-up-resize-box__row-header{position:relative;flex-shrink:0;background-color:#f3f4f5;border:.0625rem solid #ccc}.table-up-resize-box__col-wrapper{height:100%}.table-up-resize-box__col-header{height:100%;cursor:pointer;border-right-color:transparent}.table-up-resize-box__col-header:last-child{border-right-color:#ccc}.table-up-resize-box__col-separator{position:absolute;top:0;bottom:0;right:-.125rem;width:.125rem;cursor:ew-resize;z-index:0}.table-up-resize-box__col-separator::after{right:-.375rem}.table-up-resize-box__col-separator::before{left:-.375rem}.table-up-resize-box__col-separator::after,.table-up-resize-box__col-separator::before{content:'';position:absolute;top:0;display:block;width:.5rem;height:100%;z-index:1}.table-up-resize-box__row-wrapper{flex-direction:column;width:100%}.table-up-resize-box__row-header{width:100%;cursor:pointer;border-bottom-color:transparent}.table-up-resize-box__row-header:last-child{border-bottom-color:#ccc}.table-up-resize-box__row-separator{position:absolute;left:0;right:0;bottom:-.125rem;height:.125rem;cursor:ns-resize;z-index:0}.table-up-resize-box__row-separator::after{bottom:-.375rem}.table-up-resize-box__row-separator::before{top:-.375rem}.table-up-resize-box__row-separator::after,.table-up-resize-box__row-separator::before{content:'';position:absolute;left:0;display:block;width:100%;height:.5rem;z-index:1}.table-up-resize-box__corner{position:absolute;top:0;left:0;background-color:#f3f4f5;border:.0625rem solid #ccc;border-right-width:0;border-bottom-width:0;border-top-left-radius:50%;cursor:pointer}.table-up-drag-line{position:fixed;z-index:0;background-color:#409eff}.table-up-drag-line.is-col{width:.125rem;cursor:ew-resize}.table-up-drag-line.is-row{height:.125rem;cursor:ns-resize}.table-up-scale{position:absolute;top:0;left:0;overflow:hidden;pointer-events:none}.table-up-scale__block{position:absolute;top:0;left:0;transform:translate(-100%,-100%);width:.75rem;height:.75rem;background-color:#f1f5f9;border:.0625rem solid grey;cursor:nwse-resize;pointer-events:all}.table-up-scale.is-align-right .table-up-scale__block{cursor:nesw-resize}.table-up-scale.is-hidden{display:none}.table-up-scrollbar{position:absolute;z-index:1;transition:opacity .15s linear}.table-up-scrollbar__container{position:relative}.table-up-scrollbar.is-transparent{opacity:0}.table-up-scrollbar.is-vertical{top:.125rem;bottom:.125rem;left:-.5rem;width:.375rem}.table-up-scrollbar.is-vertical .table-up-scrollbar__thumb{width:100%}.table-up-scrollbar.is-horizontal{bottom:.125rem;left:.125rem;right:.125rem;height:.375rem}.table-up-scrollbar.is-horizontal .table-up-scrollbar__thumb{height:100%}.table-up-scrollbar__thumb{border-radius:.3125rem;background-color:#d2d2d2;cursor:pointer}.table-up-scrollbar__thumb:hover{background-color:#a1a1aa}.table-up-scrollbar--virtual.ql-container .ql-table-wrapper{scrollbar-width:none}.table-up-align,.table-up-menu{position:absolute;z-index:1;display:flex;align-items:center;padding:.25rem;border-radius:.375rem;box-shadow:0 0 .5rem rgba(0,0,0,.5);background-color:#fff;font-size:.875rem}.table-up-align__item,.table-up-menu__item{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:.25rem;border-radius:.25rem;cursor:pointer}.table-up-align__item:hover,.table-up-menu__item:hover{background-color:#eee}.table-up-align__item.is-break,.table-up-menu__item.is-break{align-self:stretch;width:.0625rem;padding:0;margin:.125rem .25rem;background-color:#a3a3a3;cursor:default}.table-up-align.is-hidden,.table-up-menu.is-hidden{display:none}.table-up-align .icon,.table-up-menu .icon{display:flex;flex-shrink:0;font-size:1.25rem}.table-up-align span,.table-up-menu span{text-wrap:nowrap}.table-up-menu.is-contextmenu{flex-direction:column;padding:.25rem .5rem;max-height:21.875rem;overflow-y:auto;overflow-x:hidden}.table-up-menu.is-contextmenu .table-up-menu__item{display:flex;justify-content:flex-start;width:100%;gap:.25rem;cursor:pointer}.table-up-menu.is-contextmenu .is-break{width:100%;height:.0625rem;flex-shrink:0;margin:.25rem 0;background-color:#a3a3a3}.table-up-align .icon{width:1.25rem;height:1.25rem}.table-up-color-map{display:flex;flex-direction:column}.table-up-color-map--used{display:flex;align-items:center;justify-content:center;flex-direction:row-reverse;margin-top:.25rem;padding-top:.25rem;border-top:.0625rem solid #ccc}.table-up-color-map__content{display:flex;flex-direction:column}.table-up-color-map__content-row{display:flex;align-items:center;justify-content:center;gap:.25rem}.table-up-color-map__item{width:.875rem;height:.875rem;margin:.125rem;border:.0625rem solid #a3a3a3;cursor:pointer}.table-up-color-map__btn{display:flex;align-items:center;justify-content:center;flex:1;height:1.25rem;padding:0 .375rem;color:#303133;background-color:#fff;cursor:pointer}.table-up-color-map__btn:hover{background-color:#edeeef}
|
|
1
|
+
.ql-toolbar .ql-picker:not(.ql-color-picker):not(.ql-icon-picker).ql-table-up{width:28px}.ql-toolbar .ql-picker:not(.ql-color-picker):not(.ql-icon-picker).ql-table-up .ql-picker-label{padding:2px 4px}.ql-toolbar .ql-picker:not(.ql-color-picker):not(.ql-icon-picker).ql-table-up .ql-picker-label svg{position:static;margin-top:0}.ql-toolbar .ql-picker.ql-expanded .ql-picker-options{z-index:1}.ql-editor .ql-table{display:table;border-collapse:collapse;table-layout:fixed;width:auto}.ql-editor .ql-table[data-full]{width:100%}.ql-editor .ql-table-wrapper{width:100%;overflow:auto}.ql-editor .ql-table-caption{position:relative;word-break:break-word;outline:0}.ql-editor .ql-table-caption .ql-table-caption--switch{display:flex;align-items:center;justify-content:center;padding:2px;border-radius:4px;border:1px solid #0003;font-size:12px;cursor:pointer;background-color:#fff}.ql-editor .ql-table-caption .ql-table-caption--switch:hover{background-color:#eee}.ql-editor .ql-table-cell{padding:8px 12px;border-color:transparent;font-size:14px;outline:0;overflow:auto}.ql-editor .ql-table-cell-inner{display:inline-block;min-width:100%;word-break:break-word;outline:0;counter-reset:list-0}.ql-editor .ql-table col{border-collapse:separate;text-indent:initial;display:table-column;table-layout:fixed}.ql-editor .ql-table tr+tr td,.ql-editor .ql-table tr+tr th{border-top:none}.ql-editor .ql-table td,.ql-editor .ql-table th{border:1px solid #a1a1aa}.ql-editor .ql-table td+td,.ql-editor .ql-table td+th,.ql-editor .ql-table th+td,.ql-editor .ql-table th+th{border-left:none}.table-up-toolbox{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;pointer-events:none}.table-up-toolbox *{pointer-events:all}.table-up-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}.table-up-tooltip.transparent{opacity:0}.table-up-tooltip.hidden{display:none}.table-up-button{--table-btn-color:#606266;--table-btn-bg-hover:#f3f4f6;--table-btn-color-border:#dcdfe6;--table-btn-border:0.0625rem solid var(--table-btn-color-border);--table-btn-confirm-color-border:#409eff;--table-btn-confirm-bg:#409eff;--table-btn-confirm-hover:#79bbff;--table-btn-confirm-outline-focus-visible:0.125rem solid #a0cfff;box-sizing:border-box;display:inline-flex;height:2rem;line-height:1;margin:0;padding:.5rem 1rem;border-radius:.25rem;border:var(--table-btn-border);color:var(--table-btn-color);background-color:transparent;font-size:.875rem;cursor:pointer}.table-up-button+.table-up-button{margin-left:.375rem}.table-up-button:hover{background-color:var(--table-btn-bg-hover)}.table-up-button.confirm{border-color:var(--table-btn-confirm-color-border);background-color:var(--table-btn-confirm-bg);color:#fff}.table-up-button.confirm:hover{border-color:var(--table-btn-confirm-hover);background-color:var(--table-btn-confirm-hover)}.table-up-button.confirm:focus-visible{outline:var(--table-btn-confirm-outline-focus-visible);outline-offset:.0625rem}.table-up-dialog{--dialog-bg:rgba(0, 0, 0, 0.5);--dialog-color-border:#ebeef5;--dialog-color-boxshadow:rgba(0, 0, 0, 0.12);--dialog-border:0.0625rem solid var(--dialog-color-border);--dialog-boxshadow:0 0 0.75rem var(--dialog-color-boxshadow);position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;height:100%;background-color:var(--dialog-bg);overflow:auto}.table-up-dialog__overlay{position:fixed;top:0;right:0;bottom:0;left:0;padding:1rem;overflow:auto;text-align:center}.table-up-dialog__overlay::after{content:'';display:inline-block;height:100%;width:0;vertical-align:middle}.table-up-dialog__content{display:inline-block;max-width:50vw;width:100%;vertical-align:middle;background-color:#fff;border-radius:.25rem;border:var(--dialog-border);font-size:1.125rem;box-shadow:var(--dialog-boxshadow);text-align:left;overflow:hidden;box-sizing:border-box}.table-up-color-picker{--color-picker-bg-color:#ffffff;box-sizing:border-box;display:inline-flex;flex-direction:column;width:16.75rem;padding:.5rem;border-radius:.375rem;background:var(--color-picker-bg-color);box-shadow:0 0 .375rem #b2b5b8}.table-up-color-picker__content{box-sizing:border-box;width:100%;height:11.75rem;padding-top:.5rem}.table-up-color-picker__selector{width:14.375rem;height:9.375rem;position:absolute}.table-up-color-picker__background{width:100%;height:100%;background:linear-gradient(to top,#000 0,rgba(0,0,0,0) 100%),linear-gradient(to right,#fff 0,rgba(255,255,255,0) 100%)}.table-up-color-picker__background-handle{box-sizing:border-box;position:absolute;border:.0625rem solid #fff;cursor:pointer;top:0;left:14.375rem;border-radius:100%;width:.625rem;height:.625rem;transform:translate(-.3125rem,-.3125rem)}.table-up-color-picker__hue{width:.75rem;height:9.375rem;margin-left:15rem;position:absolute;background:linear-gradient(0deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.table-up-color-picker__hue-handle{box-sizing:border-box;position:absolute;border:.0625rem solid #fff;cursor:pointer;background-color:#fff;box-shadow:0 0 .125rem #0009;left:0;width:1rem;height:.625rem;transform:translate(-.125rem,-.3125rem)}.table-up-color-picker__alpha{width:14.375rem;height:.75rem;position:absolute;margin-top:10rem;background:linear-gradient(45deg,#ccc 25%,transparent 25%),linear-gradient(135deg,#ccc 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ccc 75%),linear-gradient(135deg,transparent 75%,#ccc 75%);background-size:.75rem .75rem;background-position:0 0,.375rem 0,.375rem -.375rem,0 .375rem}.table-up-color-picker__alpha-bg{position:relative;height:100%;background:linear-gradient(to right,rgba(255,255,255,0) 0,#fff 100%)}.table-up-color-picker__alpha-handle{box-sizing:border-box;position:absolute;border:.0625rem solid #fff;cursor:pointer;background-color:#fff;box-shadow:0 0 .125rem #0009;top:0;width:.625rem;height:1rem;transform:translate(-.3125rem,-.125rem)}.table-up-color-picker__action{box-sizing:border-box;display:flex;align-items:center;gap:.375rem;width:100%;padding-top:.5rem;border-top:.0625rem solid #e9ecef}.table-up-color-picker__action-item{flex:1;display:inline-flex;align-items:center;font-size:.75rem}.table-up-color-picker__input{box-sizing:border-box;width:100%;height:1.375rem;margin-left:.125rem;padding:.125rem 0 .125rem .25rem;background-color:#fff;border:.0625rem solid #ced4da;border-radius:.25rem;outline:0;color:#405057}.table-up-tooltip .table-up-color-picker{--color-picker-bg-color:transparent;box-shadow:none;width:15.75rem;padding:.5rem 0}.ql-container .table-up-selection{--select-color:#0589f340;display:none;position:absolute;overflow:hidden;pointer-events:none}.ql-container .table-up-selection__line{position:absolute;background-color:var(--select-color);pointer-events:none}.table-up-resize-line__col,.table-up-resize-line__row{position:absolute;z-index:0}.table-up-resize-line__col.is-hidden,.table-up-resize-line__row.is-hidden{display:none}.table-up-resize-line__col::after,.table-up-resize-line__col::before,.table-up-resize-line__row::after,.table-up-resize-line__row::before{content:'';display:block;position:absolute;top:0;z-index:1}.table-up-resize-line__row{height:.0625rem;cursor:ns-resize}.table-up-resize-line__row::after,.table-up-resize-line__row::before{width:100%;height:.5rem}.table-up-resize-line__row::before{transform:translateY(-.5rem)}.table-up-resize-line__col{width:.0625rem;cursor:ew-resize}.table-up-resize-line__col::after,.table-up-resize-line__col::before{height:100%;width:.5rem}.table-up-resize-line__col::before{transform:translateX(-.5rem)}.table-up-resize-box{position:absolute;z-index:0}.table-up-resize-box.is-hidden{display:none}.table-up-resize-box.is-caption-bottom .table-up-resize-box__corner{border-top-width:0;border-bottom-width:.0625rem;border-top-left-radius:0;border-bottom-left-radius:50%}.table-up-resize-box.is-align-right .table-up-resize-box__col-separator{left:-.125rem}.table-up-resize-box.is-align-right .table-up-resize-box__corner{border-left-width:0;border-right-width:.0625rem;border-top-left-radius:0;border-top-right-radius:50%}.table-up-resize-box.is-align-right.is-caption-bottom .table-up-resize-box__corner{border-top-right-radius:0;border-bottom-left-radius:0;border-bottom-right-radius:50%}.table-up-resize-box__col,.table-up-resize-box__row{position:absolute;top:0;left:0;overflow:hidden;display:flex}.table-up-resize-box__col-wrapper,.table-up-resize-box__row-wrapper{display:flex}.table-up-resize-box__col-header,.table-up-resize-box__row-header{position:relative;flex-shrink:0;background-color:#f5f6f7;border:.0625rem solid #ccc}.table-up-resize-box__col-header:hover,.table-up-resize-box__row-header:hover{background-color:rgba(23,26,29,.1)}.table-up-resize-box__col-header.is-selected,.table-up-resize-box__row-header.is-selected{cursor:grab}.table-up-resize-box__col-header.is-selected:hover,.table-up-resize-box__row-header.is-selected:hover{background-color:#f5f6f7}.table-up-resize-box__col-wrapper{height:100%}.table-up-resize-box__col-header{height:100%;cursor:pointer;border-right-color:transparent}.table-up-resize-box__col-header:last-child{border-right-color:#ccc}.table-up-resize-box__col-separator{position:absolute;top:0;bottom:0;right:-.125rem;width:.125rem;cursor:ew-resize;z-index:0}.table-up-resize-box__col-separator::after{right:-.375rem}.table-up-resize-box__col-separator::before{left:-.375rem}.table-up-resize-box__col-separator::after,.table-up-resize-box__col-separator::before{content:'';position:absolute;top:0;display:block;width:.5rem;height:100%;z-index:1}.table-up-resize-box__row-wrapper{flex-direction:column;width:100%}.table-up-resize-box__row-header{width:100%;cursor:pointer;border-bottom-color:transparent}.table-up-resize-box__row-header:last-child{border-bottom-color:#ccc}.table-up-resize-box__row-separator{position:absolute;left:0;right:0;bottom:-.125rem;height:.125rem;cursor:ns-resize;z-index:0}.table-up-resize-box__row-separator::after{bottom:-.375rem}.table-up-resize-box__row-separator::before{top:-.375rem}.table-up-resize-box__row-separator::after,.table-up-resize-box__row-separator::before{content:'';position:absolute;left:0;display:block;width:100%;height:.5rem;z-index:1}.table-up-resize-box__corner{position:absolute;top:0;left:0;background-color:#f3f4f5;border:.0625rem solid #ccc;border-right-width:0;border-bottom-width:0;border-top-left-radius:50%;cursor:pointer}.table-up-drag{position:absolute;overflow:hidden;pointer-events:none}.table-up-drag__line{position:absolute;z-index:0;background-color:#409eff}.table-up-drag__line.is-col{width:.125rem;cursor:ew-resize}.table-up-drag__line.is-row{height:.125rem;cursor:ns-resize}.table-up-drag__placeholder{position:absolute;background-color:#04f2;pointer-events:none;z-index:0}.table-up-drag__placeholder.is-hidden{display:none}.table-up-drag__indicator{position:absolute;width:0;height:0;border:.0625rem solid #3f85ff;cursor:col-resize;z-index:0;opacity:0;transition:opacity .2s ease-in;pointer-events:none}.table-up-drag__tip{position:fixed;margin-left:-1.25rem;margin-top:-1.25rem;padding-top:1.25rem;padding-left:1.25rem;cursor:grabbing;z-index:1000}.table-up-drag__tip-content{width:6.25rem;height:1.5rem}.table-up-scale{position:absolute;top:0;left:0;overflow:hidden;pointer-events:none}.table-up-scale__block{position:absolute;top:0;left:0;transform:translate(-100%,-100%);width:.75rem;height:.75rem;background-color:#f1f5f9;border:.0625rem solid grey;cursor:nwse-resize;pointer-events:all}.table-up-scale.is-align-right .table-up-scale__block{cursor:nesw-resize}.table-up-scale.is-hidden{display:none}.table-up-scrollbar{position:absolute;z-index:1;transition:opacity .15s linear}.table-up-scrollbar__container{position:relative}.table-up-scrollbar.is-transparent{opacity:0}.table-up-scrollbar.is-vertical{top:.125rem;bottom:.125rem;left:-.5rem;width:.375rem}.table-up-scrollbar.is-vertical .table-up-scrollbar__thumb{width:100%}.table-up-scrollbar.is-horizontal{bottom:.125rem;left:.125rem;right:.125rem;height:.375rem}.table-up-scrollbar.is-horizontal .table-up-scrollbar__thumb{height:100%}.table-up-scrollbar__thumb{border-radius:.3125rem;background-color:#d2d2d2;cursor:pointer}.table-up-scrollbar__thumb:hover{background-color:#a1a1aa}.table-up-scrollbar--virtual.ql-container .ql-table-wrapper{scrollbar-width:none}.table-up-align,.table-up-menu{position:absolute;z-index:1;display:flex;align-items:center;padding:.25rem;border-radius:.375rem;box-shadow:0 0 .5rem rgba(0,0,0,.5);background-color:#fff;font-size:.875rem}.table-up-align__item,.table-up-menu__item{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:.25rem;border-radius:.25rem;cursor:pointer}.table-up-align__item:hover,.table-up-menu__item:hover{background-color:#eee}.table-up-align__item.is-break,.table-up-menu__item.is-break{align-self:stretch;width:.0625rem;padding:0;margin:.125rem .25rem;background-color:#a3a3a3;cursor:default}.table-up-align.is-hidden,.table-up-menu.is-hidden{display:none}.table-up-align .icon,.table-up-menu .icon{display:flex;flex-shrink:0;font-size:1.25rem}.table-up-align span,.table-up-menu span{text-wrap:nowrap}.table-up-menu.is-contextmenu{flex-direction:column;padding:.25rem .5rem;max-height:21.875rem;overflow-y:auto;overflow-x:hidden}.table-up-menu.is-contextmenu .table-up-menu__item{display:flex;justify-content:flex-start;width:100%;gap:.25rem;cursor:pointer}.table-up-menu.is-contextmenu .is-break{width:100%;height:.0625rem;flex-shrink:0;margin:.25rem 0;background-color:#a3a3a3}.table-up-align .icon{width:1.25rem;height:1.25rem}.table-up-color-map{display:flex;flex-direction:column}.table-up-color-map--used{display:flex;align-items:center;justify-content:center;flex-direction:row-reverse;margin-top:.25rem;padding-top:.25rem;border-top:.0625rem solid #ccc}.table-up-color-map__content{display:flex;flex-direction:column}.table-up-color-map__content-row{display:flex;align-items:center;justify-content:center;gap:.25rem}.table-up-color-map__item{width:.875rem;height:.875rem;margin:.125rem;border:.0625rem solid #a3a3a3;cursor:pointer}.table-up-color-map__btn{display:flex;align-items:center;justify-content:center;flex:1;height:1.25rem;padding:0 .375rem;color:#303133;background-color:#fff;cursor:pointer}.table-up-color-map__btn:hover{background-color:#edeeef}
|
package/dist/index.d.ts
CHANGED
|
@@ -57,6 +57,7 @@ declare class TableCellInnerFormat extends ContainerFormat {
|
|
|
57
57
|
set wrapTag(value: TableBodyTag);
|
|
58
58
|
get wrapTag(): TableBodyTag;
|
|
59
59
|
getColumnIndex(): number;
|
|
60
|
+
getRowIndex(): number;
|
|
60
61
|
getTableBody(): TableBodyFormat | null;
|
|
61
62
|
getTableRow(): TableRowFormat | null;
|
|
62
63
|
setStyleByString(styleStr: string): void;
|
|
@@ -122,6 +123,7 @@ declare class TableRowFormat extends ContainerFormat {
|
|
|
122
123
|
checkMerge(): boolean;
|
|
123
124
|
wrapParentTag(): void;
|
|
124
125
|
optimize(_context: Record<string, any>): void;
|
|
126
|
+
remove(): void;
|
|
125
127
|
}
|
|
126
128
|
//#endregion
|
|
127
129
|
//#region src/formats/table-body-format.d.ts
|
|
@@ -316,6 +318,7 @@ declare const tableUpEvent: {
|
|
|
316
318
|
};
|
|
317
319
|
declare const tableUpInternal: {
|
|
318
320
|
moduleName: string;
|
|
321
|
+
tableSelectionName: string;
|
|
319
322
|
};
|
|
320
323
|
//#endregion
|
|
321
324
|
//#region src/modules/table-dom-selector.d.ts
|
|
@@ -506,17 +509,15 @@ type TableMenuOptionsInput$1 = Partial<Omit<TableMenuOptions, 'texts'>>;
|
|
|
506
509
|
declare class TableMenuContextmenu extends TableMenuCommon {
|
|
507
510
|
tableModule: TableUp;
|
|
508
511
|
quill: Quill;
|
|
509
|
-
|
|
512
|
+
static moduleName: string;
|
|
513
|
+
scrollHandler: [HTMLElement, (e: Event) => void][];
|
|
510
514
|
constructor(tableModule: TableUp, quill: Quill, options: TableMenuOptionsInput$1);
|
|
511
515
|
tableSelectioChange: (tableSelection: InternalTableSelectionModule) => void;
|
|
512
516
|
listenContextmenu: (e: MouseEvent) => void;
|
|
513
517
|
buildTools(): HTMLElement;
|
|
514
518
|
createTipText(item: HTMLElement, text: string): void;
|
|
515
519
|
show(): void;
|
|
516
|
-
update(position?:
|
|
517
|
-
x: number;
|
|
518
|
-
y: number;
|
|
519
|
-
}): void;
|
|
520
|
+
update(position?: Position): void;
|
|
520
521
|
destroy(): void;
|
|
521
522
|
}
|
|
522
523
|
//#endregion
|
|
@@ -524,6 +525,7 @@ declare class TableMenuContextmenu extends TableMenuCommon {
|
|
|
524
525
|
declare class TableMenuSelect extends TableMenuCommon {
|
|
525
526
|
tableModule: TableUp;
|
|
526
527
|
quill: Quill;
|
|
528
|
+
static moduleName: string;
|
|
527
529
|
constructor(tableModule: TableUp, quill: Quill, options: TableMenuOptionsInput);
|
|
528
530
|
tableSelectionDragStart: () => void;
|
|
529
531
|
tableSelectionDragEnd: (tableSelection: InternalTableSelectionModule) => void;
|
|
@@ -536,102 +538,81 @@ declare class TableMenuSelect extends TableMenuCommon {
|
|
|
536
538
|
}
|
|
537
539
|
//#endregion
|
|
538
540
|
//#region src/modules/table-resize/table-resize-common.d.ts
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
541
|
+
declare class TableResizeCommonHelper {
|
|
542
|
+
maxRange: number;
|
|
543
|
+
minRange: number;
|
|
544
|
+
startValue: number;
|
|
545
|
+
dragBreak: HTMLElement | null;
|
|
546
|
+
tableModule: TableUp;
|
|
547
|
+
isX: boolean;
|
|
548
|
+
constructor(tableModule: TableUp, isX: boolean);
|
|
549
|
+
createBreak(): void;
|
|
550
|
+
getOffsetFromStart(tableBlot?: TableMainFormat): number;
|
|
551
|
+
limitRange(tableBlot: TableMainFormat | undefined, value: number, countScroll?: boolean): number;
|
|
542
552
|
}
|
|
543
553
|
declare class TableResizeCommon extends TableDomSelector {
|
|
544
554
|
tableModule: TableUp;
|
|
545
555
|
quill: Quill;
|
|
546
|
-
static moduleName: string;
|
|
547
|
-
colIndex: number;
|
|
548
556
|
tableBlot?: TableMainFormat;
|
|
549
557
|
dragging: boolean;
|
|
550
|
-
|
|
551
|
-
handleColMouseUpFunc: () => Promise<void>;
|
|
552
|
-
handleColMouseMoveFunc: (e: MouseEvent) => {
|
|
553
|
-
left: number;
|
|
554
|
-
width: number;
|
|
555
|
-
} | undefined;
|
|
556
|
-
handleColMouseDownFunc: (e: MouseEvent) => {
|
|
557
|
-
top: number;
|
|
558
|
-
left: number;
|
|
559
|
-
height: number;
|
|
560
|
-
} | undefined;
|
|
558
|
+
colIndex: number;
|
|
561
559
|
rowIndex: number;
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
handleRowMouseMoveFunc: (e: MouseEvent) => {
|
|
565
|
-
top: number;
|
|
566
|
-
height: number;
|
|
567
|
-
} | undefined;
|
|
568
|
-
handleRowMouseDownFunc: (e: MouseEvent) => {
|
|
569
|
-
top: number;
|
|
570
|
-
left: number;
|
|
571
|
-
width: number;
|
|
572
|
-
} | undefined;
|
|
573
|
-
dragBEM: {
|
|
574
|
-
b: () => string;
|
|
575
|
-
be: (e?: string) => string;
|
|
576
|
-
bm: (m?: string) => string;
|
|
577
|
-
bem: (e?: string, m?: string) => string;
|
|
578
|
-
ns: (s?: string) => string;
|
|
579
|
-
bs: (s?: string) => string;
|
|
580
|
-
cv: (v?: string) => string;
|
|
581
|
-
is: (n: string) => string;
|
|
582
|
-
};
|
|
560
|
+
dragXCommon: TableResizeCommonHelper;
|
|
561
|
+
dragYCommon: TableResizeCommonHelper;
|
|
583
562
|
constructor(tableModule: TableUp, quill: Quill);
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
563
|
+
findDragColIndex(_cols: TableColFormat[]): number;
|
|
564
|
+
calculateColDragRangeByFull(): void;
|
|
565
|
+
calculateColDragRangeByFixed(): void;
|
|
566
|
+
calculateColDragRange(): void;
|
|
567
|
+
updateTableCol(left: number): Promise<void>;
|
|
568
|
+
findDragRowIndex(_rows: TableRowFormat[]): number;
|
|
569
|
+
calculateRowDragRange(): void;
|
|
570
|
+
updateTableRow(top: number): void;
|
|
571
|
+
removeBreak(): void;
|
|
572
|
+
}
|
|
573
|
+
//#endregion
|
|
574
|
+
//#region src/modules/table-resize/table-resize-drag.d.ts
|
|
575
|
+
declare class TableAutoScroller extends AutoScroller {
|
|
576
|
+
minusY: number;
|
|
577
|
+
minusX: number;
|
|
578
|
+
checkMinY(containerRect: DOMRect): boolean;
|
|
579
|
+
checkMinX(containerRect: DOMRect): boolean;
|
|
580
|
+
}
|
|
581
|
+
interface DragHelperOptions {
|
|
582
|
+
isDragX: boolean;
|
|
583
|
+
allowMoveToIndex?: (index: number) => boolean;
|
|
584
|
+
}
|
|
585
|
+
declare class DragTableHelper {
|
|
586
|
+
startPosition: ({
|
|
587
|
+
position: number;
|
|
588
|
+
size: number;
|
|
589
|
+
index: number;
|
|
590
|
+
})[];
|
|
591
|
+
selectedIndex: Set<number>;
|
|
592
|
+
moveToIndex: number;
|
|
593
|
+
tableModule: TableUp;
|
|
594
|
+
tableBlot: TableMainFormat;
|
|
595
|
+
dragCommon: TableResizeCommonHelper;
|
|
596
|
+
options: DragHelperOptions;
|
|
597
|
+
get isDragX(): boolean;
|
|
598
|
+
constructor(tableModule: TableUp, tableBlot: TableMainFormat, dragCommon: TableResizeCommonHelper, options: DragHelperOptions);
|
|
599
|
+
onStart(positionInfo: DragPosition, e: PointerEvent, callback?: (context: this) => void): false | undefined;
|
|
600
|
+
onMove(positionInfo: DragPosition, e: PointerEvent, callback?: (context: this) => void): void;
|
|
601
|
+
onEnd(positionInfo: DragPosition, e: PointerEvent, callback?: (context: this) => void): void;
|
|
602
|
+
recalculateStartPosition(): void;
|
|
603
|
+
findTheMovedToIndex(e: PointerEvent): number;
|
|
604
|
+
updateTableStructure(content: Delta, isMoveMinus: boolean): Delta;
|
|
624
605
|
}
|
|
625
606
|
//#endregion
|
|
626
607
|
//#region src/modules/table-resize/table-resize-box.d.ts
|
|
627
608
|
declare class TableResizeBox extends TableResizeCommon {
|
|
628
609
|
tableModule: TableUp;
|
|
629
610
|
quill: Quill;
|
|
611
|
+
static moduleName: string;
|
|
612
|
+
options: TableResizeBoxOptions;
|
|
630
613
|
root: HTMLElement;
|
|
631
614
|
tableWrapperBlot?: TableWrapperFormat;
|
|
632
615
|
resizeObserver?: ResizeObserver;
|
|
633
|
-
tableCols: TableColFormat[];
|
|
634
|
-
tableRows: TableRowFormat[];
|
|
635
616
|
rowHeadWrapper: HTMLElement | null;
|
|
636
617
|
colHeadWrapper: HTMLElement | null;
|
|
637
618
|
corner: HTMLElement | null;
|
|
@@ -640,7 +621,6 @@ declare class TableResizeBox extends TableResizeCommon {
|
|
|
640
621
|
isX: boolean;
|
|
641
622
|
index: number;
|
|
642
623
|
} | null;
|
|
643
|
-
size: number;
|
|
644
624
|
bem: {
|
|
645
625
|
b: () => string;
|
|
646
626
|
be: (e?: string) => string;
|
|
@@ -651,26 +631,44 @@ declare class TableResizeBox extends TableResizeCommon {
|
|
|
651
631
|
cv: (v?: string) => string;
|
|
652
632
|
is: (n: string) => string;
|
|
653
633
|
};
|
|
654
|
-
|
|
634
|
+
draggingColIndex: number;
|
|
635
|
+
draggingRowIndex: number;
|
|
636
|
+
stopColDrag: (() => void)[];
|
|
637
|
+
stopRowDrag: (() => void)[];
|
|
638
|
+
dragWrapper: HTMLElement | null;
|
|
639
|
+
dragPlaceholder: HTMLElement | null;
|
|
640
|
+
markIndicator: HTMLElement | null;
|
|
641
|
+
dragTip: HTMLElement | null;
|
|
642
|
+
stopColMoveDrag: (() => void)[];
|
|
643
|
+
stopRowMoveDrag: (() => void)[];
|
|
644
|
+
autoScroller: TableAutoScroller | null;
|
|
645
|
+
updateContentDraggingPosition: () => void;
|
|
646
|
+
cellSpanIndex: Set<number>;
|
|
647
|
+
dragPlaceholderStartPosition: {
|
|
648
|
+
x: number;
|
|
649
|
+
y: number;
|
|
650
|
+
};
|
|
651
|
+
constructor(tableModule: TableUp, quill: Quill, options: Partial<TableResizeBoxOptions>);
|
|
652
|
+
resolveOptions(options: Partial<TableResizeBoxOptions>): {
|
|
653
|
+
size: number;
|
|
654
|
+
draggable: boolean;
|
|
655
|
+
} & Partial<TableResizeBoxOptions>;
|
|
656
|
+
updateWrapperHead: () => void;
|
|
655
657
|
updateWhenTextChange: (eventName: string) => void;
|
|
656
658
|
setSelectionTable(table: HTMLTableElement | undefined): void;
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
left: number;
|
|
663
|
-
height: number;
|
|
664
|
-
} | undefined;
|
|
659
|
+
handleResizerHeaderClick(isX: boolean, index: number, e: MouseEvent): void;
|
|
660
|
+
findDragColIndex(): number;
|
|
661
|
+
findDragRowIndex(): number;
|
|
662
|
+
updateContentDraggerPosition(dragHelper: DragTableHelper): void;
|
|
663
|
+
createContentDragger(e: PointerEvent, isX: boolean, dragHelper: DragTableHelper): void;
|
|
665
664
|
bindColEvents(): void;
|
|
666
|
-
findCurrentRowIndex(e: MouseEvent): number;
|
|
667
|
-
rowHeightChange(i: number, h: number): void;
|
|
668
|
-
handleRowMouseDownFunc: (e: MouseEvent) => {
|
|
669
|
-
top: number;
|
|
670
|
-
left: number;
|
|
671
|
-
width: number;
|
|
672
|
-
} | undefined;
|
|
673
665
|
bindRowEvents(): void;
|
|
666
|
+
allowMoveToIndex(index: number): boolean;
|
|
667
|
+
recordCellSpan(isX: boolean): Set<number>;
|
|
668
|
+
dragHeadOptions(isX: boolean, context: {
|
|
669
|
+
index: number;
|
|
670
|
+
dragHelper: DragTableHelper;
|
|
671
|
+
}): Partial<DragElementOptions>;
|
|
674
672
|
update(): void;
|
|
675
673
|
show(): void;
|
|
676
674
|
hide(): void;
|
|
@@ -681,12 +679,10 @@ declare class TableResizeBox extends TableResizeCommon {
|
|
|
681
679
|
declare class TableResizeLine extends TableResizeCommon {
|
|
682
680
|
tableModule: TableUp;
|
|
683
681
|
quill: Quill;
|
|
682
|
+
static moduleName: string;
|
|
684
683
|
colResizer?: HTMLElement;
|
|
685
684
|
rowResizer?: HTMLElement;
|
|
686
685
|
currentTableCell?: HTMLElement;
|
|
687
|
-
dragging: boolean;
|
|
688
|
-
curColIndex: number;
|
|
689
|
-
curRowIndex: number;
|
|
690
686
|
tableCellBlot?: TableCellFormat;
|
|
691
687
|
bem: {
|
|
692
688
|
b: () => string;
|
|
@@ -698,19 +694,21 @@ declare class TableResizeLine extends TableResizeCommon {
|
|
|
698
694
|
cv: (v?: string) => string;
|
|
699
695
|
is: (n: string) => string;
|
|
700
696
|
};
|
|
701
|
-
|
|
697
|
+
stopColDrag?: () => void;
|
|
698
|
+
stopRowDrag?: () => void;
|
|
699
|
+
scrollHandler: [HTMLElement, (e: Event) => void][];
|
|
700
|
+
constructor(tableModule: TableUp, quill: Quill);
|
|
701
|
+
setSelectionTable(table: HTMLTableElement | undefined): void;
|
|
702
702
|
updateWhenTextChange: (eventName: string) => void;
|
|
703
|
-
mousemoveHandler: (e: MouseEvent) => void;
|
|
704
703
|
findTableCell(e: MouseEvent): HTMLElement | null;
|
|
705
|
-
|
|
706
|
-
|
|
704
|
+
pointermoveHandler: (e: MouseEvent) => void;
|
|
705
|
+
findDragColIndex(cols: TableColFormat[]): number;
|
|
707
706
|
updateColResizer(): void;
|
|
708
|
-
|
|
709
|
-
handleRowMouseUpFunc: () => void;
|
|
707
|
+
findDragRowIndex(rows: TableRowFormat[]): number;
|
|
710
708
|
updateRowResizer(): void;
|
|
711
709
|
show(): void;
|
|
710
|
+
hideResizer(): void;
|
|
712
711
|
hide(): void;
|
|
713
|
-
update(): void;
|
|
714
712
|
destroy(): void;
|
|
715
713
|
}
|
|
716
714
|
//#endregion
|
|
@@ -718,6 +716,7 @@ declare class TableResizeLine extends TableResizeCommon {
|
|
|
718
716
|
declare class TableResizeScale extends TableDomSelector {
|
|
719
717
|
tableModule: TableUp;
|
|
720
718
|
quill: Quill;
|
|
719
|
+
static moduleName: string;
|
|
721
720
|
scrollHandler: [HTMLElement, (e: Event) => void][];
|
|
722
721
|
tableMainBlot?: TableMainFormat;
|
|
723
722
|
tableWrapperBlot?: TableWrapperFormat;
|
|
@@ -753,6 +752,15 @@ declare class TableResizeScale extends TableDomSelector {
|
|
|
753
752
|
//#endregion
|
|
754
753
|
//#region src/modules/table-resize/utils.d.ts
|
|
755
754
|
declare const isTableAlignRight: (tableMainBlot: TableMainFormat) => boolean;
|
|
755
|
+
declare function getColRect(cols: TableColFormat[], columnIndex: number): {
|
|
756
|
+
left: number;
|
|
757
|
+
right: number;
|
|
758
|
+
width: number;
|
|
759
|
+
} | null;
|
|
760
|
+
declare function isCellsSpan(isX: boolean, tableBlot: TableMainFormat, cells: TableCellInnerFormat[]): {
|
|
761
|
+
cellIndex: Set<number>;
|
|
762
|
+
isSpan: boolean;
|
|
763
|
+
};
|
|
756
764
|
//#endregion
|
|
757
765
|
//#region src/modules/table-scrollbar.d.ts
|
|
758
766
|
declare class Scrollbar {
|
|
@@ -860,10 +868,7 @@ declare class TableSelection extends TableDomSelector {
|
|
|
860
868
|
options: TableSelectionOptions;
|
|
861
869
|
boundary: RelactiveRect | null;
|
|
862
870
|
scrollRecordEls: HTMLElement[];
|
|
863
|
-
startScrollRecordPosition:
|
|
864
|
-
x: number;
|
|
865
|
-
y: number;
|
|
866
|
-
}[];
|
|
871
|
+
startScrollRecordPosition: Position[];
|
|
867
872
|
selectedTableScrollX: number;
|
|
868
873
|
selectedTableScrollY: number;
|
|
869
874
|
selectedEditorScrollX: number;
|
|
@@ -884,6 +889,7 @@ declare class TableSelection extends TableDomSelector {
|
|
|
884
889
|
cv: (v?: string) => string;
|
|
885
890
|
is: (n: string) => string;
|
|
886
891
|
};
|
|
892
|
+
autoScroller: AutoScroller;
|
|
887
893
|
lastSelection: SelectionData;
|
|
888
894
|
_dragging: boolean;
|
|
889
895
|
set dragging(val: boolean);
|
|
@@ -895,35 +901,14 @@ declare class TableSelection extends TableDomSelector {
|
|
|
895
901
|
updateAfterEvent: () => void;
|
|
896
902
|
removeCellBySelectedTds(): void;
|
|
897
903
|
setSelectedTds(tds: TableCellInnerFormat[]): void;
|
|
898
|
-
getFirstTextNode(dom: HTMLElement | Node): Node;
|
|
899
|
-
getLastTextNode(dom: HTMLElement | Node): Node;
|
|
900
|
-
getNodeTailOffset(node: Node): number;
|
|
901
904
|
quillSelectionChangeHandler: (range: Range | null, _oldRange: Range | null, source: EmitterSource) => void;
|
|
902
905
|
setSelectionData(selection: Selection, selectionData: SelectionData): void;
|
|
903
906
|
selectionDirectionUp(selection: SelectionData): boolean;
|
|
904
|
-
findWrapSelection(points: {
|
|
905
|
-
node: Node | null;
|
|
906
|
-
offset: number;
|
|
907
|
-
}[]): {
|
|
908
|
-
startNode: Node | null;
|
|
909
|
-
startOffset: number;
|
|
910
|
-
endNode: Node | null;
|
|
911
|
-
endOffset: number;
|
|
912
|
-
};
|
|
913
907
|
resolveOptions(options: Partial<TableSelectionOptions>): TableSelectionOptions;
|
|
914
908
|
selectionChangeHandler(): void;
|
|
915
909
|
helpLinesInitial(): HTMLDivElement;
|
|
916
|
-
computeSelectedTds(startPoint:
|
|
917
|
-
|
|
918
|
-
y: number;
|
|
919
|
-
}, endPoint: {
|
|
920
|
-
x: number;
|
|
921
|
-
y: number;
|
|
922
|
-
}): TableCellInnerFormat[];
|
|
923
|
-
getScrollPositionDiff(): {
|
|
924
|
-
x: number;
|
|
925
|
-
y: number;
|
|
926
|
-
};
|
|
910
|
+
computeSelectedTds(startPoint: Position, endPoint: Position): TableCellInnerFormat[];
|
|
911
|
+
getScrollPositionDiff(): Position;
|
|
927
912
|
recordScrollPosition(): void;
|
|
928
913
|
clearRecordScrollPosition(): void;
|
|
929
914
|
tableSelectHandler(mousedownEvent: MouseEvent): void;
|
|
@@ -972,6 +957,10 @@ interface TableSelectionOptions {
|
|
|
972
957
|
interface TableResizeScaleOptions {
|
|
973
958
|
blockSize: number;
|
|
974
959
|
}
|
|
960
|
+
interface TableResizeBoxOptions {
|
|
961
|
+
size: number;
|
|
962
|
+
draggable: boolean;
|
|
963
|
+
}
|
|
975
964
|
interface TableCreatorTextOptions {
|
|
976
965
|
fullCheckboxText: string;
|
|
977
966
|
customBtnText: string;
|
|
@@ -1039,6 +1028,10 @@ interface TableValue {
|
|
|
1039
1028
|
full?: boolean;
|
|
1040
1029
|
align?: string;
|
|
1041
1030
|
}
|
|
1031
|
+
interface Position {
|
|
1032
|
+
x: number;
|
|
1033
|
+
y: number;
|
|
1034
|
+
}
|
|
1042
1035
|
interface RelactiveRect {
|
|
1043
1036
|
x: number;
|
|
1044
1037
|
y: number;
|
|
@@ -1062,13 +1055,7 @@ interface InternalTableSelectionModule extends InternalModule {
|
|
|
1062
1055
|
cellSelect: HTMLElement;
|
|
1063
1056
|
isDisplaySelection: boolean;
|
|
1064
1057
|
tableMenu?: InternalModule;
|
|
1065
|
-
computeSelectedTds: (startPoint:
|
|
1066
|
-
x: number;
|
|
1067
|
-
y: number;
|
|
1068
|
-
}, endPoint: {
|
|
1069
|
-
x: number;
|
|
1070
|
-
y: number;
|
|
1071
|
-
}) => TableCellInnerFormat[];
|
|
1058
|
+
computeSelectedTds: (startPoint: Position, endPoint: Position) => TableCellInnerFormat[];
|
|
1072
1059
|
setSelectedTds: (tds: TableCellInnerFormat[]) => void;
|
|
1073
1060
|
updateWithSelectedTds: () => void;
|
|
1074
1061
|
showDisplay: () => void;
|
|
@@ -1140,6 +1127,41 @@ interface TooltipInstance {
|
|
|
1140
1127
|
}
|
|
1141
1128
|
declare function createTooltip(target: HTMLElement, options?: ToolTipOptions): TooltipInstance | null;
|
|
1142
1129
|
//#endregion
|
|
1130
|
+
//#region src/utils/drag-helper.d.ts
|
|
1131
|
+
interface DragPosition {
|
|
1132
|
+
startPosition: Position;
|
|
1133
|
+
position: Position;
|
|
1134
|
+
movePosition: Position;
|
|
1135
|
+
}
|
|
1136
|
+
interface DragElementOptions {
|
|
1137
|
+
axis: 'x' | 'y' | 'both';
|
|
1138
|
+
onStart: (position: DragPosition, e: PointerEvent) => void | boolean;
|
|
1139
|
+
onMove: (position: DragPosition, e: PointerEvent) => void;
|
|
1140
|
+
onEnd: (position: DragPosition, e: PointerEvent) => void;
|
|
1141
|
+
buttons: number[];
|
|
1142
|
+
container: HTMLElement;
|
|
1143
|
+
draggingElement: HTMLElement | Window | Document;
|
|
1144
|
+
exact: boolean;
|
|
1145
|
+
}
|
|
1146
|
+
//#endregion
|
|
1147
|
+
//#region src/utils/scroll.d.ts
|
|
1148
|
+
declare class AutoScroller {
|
|
1149
|
+
scrollThresholdX: number;
|
|
1150
|
+
scrollThresholdY: number;
|
|
1151
|
+
maxScrollSpeed: number;
|
|
1152
|
+
mouseY: number;
|
|
1153
|
+
mouseX: number;
|
|
1154
|
+
private animationId;
|
|
1155
|
+
constructor(scrollThresholdX?: number, scrollThresholdY?: number, maxScrollSpeed?: number);
|
|
1156
|
+
checkMinY(containerRect: DOMRect): boolean;
|
|
1157
|
+
checkMaxY(containerRect: DOMRect): boolean;
|
|
1158
|
+
checkMinX(containerRect: DOMRect): boolean;
|
|
1159
|
+
checkMaxX(containerRect: DOMRect): boolean;
|
|
1160
|
+
start(container: HTMLElement, onScroll?: (speedX: number, speedY: number) => void): void;
|
|
1161
|
+
updateMousePosition(x: number, y: number): void;
|
|
1162
|
+
stop(): void;
|
|
1163
|
+
}
|
|
1164
|
+
//#endregion
|
|
1143
1165
|
//#region src/utils/utils.d.ts
|
|
1144
1166
|
declare const randomId: () => string;
|
|
1145
1167
|
//#endregion
|
|
@@ -1260,5 +1282,5 @@ declare class TableUp {
|
|
|
1260
1282
|
convertTableBodyByCells(tableBlot: TableMainFormat, selecteds: TableCellInnerFormat[], tag: TableBodyTag): void;
|
|
1261
1283
|
}
|
|
1262
1284
|
//#endregion
|
|
1263
|
-
export { BlockEmbedOverride, BlockOverride, ClipboardOptions, Constructor, ContainerFormat, InternalModule, InternalTableMenuModule, InternalTableSelectionModule, Matcher, MenuTooltipInstance, QuillTheme, QuillThemePicker, RelactiveRect, ScrollOverride, Scrollbar, SelectionData, Selector, SkipRowCount, TableAlign, TableBodyFormat, TableBodyTag, TableCaptionFormat, TableCaptionValue, TableCellFormat, TableCellInnerFormat, TableCellValue, TableClipboard, TableColFormat, TableColValue, TableColgroupFormat, TableConstantsData, TableCreatorTextOptions, TableDomSelector, TableFootFormat, TableHeadFormat, TableMainFormat, TableMenuCommon, TableMenuContextmenu, TableMenuOptions, TableMenuOptionsInput, TableMenuSelect, TableMenuTexts, TableResizeBox, TableResizeCommon, TableResizeLine, TableResizeScale, TableResizeScaleOptions, TableRowFormat, TableRowValue, TableSelection, TableSelectionOptions, TableTextOptions, TableUp, TableUpExtraModule, TableUpModule, TableUpOptions, TableValue, TableVirtualScrollbar, TableWrapperFormat, Tool, ToolOption, ToolOptionBreak, Writable, applyCellUpdates, blotName, createColorPicker, createSelectBox, createTooltip,
|
|
1285
|
+
export { BlockEmbedOverride, BlockOverride, ClipboardOptions, Constructor, ContainerFormat, InternalModule, InternalTableMenuModule, InternalTableSelectionModule, Matcher, MenuTooltipInstance, Position, QuillTheme, QuillThemePicker, RelactiveRect, ScrollOverride, Scrollbar, SelectionData, Selector, SkipRowCount, TableAlign, TableBodyFormat, TableBodyTag, TableCaptionFormat, TableCaptionValue, TableCellFormat, TableCellInnerFormat, TableCellValue, TableClipboard, TableColFormat, TableColValue, TableColgroupFormat, TableConstantsData, TableCreatorTextOptions, TableDomSelector, TableFootFormat, TableHeadFormat, TableMainFormat, TableMenuCommon, TableMenuContextmenu, TableMenuOptions, TableMenuOptionsInput, TableMenuSelect, TableMenuTexts, TableResizeBox, TableResizeBoxOptions, TableResizeCommon, TableResizeCommonHelper, TableResizeLine, TableResizeScale, TableResizeScaleOptions, TableRowFormat, TableRowValue, TableSelection, TableSelectionOptions, TableTextOptions, TableUp, TableUp as default, TableUpExtraModule, TableUpModule, TableUpOptions, TableValue, TableVirtualScrollbar, TableWrapperFormat, Tool, ToolOption, ToolOptionBreak, Writable, applyCellUpdates, blotName, createColorPicker, createSelectBox, createTooltip, defaultCustomSelect, findParentBlot, findParentBlots, getCellPositions, getColRect, getCountByPosition, getTableCellStructure, getTableMainRect, groupCellByRow, isCellsSpan, isTableAlignRight, parsePasteDelta, pasteCells, pasteWithLoop, pasteWithStructure, prepareCellUpdate, randomId, removeOverlappingCells, tableMenuTools, tableUpEvent, tableUpInternal, tableUpSize, updateTableConstants };
|
|
1264
1286
|
//# sourceMappingURL=index.d.ts.map
|