ct-rich-text-editor 1.2.9 → 1.3.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.
Files changed (41) hide show
  1. package/dist/assets/style.css +440 -193
  2. package/dist/{babel-d155920e.js → babel-d3085146.js} +3565 -3292
  3. package/dist/babel-d3085146.js.map +1 -0
  4. package/dist/components/CodeActionMenuPlugin/utils.d.ts +1 -1
  5. package/dist/{estree-b1fff53b.js → estree-164983f6.js} +1763 -1778
  6. package/dist/estree-164983f6.js.map +1 -0
  7. package/dist/hooks/useDebounce.d.ts +1 -1
  8. package/dist/{html-f95ee5dc.js → html-5586dbf6.js} +701 -656
  9. package/dist/html-5586dbf6.js.map +1 -0
  10. package/dist/{html2pdf.bundle-583538f8.js → html2pdf.bundle-f23e1b00.js} +2 -2
  11. package/dist/html2pdf.bundle-f23e1b00.js.map +1 -0
  12. package/dist/{html2pdf.bundle.min-bc7d5952.js → html2pdf.bundle.min-daf952fb.js} +2 -2
  13. package/dist/html2pdf.bundle.min-daf952fb.js.map +1 -0
  14. package/dist/{index-91238d37.js → index-10f9d057.js} +7 -11
  15. package/dist/index-10f9d057.js.map +1 -0
  16. package/dist/{index-9d28aec6.js → index-8d147c36.js} +1243 -658
  17. package/dist/index-8d147c36.js.map +1 -0
  18. package/dist/index.js +1 -1
  19. package/dist/{markdown-1d9e6c3f.js → markdown-d513479b.js} +1836 -1789
  20. package/dist/markdown-d513479b.js.map +1 -0
  21. package/dist/plugins/CombinedAutocompletGrammarPlugin.d.ts +22 -0
  22. package/dist/{postcss-c2592f3f.js → postcss-f084f74d.js} +1378 -1357
  23. package/dist/postcss-f084f74d.js.map +1 -0
  24. package/dist/standalone-5a8c6b7e.js +2518 -0
  25. package/dist/standalone-5a8c6b7e.js.map +1 -0
  26. package/dist/typescript-b1005db4.js +13705 -0
  27. package/dist/typescript-b1005db4.js.map +1 -0
  28. package/package.json +1 -1
  29. package/dist/babel-d155920e.js.map +0 -1
  30. package/dist/estree-b1fff53b.js.map +0 -1
  31. package/dist/html-f95ee5dc.js.map +0 -1
  32. package/dist/html2pdf.bundle-583538f8.js.map +0 -1
  33. package/dist/html2pdf.bundle.min-bc7d5952.js.map +0 -1
  34. package/dist/index-91238d37.js.map +0 -1
  35. package/dist/index-9d28aec6.js.map +0 -1
  36. package/dist/markdown-1d9e6c3f.js.map +0 -1
  37. package/dist/postcss-c2592f3f.js.map +0 -1
  38. package/dist/standalone-bcc7f37a.js +0 -2649
  39. package/dist/standalone-bcc7f37a.js.map +0 -1
  40. package/dist/typescript-48c10f50.js +0 -13601
  41. package/dist/typescript-48c10f50.js.map +0 -1
@@ -181,7 +181,8 @@ Add the correct text decoration in Chrome, Edge, and Safari.
181
181
  */
182
182
 
183
183
  abbr:where([title]) {
184
- text-decoration: underline dotted;
184
+ -webkit-text-decoration: underline dotted;
185
+ text-decoration: underline dotted;
185
186
  }
186
187
 
