velo-text 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.
Files changed (65) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +6 -6
  3. package/dist/adapters/backend/pdf-http.d.ts.map +1 -1
  4. package/dist/adapters/backend/pdf-http.js +12 -4
  5. package/dist/adapters/backend/pdf-http.js.map +1 -1
  6. package/dist/assets/icons/index.d.ts +2 -2
  7. package/dist/assets/icons/index.d.ts.map +1 -1
  8. package/dist/assets/icons/index.js +4 -1
  9. package/dist/assets/icons/index.js.map +1 -1
  10. package/dist/core/model/index.d.ts +1 -0
  11. package/dist/core/model/index.d.ts.map +1 -1
  12. package/dist/core/model/index.js +1 -0
  13. package/dist/core/model/index.js.map +1 -1
  14. package/dist/core/model/office-colors.d.ts +12 -0
  15. package/dist/core/model/office-colors.d.ts.map +1 -0
  16. package/dist/core/model/office-colors.js +68 -0
  17. package/dist/core/model/office-colors.js.map +1 -0
  18. package/dist/core/model/table-look.d.ts +13 -0
  19. package/dist/core/model/table-look.d.ts.map +1 -1
  20. package/dist/core/model/table-look.js +53 -11
  21. package/dist/core/model/table-look.js.map +1 -1
  22. package/dist/editor-web/controller/bar-chrome.d.ts +7 -2
  23. package/dist/editor-web/controller/bar-chrome.d.ts.map +1 -1
  24. package/dist/editor-web/controller/bar-chrome.js +141 -3
  25. package/dist/editor-web/controller/bar-chrome.js.map +1 -1
  26. package/dist/editor-web/controller/chrome-bar.d.ts +5 -0
  27. package/dist/editor-web/controller/chrome-bar.d.ts.map +1 -0
  28. package/dist/editor-web/controller/chrome-bar.js +20 -0
  29. package/dist/editor-web/controller/chrome-bar.js.map +1 -0
  30. package/dist/editor-web/controller/color-palette.d.ts +5 -0
  31. package/dist/editor-web/controller/color-palette.d.ts.map +1 -0
  32. package/dist/editor-web/controller/color-palette.js +48 -0
  33. package/dist/editor-web/controller/color-palette.js.map +1 -0
  34. package/dist/editor-web/controller/columns-ui.d.ts.map +1 -1
  35. package/dist/editor-web/controller/columns-ui.js +23 -12
  36. package/dist/editor-web/controller/columns-ui.js.map +1 -1
  37. package/dist/editor-web/controller/format-commands.d.ts.map +1 -1
  38. package/dist/editor-web/controller/format-commands.js +30 -11
  39. package/dist/editor-web/controller/format-commands.js.map +1 -1
  40. package/dist/editor-web/controller/place-overlay.js +1 -1
  41. package/dist/editor-web/controller/place-overlay.js.map +1 -1
  42. package/dist/editor-web/controller/table-ui.d.ts.map +1 -1
  43. package/dist/editor-web/controller/table-ui.js +77 -56
  44. package/dist/editor-web/controller/table-ui.js.map +1 -1
  45. package/dist/editor-web/toolbar/wire-playground.d.ts.map +1 -1
  46. package/dist/editor-web/toolbar/wire-playground.js +115 -12
  47. package/dist/editor-web/toolbar/wire-playground.js.map +1 -1
  48. package/dist/editor-web/view/parse.d.ts.map +1 -1
  49. package/dist/editor-web/view/parse.js +28 -18
  50. package/dist/editor-web/view/parse.js.map +1 -1
  51. package/dist/editor-web/view/render.d.ts.map +1 -1
  52. package/dist/editor-web/view/render.js +16 -7
  53. package/dist/editor-web/view/render.js.map +1 -1
  54. package/dist/export/pdf/layout-table.d.ts.map +1 -1
  55. package/dist/export/pdf/layout-table.js +9 -7
  56. package/dist/export/pdf/layout-table.js.map +1 -1
  57. package/dist/export/pdf/stream.d.ts.map +1 -1
  58. package/dist/export/pdf/stream.js +14 -5
  59. package/dist/export/pdf/stream.js.map +1 -1
  60. package/package.json +1 -1
  61. package/skill/editor.md +2 -2
  62. package/skill/themes.md +2 -0
  63. package/themes/components.css +8 -0
  64. package/themes/editor-chrome.css +19 -23
  65. package/themes/editor-overlays.css +291 -14
