@halo-dev/richtext-editor 0.0.0-alpha.30 → 0.0.0-alpha.32

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.
Files changed (81) hide show
  1. package/dist/components/Editor.vue.d.ts +13 -134
  2. package/dist/components/EditorBubbleMenu.vue.d.ts +4 -89
  3. package/dist/components/EditorHeader.vue.d.ts +5 -11
  4. package/dist/components/block/BlockActionButton.vue.d.ts +16 -13
  5. package/dist/components/block/BlockActionInput.vue.d.ts +13 -17
  6. package/dist/components/block/BlockActionSeparator.vue.d.ts +1 -1
  7. package/dist/components/block/BlockCard.vue.d.ts +29 -51
  8. package/dist/components/bubble/BubbleItem.vue.d.ts +74 -45
  9. package/dist/components/bubble/BubbleMenuPlugin.d.ts +53 -0
  10. package/dist/components/common/ColorPickerDropdown.vue.d.ts +26 -0
  11. package/dist/components/index.d.ts +1 -0
  12. package/dist/components/toolbar/ToolbarItem.vue.d.ts +33 -42
  13. package/dist/components/toolbar/ToolbarSubItem.vue.d.ts +33 -45
  14. package/dist/components/toolbox/ToolboxItem.vue.d.ts +33 -44
  15. package/dist/extensions/audio/AudioView.vue.d.ts +25 -56
  16. package/dist/extensions/audio/BubbleItemAudioLink.vue.d.ts +58 -0
  17. package/dist/extensions/audio/index.d.ts +1 -0
  18. package/dist/extensions/blockquote/index.d.ts +3 -1
  19. package/dist/extensions/bold/index.d.ts +3 -1
  20. package/dist/extensions/bullet-list/index.d.ts +3 -1
  21. package/dist/extensions/code/index.d.ts +3 -1
  22. package/dist/extensions/code-block/CodeBlockViewRenderer.vue.d.ts +25 -53
  23. package/dist/extensions/code-block/code-block.d.ts +1 -1
  24. package/dist/extensions/code-block/lowlight.d.ts +15 -1
  25. package/dist/extensions/color/ColorBubbleItem.vue.d.ts +38 -58
  26. package/dist/extensions/color/ColorToolbarItem.vue.d.ts +40 -57
  27. package/dist/extensions/color/index.d.ts +3 -1
  28. package/dist/extensions/columns/column.d.ts +3 -0
  29. package/dist/extensions/columns/columns.d.ts +15 -0
  30. package/dist/extensions/columns/index.d.ts +2 -0
  31. package/dist/extensions/commands-menu/CommandsView.vue.d.ts +8 -14
  32. package/dist/extensions/commands-menu/commands.d.ts +1 -1
  33. package/dist/extensions/draggable/index.d.ts +14 -0
  34. package/dist/extensions/heading/index.d.ts +3 -1
  35. package/dist/extensions/highlight/HighlightBubbleItem.vue.d.ts +38 -59
  36. package/dist/extensions/highlight/HighlightToolbarItem.vue.d.ts +40 -58
  37. package/dist/extensions/highlight/index.d.ts +3 -1
  38. package/dist/extensions/history/index.d.ts +3 -1
  39. package/dist/extensions/iframe/BubbleItemIframeLink.vue.d.ts +58 -0
  40. package/dist/extensions/iframe/BubbleItemIframeSize.vue.d.ts +13 -0
  41. package/dist/extensions/iframe/IframeView.vue.d.ts +25 -67
  42. package/dist/extensions/iframe/index.d.ts +1 -0
  43. package/dist/extensions/image/BubbleItemImageAlt.vue.d.ts +58 -0
  44. package/dist/extensions/image/BubbleItemImageHref.vue.d.ts +58 -0
  45. package/dist/extensions/image/BubbleItemImageLink.vue.d.ts +58 -0
  46. package/dist/extensions/image/BubbleItemImageSize.vue.d.ts +58 -0
  47. package/dist/extensions/image/ImageView.vue.d.ts +25 -74
  48. package/dist/extensions/image/index.d.ts +3 -1
  49. package/dist/extensions/index.d.ts +7 -3
  50. package/dist/extensions/italic/index.d.ts +3 -1
  51. package/dist/extensions/link/LinkBubbleButton.vue.d.ts +36 -53
  52. package/dist/extensions/link/index.d.ts +3 -1
  53. package/dist/extensions/node-selected/index.d.ts +6 -0
  54. package/dist/extensions/ordered-list/index.d.ts +3 -1
  55. package/dist/extensions/paragraph/index.d.ts +4 -0
  56. package/dist/extensions/strike/index.d.ts +3 -1
  57. package/dist/extensions/subscript/index.d.ts +3 -1
  58. package/dist/extensions/superscript/index.d.ts +3 -1
  59. package/dist/extensions/table/index.d.ts +3 -1
  60. package/dist/extensions/table/table-cell.d.ts +6 -0
  61. package/dist/extensions/table/table-header.d.ts +6 -0
  62. package/dist/extensions/table/table-row.d.ts +2 -0
  63. package/dist/extensions/table/util.d.ts +27 -0
  64. package/dist/extensions/task-list/index.d.ts +3 -1
  65. package/dist/extensions/text/index.d.ts +3 -0
  66. package/dist/extensions/text-align/index.d.ts +3 -1
  67. package/dist/extensions/trailing-node/index.d.ts +9 -0
  68. package/dist/extensions/underline/index.d.ts +3 -1
  69. package/dist/extensions/video/BubbleItemVideoLink.vue.d.ts +58 -0
  70. package/dist/extensions/video/BubbleItemVideoSize.vue.d.ts +58 -0
  71. package/dist/extensions/video/VideoView.vue.d.ts +25 -71
  72. package/dist/extensions/video/index.d.ts +1 -0
  73. package/dist/rich-text-editor.es.js +9629 -7494
  74. package/dist/rich-text-editor.es.js.map +1 -1
  75. package/dist/rich-text-editor.iife.js +8867 -6732
  76. package/dist/rich-text-editor.iife.js.map +1 -1
  77. package/dist/style.css +334 -53
  78. package/dist/types/index.d.ts +117 -0
  79. package/dist/utils/delete-node.d.ts +2 -0
  80. package/dist/utils/index.d.ts +1 -0
  81. package/package.json +51 -54