187
188
  /*
@@ -815,6 +816,10 @@ video {
815
816
  display: inline-block;
816
817
  }
817
818
 
819
+ .cteditor-inline{
820
+ display: inline;
821
+ }
822
+
818
823
  .cteditor-flex{
819
824
  display: flex;
820
825
  }
@@ -965,6 +970,14 @@ video {
965
970
  height: 1px;
966
971
  }
967
972
 
973
+ .cteditor-max-h-56{
974
+ max-height: 14rem;
975
+ }
976
+
977
+ .cteditor-max-h-60{
978
+ max-height: 15rem;
979
+ }
980
+
968
981
  .cteditor-max-h-64{
969
982
  max-height: 16rem;
970
983
  }
@@ -1242,8 +1255,9 @@ video {
1242
1255
  }
1243
1256
 
1244
1257
  .cteditor-select-none{
1245
- -moz-user-select: none;
1246
- user-select: none;
1258
+ -webkit-user-select: none;
1259
+ -moz-user-select: none;
1260
+ user-select: none;
1247
1261
  }
1248
1262
 
1249
1263
  .cteditor-resize-none{
@@ -1280,6 +1294,10 @@ video {
1280
1294
  flex-wrap: wrap;
1281
1295
  }
1282
1296
 
1297
+ .cteditor-flex-nowrap{
1298
+ flex-wrap: nowrap;
1299
+ }
1300
+
1283
1301
  .cteditor-items-start{
1284
1302
  align-items: flex-start;
1285
1303
  }
@@ -1384,10 +1402,6 @@ video {
1384
1402
  margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
1385
1403
  }
1386
1404
 
1387
- .cteditor-overflow-auto{
1388
- overflow: auto;
1389
- }
1390
-
1391
1405
  .cteditor-overflow-hidden{
1392
1406
  overflow: hidden;
1393
1407
  }
@@ -1471,6 +1485,10 @@ video {
1471
1485
  border-bottom-width: 1px;
1472
1486
  }
1473
1487
 
1488
+ .cteditor-border-b-2{
1489
+ border-bottom-width: 2px;
1490
+ }
1491
+
1474
1492
  .cteditor-border-l{
1475
1493
  border-left-width: 1px;
1476
1494
  }
@@ -1589,6 +1607,10 @@ video {
1589
1607
  border-color: hsl(var(--cteditorf47ac10b-primary) / 0.2);
1590
1608
  }
1591
1609
 
1610
+ .cteditor-border-primary\/40{
1611
+ border-color: hsl(var(--cteditorf47ac10b-primary) / 0.4);
1612
+ }
1613
+
1592
1614
  .cteditor-border-red-200{
1593
1615
  --tw-border-opacity: 1;
1594
1616
  border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
@@ -1748,6 +1770,10 @@ video {
1748
1770
  background-color: hsl(var(--cteditorf47ac10b-muted));
1749
1771
  }
1750
1772
 
1773
+ .cteditor-bg-muted\/30{
1774
+ background-color: hsl(var(--cteditorf47ac10b-muted) / 0.3);
1775
+ }
1776
+
1751
1777
  .cteditor-bg-muted\/50{
1752
1778
  background-color: hsl(var(--cteditorf47ac10b-muted) / 0.5);
1753
1779
  }
@@ -1808,6 +1834,10 @@ video {
1808
1834
  background-color: rgb(254 252 232 / var(--tw-bg-opacity, 1));
1809
1835
  }
1810
1836
 
1837
+ .cteditor-bg-gradient-to-br{
1838
+ background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
1839
+ }
1840
+
1811
1841
  .cteditor-bg-gradient-to-r{
1812
1842
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
1813
1843
  }
@@ -1818,11 +1848,21 @@ video {
1818
1848
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
1819
1849
  }
1820
1850
 
1851
+ .cteditor-from-primary\/10{
1852
+ --tw-gradient-from: hsl(var(--cteditorf47ac10b-primary) / 0.1) var(--tw-gradient-from-position);
1853
+ --tw-gradient-to: hsl(var(--cteditorf47ac10b-primary) / 0) var(--tw-gradient-to-position);
1854
+ --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
1855
+ }
1856
+
1821
1857
  .cteditor-via-primary\/10{
1822
1858
  --tw-gradient-to: hsl(var(--cteditorf47ac10b-primary) / 0) var(--tw-gradient-to-position);
1823
1859
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--cteditorf47ac10b-primary) / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
1824
1860
  }
1825
1861
 
1862
+ .cteditor-to-accent\/10{
1863
+ --tw-gradient-to: hsl(var(--cteditorf47ac10b-accent) / 0.1) var(--tw-gradient-to-position);
1864
+ }
1865
+
1826
1866
  .cteditor-to-background{
1827
1867
  --tw-gradient-to: hsl(var(--cteditorf47ac10b-background)) var(--tw-gradient-to-position);
1828
1868
  }
@@ -2137,10 +2177,6 @@ video {
2137
2177
  color: rgb(120 53 15 / var(--tw-text-opacity, 1));
2138
2178
  }
2139
2179
 
2140
- .cteditor-text-background{
2141
- color: hsl(var(--cteditorf47ac10b-background));
2142
- }
2143
-
2144
2180
  .cteditor-text-black{
2145
2181
  --tw-text-opacity: 1;
2146
2182
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));
@@ -2303,8 +2339,8 @@ video {
2303
2339
  text-underline-offset: 4px;
2304
2340
  }
2305
2341
 
2306
- .cteditor-caret-\[\#757575\]{
2307
- caret-color: #757575;
2342
+ .cteditor-caret-\[\#3b82f6\]{
2343
+ caret-color: #3b82f6;
2308
2344
  }
2309
2345
 
2310
2346
  .cteditor-opacity-0{
@@ -2376,6 +2412,11 @@ video {
2376
2412
  --tw-ring-offset-color: hsl(var(--cteditorf47ac10b-background));
2377
2413
  }
2378
2414
 
2415
+ .cteditor-backdrop-blur-md{
2416
+ --tw-backdrop-blur: blur(12px);
2417
+ backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
2418
+ }
2419
+
2379
2420
  .cteditor-backdrop-blur-sm{
2380
2421
  --tw-backdrop-blur: blur(4px);
2381
2422
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
@@ -2576,6 +2617,35 @@ body.dark ::-webkit-scrollbar-thumb {
2576
2617
  background-color: transparent !important;
2577
2618
  }
2578
2619
 
2620
+ .PlaygroundEditorTheme__tableCellHeader,
2621
+ .PlaygroundEditorTheme__table th,
2622
+ .PlaygroundEditorTheme__table td.PlaygroundEditorTheme__tableCellHeader {
2623
+ white-space: nowrap !important;
2624
+ overflow: hidden !important;
2625
+ max-height: 40px !important;
2626
+ line-height: 1.2 !important;
2627
+ }
2628
+
2629
+ /* Prevent wrapping in all nested elements inside table headers */
2630
+
2631
+ .PlaygroundEditorTheme__tableCellHeader *,
2632
+ .PlaygroundEditorTheme__table th *,
2633
+ .PlaygroundEditorTheme__table td.PlaygroundEditorTheme__tableCellHeader * {
2634
+ white-space: nowrap !important;
2635
+ display: inline !important;
2636
+ margin: 0 !important;
2637
+ padding: 0 !important;
2638
+ line-height: 1.2 !important;
2639
+ }
2640
+
2641
+ /* Force br tags to not create new lines in headers */
2642
+
2643
+ .PlaygroundEditorTheme__tableCellHeader br,
2644
+ .PlaygroundEditorTheme__table th br,
2645
+ .PlaygroundEditorTheme__table td.PlaygroundEditorTheme__tableCellHeader br {
2646
+ display: none !important;
2647
+ }
2648
+
2579
2649
  .editor .PlaygroundEditorTheme__tableAddRows,