@@ -55,6 +55,7 @@
55
55
  }
56
56
  .pde-block-menu button:hover { background: var(--pde-color-selection); }
57
57
  .pde-block-menu .pde-icon { color: var(--pde-color-muted); }
58
+ .pde-block-menu button span { min-width: 0; }
58
59
 
59
60
  /* Image resize */
60
61
  .pde-image-resize {
@@ -107,17 +108,29 @@
107
108
  z-index: 26;
108
109
  cursor: col-resize;
109
110
  }
111
+ .pde-toolbar .pde-table-bar {
112
+ position: static;
113
+ z-index: auto;
114
+ width: auto;
115
+ max-width: none;
116
+ overflow: visible;
117
+ padding: 0;
118
+ border: none;
119
+ background: transparent;
120
+ box-shadow: none;
121
+ border-radius: 0;
122
+ }
110
123
  .pde-table-bar {
111
124
  position: absolute;
112
125
  z-index: 28;
113
126
  display: flex;
114
- flex-wrap: nowrap;
127
+ flex-wrap: wrap;
115
128
  align-items: center;
116
129
  gap: 2px;
117
130
  padding: 4px;
118
131
  width: max-content;
119
- max-width: 100%;
120
- overflow-x: auto;
132
+ max-width: min(100%, 28rem);
133
+ overflow: visible;
121
134
  border: 1px solid var(--pde-color-border);
122
135
  background: var(--pde-color-surface);
123
136
  border-radius: var(--pde-radius-md);
@@ -126,8 +139,8 @@
126
139
  font-family: var(--pde-font-ui);
127
140
  }
128
141
  .pde-table-bar button {
129
- min-width: 28px;
130
- height: 28px;
142
+ min-width: var(--pde-control-size, 28px);
143
+ height: var(--pde-control-size, 28px);
131
144
  display: inline-flex;
132
145
  align-items: center;
133
146
  justify-content: center;
@@ -147,17 +160,59 @@
147
160
  min-width: 3.2em;
148
161
  }
149
162
  .pde-table-menu { min-width: 200px; }
163
+ .pde-block-menu.pde-table-rowcol-menu {
164
+ min-width: 0;
165
+ width: max-content;
166
+ max-width: none;
167
+ flex-direction: row;
168
+ align-items: center;
169
+ gap: 2px;
170
+ padding: 4px 6px;
171
+ overflow: visible;
172
+ }
173
+ .pde-block-menu.pde-table-rowcol-menu button {
174
+ width: var(--pde-control-size, 28px);
175
+ min-width: var(--pde-control-size, 28px);
176
+ max-width: var(--pde-control-size, 28px);
177
+ min-height: var(--pde-control-size, 28px);
178
+ height: var(--pde-control-size, 28px);
179
+ padding: 0;
180
+ gap: 0;
181
+ justify-content: center;
182
+ }
183
+ .pde-block-menu.pde-table-style-menu {
184
+ min-width: 0;
185
+ width: max-content;
186
+ max-width: none;
187
+ flex-direction: row;
188
+ align-items: center;
189
+ gap: 0;
190
+ padding: 4px 6px;
191
+ overflow: visible;
192
+ }
193
+ .pde-block-menu.pde-table-style-menu button:not(.pde-color-swatch) {
194
+ width: var(--pde-control-size, 28px);
195
+ min-width: var(--pde-control-size, 28px);
196
+ max-width: var(--pde-control-size, 28px);
197
+ min-height: var(--pde-control-size, 28px);
198
+ height: var(--pde-control-size, 28px);
199
+ padding: 0;
200
+ gap: 0;
201
+ justify-content: center;
202
+ }
150
203
 
