ritext 1.0.15 → 1.0.18

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 (63) hide show
  1. package/README.md +7 -8
  2. package/dist/chunk-2YUUKIIT.mjs +149 -0
  3. package/dist/{chunk-ZLCVIW2P.mjs → chunk-7QOFJIQ3.mjs} +1 -1
  4. package/dist/chunk-D47XME55.mjs +49 -0
  5. package/dist/{chunk-TQTCTY3E.mjs → chunk-FWCSY2DS.mjs} +1 -16
  6. package/dist/{chunk-CU67RXD7.mjs → chunk-GSHINFPO.mjs} +3 -3
  7. package/dist/{chunk-E4PPKAVK.mjs → chunk-LMOTHRGQ.mjs} +1 -1
  8. package/dist/{chunk-LO4RJXQF.mjs → chunk-MBF77NHS.mjs} +1 -1
  9. package/dist/chunk-VYDH6BZE.mjs +17 -0
  10. package/dist/extension/bold.d.mts +1 -1
  11. package/dist/extension/bold.d.ts +1 -1
  12. package/dist/extension/bold.js +1 -1
  13. package/dist/extension/bold.mjs +4 -3
  14. package/dist/extension/clearformat.d.mts +8 -0
  15. package/dist/extension/clearformat.d.ts +8 -0
  16. package/dist/extension/clearformat.js +239 -0
  17. package/dist/extension/clearformat.mjs +69 -0
  18. package/dist/extension/font-family.d.mts +23 -0
  19. package/dist/extension/font-family.d.ts +23 -0
  20. package/dist/extension/font-family.js +388 -0
  21. package/dist/extension/font-family.mjs +113 -0
  22. package/dist/extension/font-size.d.mts +23 -0
  23. package/dist/extension/font-size.d.ts +23 -0
  24. package/dist/extension/font-size.js +386 -0
  25. package/dist/extension/font-size.mjs +111 -0
  26. package/dist/extension/heading.d.mts +23 -0
  27. package/dist/extension/heading.d.ts +23 -0
  28. package/dist/extension/heading.js +593 -0
  29. package/dist/extension/heading.mjs +312 -0
  30. package/dist/extension/history.d.mts +8 -0
  31. package/dist/extension/history.d.ts +8 -0
  32. package/dist/extension/history.js +296 -0
  33. package/dist/extension/history.mjs +126 -0
  34. package/dist/extension/italic.d.mts +1 -1
  35. package/dist/extension/italic.d.ts +1 -1
  36. package/dist/extension/italic.js +1 -1
  37. package/dist/extension/italic.mjs +4 -3
  38. package/dist/extension/strike.d.mts +1 -1
  39. package/dist/extension/strike.d.ts +1 -1
  40. package/dist/extension/strike.js +1 -1
  41. package/dist/extension/strike.mjs +4 -3
  42. package/dist/extension/subandsuperscript.d.mts +1 -1
  43. package/dist/extension/subandsuperscript.d.ts +1 -1
  44. package/dist/extension/subandsuperscript.js +30 -21
  45. package/dist/extension/subandsuperscript.mjs +37 -159
  46. package/dist/extension/subscript.d.mts +1 -1
  47. package/dist/extension/subscript.d.ts +1 -1
  48. package/dist/extension/subscript.js +1 -1
  49. package/dist/extension/subscript.mjs +5 -4
  50. package/dist/extension/superscript.d.mts +1 -1
  51. package/dist/extension/superscript.d.ts +1 -1
  52. package/dist/extension/superscript.js +1 -1
  53. package/dist/extension/superscript.mjs +5 -4
  54. package/dist/extension/underline.d.mts +1 -1
  55. package/dist/extension/underline.d.ts +1 -1
  56. package/dist/extension/underline.js +1 -1
  57. package/dist/extension/underline.mjs +4 -3
  58. package/dist/index.css +375 -8
  59. package/dist/index.js +1 -2
  60. package/dist/index.mjs +3 -3
  61. package/dist/{tiptap-ext.type-D61hoEX5.d.mts → tiptap-ext.type-DrneAC5G.d.mts} +8 -1
  62. package/dist/{tiptap-ext.type-D61hoEX5.d.ts → tiptap-ext.type-DrneAC5G.d.ts} +8 -1
  63. package/package.json +27 -24