2580
2650
  .editor .PlaygroundEditorTheme__tableAddColumns {
2581
2651
  background-color: hsla(var(--cteditorf47ac10b-foreground));
@@ -2657,6 +2727,37 @@ body .ai-chat-popup .ai-chat-input {
2657
2727
  }
2658
2728
  }
2659
2729
 
2730
+ /* Editor responsive styles - ensure proper box-sizing and scrolling */
2731
+
2732
+ #ct-editor-f47ac10b * {
2733
+ box-sizing: border-box;
2734
+ }
2735
+
2736
+ /* Better scrollbar styling for toolbar and overflow areas */
2737
+
2738
+ #ct-editor-f47ac10b .cteditor-overflow-x-auto::-webkit-scrollbar {
2739
+ height: 6px;
2740
+ }
2741
+
2742
+ #ct-editor-f47ac10b .cteditor-overflow-x-auto::-webkit-scrollbar-track {
2743
+ background: transparent;
2744
+ }
2745
+
2746
+ #ct-editor-f47ac10b .cteditor-overflow-x-auto::-webkit-scrollbar-thumb {
2747
+ background: hsl(var(--cteditorf47ac10b-border));
2748
+ border-radius: 3px;
2749
+ }
2750
+
2751
+ #ct-editor-f47ac10b .cteditor-overflow-x-auto::-webkit-scrollbar-thumb:hover {
2752
+ background: hsl(var(--cteditorf47ac10b-foreground) / 0.3);
2753
+ }
2754
+
2755
+ /* Ensure toolbar items don't shrink on small screens */
2756
+
2757
+ #ct-editor-f47ac10b [data-toolbar-item] {
2758
+ flex-shrink: 0;
2759
+ }
2760
+
2660
2761
  .file\:cteditor-border-0::file-selector-button{
2661
2762
  border-width: 0px;
2662
2763
  }
@@ -2706,6 +2807,11 @@ body .ai-chat-popup .ai-chat-input {
2706
2807
  content: var(--tw-content);
2707
2808
  }
2708
2809
 