151
204
  /* Toolbar */
152
205
  .pde-toolbar {
206
+ --pde-toolbar-gap: 4px;
153
207
  display: flex;
154
208
  align-items: center;
155
209
  justify-content: center;
156
210
  flex-wrap: wrap;
157
- gap: 2px;
211
+ gap: var(--pde-toolbar-gap) 0;
158
212
  padding: 8px;
159
213
  margin: 0 auto 16px;
160
214
  max-width: 860px;
215
+ overflow: visible;
161
216
  background: var(--pde-color-surface);
162
217
  border: 1px solid var(--pde-color-border);
163
218
  border-radius: var(--pde-radius-md);
@@ -165,23 +220,37 @@
165
220
  }
166
221
  .pde-toolbar-group {
167
222
  display: flex;
168
- gap: 2px;
169
- padding: 0 6px;
223
+ flex-wrap: wrap;
224
+ align-items: center;
225
+ gap: var(--pde-toolbar-gap, 4px);
226
+ margin: 0;
227
+ padding: 0 var(--pde-toolbar-gap, 4px);
170
228
  border-right: 1px solid var(--pde-color-border);
171
229
  }
172
- .pde-toolbar-group:last-child { border-right: none; }
230
+ .pde-toolbar-group:first-child { padding-left: 0; }
231
+ .pde-toolbar-group:last-child {
232
+ padding-right: 0;
233
+ border-right: none;
234
+ }
173
235
  .pde-toolbar button {
174
236
  display: inline-flex;
175
237
  align-items: center;
176
238
  justify-content: center;
177
- width: 32px;
178
- height: 32px;
239
+ width: var(--pde-control-size, 28px);
240
+ height: var(--pde-control-size, 28px);
179
241
  border: none;
180
242
  border-radius: var(--pde-radius-sm);
181
243
  background: none;
182
244
  color: var(--pde-color-text);
183
245
  cursor: pointer;
184
246
  }
247
+ .pde-toolbar button.pg-tb-drop {
248
+ width: var(--pde-control-size, 28px);
249
+ min-width: var(--pde-control-size, 28px);
250
+ padding: 0;
251
+ gap: 0;
252
+ }
253
+ .pde-toolbar button.pg-tb-drop .pde-icon:last-of-type { display: none; }
185
254
  .pde-toolbar button:hover { background: var(--pde-color-selection); }
186
255
  .pde-toolbar button[aria-pressed="true"],
187
256
  .pde-toolbar button.active { background: var(--pde-color-selection); color: var(--pde-color-primary); }
@@ -280,8 +349,8 @@
280
349
  max-width: min(100%, 360px);
281
350
  }
282
351
  .pde-sel-bubble button {
283
- min-width: 28px;
284
- height: 28px;
352
+ min-width: var(--pde-control-size, 28px);
353
+ height: var(--pde-control-size, 28px);
285
354
  display: inline-flex;
286
355
  align-items: center;
287
356
  justify-content: center;
@@ -402,7 +471,215 @@
402
471
  }
403
472
  .pde-block-menu button .pde-icon { color: var(--pde-color-muted); }
404
473
  .pde-block-menu button:hover .pde-icon { color: var(--pde-color-primary); }
