ct-rich-text-editor 1.3.0 → 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 +372 -187
  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-0fecc54c.js → html2pdf.bundle-f23e1b00.js} +2 -2
  11. package/dist/html2pdf.bundle-f23e1b00.js.map +1 -0
  12. package/dist/{html2pdf.bundle.min-d9d93bc1.js → html2pdf.bundle.min-daf952fb.js} +2 -2
  13. package/dist/html2pdf.bundle.min-daf952fb.js.map +1 -0
  14. package/dist/{index-113e3eb2.js → index-10f9d057.js} +7 -11
  15. package/dist/index-10f9d057.js.map +1 -0
  16. package/dist/{index-7aab7b5a.js → index-8d147c36.js} +1041 -602
  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-0fecc54c.js.map +0 -1
  33. package/dist/html2pdf.bundle.min-d9d93bc1.js.map +0 -1
  34. package/dist/index-113e3eb2.js.map +0 -1
  35. package/dist/index-7aab7b5a.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,10 @@ video {
965
970
  height: 1px;
966
971
  }
967
972
 
973
+ .cteditor-max-h-56{
974
+ max-height: 14rem;
975
+ }
976
+
968
977
  .cteditor-max-h-60{
969
978
  max-height: 15rem;
970
979
  }
@@ -1246,8 +1255,9 @@ video {
1246
1255
  }
1247
1256
 
1248
1257
  .cteditor-select-none{
1249
- -moz-user-select: none;
1250
- user-select: none;
1258
+ -webkit-user-select: none;
1259
+ -moz-user-select: none;
1260
+ user-select: none;
1251
1261
  }
1252
1262
 