2810
+ .hover\:cteditor-translate-x-\[1px\]:hover{
2811
+ --tw-translate-x: 1px;
2812
+ 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));
2813
+ }
2814
+
2709
2815
  .hover\:cteditor-scale-105:hover{
2710
2816
  --tw-scale-x: 1.05;
2711
2817
  --tw-scale-y: 1.05;
@@ -2733,6 +2839,10 @@ body .ai-chat-popup .ai-chat-input {
2733
2839
  border-color: hsl(var(--cteditorf47ac10b-primary));
2734
2840
  }
2735
2841
 
2842
+ .hover\:cteditor-border-primary\/30:hover{
2843
+ border-color: hsl(var(--cteditorf47ac10b-primary) / 0.3);
2844
+ }
2845
+
2736
2846
  .hover\:cteditor-border-white:hover{
2737
2847
  --tw-border-opacity: 1;
2738
2848
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
@@ -2791,6 +2901,15 @@ body .ai-chat-popup .ai-chat-input {
2791
2901
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
2792
2902
  }
2793
2903
 
2904
+ .hover\:cteditor-bg-green-100:hover{
2905
+ --tw-bg-opacity: 1;
2906
+ background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
2907
+ }
2908
+
2909
+ .hover\:cteditor-bg-muted\/50:hover{
2910
+ background-color: hsl(var(--cteditorf47ac10b-muted) / 0.5);
2911
+ }
2912
+
2794
2913
  .hover\:cteditor-bg-muted\/80:hover{
2795
2914
  background-color: hsl(var(--cteditorf47ac10b-muted) / 0.8);
2796
2915
  }
@@ -2867,6 +2986,12 @@ body .ai-chat-popup .ai-chat-input {
2867
2986
  opacity: 1;
2868
2987
  }
2869
2988
 
2989
+ .hover\:cteditor-shadow:hover{
2990
+ --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
2991
+ --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
2992
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
2993
+ }
2994
+
2870
2995
  .hover\:cteditor-shadow-lg:hover{
2871
2996
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
2872
2997
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
@@ -2986,6 +3111,16 @@ body .ai-chat-popup .ai-chat-input {
2986
3111
  opacity: 0.5;
2987
3112
  }
2988
3113
 
3114
+ .cteditor-group:hover .group-hover\:cteditor-from-primary\/20{
3115
+ --tw-gradient-from: hsl(var(--cteditorf47ac10b-primary) / 0.2) var(--tw-gradient-from-position);
3116
+ --tw-gradient-to: hsl(var(--cteditorf47ac10b-primary) / 0) var(--tw-gradient-to-position);
3117
+ --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
3118
+ }
3119
+
3120
+ .cteditor-group:hover .group-hover\:cteditor-to-accent\/20{
3121
+ --tw-gradient-to: hsl(var(--cteditorf47ac10b-accent) / 0.2) var(--tw-gradient-to-position);
3122
+ }
3123
+
2989
3124
  .cteditor-group:hover .group-hover\:cteditor-text-foreground{
2990
3125
  color: hsl(var(--cteditorf47ac10b-foreground));
2991
3126
  }
@@ -3221,6 +3356,11 @@ body .ai-chat-popup .ai-chat-input {
3221
3356
  border-color: rgb(133 77 14 / var(--tw-border-opacity, 1));
3222
3357
  }
3223
3358
 
3359
+ .dark\:cteditor-bg-\[\#0b0b0b\]:is(.cteditor-dark *){
3360
+ --tw-bg-opacity: 1;
3361
+ background-color: rgb(11 11 11 / var(--tw-bg-opacity, 1));
3362
+ }
3363
+
3224
3364
  .dark\:cteditor-bg-amber-950\/50:is(.cteditor-dark *){
3225
3365
  background-color: rgb(69 26 3 / 0.5);
3226
3366
  }
@@ -3315,6 +3455,11 @@ body .ai-chat-popup .ai-chat-input {
3315
3455
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
3316
3456
  }
3317
3457
 
3458
+ .dark\:cteditor-text-white:is(.cteditor-dark *){
3459
+ --tw-text-opacity: 1;
3460
+ color: rgb(255 255 255 / var(--tw-text-opacity, 1));
3461
+ }
3462
+
3318
3463
  .dark\:cteditor-text-yellow-400:is(.cteditor-dark *){
3319
3464
  --tw-text-opacity: 1;
3320
3465
  color: rgb(250 204 21 / var(--tw-text-opacity, 1));
@@ -3322,6 +3467,10 @@ body .ai-chat-popup .ai-chat-input {
3322
3467
 
3323
3468
  @media (min-width: 640px){
3324
3469
 
3470
+ .sm\:cteditor-inline{
3471
+ display: inline;
3472
+ }
3473
+
3325
3474
  .sm\:cteditor-w-\[400px\]{
3326
3475
  width: 400px;
3327
3476
  }
@@ -3409,8 +3558,9 @@ body .ai-chat-popup .ai-chat-input {
3409
3558
  }
3410
3559
 
3411
3560
  .\[\&\>button\]\:cteditor-select-none>button{
3412
- -moz-user-select: none;
3413
- user-select: none;
3561
+ -webkit-user-select: none;
3562
+ -moz-user-select: none;
3563
+ user-select: none;
3414
3564
  }
3415
3565
 
3416
3566
  .\[\&\>button\]\:cteditor-items-center>button{
@@ -3548,8 +3698,65 @@ body .ai-chat-popup .ai-chat-input {
3548
3698
 
3549
3699
  .\[\&_svg\]\:cteditor-shrink-0 svg{
3550
3700
  flex-shrink: 0;
3551
- }
3552
- #ct-editor-f47ac10b {
3701
+ }#ct-editor-f47ac10b {
3702
+ /* Responsive container styles for constrained spaces */
3703
+ .editor-container {
3704
+ max-width: 100%;
3705
+ overflow-wrap: break-word;
3706
+ word-wrap: break-word;
3707
+ word-break: break-word;
3708
+ }
3709
+
3710
+ /* Ensure images scale properly */
3711
+ .editor-image,
3712
+ img {
3713
+ max-width: 100%;
3714
+ height: auto;
3715
+ }
3716
+
3717
+ /* Ensure tables are responsive */
3718
+ .PlaygroundEditorTheme__table,
3719
+ .table {
3720
+ max-width: 100%;
3721
+ overflow-x: auto;
3722
+ display: block;
3723
+ }
3724
+
3725
+ /* Prevent table header text wrapping */
3726
+ .PlaygroundEditorTheme__tableCellHeader,
3727
+ .PlaygroundEditorTheme__table th,
3728
+ .PlaygroundEditorTheme__table td.PlaygroundEditorTheme__tableCellHeader {
3729
+ white-space: nowrap !important;
3730
+ overflow: hidden !important;
3731
+ max-height: 40px !important;
3732
+ line-height: 1.2 !important;
3733
+ }
3734
+
3735
+ /* Prevent wrapping in all nested elements inside table headers */
3736
+ .PlaygroundEditorTheme__tableCellHeader *,
3737
+ .PlaygroundEditorTheme__table th *,
3738
+ .PlaygroundEditorTheme__table td.PlaygroundEditorTheme__tableCellHeader * {
3739
+ white-space: nowrap !important;
3740
+ display: inline !important;
3741
+ margin: 0 !important;
3742
+ padding: 0 !important;
3743
+ line-height: 1.2 !important;
3744
+ }
3745
+
3746
+ /* Force br tags to not create new lines in headers */
3747
+ .PlaygroundEditorTheme__tableCellHeader br,
3748
+ .PlaygroundEditorTheme__table th br,
3749
+ .PlaygroundEditorTheme__table td.PlaygroundEditorTheme__tableCellHeader br {
3750
+ display: none !important;
3751
+ }
3752
+
3753
+ /* Content editable area responsive styles */
3754
+ [contenteditable="true"] {
3755
+ max-width: 100%;
3756
+ overflow-wrap: break-word;
3757
+ word-wrap: break-word;
3758
+ }
3759
+
3553
3760
  .ltr {
3554
3761
  text-align: left;
3555
3762
  }
@@ -3682,8 +3889,8 @@ body .ai-chat-popup .ai-chat-input {
3682
3889
  }
3683
3890
 
3684
3891
  .code {
3685
- background-color: hsla(var(--cteditorf47ac10b-foreground) / 0.05);
3686
- color: hsla(var(--cteditorf47ac10b-foreground));
3892
+ background-color: hsla(var(--cteditorf47ac10b-foreground) / 0.15);
3893
+ color: hsla(var(--cteditorf47ac10b-foreground) / 0.95);
3687
3894
  font-family: Menlo, Consolas, Monaco, monospace;
3688
3895
  display: block;
3689
3896
  padding: 8px 8px 8px 52px;
@@ -3698,15 +3905,22 @@ body .ai-chat-popup .ai-chat-input {
3698
3905
  overflow-x: auto;
3699
3906
  position: relative;
3700
3907
  border-radius: 6px;
3701
- border: 1px solid hsla(var(--cteditorf47ac10b-foreground) / 0.1);
3908
+ border: 1px solid hsla(var(--cteditorf47ac10b-foreground) / 0.2);
3702
3909
  transition: all 0.2s ease;
3703
3910
  cursor: pointer;
3704
3911
  }
3705
3912
 
3913
+ /* Hide extra br tags that create double spacing */
3914
+ .code br {
3915
+ line-height: 0;
3916
+ height: 0;
3917
+ display: block;
3918
+ }
3919
+
3706
3920
  .code:hover {
3707
- background-color: hsla(var(--cteditorf47ac10b-foreground) / 0.08);
3708
- border-color: hsla(var(--cteditorf47ac10b-foreground) / 0.2);
3709
- box-shadow: 0 2px 8px hsla(var(--cteditorf47ac10b-foreground) / 0.1);
3921
+ background-color: hsla(var(--cteditorf47ac10b-foreground) / 0.18);
3922
+ border-color: hsla(var(--cteditorf47ac10b-foreground) / 0.25);
3923
+ box-shadow: 0 2px 8px hsla(var(--cteditorf47ac10b-foreground) / 0.15);
3710
3924
  }
3711
3925
 
3712
3926
  .code:focus-within {
@@ -3723,17 +3937,18 @@ body .ai-chat-popup .ai-chat-input {
3723
3937
  .code::before {
3724
3938
  content: attr(data-gutter);
3725
3939
  position: absolute;
3726
- background-color: hsla(var(--cteditorf47ac10b-foreground) / 0.08);
3940
+ background-color: hsla(var(--cteditorf47ac10b-foreground) / 0.12);
3727
3941
  left: 0;
3728
3942
  top: 0;
3729
- border-right: 1px solid hsla(var(--cteditorf47ac10b-foreground) / 0.15);
3943
+ border-right: 1px solid hsla(var(--cteditorf47ac10b-foreground) / 0.2);
3730
3944
  border-top-left-radius: 6px;
3731
3945
  border-bottom-left-radius: 6px;
3732
3946
  padding: 8px;
3733
- color: hsla(var(--cteditorf47ac10b-foreground) / 0.6);
3734
- white-space: pre-wrap;
3947
+ color: hsla(var(--cteditorf47ac10b-foreground) / 0.75);
3948
+ white-space: pre;
3735
3949
  text-align: right;
3736
3950
  min-width: 25px;
3951
+ line-height: 1.53;
3737
3952
  }
3738
3953
 
3739
3954
  .characterLimit {
@@ -3867,17 +4082,18 @@ body .ai-chat-popup .ai-chat-input {
3867
4082
  }
3868
4083
 
3869
4084
  .tokenComment {
3870
- color: slategray;
4085
+ color: #7c8896;
3871
4086
  }
3872
4087
 
3873
4088
  .tokenPunctuation {
3874
- color: #999;
4089
+ color: #606060;
3875
4090
  }
3876
4091
 
3877
4092
  .comment-node {
3878
4093
  display: inline;
3879
- -moz-user-select: none;
3880
- user-select: none;
4094
+ -webkit-user-select: none;
4095
+ -moz-user-select: none;
4096
+ user-select: none;
3881
4097
  }
3882
4098
 
3883
4099
  .comment-highlight {
@@ -3938,27 +4154,27 @@ body .ai-chat-popup .ai-chat-input {
3938
4154
  }
3939
4155
 
3940
4156
  .tokenProperty {
3941
- color: #905;
4157
+ color: #b854a6;
3942
4158
  }
3943
4159
 
3944
4160
  .tokenSelector {
3945
- color: #690;
4161
+ color: #5f8c3d;
3946
4162
  }
3947
4163
 
3948
4164
  .tokenOperator {
3949
- color: #9a6e3a;
4165
+ color: #c48944;
3950
4166
  }
3951
4167
 
3952
4168
  .tokenAttr {
3953
- color: #07a;
4169
+ color: #3a8fb7;
3954
4170
  }
3955
4171
 
3956
4172
  .tokenVariable {
3957
- color: #e90;
4173
+ color: #ff9900;
3958
4174
  }
3959
4175
 
3960
4176
  .tokenFunction {
3961
- color: #dd4a68;
4177
+ color: #e55876;
3962
4178
  }
3963
4179
 
3964
4180
  .mark {
@@ -3983,8 +4199,9 @@ body .ai-chat-popup .ai-chat-input {
3983
4199
  }
3984
4200
 
3985
4201
  .embedBlock {
3986
- -moz-user-select: none;
3987
- user-select: none;
4202
+ -webkit-user-select: none;
4203
+ -moz-user-select: none;
4204
+ user-select: none;
3988
4205
  }
3989
4206
 
3990
4207
  .embedBlockFocus {
@@ -4378,6 +4595,14 @@ body .ai-chat-popup .ai-chat-input {
4378
4595
 
4379
4596
  .PlaygroundEditorTheme__tableCellHeader {
4380
4597
  text-align: start;
4598
+ white-space: nowrap;
4599
+ overflow: hidden;
4600
+ }
4601
+
4602
+ .PlaygroundEditorTheme__tableCellHeader * {
4603
+ white-space: nowrap;
4604
+ display: inline;
4605
+ margin: 0;
4381
4606
  }
4382
4607
 
4383
4608
  .PlaygroundEditorTheme__tableCellSelected {
@@ -4671,8 +4896,9 @@ body .ai-chat-popup .ai-chat-input {
4671
4896
  }
4672
4897
 
4673
4898
  .PlaygroundEditorTheme__embedBlock {
4674
- -moz-user-select: none;
4675
- user-select: none;
4899
+ -webkit-user-select: none;
4900
+ -moz-user-select: none;
4901
+ user-select: none;
4676
4902
  }
4677
4903
 
4678
4904
  .PlaygroundEditorTheme__embedBlockFocus {
@@ -4712,8 +4938,9 @@ body .ai-chat-popup .ai-chat-input {
4712
4938
 
4713
4939
  .PlaygroundEditorTheme__hr.selected {
4714
4940
  outline: 2px solid rgb(60, 132, 244);
4715
- -moz-user-select: none;
4716
- user-select: none;
4941
+ -webkit-user-select: none;
4942
+ -moz-user-select: none;
4943
+ user-select: none;
4717
4944
  }
4718
4945
 
4719
4946
  .PlaygroundEditorTheme__specialText {
@@ -4724,8 +4951,9 @@ body .ai-chat-popup .ai-chat-input {
4724
4951
  .editor-image {
4725
4952
  position: relative;
4726
4953
  display: inline-block;
4727
- -moz-user-select: none;
4728
- user-select: none;
4954
+ -webkit-user-select: none;
4955
+ -moz-user-select: none;
4956
+ user-select: none;
4729
4957
  }
4730
4958
 
4731
4959
  .editor-image img {
@@ -4735,8 +4963,9 @@ body .ai-chat-popup .ai-chat-input {
4735
4963
 
4736
4964
  .editor-image img.focused {
4737
4965
  outline: 2px solid rgb(60, 132, 244);
4738
- -moz-user-select: none;
4739
- user-select: none;
4966
+ -webkit-user-select: none;
4967
+ -moz-user-select: none;
4968
+ user-select: none;
4740
4969
  }
4741
4970
 
4742
4971
  .editor-image img.focused.draggable {
@@ -5134,8 +5363,9 @@ body .ai-chat-popup .ai-chat-input {
5134
5363
  display: flex;
5135
5364
  align-items: center;
5136
5365
  flex-direction: row;
5137
- -moz-user-select: none;
5138
- user-select: none;
5366
+ -webkit-user-select: none;
5367
+ -moz-user-select: none;
5368
+ user-select: none;
5139
5369
  background-color: hsla(var(--background) / 0.95);
5140
5370
  backdrop-filter: blur(8px);
5141
5371
  border: 1px solid hsla(var(--foreground) / 0.1);
@@ -5257,7 +5487,118 @@ body .ai-chat-popup .ai-chat-input {
5257
5487
  border-radius: 2px !important;
5258
5488
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
5259
5489
  }
5260
- }#ct-editor-f47ac10b {
5490
+ }/* Grammar Check Plugin Tooltip Styles */
5491
+
5492
+ .grammar-tooltip {
5493
+ animation: fadeIn 0.2s ease-in-out;
5494
+ pointer-events: auto;
5495
+ }
5496
+
5497
+ @keyframes fadeIn {
5498
+ from {
5499
+ opacity: 0;
5500
+ transform: translateY(-5px);
5501
+ }
5502
+ to {
5503
+ opacity: 1;
5504
+ transform: translateY(0);
5505
+ }
5506
+ }
5507
+
5508
+ /* Error highlighting styles - can be applied to text nodes */
5509
+ .spelling-error {
5510
+ -webkit-text-decoration: underline wavy red;
5511
+ text-decoration: underline wavy red;
5512
+ text-decoration-thickness: 2px;
5513
+ text-underline-offset: 2px;
5514
+ cursor: pointer;
5515
+ }
5516
+
5517
+ .grammar-error {
5518
+ -webkit-text-decoration: underline wavy blue;
5519
+ text-decoration: underline wavy blue;
5520
+ text-decoration-thickness: 2px;
5521
+ text-underline-offset: 2px;
5522
+ cursor: pointer;
5523
+ }
5524
+
5525
+ /* Tooltip card enhancements */
5526
+ .grammar-tooltip .cteditor-shadow-xl {
5527
+ box-shadow:
5528
+ 0 10px 15px -3px rgba(0, 0, 0, 0.1),
5529
+ 0 4px 6px -2px rgba(0, 0, 0, 0.05),
5530
+ 0 0 0 1px rgba(0, 0, 0, 0.05);
5531
+ }
5532
+
5533
+ /* Suggestion button hover effects */
5534
+ .grammar-tooltip button:active {
5535
+ transform: scale(0.98);
5536
+ }
5537
+
5538
+ /* Error Panel - Compact notification bar */
5539
+ .grammar-error-panel {
5540
+ position: relative;
5541
+ max-width: -moz-fit-content;
5542
+ max-width: fit-content;
5543
+ margin-bottom: 8px;
5544
+ z-index: 100;
5545
+ animation: slideDown 0.3s ease-out;
5546
+ }
5547
+
5548
+ @keyframes slideDown {
5549
+ from {
5550
+ opacity: 0;
5551
+ transform: translateY(-10px);
5552
+ max-height: 0;
5553
+ }
5554
+ to {
5555
+ opacity: 1;
5556
+ transform: translateY(0);
5557
+ max-height: 300px;
5558
+ }
5559
+ }
5560
+
5561
+ /* Error toggle button - when panel is hidden (inline version) */
5562
+ .grammar-error-toggle {
5563
+ position: relative;
5564
+ display: inline-flex;
5565
+ align-items: center;
5566
+ gap: 8px;
5567
+ padding: 6px 12px;
5568
+ margin-bottom: 8px;
5569
+ background: #ef4444;
5570
+ color: white;
5571
+ border: none;
5572
+ border-radius: 6px;
5573
+ cursor: pointer;
5574
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
5575
+ transition: all 0.2s;
5576
+ font-size: 13px;
5577
+ }
5578
+
5579
+ .grammar-error-toggle:hover {
5580
+ background: #dc2626;
5581
+ transform: translateY(-1px);
5582
+ box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15);
5583
+ }
5584
+
5585
+ .grammar-error-toggle span {
5586
+ font-weight: 600;
5587
+ font-size: 13px;
5588
+ }
5589
+
5590
+ /* Compact panel styling */
5591
+ .grammar-error-panel .cteditor-max-h-48 {
5592
+ max-height: 200px;
5593
+ }
5594
+
5595
+ /* Responsive tooltip positioning */
5596
+ @media (max-width: 768px) {
5597
+ .grammar-tooltip {
5598
+ max-width: 90vw;
5599
+ }
5600
+ }
5601
+ #ct-editor-f47ac10b {
5261
5602
  .floating-embed-menu {
5262
5603
  display: flex !important;
5263
5604
  /* flex-direction: column; */
@@ -5513,8 +5854,9 @@ body .ai-chat-popup .ai-chat-input {
5513
5854
  display: flex;
5514
5855
  width: 20px;
5515
5856
  height: 20px;
5516
- -moz-user-select: none;
5517
- user-select: none;
5857
+ -webkit-user-select: none;
5858
+ -moz-user-select: none;
5859
+ user-select: none;
5518
5860
  margin-right: 8px;
5519
5861
  line-height: 16px;
5520
5862
  background-size: contain;
@@ -5525,8 +5867,9 @@ body .ai-chat-popup .ai-chat-input {
5525
5867
  width: 16px;
5526
5868
  height: 16px;
5527
5869
  display: flex;
5528
- -moz-user-select: none;
5529
- user-select: none;
5870
+ -webkit-user-select: none;
5871
+ -moz-user-select: none;
5872
+ user-select: none;
5530
5873
  }
5531
5874
 
5532
5875
  .floating-text-format-popup i.chevron-down.inside {
@@ -5633,8 +5976,9 @@ body .ai-chat-popup .ai-chat-input {
5633
5976
  height: 150px;
5634
5977
  background-image: linear-gradient(transparent, black),
5635
5978
  linear-gradient(to right, white, transparent);
5636
- -moz-user-select: none;
5637
- user-select: none;
5979
+ -webkit-user-select: none;
5980
+ -moz-user-select: none;
5981
+ user-select: none;
5638
5982
  }
5639
5983
  .color-picker-saturation_cursor {
5640
5984
  position: absolute;
@@ -5661,8 +6005,9 @@ body .ai-chat-popup .ai-chat-input {
5661
6005
  rgb(255, 0, 255),
5662
6006
  rgb(255, 0, 0)
5663
6007
  );
5664
- -moz-user-select: none;
5665
- user-select: none;
6008
+ -webkit-user-select: none;
6009
+ -moz-user-select: none;
6010
+ user-select: none;
5666
6011
  border-radius: 12px;
5667
6012
  }
5668
6013
 
@@ -5727,116 +6072,14 @@ body .ai-chat-popup .ai-chat-input {
5727
6072
  .TableCellResizer__resizer {
5728
6073
  position: absolute;
5729
6074
  }
5730
- /* Grammar Check Plugin Tooltip Styles */
5731
-
5732
- .grammar-tooltip {
5733
- animation: fadeIn 0.2s ease-in-out;
5734
- pointer-events: auto;
5735
- }
5736
-
5737
- @keyframes fadeIn {
5738
- from {
5739
- opacity: 0;
5740
- transform: translateY(-5px);
5741
- }
5742
- to {
5743
- opacity: 1;
5744
- transform: translateY(0);
5745
- }
5746
- }
5747
-
5748
- /* Error highlighting styles - can be applied to text nodes */
5749
- .spelling-error {
5750
- text-decoration: underline wavy red;
5751
- text-decoration-thickness: 2px;
5752
- text-underline-offset: 2px;
5753
- cursor: pointer;
5754
- }
5755
-
5756
- .grammar-error {
5757
- text-decoration: underline wavy blue;
5758
- text-decoration-thickness: 2px;
5759
- text-underline-offset: 2px;
5760
- cursor: pointer;
5761
- }
5762
-
5763
- /* Tooltip card enhancements */
5764
- .grammar-tooltip .cteditor-shadow-xl {
5765
- box-shadow:
5766
- 0 10px 15px -3px rgba(0, 0, 0, 0.1),
5767
- 0 4px 6px -2px rgba(0, 0, 0, 0.05),
5768
- 0 0 0 1px rgba(0, 0, 0, 0.05);
5769
- }
5770
-
5771
- /* Suggestion button hover effects */
5772
- .grammar-tooltip button:active {
5773
- transform: scale(0.98);
5774
- }
5775
-
5776
- /* Error Panel - Compact notification bar */
5777
- .grammar-error-panel {
5778
- position: relative;
5779
- max-width: -moz-fit-content;
5780
- max-width: fit-content;
5781
- margin-bottom: 8px;
5782
- z-index: 100;
5783
- animation: slideDown 0.3s ease-out;
5784
- }
5785
-
5786
- @keyframes slideDown {
5787
- from {
5788
- opacity: 0;
5789
- transform: translateY(-10px);
5790
- max-height: 0;
5791
- }
5792
- to {
5793
- opacity: 1;
5794
- transform: translateY(0);
5795
- max-height: 300px;
5796
- }
5797
- }
5798
-
5799
- /* Error toggle button - when panel is hidden (inline version) */
5800
- .grammar-error-toggle {
5801
- position: relative;
5802
- display: inline-flex;
5803
- align-items: center;
5804
- gap: 8px;
5805
- padding: 6px 12px;
5806
- margin-bottom: 8px;
5807
- background: #ef4444;
5808
- color: white;
5809
- border: none;
5810
- border-radius: 6px;
5811
- cursor: pointer;
5812
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
5813
- transition: all 0.2s;
5814
- font-size: 13px;
5815
- }
5816
-
5817
- .grammar-error-toggle:hover {
5818
- background: #dc2626;
5819
- transform: translateY(-1px);
5820
- box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15);
5821
- }
5822
-
5823
- .grammar-error-toggle span {
5824
- font-weight: 600;
5825
- font-size: 13px;
5826
- }
5827
-
5828
- /* Compact panel styling */
5829
- .grammar-error-panel .cteditor-max-h-48 {
5830
- max-height: 200px;
5831
- }
6075
+ #ct-editor-f47ac10b {
5832
6076
 
5833
- /* Responsive tooltip positioning */
5834
- @media (max-width: 768px) {
5835
- .grammar-tooltip {
5836
- max-width: 90vw;
6077
+ /* Caption container styling - uses normal flow to prevent overlap */
6078
+ .image-caption-container {
6079
+ width: 100%;
6080
+ margin-top: 8px;
6081
+ margin-bottom: 12px;
5837
6082
  }
5838
- }
5839
- #ct-editor-f47ac10b {
5840
6083
 
5841
6084
  /* Improved caption button styling - positioned relative to the image container */
5842
6085
  .image-caption-button {
@@ -5846,58 +6089,62 @@ body .ai-chat-popup .ai-chat-input {
5846
6089
  transform: translateX(-50%);
5847
6090
  background: hsla(var(--cteditorf47ac10b-secondary));
5848
6091
  border-radius: 8px;
5849
- padding: 2px 16px;
6092
+ padding: 4px 16px;
5850
6093
  font-size: 13px;
5851
6094
  cursor: pointer;
5852
6095
  transition: all 0.2s ease;
5853
6096
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
5854
6097
  font-weight: 400;
5855
6098
  white-space: nowrap;
5856
- z-index: 9999 !important;
6099
+ z-index: 10;
6100
+ border: 1px solid hsla(var(--cteditorf47ac10b-border) / 0.2);
5857
6101
  }
5858
6102
 
5859
6103
  .image-caption-button:hover {
5860
6104
  background: hsla(var(--cteditorf47ac10b-secondary) / 0.8);
5861
6105
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
6106
+ transform: translateX(-50%) translateY(-1px);
5862
6107
  }
5863
6108
 
5864
6109
  .image-caption-button:active {
5865
6110
  background: hsla(var(--cteditorf47ac10b-secondary) / 0.6);
5866
- transform: translateX(-50%) translateY(1px);
6111
+ transform: translateX(-50%) translateY(0px);
5867
6112
  }
5868
6113
 
5869
- /* Caption input styling */
6114
+ /* Caption input styling - now in normal flow */
5870
6115
  .ImageNode__contentEditable {
5871
- position: absolute;
5872
- bottom: -36px;
5873
- left: 50%;
5874
- transform: translateX(-50%);
6116
+ position: relative;
5875
6117
  width: 100%;
5876
- max-width: calc(100vw - 40px);
5877
- background: hsla(var(--cteditorf47ac10b-secondary));
5878
- border-radius: 8px;
5879
- padding: 2px 8px;
5880
- line-height: normal;
5881
- height: 28px;
6118
+ background: hsla(var(--cteditorf47ac10b-secondary) / 0.5);
6119
+ border: 1px solid hsla(var(--cteditorf47ac10b-border) / 0.2);
6120
+ border-radius: 6px;
6121
+ padding: 8px 12px;
6122
+ line-height: 1.5;
6123
+ min-height: 36px;
5882
6124
  font-size: 14px;
5883
6125
  outline: none;
5884
- box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.3);
5885
- z-index: 9999 !important;
5886
- opacity: 1 !important;
5887
- transition: opacity 0.3s;
5888
- will-change: transform;
5889
- min-width: 200px;
5890
- pointer-events: auto !important;
5891
- visibility: visible !important;
6126
+ transition: all 0.2s ease;
6127
+ color: hsla(var(--cteditorf47ac10b-text));
6128
+ }
6129
+
6130
+ .ImageNode__contentEditable:focus {
6131
+ background: hsla(var(--cteditorf47ac10b-secondary));
6132
+ border-color: hsla(var(--cteditorf47ac10b-border) / 0.4);
6133
+ box-shadow: 0 0 0 3px hsla(var(--cteditorf47ac10b-primary) / 0.1);
5892
6134
  }
5893
6135
 
5894
6136
  .ImageNode__contentEditable::-moz-placeholder {
5895
- color: #8a8d91;
5896
- font-style: normal;
6137
+ color: hsla(var(--cteditorf47ac10b-text) / 0.4);
6138
+ font-style: italic;
5897
6139
  }
5898
6140
 
5899
- .ImageNode__contentEditable::placeholder {
5900
- color: #8a8d91;
5901
- font-style: normal;
6141
+ .ImageNode__contentEditable::placeholder,
6142
+ .ImageNode__contentEditable [data-lexical-text="true"]::before {
6143
+ color: hsla(var(--cteditorf47ac10b-text) / 0.4);
6144
+ font-style: italic;
6145
+ }
6146
+
6147
+ .ImageNode__contentEditable p {
6148
+ margin: 0;
5902
6149
  }
5903
6150
  }