405
- .pde-table-menu { min-width: 200px; max-height: min(70vh, 480px); overflow-y: auto; overflow-x: hidden; }
474
+ .pde-cell-fill-pad {
475
+ display: flex;
476
+ flex-direction: column;
477
+ min-width: 140px;
478
+ padding: 4px;
479
+ gap: 4px;
480
+ }
481
+ .pde-cell-fill-pad .pg-tb-row {
482
+ display: flex;
483
+ align-items: center;
484
+ justify-content: space-between;
485
+ gap: 8px;
486
+ padding: 4px 6px;
487
+ font-size: 12px;
488
+ }
489
+ .pde-cell-fill-pad input[type="color"] {
490
+ width: 28px;
491
+ height: 22px;
492
+ padding: 0;
493
+ border: 1px solid var(--pde-color-border);
494
+ background: transparent;
495
+ }
496
+ .pde-table-style-menu {
497
+ min-width: 0;
498
+ width: max-content;
499
+ max-width: none;
500
+ overflow: visible;
501
+ display: flex;
502
+ flex-direction: row;
503
+ align-items: center;
504
+ padding: 4px 6px;
505
+ }
506
+ .pde-style-pad {
507
+ display: flex;
508
+ flex-direction: row;
509
+ align-items: center;
510
+ }
511
+ .pde-style-row {
512
+ display: inline-flex;
513
+ flex-direction: row;
514
+ align-items: center;
515
+ gap: 2px;
516
+ }
517
+ .pde-style-sep {
518
+ padding: 0 8px;
519
+ color: var(--pde-color-muted);
520
+ font-size: 13px;
521
+ line-height: 1;
522
+ user-select: none;
523
+ }
524
+ .pde-table-style-menu button:not(.pde-color-swatch) {
525
+ min-width: var(--pde-control-size, 28px);
526
+ width: var(--pde-control-size, 28px);
527
+ max-width: var(--pde-control-size, 28px);
528
+ min-height: var(--pde-control-size, 28px);
529
+ height: var(--pde-control-size, 28px);
530
+ padding: 0;
531
+ gap: 0;
532
+ justify-content: center;
533
+ }
534
+ .pde-style-pad button[aria-pressed="true"] {
535
+ background: var(--pde-color-selection, #e8efff);
536
+ color: var(--pde-color-primary, #3659e3);
537
+ box-shadow: inset 0 -2px 0 var(--pde-color-primary, #3659e3);
538
+ }
539
+ .pde-toolbar button[aria-pressed="true"],
540
+ .pde-toolbar .pg-tb-drop[aria-pressed="true"],
541
+ .pde-bar-drop[aria-pressed="true"],
542
+ .pg-tb-item[aria-pressed="true"],
543
+ .pg-tb-row--on {
544
+ box-shadow: inset 0 -2px 0 var(--pde-color-primary, #3659e3);
545
+ }
546
+ .pde-color-palette-float {
547
+ z-index: 10000 !important;
548
+ }
549
+ .pde-cell-swatch-wrap {
550
+ position: relative;
551
+ display: inline-flex;
552
+ align-items: center;
553
+ }
554
+ .pde-cell-swatch-wrap .pde-color-palette,
555
+ .pg-tb-menu--type .pde-color-palette {
556
+ z-index: 500;
557
+ }
558
+ .pde-cell-swatch-wrap .pde-color-palette {
559
+ position: absolute;
560
+ top: calc(100% + 4px);
561
+ left: 0;
562
+ background: var(--pde-color-bg, #fff);
563
+ border: 1px solid var(--pde-color-border);
564
+ border-radius: 6px;
565
+ box-shadow: var(--pde-shadow-panel);
566
+ }
567
+ .pde-color-palette {
568
+ display: flex;
569
+ flex-direction: column;
570
+ gap: 2px;
571
+ padding: 6px;
572
+ }
573
+ .pde-color-row {
574
+ display: flex;
575
+ flex-direction: row;
576
+ gap: 2px;
577
+ }
578
+ .pde-color-swatch {
579
+ width: 14px;
580
+ height: 14px;
581
+ min-width: 14px;
582
+ min-height: 14px;
583
+ padding: 0;
584
+ border: 1px solid rgb(0 0 0 / 18%);
585
+ border-radius: 1px;
586
+ cursor: pointer;
587
+ }
588
+ .pde-color-swatch[aria-selected="true"] {
589
+ outline: 2px solid var(--pde-color-primary);
590
+ outline-offset: 0;
591
+ }
592
+ .pde-color-rule {
593
+ height: 1px;
594
+ margin: 3px 0;
595
+ background: var(--pde-color-border);
596
+ }
597
+ .pde-color-label {
598
+ font-size: 11px;
599
+ color: var(--pde-color-muted);
600
+ padding: 4px 0 2px;
601
+ }
602
+ .pde-color-chip {
603
+ width: 16px;
604
+ height: 16px;
605
+ padding: 0;
606
+ border: 1px solid var(--pde-color-border);
607
+ border-radius: 2px;
608
+ background: #000;
609
+ cursor: pointer;
610
+ flex: 0 0 auto;
611
+ margin-left: auto;
612
+ }
613
+ .pde-toolbar .pde-cell-swatch,
614
+ .pde-table-bar .pde-cell-swatch {
615
+ position: relative;
616
+ width: var(--pde-control-size, 28px);
617
+ height: var(--pde-control-size, 28px);
618
+ min-width: var(--pde-control-size, 28px);
619
+ min-height: var(--pde-control-size, 28px);
620
+ padding: 0 0 4px;
621
+ background: transparent;
622
+ display: inline-flex;
623
+ align-items: center;
624
+ justify-content: center;
625
+ }
626
+ .pde-cell-swatch::after {
627
+ content: "";
628
+ position: absolute;
629
+ left: 5px;
630
+ right: 5px;
631
+ bottom: 3px;
632
+ height: 3px;
633
+ border-radius: 1px;
634
+ background: var(--pde-cell-fill, #fff);
635
+ box-shadow: inset 0 0 0 1px rgb(0 0 0 / 22%);
636
+ }
637
+ .pde-color-palette {
638
+ background: var(--pde-color-bg, #fff);
639
+ }
640
+ .pg-tb-menu.pg-tb-menu--type {
641
+ min-width: 196px;
642
+ width: max-content;
643
+ max-width: min(240px, calc(100vw - 16px));
644
+ padding: 6px;
645
+ gap: 2px;
646
+ }
647
+ .pg-tb-menu--type .pg-tb-row {
648
+ display: flex;
649
+ align-items: center;
650
+ justify-content: space-between;
651
+ gap: 8px;
652
+ min-height: 26px;
653
+ padding: 2px 4px;
654
+ font-size: 12px;
655
+ }
656
+ .pg-tb-menu--type .pg-tb-row span {
657
+ flex: 1;
658
+ min-width: 0;
659
+ }
660
+ .pg-tb-menu--type .pg-tb-row input[type="color"],
661
+ .pg-tb-menu--type .pg-tb-row select {
662
+ margin-left: auto;
663
+ flex: 0 0 auto;
664
+ }
665
+ .pg-tb-menu--type .pg-tb-row input[type="color"] {
666
+ width: 20px;
667
+ height: 16px;
668
+ padding: 0;
669
+ border: 1px solid var(--pde-color-border);
670
+ border-radius: 3px;
671
+ background: none;
672
+ }
673
+ .pg-tb-menu--type .pg-tb-row select {
674
+ font: inherit;
675
+ font-size: 11px;
676
+ padding: 1px 2px;
677
+ max-width: 108px;
678
+ border-radius: 4px;
679
+ border: 1px solid var(--pde-color-border);
680
+ background: var(--pde-color-surface);
681
+ color: inherit;
682
+ }
406
683
  .pde-submenu-wrap { display: flex; flex-direction: column; }
407
684
  .pde-submenu-wrap > button.pde-submenu-trigger { width: 100%; justify-content: flex-start; }
408
685
  .pde-submenu-wrap > button.pde-submenu-trigger .pde-icon:last-child { margin-left: auto; }