@@ -1,5 +1,5 @@
1
1
  import { Mark } from '@tiptap/react';
2
- import { E as ExtButtonOptions } from '../tiptap-ext.type-D61hoEX5.mjs';
2
+ import { E as ExtButtonOptions } from '../tiptap-ext.type-DrneAC5G.mjs';
3
3
  import 'react';
4
4
  import '@floating-ui/react';
5
5
 
@@ -1,5 +1,5 @@
1
1
  import { Mark } from '@tiptap/react';
2
- import { E as ExtButtonOptions } from '../tiptap-ext.type-D61hoEX5.js';
2
+ import { E as ExtButtonOptions } from '../tiptap-ext.type-DrneAC5G.js';
3
3
  import 'react';
4
4
  import '@floating-ui/react';
5
5
 
@@ -205,7 +205,7 @@ var ButtonComponent = ({ className, activeClassName, icon, style, tooltip = true
205
205
  {
206
206
  onClick: _onToggle,
207
207
  className: (0, import_tailwind_merge2.twMerge)(
208
- "p-1.5 rounded-md",
208
+ "py-1.5 px-2.5 rounded-md",
209
209
  _buttonClassName,
210
210
  (editorState == null ? void 0 : editorState.isActive) ? "bg-gray-200/60" : "hover:bg-gray-100",
211
211
  className,
@@ -1,12 +1,13 @@
1
1
  import {
2
2
  ButtonComponent_default
3
- } from "../chunk-CU67RXD7.mjs";
4
- import "../chunk-ZLCVIW2P.mjs";
3
+ } from "../chunk-GSHINFPO.mjs";
4
+ import "../chunk-7QOFJIQ3.mjs";
5
+ import "../chunk-VYDH6BZE.mjs";
5
6
  import {
6
7
  __objRest,
7
8
  __spreadProps,
8
9
  __spreadValues
9
- } from "../chunk-TQTCTY3E.mjs";
10
+ } from "../chunk-FWCSY2DS.mjs";
10
11
 
11
12
  // src/extension/Underline.tsx
12
13
  import TiptapUnder from "@tiptap/extension-underline";
package/dist/index.css CHANGED
@@ -21,15 +21,37 @@
21
21
  "Liberation Mono",
22
22
  "Courier New",
23
23
  monospace;
24
+ --color-red-400: oklch(70.4% 0.191 22.216);
25
+ --color-red-500: oklch(63.7% 0.237 25.331);
26
+ --color-blue-400: oklch(70.7% 0.165 254.624);
27
+ --color-blue-500: oklch(62.3% 0.214 259.815);
24
28
  --color-gray-50: oklch(98.5% 0.002 247.839);
25
29
  --color-gray-100: oklch(96.7% 0.003 264.542);
26
30
  --color-gray-200: oklch(92.8% 0.006 264.531);
27
31
  --color-gray-400: oklch(70.7% 0.022 261.325);
28
32
  --color-gray-500: oklch(55.1% 0.027 264.364);
33
+ --color-neutral-300: oklch(87% 0 0);
34
+ --color-neutral-700: oklch(37.1% 0 0);
35
+ --color-neutral-900: oklch(20.5% 0 0);
36
+ --color-black: #000;
29
37
  --color-white: #fff;
30
38
  --spacing: 0.25rem;
31
39
  --text-sm: 0.875rem;
32
40
  --text-sm--line-height: calc(1.25 / 0.875);
41
+ --text-base: 1rem;
42
+ --text-base--line-height: calc(1.5 / 1);
43
+ --text-lg: 1.125rem;
44
+ --text-lg--line-height: calc(1.75 / 1.125);
45
+ --text-xl: 1.25rem;
46
+ --text-xl--line-height: calc(1.75 / 1.25);
47
+ --text-2xl: 1.5rem;
48
+ --text-2xl--line-height: calc(2 / 1.5);
49
+ --text-3xl: 1.875rem;
50
+ --text-3xl--line-height: calc(2.25 / 1.875);
51
+ --font-weight-bold: 700;
52
+ --font-weight-extrabold: 800;
53
+ --leading-relaxed: 1.625;
54
+ --radius-sm: 0.25rem;
33
55
  --radius-md: 0.375rem;
34
56
  --radius-lg: 0.5rem;
35
57
  --default-transition-duration: 150ms;
@@ -228,9 +250,6 @@
228
250
  }
229
251
  }