1253
1263
  .cteditor-resize-none{
@@ -1284,6 +1294,10 @@ video {
1284
1294
  flex-wrap: wrap;
1285
1295
  }
1286
1296
 
1297
+ .cteditor-flex-nowrap{
1298
+ flex-wrap: nowrap;
1299
+ }
1300
+
1287
1301
  .cteditor-items-start{
1288
1302
  align-items: flex-start;
1289
1303
  }
@@ -1388,10 +1402,6 @@ video {
1388
1402
  margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
1389
1403
  }
1390
1404
 
1391
- .cteditor-overflow-auto{
1392
- overflow: auto;
1393
- }
1394
-
1395
1405
  .cteditor-overflow-hidden{
1396
1406
  overflow: hidden;
1397
1407
  }
@@ -1475,6 +1485,10 @@ video {
1475
1485
  border-bottom-width: 1px;
1476
1486
  }
1477
1487
 
1488
+ .cteditor-border-b-2{
1489
+ border-bottom-width: 2px;
1490
+ }
1491
+
1478
1492
  .cteditor-border-l{
1479
1493
  border-left-width: 1px;
1480
1494
  }
@@ -1756,6 +1770,10 @@ video {
1756
1770
  background-color: hsl(var(--cteditorf47ac10b-muted));
1757
1771
  }
1758
1772
 
1773
+ .cteditor-bg-muted\/30{
1774
+ background-color: hsl(var(--cteditorf47ac10b-muted) / 0.3);
1775
+ }
1776
+
1759
1777
  .cteditor-bg-muted\/50{
1760
1778
  background-color: hsl(var(--cteditorf47ac10b-muted) / 0.5);
1761
1779
  }
@@ -2599,6 +2617,35 @@ body.dark ::-webkit-scrollbar-thumb {
2599
2617
  background-color: transparent !important;
2600
2618
  }
2601
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
+
2602
2649
  .editor .PlaygroundEditorTheme__tableAddRows,
2603
2650
  .editor .PlaygroundEditorTheme__tableAddColumns {
2604
2651
  background-color: hsla(var(--cteditorf47ac10b-foreground));
@@ -2680,6 +2727,37 @@ body .ai-chat-popup .ai-chat-input {
2680
2727
  }
2681
2728
  }
2682
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
+
2683
2761
  .file\:cteditor-border-0::file-selector-button{
2684
2762
  border-width: 0px;
2685
2763
  }
@@ -2823,6 +2901,15 @@ body .ai-chat-popup .ai-chat-input {
2823
2901
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
2824
2902
  }
2825
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
+
2826
2913
  .hover\:cteditor-bg-muted\/80:hover{
2827
2914
  background-color: hsl(var(--cteditorf47ac10b-muted) / 0.8);
2828
2915
  }
@@ -3471,8 +3558,9 @@ body .ai-chat-popup .ai-chat-input {
3471
3558
  }
3472
3559
 
3473
3560
  .\[\&\>button\]\:cteditor-select-none>button{
3474
- -moz-user-select: none;
3475
- user-select: none;
3561
+ -webkit-user-select: none;
3562
+ -moz-user-select: none;
3563
+ user-select: none;
3476
3564
  }
3477
3565
 
3478
3566
  .\[\&\>button\]\:cteditor-items-center>button{
@@ -3610,8 +3698,65 @@ body .ai-chat-popup .ai-chat-input {
3610
3698
 
3611
3699
  .\[\&_svg\]\:cteditor-shrink-0 svg{
3612
3700
  flex-shrink: 0;
3613
- }
3614
- #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
+
3615
3760
  .ltr {
3616
3761
  text-align: left;
3617
3762
  }
@@ -3744,8 +3889,8 @@ body .ai-chat-popup .ai-chat-input {
3744
3889
  }
3745
3890
 
3746
3891
  .code {
3747
- background-color: hsla(var(--cteditorf47ac10b-foreground) / 0.05);
3748
- color: hsla(var(--cteditorf47ac10b-foreground));
3892
+ background-color: hsla(var(--cteditorf47ac10b-foreground) / 0.15);
3893
+ color: hsla(var(--cteditorf47ac10b-foreground) / 0.95);
3749
3894
  font-family: Menlo, Consolas, Monaco, monospace;
3750
3895
  display: block;
3751
3896
  padding: 8px 8px 8px 52px;
@@ -3760,15 +3905,22 @@ body .ai-chat-popup .ai-chat-input {
3760
3905
  overflow-x: auto;
3761
3906
  position: relative;
3762
3907
  border-radius: 6px;
3763
- border: 1px solid hsla(var(--cteditorf47ac10b-foreground) / 0.1);
3908
+ border: 1px solid hsla(var(--cteditorf47ac10b-foreground) / 0.2);
3764
3909
  transition: all 0.2s ease;
3765
3910
  cursor: pointer;
3766
3911
  }
3767
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
+
3768
3920
  .code:hover {
3769
- background-color: hsla(var(--cteditorf47ac10b-foreground) / 0.08);
3770
- border-color: hsla(var(--cteditorf47ac10b-foreground) / 0.2);
3771
- 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);
3772
3924
  }
3773
3925
 
3774
3926
  .code:focus-within {
@@ -3785,17 +3937,18 @@ body .ai-chat-popup .ai-chat-input {
3785
3937
  .code::before {
3786
3938
  content: attr(data-gutter);
3787
3939
  position: absolute;
3788
- background-color: hsla(var(--cteditorf47ac10b-foreground) / 0.08);
3940
+ background-color: hsla(var(--cteditorf47ac10b-foreground) / 0.12);
3789
3941
  left: 0;
3790
3942
  top: 0;
3791
- border-right: 1px solid hsla(var(--cteditorf47ac10b-foreground) / 0.15);
3943
+ border-right: 1px solid hsla(var(--cteditorf47ac10b-foreground) / 0.2);
3792
3944
  border-top-left-radius: 6px;
3793
3945
  border-bottom-left-radius: 6px;
3794
3946
  padding: 8px;
3795
- color: hsla(var(--cteditorf47ac10b-foreground) / 0.6);
3796
- white-space: pre-wrap;
3947
+ color: hsla(var(--cteditorf47ac10b-foreground) / 0.75);
3948
+ white-space: pre;
3797
3949
  text-align: right;
3798
3950
  min-width: 25px;
3951
+ line-height: 1.53;
3799
3952
  }
3800
3953
 
3801
3954
  .characterLimit {
@@ -3929,17 +4082,18 @@ body .ai-chat-popup .ai-chat-input {
3929
4082
  }
3930
4083
 
3931
4084
  .tokenComment {
3932
- color: slategray;
4085
+ color: #7c8896;
3933
4086
  }
3934
4087
 
3935
4088
  .tokenPunctuation {
3936
- color: #999;
4089
+ color: #606060;
3937
4090
  }
3938
4091
 
3939
4092
  .comment-node {
3940
4093
  display: inline;
3941
- -moz-user-select: none;
3942
- user-select: none;
4094
+ -webkit-user-select: none;
4095
+ -moz-user-select: none;
4096
+ user-select: none;
3943
4097
  }
3944
4098
 
3945
4099
  .comment-highlight {
@@ -4000,27 +4154,27 @@ body .ai-chat-popup .ai-chat-input {
4000
4154
  }
4001
4155
 
4002
4156
  .tokenProperty {
4003
- color: #905;
4157
+ color: #b854a6;
4004
4158
  }
4005
4159
 
4006
4160
  .tokenSelector {
4007
- color: #690;
4161
+ color: #5f8c3d;
4008
4162
  }
4009
4163
 
4010
4164
  .tokenOperator {
4011
- color: #9a6e3a;
4165
+ color: #c48944;
4012
4166
  }
4013
4167
 
4014
4168
  .tokenAttr {
4015
- color: #07a;
4169
+ color: #3a8fb7;
4016
4170
  }
4017
4171
 
4018
4172
  .tokenVariable {
4019
- color: #e90;
4173
+ color: #ff9900;
4020
4174
  }
4021
4175
 
4022
4176
  .tokenFunction {
4023
- color: #dd4a68;
4177
+ color: #e55876;
4024
4178
  }
4025
4179
 
4026
4180
  .mark {
@@ -4045,8 +4199,9 @@ body .ai-chat-popup .ai-chat-input {
4045
4199
  }
4046
4200
 
4047
4201
  .embedBlock {
4048
- -moz-user-select: none;
4049
- user-select: none;
4202
+ -webkit-user-select: none;
4203
+ -moz-user-select: none;
4204
+ user-select: none;
4050
4205
  }
4051
4206
 
4052
4207
  .embedBlockFocus {
@@ -4440,6 +4595,14 @@ body .ai-chat-popup .ai-chat-input {
4440
4595
 
4441
4596
  .PlaygroundEditorTheme__tableCellHeader {
4442
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;
4443
4606
  }
4444
4607
 
4445
4608
  .PlaygroundEditorTheme__tableCellSelected {
@@ -4733,8 +4896,9 @@ body .ai-chat-popup .ai-chat-input {
4733
4896
  }
4734
4897
 
4735
4898
  .PlaygroundEditorTheme__embedBlock {
4736
- -moz-user-select: none;
4737
- user-select: none;
4899
+ -webkit-user-select: none;
4900
+ -moz-user-select: none;
4901
+ user-select: none;
4738
4902
  }
4739
4903
 
4740
4904
  .PlaygroundEditorTheme__embedBlockFocus {
@@ -4774,8 +4938,9 @@ body .ai-chat-popup .ai-chat-input {
4774
4938
 
4775
4939
  .PlaygroundEditorTheme__hr.selected {
4776
4940
  outline: 2px solid rgb(60, 132, 244);
4777
- -moz-user-select: none;
4778
- user-select: none;
4941
+ -webkit-user-select: none;
4942
+ -moz-user-select: none;
4943
+ user-select: none;
4779
4944
  }
4780
4945
 
4781
4946
  .PlaygroundEditorTheme__specialText {
@@ -4786,8 +4951,9 @@ body .ai-chat-popup .ai-chat-input {
4786
4951
  .editor-image {
4787
4952
  position: relative;
4788
4953
  display: inline-block;
4789
- -moz-user-select: none;
4790
- user-select: none;
4954
+ -webkit-user-select: none;
4955
+ -moz-user-select: none;
4956
+ user-select: none;
4791
4957
  }
4792
4958
 
4793
4959
  .editor-image img {
@@ -4797,8 +4963,9 @@ body .ai-chat-popup .ai-chat-input {
4797
4963
 
4798
4964
  .editor-image img.focused {
4799
4965
  outline: 2px solid rgb(60, 132, 244);
4800
- -moz-user-select: none;
4801
- user-select: none;
4966
+ -webkit-user-select: none;
4967
+ -moz-user-select: none;
4968
+ user-select: none;
4802
4969
  }
4803
4970
 
4804
4971
  .editor-image img.focused.draggable {
@@ -5196,8 +5363,9 @@ body .ai-chat-popup .ai-chat-input {
5196
5363
  display: flex;
5197
5364
  align-items: center;
5198
5365
  flex-direction: row;
5199
- -moz-user-select: none;
5200
- user-select: none;
5366
+ -webkit-user-select: none;
5367
+ -moz-user-select: none;
5368
+ user-select: none;
5201
5369
  background-color: hsla(var(--background) / 0.95);
5202
5370
  backdrop-filter: blur(8px);
5203
5371
  border: 1px solid hsla(var(--foreground) / 0.1);
@@ -5319,7 +5487,118 @@ body .ai-chat-popup .ai-chat-input {
5319
5487
  border-radius: 2px !important;
5320
5488
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
5321
5489
  }
5322
- }#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 {
5323
5602
  .floating-embed-menu {
5324
5603
  display: flex !important;
5325
5604
  /* flex-direction: column; */
@@ -5575,8 +5854,9 @@ body .ai-chat-popup .ai-chat-input {
5575
5854
  display: flex;
5576
5855
  width: 20px;
5577
5856
  height: 20px;
5578
- -moz-user-select: none;
5579
- user-select: none;
5857
+ -webkit-user-select: none;
5858
+ -moz-user-select: none;
5859
+ user-select: none;
5580
5860
  margin-right: 8px;
5581
5861
  line-height: 16px;
5582
5862
  background-size: contain;
@@ -5587,8 +5867,9 @@ body .ai-chat-popup .ai-chat-input {
5587
5867
  width: 16px;
5588
5868
  height: 16px;
5589
5869
  display: flex;
5590
- -moz-user-select: none;
5591
- user-select: none;
5870
+ -webkit-user-select: none;
5871
+ -moz-user-select: none;
5872
+ user-select: none;
5592
5873
  }
5593
5874
 
5594
5875
  .floating-text-format-popup i.chevron-down.inside {
@@ -5695,8 +5976,9 @@ body .ai-chat-popup .ai-chat-input {
5695
5976
  height: 150px;
5696
5977
  background-image: linear-gradient(transparent, black),
5697
5978
  linear-gradient(to right, white, transparent);
5698
- -moz-user-select: none;
5699
- user-select: none;
5979
+ -webkit-user-select: none;
5980
+ -moz-user-select: none;
5981
+ user-select: none;
5700
5982
  }
5701
5983
  .color-picker-saturation_cursor {
5702
5984
  position: absolute;
@@ -5723,8 +6005,9 @@ body .ai-chat-popup .ai-chat-input {
5723
6005
  rgb(255, 0, 255),
5724
6006
  rgb(255, 0, 0)
5725
6007
  );
5726
- -moz-user-select: none;
5727
- user-select: none;
6008
+ -webkit-user-select: none;
6009
+ -moz-user-select: none;
6010
+ user-select: none;
5728
6011
  border-radius: 12px;
5729
6012
  }
5730
6013
 
@@ -5789,116 +6072,14 @@ body .ai-chat-popup .ai-chat-input {
5789
6072
  .TableCellResizer__resizer {
5790
6073
  position: absolute;
5791
6074
  }
5792
- /* Grammar Check Plugin Tooltip Styles */
5793
-
5794
- .grammar-tooltip {
5795
- animation: fadeIn 0.2s ease-in-out;
5796
- pointer-events: auto;
5797
- }
5798
-
5799
- @keyframes fadeIn {
5800
- from {
5801
- opacity: 0;
5802
- transform: translateY(-5px);
5803
- }
5804
- to {
5805
- opacity: 1;
5806
- transform: translateY(0);
5807
- }
5808
- }
5809
-
5810
- /* Error highlighting styles - can be applied to text nodes */
5811
- .spelling-error {
5812
- text-decoration: underline wavy red;
5813
- text-decoration-thickness: 2px;
5814
- text-underline-offset: 2px;
5815
- cursor: pointer;
5816
- }
5817
-
5818
- .grammar-error {
5819
- text-decoration: underline wavy blue;
5820
- text-decoration-thickness: 2px;
5821
- text-underline-offset: 2px;
5822
- cursor: pointer;
5823
- }
5824
-
5825
- /* Tooltip card enhancements */
5826
- .grammar-tooltip .cteditor-shadow-xl {
5827
- box-shadow:
5828
- 0 10px 15px -3px rgba(0, 0, 0, 0.1),
5829
- 0 4px 6px -2px rgba(0, 0, 0, 0.05),
5830
- 0 0 0 1px rgba(0, 0, 0, 0.05);
5831
- }
5832
-
5833
- /* Suggestion button hover effects */
5834
- .grammar-tooltip button:active {
5835
- transform: scale(0.98);
5836
- }
5837
-
5838
- /* Error Panel - Compact notification bar */
5839
- .grammar-error-panel {
5840
- position: relative;
5841
- max-width: -moz-fit-content;
5842
- max-width: fit-content;
5843
- margin-bottom: 8px;
5844
- z-index: 100;
5845
- animation: slideDown 0.3s ease-out;
5846
- }
5847
-
5848
- @keyframes slideDown {
5849
- from {
5850
- opacity: 0;
5851
- transform: translateY(-10px);
5852
- max-height: 0;
5853
- }
5854
- to {
5855
- opacity: 1;
5856
- transform: translateY(0);
5857
- max-height: 300px;
5858
- }
5859
- }
5860
-
5861
- /* Error toggle button - when panel is hidden (inline version) */
5862
- .grammar-error-toggle {
5863
- position: relative;
5864
- display: inline-flex;
5865
- align-items: center;
5866
- gap: 8px;
5867
- padding: 6px 12px;
5868
- margin-bottom: 8px;
5869
- background: #ef4444;
5870
- color: white;
5871
- border: none;
5872
- border-radius: 6px;
5873
- cursor: pointer;
5874
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
5875
- transition: all 0.2s;
5876
- font-size: 13px;
5877
- }
5878
-
5879
- .grammar-error-toggle:hover {
5880
- background: #dc2626;
5881
- transform: translateY(-1px);
5882
- box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15);
5883
- }
5884
-
5885
- .grammar-error-toggle span {
5886
- font-weight: 600;
5887
- font-size: 13px;
5888
- }
5889
-
5890
- /* Compact panel styling */
5891
- .grammar-error-panel .cteditor-max-h-48 {
5892
- max-height: 200px;
5893
- }
6075
+ #ct-editor-f47ac10b {
5894
6076
 
5895
- /* Responsive tooltip positioning */
5896
- @media (max-width: 768px) {
5897
- .grammar-tooltip {
5898
- 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;
5899
6082
  }
5900
- }
5901
- #ct-editor-f47ac10b {
5902
6083
 
5903
6084
  /* Improved caption button styling - positioned relative to the image container */
5904
6085
  .image-caption-button {
@@ -5908,58 +6089,62 @@ body .ai-chat-popup .ai-chat-input {
5908
6089
  transform: translateX(-50%);
5909
6090
  background: hsla(var(--cteditorf47ac10b-secondary));
5910
6091
  border-radius: 8px;
5911
- padding: 2px 16px;
6092
+ padding: 4px 16px;
5912
6093
  font-size: 13px;
5913
6094
  cursor: pointer;
5914
6095
  transition: all 0.2s ease;
5915
6096
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
5916
6097
  font-weight: 400;
5917
6098
  white-space: nowrap;
5918
- z-index: 9999 !important;
6099
+ z-index: 10;
6100
+ border: 1px solid hsla(var(--cteditorf47ac10b-border) / 0.2);
5919
6101
  }
5920
6102
 
5921
6103
  .image-caption-button:hover {
5922
6104
  background: hsla(var(--cteditorf47ac10b-secondary) / 0.8);
5923
6105
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
6106
+ transform: translateX(-50%) translateY(-1px);
5924
6107
  }
5925
6108
 
5926
6109
  .image-caption-button:active {
5927
6110
  background: hsla(var(--cteditorf47ac10b-secondary) / 0.6);
5928
- transform: translateX(-50%) translateY(1px);
6111
+ transform: translateX(-50%) translateY(0px);
5929
6112
  }
5930
6113
 
5931
- /* Caption input styling */
6114
+ /* Caption input styling - now in normal flow */
5932
6115
  .ImageNode__contentEditable {
5933
- position: absolute;
5934
- bottom: -36px;
5935
- left: 50%;
5936
- transform: translateX(-50%);
6116
+ position: relative;
5937
6117
  width: 100%;
5938
- max-width: calc(100vw - 40px);
5939
- background: hsla(var(--cteditorf47ac10b-secondary));
5940
- border-radius: 8px;
5941
- padding: 2px 8px;
5942
- line-height: normal;
5943
- 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;
5944
6124
  font-size: 14px;
5945
6125
  outline: none;
5946
- box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.3);
5947
- z-index: 9999 !important;
5948
- opacity: 1 !important;
5949
- transition: opacity 0.3s;
5950
- will-change: transform;
5951
- min-width: 200px;
5952
- pointer-events: auto !important;
5953
- 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);
5954
6134
  }
5955
6135
 
5956
6136
  .ImageNode__contentEditable::-moz-placeholder {
5957
- color: #8a8d91;
5958
- font-style: normal;
6137
+ color: hsla(var(--cteditorf47ac10b-text) / 0.4);
6138
+ font-style: italic;
5959
6139
  }
5960
6140
 
5961
- .ImageNode__contentEditable::placeholder {
5962
- color: #8a8d91;
5963
- 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;
5964
6149
  }
5965
6150
  }