package/dist/style.css CHANGED
@@ -1,4 +1,17 @@
1
- .tippy-box[data-placement^=top]>.tippy-svg-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-svg-arrow:after,.tippy-box[data-placement^=top]>.tippy-svg-arrow>svg{top:16px;transform:rotate(180deg)}.tippy-box[data-placement^=bottom]>.tippy-svg-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-svg-arrow>svg{bottom:16px}.tippy-box[data-placement^=left]>.tippy-svg-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-svg-arrow:after,.tippy-box[data-placement^=left]>.tippy-svg-arrow>svg{transform:rotate(90deg);top:calc(50% - 3px);left:11px}.tippy-box[data-placement^=right]>.tippy-svg-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-svg-arrow:after,.tippy-box[data-placement^=right]>.tippy-svg-arrow>svg{transform:rotate(-90deg);top:calc(50% - 3px);right:11px}.tippy-svg-arrow{width:16px;height:16px;fill:#333;text-align:initial}.tippy-svg-arrow,.tippy-svg-arrow>svg{position:absolute}.halo-rich-text-editor {
1
+
2
+ .v-popper__popper.v-popper__popper--show-from .v-popper__wrapper {
3
+ transform: scale(0.9);
4
+ }
5
+ .v-popper__popper.v-popper__popper--show-to .v-popper__wrapper {
6
+ transform: none;
7
+ transition: transform 0.1s;
8
+ }
9
+
10
+ .bubble-menu[data-v-205ae298] {
11
+ max-width: calc(100vw - 30px);
12
+ overflow-x: auto;
13
+ }
14
+ .halo-rich-text-editor {
2
15
  box-sizing: border-box;
3
16
  height: calc(100% - 48px);
4
17
  width: 100%;
@@ -7,14 +20,16 @@
7
20
  height: 48px;
8
21
  }
9
22
  .halo-rich-text-editor .editor-content {
10
- height: 100%;
11
23
  width: 100%;
24
+ position: relative;
12
25
  }
13
26
  .halo-rich-text-editor .editor-content .ProseMirror {
14
- height: 100%;
15
- overflow: auto;
16
27
  outline: none !important;
17
- padding: 15px;
28
+ padding: 15px 20px;
29
+ }
30
+ .halo-rich-text-editor .editor-content .ProseMirror p {
31
+ margin-top: 0.75em;
32
+ margin-bottom: 0;
18
33
  }
19
34
  .halo-rich-text-editor .editor-content .ProseMirror p.is-empty::before {
20
35
  content: attr(data-placeholder);
@@ -60,59 +75,293 @@
60
75
  .halo-rich-text-editor .editor-content .ProseMirror code br {
61
76
  display: block;
62
77
  }
63
- .halo-rich-text-editor .editor-content .ProseMirror table {
78
+ @media screen and (min-width: 640px) {
79
+ .halo-rich-text-editor .ProseMirror {
80
+ padding: 15px 10% !important;
81
+ }
82
+ }
83
+ @media screen and (min-width: 1024px) {
84
+ .halo-rich-text-editor .ProseMirror {
85
+ padding: 15px 20% !important;
86
+ }
87
+ }
88
+ .v-popper--theme-editor-block-dropdown .v-popper__inner {
89
+ border-radius: 0.375rem;
90
+ --tw-bg-opacity: 1;
91
+ background-color: rgb(255 255 255 / var(--tw-bg-opacity));
92
+ --tw-drop-shadow: drop-shadow(0 4px 3px rgb(0 0 0 / 0.07)) drop-shadow(0 2px 2px rgb(0 0 0 / 0.06));
93
+ filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
94
+ }
95
+ .v-popper--theme-editor-block-dropdown .v-popper__arrow-container {
96
+ display: none;
97
+ }
98
+ .halo-rich-text-editor .ProseMirror .tableWrapper {
99
+ position: relative;
100
+ margin: 0.5em 0px;
101
+ overflow-x: auto;
102
+ overflow-y: hidden;
103
+ }
104
+ .halo-rich-text-editor .ProseMirror .tableWrapper.has-focus .scrollWrapper {
105
+ margin-top: -20px;
106
+ }
107
+ .halo-rich-text-editor .ProseMirror .scrollWrapper {
108
+ width: -moz-max-content;
109
+ width: max-content;
110
+ border-left: 1px solid transparent;
111
+ border-right: 1px solid transparent;
112
+ transition: border 250ms ease-in-out 0s;
113
+ }
114
+ .halo-rich-text-editor .ProseMirror table {
115
+ width: 100%;
64
116
  border-collapse: collapse;
65
- table-layout: fixed;
117
+ border-radius: 4px;
118
+ overflow: initial;
119
+ padding-left: 26px;
120
+ padding-top: 26px;
121
+ box-sizing: border-box;
122
+ }
123
+ .halo-rich-text-editor .ProseMirror table * {
124
+ box-sizing: border-box;
125
+ }
126
+ .halo-rich-text-editor .ProseMirror table tr {
127
+ position: relative;
128
+ border-bottom: 1px solid #d8d8d8;
129
+ }
130
+ .halo-rich-text-editor .ProseMirror table th {
131
+ background: #f6f8fa;
132
+ }
133
+ .halo-rich-text-editor .ProseMirror table td {
134
+ background: #fff;
135
+ }
136
+ .halo-rich-text-editor .ProseMirror table td,
137
+ .halo-rich-text-editor .ProseMirror table th {
138
+ vertical-align: top;
139
+ border: 1px solid #d8d8d8;
140
+ position: relative;
141
+ padding: 12px 8px;
142
+ text-align: left;
143
+ min-width: 100px;
144
+ z-index: 1;
145
+ }
146
+ .halo-rich-text-editor .ProseMirror table td > *,
147
+ .halo-rich-text-editor .ProseMirror table th > * {
148
+ margin-top: 0;
149
+ margin-bottom: 0;
150
+ }
151
+ .halo-rich-text-editor .ProseMirror table .selectedCell {
152
+ position: relative;
153
+ border: 1px solid rgb(0, 101, 255);
154
+ }
155
+ .halo-rich-text-editor .ProseMirror table .selectedCell::after {
156
+ box-sizing: content-box;
157
+ height: 100%;
158
+ width: 100%;
159
+ border: 1px solid rgb(0, 101, 255);
160
+ content: "";
161
+ position: absolute;
162
+ left: -1px;
163
+ top: -1px;
164
+ bottom: 0px;
165
+ z-index: 12;
166
+ display: inline-block;
167
+ pointer-events: none;
168
+ }
169
+ .halo-rich-text-editor .ProseMirror .grip-column {
170
+ position: absolute;
171
+ top: -12px;
172
+ left: -1px;
66
173
  width: 100%;
67
- margin: 0;
68
- overflow: hidden;
69
174
  }
70
- .halo-rich-text-editor .editor-content .ProseMirror table .selectedCell:after {
71
- z-index: 2;
175
+ .halo-rich-text-editor .ProseMirror .grip-column > div {
72
176
  position: absolute;
177
+ top: -18px;
178
+ left: 100%;
179
+ transform: translateX(-8px);
180
+ display: inline-block;
181
+ width: 16px;
182
+ height: 16px;
183
+ font-size: 0;
184
+ cursor: pointer;
185
+ }
186
+ .halo-rich-text-editor .ProseMirror .grip-column > div .plus-icon {
187
+ font-size: inherit;
188
+ }
189
+ .halo-rich-text-editor .ProseMirror .grip-column::before {
190
+ content: "";
191
+ position: absolute;
192
+ left: 100%;
193
+ bottom: 4px;
194
+ transform: translateX(-1px);
195
+ width: 4px;
196
+ height: 4px;
197
+ background-color: #d8d8d8;
198
+ border-radius: 50%;
199
+ display: block;
200
+ }
201
+ .halo-rich-text-editor .ProseMirror .grip-column::after {
202
+ box-sizing: content-box;
73
203
  content: "";
204
+ cursor: pointer;
205
+ position: absolute;
206
+ top: 0;
207
+ left: 0;
208
+ width: 100%;
209
+ height: 10px;
210
+ background: #f6f8fa;
211
+ border: 1px solid #d8d8d8;
212
+ display: block;
213
+ }
214
+ .halo-rich-text-editor .ProseMirror .grip-column:hover {
215
+ color: rgb(0, 101, 255);
216
+ }
217
+ .halo-rich-text-editor .ProseMirror .grip-column:hover > div {
218
+ font-size: 14px;
219
+ }
220
+ .halo-rich-text-editor .ProseMirror .grip-column:hover::before {
221
+ display: none;
222
+ }
223
+ .halo-rich-text-editor .ProseMirror .grip-column:hover::after {
224
+ background: #2584ff;
225
+ border-color: #2584ff;
226
+ }
227
+ .halo-rich-text-editor .ProseMirror .grip-column.last::after {
228
+ border-top-right-radius: 3px;
229
+ }
230
+ .halo-rich-text-editor .ProseMirror .grip-column.selected::after {
231
+ background: #2584ff;
232
+ border-color: #2584ff;
233
+ }
234
+ .halo-rich-text-editor .ProseMirror .grip-row {
235
+ position: absolute;
236
+ left: -12px;
237
+ top: -1px;
238
+ height: 100%;
239
+ }
240
+ .halo-rich-text-editor .ProseMirror .grip-row > div {
241
+ transform: translateY(8px);
242
+ position: absolute;
243
+ left: -16px;
244
+ bottom: 4px;
245
+ display: inline-block;
246
+ width: 16px;
247
+ height: 16px;
248
+ font-size: 0;
249
+ cursor: pointer;
250
+ }
251
+ .halo-rich-text-editor .ProseMirror .grip-row > div .plus-icon {
252
+ font-size: inherit;
253
+ }
254
+ .halo-rich-text-editor .ProseMirror .grip-row::before {
255
+ content: "";
256
+ position: absolute;
257
+ left: -10px;
258
+ bottom: -2px;
259
+ width: 4px;
260
+ height: 4px;
261
+ background-color: #d8d8d8;
262
+ border-radius: 50%;
263
+ display: block;
264
+ }
265
+ .halo-rich-text-editor .ProseMirror .grip-row::after {
266
+ box-sizing: content-box;
267
+ content: "";
268
+ cursor: pointer;
269
+ position: absolute;
74
270
  left: 0;
75
- right: 0;
76
271
  top: 0;
77
- bottom: 0;
78
- background: rgba(200, 200, 255, 0.4);
79
- pointer-events: none;
272
+ height: 100%;
273
+ width: 10px;
274
+ background: #f6f8fa;
275
+ border: 1px solid #d8d8d8;
276
+ display: block;
80
277
  }
81
- .halo-rich-text-editor .editor-content .ProseMirror table th,
82
- .halo-rich-text-editor .editor-content .ProseMirror table td {
83
- min-width: 1em;
84
- border: 2px solid #ced4da;
85
- padding: 3px 5px;
86
- vertical-align: top;
87
- box-sizing: border-box;
88
- position: relative;
89
- border-width: 1px;
278
+ .halo-rich-text-editor .ProseMirror .grip-row:hover {
279
+ color: rgb(0, 101, 255);
90
280
  }
91
- .halo-rich-text-editor .editor-content .ProseMirror table th > *,
92
- .halo-rich-text-editor .editor-content .ProseMirror table td > * {
93
- margin-top: 0;
94
- margin-bottom: 0;
281
+ .halo-rich-text-editor .ProseMirror .grip-row:hover > div {
282
+ font-size: 14px;
283
+ }
284
+ .halo-rich-text-editor .ProseMirror .grip-row:hover::before {
285
+ display: none;
95
286
  }
96
- .halo-rich-text-editor .editor-content .ProseMirror table .column-resize-handle {
287
+ .halo-rich-text-editor .ProseMirror .grip-row:hover::after {
288
+ background: #2584ff;
289
+ border-color: rgb(0, 101, 255);
290
+ }
291
+ .halo-rich-text-editor .ProseMirror .grip-row.last::after {
292
+ border-bottom-left-radius: 3px;
293
+ }
294
+ .halo-rich-text-editor .ProseMirror .grip-row.selected::after {
295
+ background: #2584ff;
296
+ border-color: rgb(0, 101, 255);
297
+ }
298
+ .halo-rich-text-editor .ProseMirror .grip-table::after {
299
+ box-sizing: content-box;
300
+ content: "";
301
+ cursor: pointer;
302
+ position: absolute;
303
+ top: -12px;
304
+ left: -12px;
305
+ display: block;
306
+ background: #f6f8fa;
307
+ width: 10px;
308
+ height: 10px;
309
+ border: 1px solid #d8d8d8;
310
+ border-top-left-radius: 3px;
311
+ }
312
+ .halo-rich-text-editor .ProseMirror .grip-table:hover::after {
313
+ background: #2584ff;
314
+ border-color: rgb(0, 101, 255);
315
+ }
316
+ .halo-rich-text-editor .ProseMirror .grip-table.selected::after {
317
+ background: #2584ff;
318
+ border-color: rgb(0, 101, 255);
319
+ }
320
+ .halo-rich-text-editor .ProseMirror .column-resize-handle {
97
321
  position: absolute;
98
- right: -2px;
99
322
  top: 0;
323
+ right: -2px;
100
324
  bottom: -2px;
101
325
  width: 4px;
102
- background-color: #adf;
103
326
  pointer-events: none;
104
- cursor: col-resize !important;
327
+ background-color: #adf;
328
+ z-index: 1;
105
329
  }
106
-
107
- .v-popper--theme-editor-block-dropdown .v-popper__inner {
108
- border-radius: 0.375rem;
109
- --tw-bg-opacity: 1;
110
- background-color: rgb(255 255 255 / var(--tw-bg-opacity));
111
- --tw-drop-shadow: drop-shadow(0 4px 3px rgb(0 0 0 / 0.07)) drop-shadow(0 2px 2px rgb(0 0 0 / 0.06));
112
- filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
330
+ .halo-rich-text-editor .ProseMirror.resize-cursor {
331
+ cursor: ew-resize;
332
+ cursor: col-resize;
113
333
  }
114
- .v-popper--theme-editor-block-dropdown .v-popper__arrow-container {
115
- display: none;
334
+ [data-drag-handle] {
335
+ position: absolute;
336
+ z-index: 100;
337
+ display: inline;
338
+ width: 16px;
339
+ height: 16px;
340
+ cursor: move;
341
+ background-color: #fff;
342
+ opacity: 0;
343
+ transition: opacity 0.3s ease-out;
344
+ background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='3' y='1' width='3' height='3' rx='1.5' fill='%23111'/%3E%3Crect x='10' y='1' width='3' height='3' rx='1.5' fill='%23111'/%3E%3Crect x='3' y='6' width='3' height='3' rx='1.5' fill='%23111'/%3E%3Crect x='10' y='6' width='3' height='3' rx='1.5' fill='%23111'/%3E%3Crect x='3' y='11' width='3' height='3' rx='1.5' fill='%23111'/%3E%3Crect x='10' y='11' width='3' height='3' rx='1.5' fill='%23111'/%3E%3C/svg%3E");
345
+ background-size: contain;
346
+ background-position: center 0;
347
+ background-repeat: no-repeat;
348
+ }
349
+ [data-drag-handle].show {
350
+ opacity: 0.3;
351
+ }
352
+ [data-drag-handle].show:hover {
353
+ opacity: 1;
354
+ }
355
+ [data-drag-handle].hide {
356
+ opacity: 0;
357
+ }
358
+ .halo-rich-text-editor .ProseMirror .columns {
359
+ margin-top: 0.75em;
360
+ }
361
+ .halo-rich-text-editor .ProseMirror .columns .column {
362
+ border: 1px solid #e7e9e8;
363
+ border-radius: 6px;
364
+ position: relative;
116
365
  }/*
117
366
  ! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com
118
367
  *//*
@@ -710,8 +959,13 @@ video {
710
959
  .w-full {
711
960
  width: 100%;
712
961
  }
713
- .-rotate-90 {
714
- --tw-rotate: -90deg;
962
+ .flex-1 {
963
+ flex: 1 1 0%;
964
+ }
965
+ .flex-shrink-0 {
966
+ flex-shrink: 0;
967
+ }
968
+ .transform {
715
969
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
716
970
  }
717
971
  .cursor-not-allowed {
@@ -797,6 +1051,9 @@ video {
797
1051
  .overflow-y-auto {
798
1052
  overflow-y: auto;
799
1053
  }
1054
+ .overflow-x-hidden {
1055
+ overflow-x: hidden;
1056
+ }
800
1057
  .rounded {
801
1058
  border-radius: 0.25rem;
802
1059
  }
@@ -854,12 +1111,6 @@ video {
854
1111
  --tw-bg-opacity: 1;
855
1112
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
856
1113
  }
857
- .p-0 {
858
- padding: 0px;
859
- }
860
- .p-0\.5 {
861
- padding: 0.125rem;
862
- }
863
1114
  .p-1 {
864
1115
  padding: 0.25rem;
865
1116
  }
@@ -967,6 +1218,13 @@ video {
967
1218
  .filter {
968
1219
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
969
1220
  }
1221
+ .transition {
1222
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
1223
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
1224
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
1225
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
1226
+ transition-duration: 150ms;
1227
+ }
970
1228
  .transition-all {
971
1229
  transition-property: all;
972
1230
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
@@ -1013,10 +1271,6 @@ video {
1013
1271
  display: block !important;
1014
1272
  }
1015
1273
 
1016
- .sm\:\!w-\[calc\(100\%-18rem\)\] {
1017
- width: calc(100% - 18rem) !important;
1018
- }
1019
-
1020
1274
  .sm\:\!justify-center {
1021
1275
  justify-content: center !important;
1022
1276
  }
@@ -2184,4 +2438,31 @@ pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5p
2184
2438
  line-height: 1rem;
2185
2439
  --tw-text-opacity: 1;
2186
2440
  color: rgb(75 85 99 / var(--tw-text-opacity))
2441
+ }.editor-block__actions-input {
2442
+ display: block;
2443
+ width: 8rem;
2444
+ border-radius: 0.375rem;
2445
+ border-width: 1px;
2446
+ --tw-border-opacity: 1;
2447
+ border-color: rgb(209 213 219 / var(--tw-border-opacity));
2448
+ --tw-bg-opacity: 1;
2449
+ background-color: rgb(249 250 251 / var(--tw-bg-opacity));
2450
+ padding-left: 0.5rem;
2451
+ padding-right: 0.5rem;
2452
+ padding-top: 0.25rem;
2453
+ padding-bottom: 0.25rem;
2454
+ font-size: 0.875rem;
2455
+ line-height: 1.25rem;
2456
+ --tw-text-opacity: 1;
2457
+ color: rgb(17 24 39 / var(--tw-text-opacity))
2458
+ }
2459
+ .editor-block__actions-input:hover {
2460
+ --tw-bg-opacity: 1;
2461
+ background-color: rgb(243 244 246 / var(--tw-bg-opacity))
2462
+ }
2463
+ .editor-block__actions-input:focus {
2464
+ --tw-border-opacity: 1;
2465
+ border-color: rgb(59 130 246 / var(--tw-border-opacity));
2466
+ --tw-ring-opacity: 1;
2467
+ --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity))
2187
2468
  }
@@ -0,0 +1,117 @@
1
+ import type { Editor, Range } from "@tiptap/core";
2
+ import type { Node, ResolvedPos, Slice } from "@tiptap/pm/model";
3
+ import type { EditorState } from "@tiptap/pm/state";
4
+ import type { EditorView } from "@tiptap/pm/view";
5
+ import type { Component } from "vue";
6
+ export interface ToolbarItem {
7
+ priority: number;
8
+ component: Component;
9
+ props: {
10
+ editor: Editor;
11
+ isActive: boolean;
12
+ disabled?: boolean;
13
+ icon?: Component;
14
+ title?: string;
15
+ action?: () => void;
16
+ };
17
+ children?: ToolbarItem[];
18
+ }
19
+ interface BubbleMenuProps {
20
+ pluginKey?: string;
21
+ editor?: Editor;
22
+ shouldShow: (props: {
23
+ editor: Editor;
24
+ state: EditorState;
25
+ node?: HTMLElement;
26
+ view?: EditorView;
27
+ oldState?: EditorState;
28
+ from?: number;
29
+ to?: number;
30
+ }) => boolean;
31
+ tippyOptions?: Record<string, unknown>;
32
+ getRenderContainer?: (node: HTMLElement) => HTMLElement;
33
+ defaultAnimation?: boolean;
34
+ }
35
+ export interface NodeBubbleMenu extends BubbleMenuProps {
36
+ component?: Component;
37
+ items?: BubbleItem[];
38
+ }
39
+ export interface BubbleItem {
40
+ priority: number;
41
+ component?: Component;
42
+ props?: {
43
+ isActive?: ({ editor }: {
44
+ editor: Editor;
45
+ }) => boolean;
46
+ visible?: ({ editor }: {
47
+ editor: Editor;
48
+ }) => boolean;
49
+ icon?: Component;
50
+ iconStyle?: string;
51
+ title?: string;
52
+ action?: ({ editor }: {
53
+ editor: Editor;
54
+ }) => Component | void;
55
+ };
56
+ }
57
+ export interface ToolboxItem {
58
+ priority: number;
59
+ component: Component;
60
+ props: {
61
+ editor: Editor;
62
+ icon?: Component;
63
+ title?: string;
64
+ description?: string;
65
+ action?: () => void;
66
+ };
67
+ }
68
+ export interface ExtensionOptions {
69
+ getToolbarItems?: ({ editor, }: {
70
+ editor: Editor;
71
+ }) => ToolbarItem | ToolbarItem[];
72
+ getCommandMenuItems?: () => CommandMenuItem | CommandMenuItem[];
73
+ getBubbleMenu?: ({ editor }: {
74
+ editor: Editor;
75
+ }) => NodeBubbleMenu;
76
+ getToolboxItems?: ({ editor, }: {
77
+ editor: Editor;
78
+ }) => ToolboxItem | ToolboxItem[];
79
+ getDraggable?: ({ editor }: {
80
+ editor: Editor;
81
+ }) => DraggableItem | boolean;
82
+ }
83
+ export interface CommandMenuItem {
84
+ priority: number;
85
+ icon: Component;
86
+ title: string;
87
+ keywords: string[];
88
+ command: ({ editor, range }: {
89
+ editor: Editor;
90
+ range: Range;
91
+ }) => void;
92
+ }
93
+ export interface DragSelectionNode {
94
+ $pos?: ResolvedPos;
95
+ node?: Node;
96
+ el: HTMLElement;
97
+ nodeOffset?: number;
98
+ dragDomOffset?: {
99
+ x?: number;
100
+ y?: number;
101
+ };
102
+ }
103
+ export interface DraggableItem {
104
+ getRenderContainer?: ({ dom, view, }: {
105
+ dom: HTMLElement;
106
+ view: EditorView;
107
+ }) => DragSelectionNode;
108
+ handleDrop?: ({ view, event, slice, insertPos, node, }: {
109
+ view: EditorView;
110
+ event: DragEvent;
111
+ slice: Slice;
112
+ insertPos: number;
113
+ node: Node;
114
+ }) => boolean | void;
115
+ allowPropagationDownward?: boolean;
116
+ }
117
+ export {};
@@ -0,0 +1,2 @@
1
+ import type { Editor } from "@tiptap/core";
2
+ export declare const deleteNode: (nodeType: string, editor: Editor) => boolean;
@@ -0,0 +1 @@
1
+ export * from "./delete-node";