230
252
  @layer utilities {
231
- .mt-0\.5 {
232
- margin-top: calc(var(--spacing) * 0.5);
233
- }
234
253
  .ml-6 {
235
254
  margin-left: calc(var(--spacing) * 6);
236
255
  }
@@ -240,6 +259,9 @@
240
259
  .flex {
241
260
  display: flex;
242
261
  }
262
+ .max-h-125 {
263
+ max-height: calc(var(--spacing) * 125);
264
+ }
243
265
  .flex-1 {
244
266
  flex: 1;
245
267
  }
@@ -259,14 +281,17 @@
259
281
  margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));
260
282
  }
261
283
  }
262
- .gap-x-1\.5 {
263
- column-gap: calc(var(--spacing) * 1.5);
284
+ .gap-x-0\.5 {
285
+ column-gap: calc(var(--spacing) * 0.5);
286
+ }
287
+ .gap-x-1 {
288
+ column-gap: calc(var(--spacing) * 1);
264
289
  }
265
290
  .gap-x-2\.5 {
266
291
  column-gap: calc(var(--spacing) * 2.5);
267
292
  }
268
- .gap-x-px {
269
- column-gap: 1px;
293
+ .overflow-auto {
294
+ overflow: auto;
270
295
  }
271
296
  .rounded-lg {
272
297
  border-radius: var(--radius-lg);
@@ -309,6 +334,9 @@
309
334
  .px-2 {
310
335
  padding-inline: calc(var(--spacing) * 2);
311
336
  }
337
+ .px-2\.5 {
338
+ padding-inline: calc(var(--spacing) * 2.5);
339
+ }
312
340
  .px-3 {
313
341
  padding-inline: calc(var(--spacing) * 3);
314
342
  }
@@ -321,10 +349,30 @@
321
349
  .text-center {
322
350
  text-align: center;
323
351
  }
352
+ .text-2xl {
353
+ font-size: var(--text-2xl);
354
+ line-height: var(--tw-leading, var(--text-2xl--line-height));
355
+ }
356
+ .text-3xl {
357
+ font-size: var(--text-3xl);
358
+ line-height: var(--tw-leading, var(--text-3xl--line-height));
359
+ }
360
+ .text-base {
361
+ font-size: var(--text-base);
362
+ line-height: var(--tw-leading, var(--text-base--line-height));
363
+ }
364
+ .text-lg {
365
+ font-size: var(--text-lg);
366
+ line-height: var(--tw-leading, var(--text-lg--line-height));
367
+ }
324
368
  .text-sm {
325
369
  font-size: var(--text-sm);
326
370
  line-height: var(--tw-leading, var(--text-sm--line-height));
327
371
  }
372
+ .text-xl {
373
+ font-size: var(--text-xl);
374
+ line-height: var(--tw-leading, var(--text-xl--line-height));
375
+ }
328
376
  .text-gray-400 {
329
377
  color: var(--color-gray-400);
330
378
  }
@@ -337,6 +385,9 @@
337
385
  .underline {
338
386
  text-decoration-line: underline;
339
387
  }
388
+ .opacity-20 {
389
+ opacity: 20%;
390
+ }
340
391
  .shadow-lg {
341
392
  --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
342
393
  box-shadow:
@@ -444,6 +495,318 @@
444
495
  button {
445
496
  cursor: pointer;
446
497
  }
498
+ .ProseMirror p {
499
+ margin-bottom: calc(var(--spacing) * 1.5);
500
+ --tw-leading: var(--leading-relaxed);
501
+ line-height: var(--leading-relaxed);
502
+ &:first-child {
503
+ margin-top: calc(var(--spacing) * 0);
504
+ }
505
+ &:last-child {
506
+ margin-bottom: calc(var(--spacing) * 0);
507
+ }
508
+ }
509
+ .ProseMirror > p {
510
+ margin-bottom: calc(var(--spacing) * 1.5);
511
+ &:first-child {
512
+ margin-top: calc(var(--spacing) * 0);
513
+ }
514
+ &:last-child {
515
+ margin-bottom: calc(var(--spacing) * 0);
516
+ }
517
+ }
518
+ .ProseMirror h1 {
519
+ font-size: var(--text-3xl);
520
+ line-height: var(--tw-leading, var(--text-3xl--line-height));
521
+ }
522
+ .ProseMirror h2 {
523
+ font-size: var(--text-2xl);
524
+ line-height: var(--tw-leading, var(--text-2xl--line-height));
525
+ }
526
+ .ProseMirror h3 {
527
+ font-size: var(--text-xl);
528
+ line-height: var(--tw-leading, var(--text-xl--line-height));
529
+ }
530
+ .ProseMirror h4 {
531
+ font-size: var(--text-lg);
532
+ line-height: var(--tw-leading, var(--text-lg--line-height));
533
+ }
534
+ .ProseMirror h5 {
535
+ font-size: var(--text-base);
536
+ line-height: var(--tw-leading, var(--text-base--line-height));
537
+ }
538
+ .ProseMirror h6 {
539
+ font-size: var(--text-sm);
540
+ line-height: var(--tw-leading, var(--text-sm--line-height));
541
+ }
542
+ .ProseMirror h1,
543
+ .ProseMirror h2,
544
+ .ProseMirror h3,
545
+ .ProseMirror h4,
546
+ .ProseMirror h5,
547
+ .ProseMirror h6 {
548
+ --tw-font-weight: var(--font-weight-bold);
549
+ font-weight: var(--font-weight-bold);
550
+ &:first-child {
551
+ margin-top: calc(var(--spacing) * 0);
552
+ }
553
+ &:last-child {
554
+ margin-bottom: calc(var(--spacing) * 0);
555
+ }
556
+ }
557
+ .ProseMirror h1,
558
+ .ProseMirror h2,
559
+ .ProseMirror h3 {
560
+ margin-top: calc(var(--spacing) * 12);
561
+ }
562
+ .ProseMirror h4,
563
+ .ProseMirror h5,
564
+ .ProseMirror h6 {
565
+ margin-top: calc(var(--spacing) * 8);
566
+ }
567
+ .ProseMirror a.link {
568
+ --tw-font-weight: var(--font-weight-extrabold);
569
+ font-weight: var(--font-weight-extrabold);
570
+ color: var(--color-blue-500);
571
+ @media (prefers-color-scheme: dark) {
572
+ color: var(--color-blue-400);
573
+ }
574
+ }
575
+ .ProseMirror mark {
576
+ border-radius: var(--radius-sm);
577
+ background-color: var(--color-red-500);
578
+ box-decoration-break: clone;
579
+ padding-inline: calc(var(--spacing) * 0);
580
+ padding-block: calc(var(--spacing) * 1);
581
+ color: inherit;
582
+ @media (prefers-color-scheme: dark) {
583
+ background-color: var(--color-red-400);
584
+ }
585
+ }
586
+ .ProseMirror img {
587
+ height: auto;
588
+ max-width: 100%;
589
+ }
590
+ .ProseMirror *[data-indent="1"] {
591
+ text-indent: 2em !important;
592
+ }
593
+ .ProseMirror *[data-indent="2"] {
594
+ text-indent: 4em !important;
595
+ }
596
+ .ProseMirror *[data-indent="3"] {
597
+ text-indent: 6em !important;
598
+ }
599
+ .ProseMirror *[data-indent="4"] {
600
+ text-indent: 8em !important;
601
+ }
602
+ .ProseMirror *[data-indent="5"] {
603
+ text-indent: 10em !important;
604
+ }
605
+ .ProseMirror *[data-indent="6"] {
606
+ text-indent: 12em !important;
607
+ }
608
+ .ProseMirror *[data-indent="7"] {
609
+ text-indent: 14em !important;
610
+ }
611
+ .ProseMirror iframe {
612
+ margin-top: calc(var(--spacing) * 2);
613
+ height: 100%;
614
+ width: 100%;
615
+ border-radius: var(--radius-sm);
616
+ border-style: var(--tw-border-style);
617
+ border-width: 1px;
618
+ border-color: var(--color-gray-200);
619
+ }
620
+ .ProseMirror .blockquote {
621
+ border-radius: var(--radius-lg);
622
+ border-top-left-radius: 0;
623
+ border-bottom-left-radius: 0;
624
+ border-left-style: var(--tw-border-style);
625
+ border-left-width: 4px;
626
+ border-left-color: var(--color-neutral-700);
627
+ padding-inline: calc(var(--spacing) * 4);
628
+ padding-block: calc(var(--spacing) * 2);
629
+ color: var(--color-black);
630
+ @media (prefers-color-scheme: dark) {
631
+ border-left-color: var(--color-neutral-300);
632
+ }
633
+ @media (prefers-color-scheme: dark) {
634
+ color: var(--color-white);
635
+ }
636
+ }
637
+ .ProseMirror code {
638
+ border-radius: var(--radius-sm);
639
+ background-color: var(--color-neutral-900);
640
+ font-family: var(--font-mono);
641
+ color: var(--color-white);
642
+ caret-color: var(--color-white);
643
+ --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
644
+ box-shadow:
645
+ var(--tw-inset-shadow),
646
+ var(--tw-inset-ring-shadow),
647
+ var(--tw-ring-offset-shadow),
648
+ var(--tw-ring-shadow),
649
+ var(--tw-shadow);
650
+ }
651
+ .ProseMirror pre {
652
+ margin-block: calc(var(--spacing) * 12);
653
+ border-radius: 0.25rem;
654
+ border-style: var(--tw-border-style);
655
+ border-width: 1px;
656
+ border-color: var(--color-black);
657
+ background-color: var(--color-neutral-700);
658
+ padding: calc(var(--spacing) * 4);
659
+ color: var(--color-white);
660
+ caret-color: var(--color-white);
661
+ @media (prefers-color-scheme: dark) {
662
+ border-color: var(--color-gray-200);
663
+ }
664
+ @media (prefers-color-scheme: dark) {
665
+ background-color: var(--color-neutral-900);
666
+ }
667
+ }
668
+ .ProseMirror pre code {
669
+ background-color: inherit;
670
+ padding: calc(var(--spacing) * 0);
671
+ color: inherit;
672
+ --tw-shadow: 0 0 #0000;
673
+ box-shadow:
674
+ var(--tw-inset-shadow),
675
+ var(--tw-inset-ring-shadow),
676
+ var(--tw-ring-offset-shadow),
677
+ var(--tw-ring-shadow),
678
+ var(--tw-shadow);
679
+ }
680
+ .ProseMirror ol {
681
+ list-style-type: decimal;
682
+ }
683
+ .ProseMirror ul {
684
+ list-style-type: disc;
685
+ }
686
+ .ProseMirror ul,
687
+ .ProseMirror ol {
688
+ margin-block: calc(var(--spacing) * 6);
689
+ padding-inline: calc(var(--spacing) * 8);
690
+ padding-block: calc(var(--spacing) * 0);
691
+ &:first-child {
692
+ margin-top: calc(var(--spacing) * 0);
693
+ }
694
+ &:last-child {
695
+ margin-bottom: calc(var(--spacing) * 0);
696
+ }
697
+ }
698
+ .ProseMirror ul ul,
699
+ .ProseMirror ul ol,
700
+ .ProseMirror ul li,
701
+ .ProseMirror ol ul,
702
+ .ProseMirror ol ol,
703
+ .ProseMirror ol li {
704
+ margin-block: calc(var(--spacing) * 1);
705
+ }
706
+ .ProseMirror ul p,
707
+ .ProseMirror ol p {
708
+ margin-top: calc(var(--spacing) * 0);
709
+ margin-bottom: calc(var(--spacing) * 1);
710
+ }
711
+ .ProseMirror > ul,
712
+ .ProseMirror > ol {
713
+ margin-block: calc(var(--spacing) * 8);
714
+ &:first-child {
715
+ margin-top: calc(var(--spacing) * 0);
716
+ }
717
+ &:last-child {
718
+ margin-bottom: calc(var(--spacing) * 0);
719
+ }
720
+ }
721
+ .ProseMirror ul[data-type=taskList] {
722
+ list-style-type: none;
723
+ padding: calc(var(--spacing) * 0);
724
+ }
725
+ .ProseMirror ul[data-type=taskList] p {
726
+ margin: calc(var(--spacing) * 0);
727
+ }
728
+ .ProseMirror ul[data-type=taskList] li {
729
+ display: flex;
730
+ }
731
+ .ProseMirror ul[data-type=taskList] li > label {
732
+ margin-right: calc(var(--spacing) * 2);
733
+ display: inline;
734
+ flex: auto;
735
+ flex-shrink: 0;
736
+ flex-grow: 0;
737
+ -webkit-user-select: none;
738
+ user-select: none;
739
+ }
740
+ .ProseMirror ul[data-type=taskList] li > div {
741
+ flex: auto;
742
+ }
743
+ .ProseMirror ul[data-type=taskList] li[data-checked=true] {
744
+ text-decoration-line: line-through;
745
+ }
746
+ .ProseMirror table {
747
+ border: 1px solid;
748
+ box-sizing: border-box;
749
+ display: block;
750
+ table-layout: fixed;
751
+ border-collapse: collapse;
752
+ overflow-x: auto;
753
+ overflow-y: hidden;
754
+ border-color: color-mix(in srgb, #000 10%, transparent);
755
+ @supports (color: color-mix(in lab, red, red)) {
756
+ border-color: color-mix(in oklab, var(--color-black) 10%, transparent);
757
+ }
758
+ @media (prefers-color-scheme: dark) {
759
+ border-color: color-mix(in srgb, #fff 20%, transparent);
760
+ @supports (color: color-mix(in lab, red, red)) {
761
+ border-color: color-mix(in oklab, var(--color-white) 20%, transparent);
762
+ }
763
+ }
764
+ }
765
+ .ProseMirror table td,
766
+ .ProseMirror table th {
767
+ border: 1px solid;
768
+ position: relative;
769
+ box-sizing: border-box;
770
+ min-width: 1em;
771
+ border-style: var(--tw-border-style);
772
+ border-width: 1px;
773
+ border-color: color-mix(in srgb, #000 10%, transparent);
774
+ @supports (color: color-mix(in lab, red, red)) {
775
+ border-color: color-mix(in oklab, var(--color-black) 10%, transparent);
776
+ }
777
+ padding: calc(var(--spacing) * 2);
778
+ text-align: left;
779
+ vertical-align: top;
780
+ @media (prefers-color-scheme: dark) {
781
+ border-color: color-mix(in srgb, #fff 20%, transparent);
782
+ @supports (color: color-mix(in lab, red, red)) {
783
+ border-color: color-mix(in oklab, var(--color-white) 20%, transparent);
784
+ }
785
+ }
786
+ }
787
+ .ProseMirror table td:first-of-type:not(a),
788
+ .ProseMirror table th:first-of-type:not(a) {
789
+ margin-top: calc(var(--spacing) * 0);
790
+ }
791
+ .ProseMirror table td p,
792
+ .ProseMirror table th p {
793
+ margin: calc(var(--spacing) * 0);
794
+ }
795
+ .ProseMirror table td p + p,
796
+ .ProseMirror table th p + p {
797
+ margin-top: calc(var(--spacing) * 3);
798
+ }
799
+ .ProseMirror table th {
800
+ text-align: left;
801
+ --tw-font-weight: var(--font-weight-bold);
802
+ font-weight: var(--font-weight-bold);
803
+ }
804
+ .reactjs-tiptap-editor .ProseMirror .search-result {
805
+ background-color: #ffd90080;
806
+ }
807
+ .reactjs-tiptap-editor .ProseMirror .search-result-current {
808
+ background-color: #0dff0080;
809
+ }
447
810
  }
448
811
  @property --tw-rotate-x { syntax: "*"; inherits: false; }
449
812
  @property --tw-rotate-y { syntax: "*"; inherits: false; }
@@ -467,6 +830,8 @@
467
830
  @property --tw-ring-offset-color { syntax: "*"; inherits: false; initial-value: #fff; }
468
831
  @property --tw-ring-offset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
469
832
  @property --tw-duration { syntax: "*"; inherits: false; }
833
+ @property --tw-leading { syntax: "*"; inherits: false; }
834
+ @property --tw-font-weight { syntax: "*"; inherits: false; }
470
835
  @layer properties {
471
836
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
472
837
  *,
@@ -495,7 +860,9 @@
495
860
  --tw-ring-offset-color: #fff;
496
861
  --tw-ring-offset-shadow: 0 0 #0000;
497
862
  --tw-duration: initial;
863
+ --tw-leading: initial;
864
+ --tw-font-weight: initial;
498
865
  }
499
866
  }
500
867
  }
501
- /*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */
868
+ /*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */
package/dist/index.js CHANGED
@@ -91,8 +91,7 @@ var Toolbar = ({ className, buttonClassName, dropdownContainerClassName, dropdow
91
91
  dropdownItemClassName: anyExt.dropdownItemClassName
92
92
  } : null;
93
93
  }).filter(Boolean);
94
- if (!entries.length) return null;
95
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: (0, import_tailwind_merge.twMerge)("flex gap-x-1.5", className), children: entries.map(({ name, renderButton, options }) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(React.Fragment, { children: renderButton({
94
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: (0, import_tailwind_merge.twMerge)("flex gap-x-1", className), children: entries.map(({ name, renderButton, options }) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(React.Fragment, { children: renderButton({
96
95
  editor,
97
96
  options,
98
97
  buttonClassName: buttonClassName || "",
package/dist/index.mjs CHANGED
@@ -1,7 +1,8 @@
1
1
  import {
2
2
  EditorProvider,
3
3
  useEditor
4
- } from "./chunk-TQTCTY3E.mjs";
4
+ } from "./chunk-VYDH6BZE.mjs";
5
+ import "./chunk-FWCSY2DS.mjs";
5
6
 
6
7
  // src/lib/Editor.tsx
7
8
  import { useMemo } from "react";
@@ -43,8 +44,7 @@ var Toolbar = ({ className, buttonClassName, dropdownContainerClassName, dropdow
43
44
  dropdownItemClassName: anyExt.dropdownItemClassName
44
45
  } : null;
45
46
  }).filter(Boolean);
46
- if (!entries.length) return null;
47
- return /* @__PURE__ */ jsx2("div", { className: twMerge("flex gap-x-1.5", className), children: entries.map(({ name, renderButton, options }) => /* @__PURE__ */ jsx2(React.Fragment, { children: renderButton({
47
+ return /* @__PURE__ */ jsx2("div", { className: twMerge("flex gap-x-1", className), children: entries.map(({ name, renderButton, options }) => /* @__PURE__ */ jsx2(React.Fragment, { children: renderButton({
48
48
  editor,
49
49
  options,
50
50
  buttonClassName: buttonClassName || "",
@@ -16,6 +16,13 @@ type ExtButtonOptions = {
16
16
  buttonClassName: string;
17
17
  }) => ReactNode;
18
18
  };
19
+ type ExtWithoutActiveOptions = Omit<ExtButtonOptions, "activeClassName" | "component"> & {
20
+ component: (args: {
21
+ options: ExtWithoutActiveOptions;
22
+ editor: Editor;
23
+ buttonClassName: string;
24
+ }) => ReactNode;
25
+ };
19
26
  type ExtDropdownOptions = {
20
27
  className?: string;
21
28
  showArrow?: boolean;
@@ -29,4 +36,4 @@ type ExtDropdownOptions = {
29
36
  tooltipPlacement?: Placement;
30
37
  };
31
38
 
32
- export type { ExtButtonOptions as E, ExtDropdownOptions as a };
39
+ export type { ExtButtonOptions as E, ExtDropdownOptions as a, ExtWithoutActiveOptions as b };
@@ -16,6 +16,13 @@ type ExtButtonOptions = {
16
16
  buttonClassName: string;
17
17
  }) => ReactNode;
18
18
  };
19
+ type ExtWithoutActiveOptions = Omit<ExtButtonOptions, "activeClassName" | "component"> & {
20
+ component: (args: {
21
+ options: ExtWithoutActiveOptions;
22
+ editor: Editor;
23
+ buttonClassName: string;
24
+ }) => ReactNode;
25
+ };
19
26
  type ExtDropdownOptions = {
20
27
  className?: string;
21
28
  showArrow?: boolean;
@@ -29,4 +36,4 @@ type ExtDropdownOptions = {
29
36
  tooltipPlacement?: Placement;
30
37
  };
31
38
 
32
- export type { ExtButtonOptions as E, ExtDropdownOptions as a };
39
+ export type { ExtButtonOptions as E, ExtDropdownOptions as a, ExtWithoutActiveOptions as b };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ritext",
3
- "version": "1.0.15",
3
+ "version": "1.0.18",
4
4
  "description": "Ritext is a modern WYSIWYG rich text editor built with Tailwind CSS, powered by Tiptap. It offers a customizable UI and functional layer that lets you design your own editor controls and toolbars with clean, composable React components—no heavy UI, no extra dependencies beyond Tiptap.",
5
5
  "homepage": "https://ritext.vercel.app/",
6
6
  "main": "dist/index.js",
@@ -60,40 +60,43 @@
60
60
  "url": "https://github.com/siamahnaf/ritext"
61
61
  },
62
62
  "devDependencies": {
63
- "@eslint/js": "^9.39.1",
64
- "@tailwindcss/postcss": "^4.1.16",
65
- "@types/node": "^24",
63
+ "@eslint/js": "^9.39.2",
64
+ "@tailwindcss/postcss": "^4.1.18",
65
+ "@types/node": "^25",
66
66
  "@types/react": "^19",
67
67
  "@types/react-dom": "^19",
68
- "eslint": "^9.34.0",
68
+ "eslint": "^9.39.2",
69
69
  "eslint-config-prettier": "^10.1.8",
70
70
  "eslint-plugin-import": "^2.32.0",
71
71
  "eslint-plugin-react": "^7.37.5",
72
72
  "eslint-plugin-react-hooks": "^7.0.1",
73
73
  "postcss": "^8.5.6",
74
- "react": "^19.2.0",
75
- "react-dom": "^19.2.0",
76
- "tailwindcss": "^4.1.16",
77
- "tsup": "^8.5.0",
74
+ "react": "^19.2.3",
75
+ "react-dom": "^19.2.3",
76
+ "tailwindcss": "^4.1.18",
77
+ "tsup": "^8.5.1",
78
78
  "typescript": "^5.9.3",
79
- "typescript-eslint": "^8.46.3"
79
+ "typescript-eslint": "^8.50.1"
80
80
  },
81
81
  "dependencies": {
82
82
  "@floating-ui/react": "^0.27.16",
83
- "@tiptap/extension-bold": "^3.10.1",
84
- "@tiptap/extension-document": "^3.10.1",
85
- "@tiptap/extension-italic": "^3.10.1",
86
- "@tiptap/extension-paragraph": "^3.10.1",
87
- "@tiptap/extension-strike": "^3.10.1",
88
- "@tiptap/extension-subscript": "^3.10.1",
89
- "@tiptap/extension-superscript": "^3.10.1",
90
- "@tiptap/extension-text": "^3.10.1",
91
- "@tiptap/extension-underline": "^3.10.1",
92
- "@tiptap/pm": "^3.10.1",
93
- "@tiptap/react": "^3.10.1",
94
- "@tiptap/starter-kit": "^3.10.1",
95
- "motion": "^12.23.24",
96
- "tailwind-merge": "^3.3.1"
83
+ "@tiptap/extension-bold": "^3.14.0",
84
+ "@tiptap/extension-document": "^3.14.0",
85
+ "@tiptap/extension-heading": "^3.14.0",
86
+ "@tiptap/extension-italic": "^3.14.0",
87
+ "@tiptap/extension-paragraph": "^3.14.0",
88
+ "@tiptap/extension-strike": "^3.14.0",
89
+ "@tiptap/extension-subscript": "^3.14.0",
90
+ "@tiptap/extension-superscript": "^3.14.0",
91
+ "@tiptap/extension-text": "^3.14.0",
92
+ "@tiptap/extension-text-style": "^3.14.0",
93
+ "@tiptap/extension-underline": "^3.14.0",
94
+ "@tiptap/extensions": "^3.14.0",
95
+ "@tiptap/pm": "^3.14.0",
96
+ "@tiptap/react": "^3.14.0",
97
+ "@tiptap/starter-kit": "^3.14.0",
98
+ "motion": "^12.23.26",
99
+ "tailwind-merge": "^3.4.0"
97
100
  },
98
101
  "peerDependencies": {
99
102
  "react": "^19",