ritext 1.0.19 → 1.0.25

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 (133) hide show
  1. package/LICENSE +57 -0
  2. package/README.md +15 -41
  3. package/dist/chunk-EN4BPI7N.mjs +1213 -0
  4. package/dist/chunk-FJQ4FZRS.mjs +98 -0
  5. package/dist/chunk-M4ORWR74.mjs +31 -0
  6. package/dist/chunk-SJFT7WNM.mjs +38 -0
  7. package/dist/chunk-W367UGID.mjs +55 -0
  8. package/dist/{chunk-FWCSY2DS.mjs → chunk-WNQUEZJF.mjs} +22 -1
  9. package/dist/{chunk-D47XME55.mjs → chunk-WXCHG3NQ.mjs} +8 -2
  10. package/dist/chunk-WZKGD3DD.mjs +231 -0
  11. package/dist/extension/backgroundcolor.d.mts +16 -0
  12. package/dist/extension/backgroundcolor.d.ts +16 -0
  13. package/dist/extension/backgroundcolor.js +668 -0
  14. package/dist/extension/backgroundcolor.mjs +107 -0
  15. package/dist/extension/base.d.mts +6 -0
  16. package/dist/extension/base.d.ts +6 -0
  17. package/dist/extension/base.js +65 -0
  18. package/dist/extension/base.mjs +22 -0
  19. package/dist/extension/blockquote.d.mts +10 -0
  20. package/dist/extension/blockquote.d.ts +10 -0
  21. package/dist/extension/blockquote.js +239 -0
  22. package/dist/extension/blockquote.mjs +46 -0
  23. package/dist/extension/bold.d.mts +7 -2
  24. package/dist/extension/bold.d.ts +7 -2
  25. package/dist/extension/bold.js +22 -45
  26. package/dist/extension/bold.mjs +13 -35
  27. package/dist/extension/bulletlist.d.mts +10 -0
  28. package/dist/extension/bulletlist.d.ts +10 -0
  29. package/dist/extension/bulletlist.js +241 -0
  30. package/dist/extension/bulletlist.mjs +46 -0
  31. package/dist/extension/clearformat.d.mts +1 -1
  32. package/dist/extension/clearformat.d.ts +1 -1
  33. package/dist/extension/clearformat.js +11 -6
  34. package/dist/extension/clearformat.mjs +8 -35
  35. package/dist/extension/color.d.mts +17 -0
  36. package/dist/extension/color.d.ts +17 -0
  37. package/dist/extension/color.js +580 -0
  38. package/dist/extension/color.mjs +12 -0
  39. package/dist/extension/emoji.d.mts +15 -0
  40. package/dist/extension/emoji.d.ts +15 -0
  41. package/dist/extension/emoji.js +421 -0
  42. package/dist/extension/emoji.mjs +158 -0
  43. package/dist/extension/font-family.d.mts +8 -11
  44. package/dist/extension/font-family.d.ts +8 -11
  45. package/dist/extension/font-family.js +11 -12
  46. package/dist/extension/font-family.mjs +10 -11
  47. package/dist/extension/font-size.d.mts +8 -11
  48. package/dist/extension/font-size.d.ts +8 -11
  49. package/dist/extension/font-size.js +10 -12
  50. package/dist/extension/font-size.mjs +9 -11
  51. package/dist/extension/heading.d.mts +10 -10
  52. package/dist/extension/heading.d.ts +10 -10
  53. package/dist/extension/heading.js +68 -80
  54. package/dist/extension/heading.mjs +40 -206
  55. package/dist/extension/history.d.mts +4 -2
  56. package/dist/extension/history.d.ts +4 -2
  57. package/dist/extension/history.js +16 -9
  58. package/dist/extension/history.mjs +16 -64
  59. package/dist/extension/horizontalrule.d.mts +10 -0
  60. package/dist/extension/horizontalrule.d.ts +10 -0
  61. package/dist/extension/horizontalrule.js +242 -0
  62. package/dist/extension/horizontalrule.mjs +42 -0
  63. package/dist/extension/image.d.mts +26 -0
  64. package/dist/extension/image.d.ts +26 -0
  65. package/dist/extension/image.js +1611 -0
  66. package/dist/extension/image.mjs +1153 -0
  67. package/dist/extension/indentoutdent.d.mts +21 -0
  68. package/dist/extension/indentoutdent.d.ts +21 -0
  69. package/dist/extension/indentoutdent.js +380 -0
  70. package/dist/extension/indentoutdent.mjs +164 -0
  71. package/dist/extension/italic.d.mts +7 -2
  72. package/dist/extension/italic.d.ts +7 -2
  73. package/dist/extension/italic.js +22 -45
  74. package/dist/extension/italic.mjs +14 -40
  75. package/dist/extension/lineheight.d.mts +15 -0
  76. package/dist/extension/lineheight.d.ts +15 -0
  77. package/dist/extension/lineheight.js +342 -0
  78. package/dist/extension/lineheight.mjs +87 -0
  79. package/dist/extension/link.d.mts +15 -0
  80. package/dist/extension/link.d.ts +15 -0
  81. package/dist/extension/link.js +588 -0
  82. package/dist/extension/link.mjs +278 -0
  83. package/dist/extension/orderedlist.d.mts +10 -0
  84. package/dist/extension/orderedlist.d.ts +10 -0
  85. package/dist/extension/orderedlist.js +241 -0
  86. package/dist/extension/orderedlist.mjs +46 -0
  87. package/dist/extension/strike.d.mts +8 -3
  88. package/dist/extension/strike.d.ts +8 -3
  89. package/dist/extension/strike.js +22 -45
  90. package/dist/extension/strike.mjs +14 -40
  91. package/dist/extension/subandsuperscript.d.mts +7 -10
  92. package/dist/extension/subandsuperscript.d.ts +7 -10
  93. package/dist/extension/subandsuperscript.js +66 -77
  94. package/dist/extension/subandsuperscript.mjs +18 -48
  95. package/dist/extension/subscript.d.mts +4 -2
  96. package/dist/extension/subscript.d.ts +4 -2
  97. package/dist/extension/subscript.js +20 -45
  98. package/dist/extension/subscript.mjs +10 -10
  99. package/dist/extension/superscript.d.mts +4 -2
  100. package/dist/extension/superscript.d.ts +4 -2
  101. package/dist/extension/superscript.js +20 -45
  102. package/dist/extension/superscript.mjs +10 -10
  103. package/dist/extension/table.d.mts +12 -0
  104. package/dist/extension/table.d.ts +12 -0
  105. package/dist/extension/table.js +585 -0
  106. package/dist/extension/table.mjs +324 -0
  107. package/dist/extension/tasklist.d.mts +10 -0
  108. package/dist/extension/tasklist.d.ts +10 -0
  109. package/dist/extension/tasklist.js +246 -0
  110. package/dist/extension/tasklist.mjs +52 -0
  111. package/dist/extension/textalign.d.mts +15 -0
  112. package/dist/extension/textalign.d.ts +15 -0
  113. package/dist/extension/textalign.js +404 -0
  114. package/dist/extension/textalign.mjs +79 -0
  115. package/dist/extension/underline.d.mts +7 -2
  116. package/dist/extension/underline.d.ts +7 -2
  117. package/dist/extension/underline.js +22 -45
  118. package/dist/extension/underline.mjs +14 -39
  119. package/dist/index.css +683 -31
  120. package/dist/index.d.mts +3 -1
  121. package/dist/index.d.ts +3 -1
  122. package/dist/index.js +306 -24
  123. package/dist/index.mjs +141 -13
  124. package/dist/tiptap-ext.type-B3TtT7-J.d.mts +43 -0
  125. package/dist/tiptap-ext.type-B3TtT7-J.d.ts +43 -0
  126. package/package.json +41 -28
  127. package/dist/chunk-2YUUKIIT.mjs +0 -149
  128. package/dist/chunk-7QOFJIQ3.mjs +0 -90
  129. package/dist/chunk-GSHINFPO.mjs +0 -53
  130. package/dist/chunk-LMOTHRGQ.mjs +0 -37
  131. package/dist/chunk-MBF77NHS.mjs +0 -37
  132. package/dist/tiptap-ext.type-DrneAC5G.d.mts +0 -39
  133. package/dist/tiptap-ext.type-DrneAC5G.d.ts +0 -39
@@ -1,12 +1,10 @@
1
1
  "use strict";
2
- var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __defProps = Object.defineProperties;
5
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
5
  var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
7
6
  var __getOwnPropNames = Object.getOwnPropertyNames;
8
7
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
9
- var __getProtoOf = Object.getPrototypeOf;
10
8
  var __hasOwnProp = Object.prototype.hasOwnProperty;
11
9
  var __propIsEnum = Object.prototype.propertyIsEnumerable;
12
10
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
@@ -46,14 +44,6 @@ var __copyProps = (to, from, except, desc) => {
46
44
  }
47
45
  return to;
48
46
  };
49
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
50
- // If the importer is in node compatibility mode or this is not an ESM
51
- // file that has been converted to a CommonJS file using a Babel-
52
- // compatible transform (i.e. "__esModule" has not been set), then set
53
- // "default" to the CommonJS "module.exports" for node compatibility.
54
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
55
- mod
56
- ));
57
47
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
58
48
 
59
49
  // src/extension/Strike.tsx
@@ -62,9 +52,9 @@ __export(Strike_exports, {
62
52
  Strike: () => Strike
63
53
  });
64
54
  module.exports = __toCommonJS(Strike_exports);
65
- var import_extension_strike = __toESM(require("@tiptap/extension-strike"));
55
+ var import_extension_strike = require("@tiptap/extension-strike");
66
56
 
67
- // src/lib/icon/StrikeIcon.tsx
57
+ // src/lib/icons/index.tsx
68
58
  var import_jsx_runtime = require("react/jsx-runtime");
69
59
  var StrikeIcon = (_a) => {
70
60
  var _b = _a, { size = 17, className } = _b, props = __objRest(_b, ["size", "className"]);
@@ -90,9 +80,9 @@ var StrikeIcon = (_a) => {
90
80
  })
91
81
  );
92
82
  };
93
- var StrikeIcon_default = StrikeIcon;
94
83
 
95
84
  // src/lib/components/ButtonComponent.tsx
85
+ var import_react5 = require("react");
96
86
  var import_tailwind_merge2 = require("tailwind-merge");
97
87
 
98
88
  // src/lib/components/_com/Tooltip.tsx
@@ -188,53 +178,40 @@ var useEditor = () => {
188
178
  };
189
179
 
190
180
  // src/lib/components/ButtonComponent.tsx
191
- var import_react5 = require("@tiptap/react");
181
+ var import_react6 = require("@tiptap/react");
192
182
  var import_jsx_runtime4 = require("react/jsx-runtime");
193
183
  var ButtonComponent = ({ className, activeClassName, icon, style, tooltip = true, tooltipClassName, tooltipPlacement, _extName, _internalIcon, _tooltipContent, _onToggle, _interShortcut, _buttonClassName }) => {
194
184
  const { editor } = useEditor();
195
- const editorState = (0, import_react5.useEditorState)({
185
+ const editorState = (0, import_react6.useEditorState)({
196
186
  editor,
197
187
  selector: ({ editor: editor2 }) => ({ isActive: (editor2 == null ? void 0 : editor2.isActive(_extName)) || false })
198
188
  });
189
+ const shortcutText = (0, import_react5.useMemo)(() => {
190
+ if (!_interShortcut) return "";
191
+ return (0, import_react6.isMacOS)() ? _interShortcut.mac : _interShortcut.win;
192
+ }, [_interShortcut]);
199
193
  const tooltipContent = /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("p", { children: [
200
194
  typeof tooltip === "string" ? tooltip : _tooltipContent,
201
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("br", {}),
202
- _interShortcut
195
+ shortcutText ? /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
196
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("br", {}),
197
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "opacity-70", children: shortcutText })
198
+ ] }) : null
203
199
  ] });
204
- const btn = /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
205
- "button",
206
- {
207
- onClick: _onToggle,
208
- className: (0, import_tailwind_merge2.twMerge)(
209
- "py-1.5 px-2.5 rounded-md",
210
- _buttonClassName,
211
- (editorState == null ? void 0 : editorState.isActive) ? "bg-gray-200/60" : "hover:bg-gray-100",
212
- className,
213
- (editorState == null ? void 0 : editorState.isActive) ? activeClassName : "hover:bg-gray-100"
214
- ),
215
- style,
216
- children: icon != null ? icon : _internalIcon
217
- }
218
- );
200
+ const btn = /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("button", { onClick: _onToggle, className: (0, import_tailwind_merge2.twMerge)("py-1.5 px-2.5 rounded-md", _buttonClassName, (editorState == null ? void 0 : editorState.isActive) ? "bg-gray-200/60" : "hover:bg-gray-100", className, (editorState == null ? void 0 : editorState.isActive) ? activeClassName : "hover:bg-gray-100"), style, children: icon != null ? icon : _internalIcon });
219
201
  if (tooltip === false) return btn;
220
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
221
- Tooltip_default,
222
- {
223
- content: tooltipContent,
224
- className: tooltipClassName,
225
- placement: tooltipPlacement,
226
- children: btn
227
- }
228
- );
202
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Tooltip_default, { content: tooltipContent, className: tooltipClassName, placement: tooltipPlacement, children: btn });
229
203
  };
230
204
  var ButtonComponent_default = ButtonComponent;
231
205
 
232
206
  // src/extension/Strike.tsx
233
207
  var import_jsx_runtime5 = require("react/jsx-runtime");
234
- var Strike = import_extension_strike.default.extend({
208
+ var Strike = import_extension_strike.Strike.extend({
235
209
  addOptions() {
236
210
  var _a;
237
- return __spreadProps(__spreadValues({}, (_a = this.parent) == null ? void 0 : _a.call(this)), {
211
+ const parent = (_a = this.parent) == null ? void 0 : _a.call(this);
212
+ return __spreadProps(__spreadValues({}, parent != null ? parent : {}), {
213
+ showInBubbleMenu: true,
214
+ bubbleMenuPosition: 5,
238
215
  component: ({ options, editor, buttonClassName }) => {
239
216
  return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
240
217
  ButtonComponent_default,
@@ -246,10 +223,10 @@ var Strike = import_extension_strike.default.extend({
246
223
  tooltip: options.tooltip,
247
224
  tooltipClassName: options.tooltipClassName,
248
225
  tooltipPlacement: options.tooltipPlacement,
249
- _internalIcon: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(StrikeIcon_default, {}),
226
+ _internalIcon: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(StrikeIcon, {}),
250
227
  _extName: "strike",
251
228
  _onToggle: () => editor.chain().focus().toggleStrike().run(),
252
- _interShortcut: "\u2318 \u21E7 S",
229
+ _interShortcut: { win: "Ctrl + \u21E7 + S", mac: "\u2318 + \u21E7 + S" },
253
230
  _tooltipContent: "Strike",
254
231
  _buttonClassName: buttonClassName
255
232
  }
@@ -1,53 +1,27 @@
1
1
  import {
2
2
  ButtonComponent_default
3
- } from "../chunk-GSHINFPO.mjs";
4
- import "../chunk-7QOFJIQ3.mjs";
3
+ } from "../chunk-SJFT7WNM.mjs";
5
4
  import "../chunk-VYDH6BZE.mjs";
6
5
  import {
7
- __objRest,
6
+ StrikeIcon
7
+ } from "../chunk-EN4BPI7N.mjs";
8
+ import {
8
9
  __spreadProps,
9
10
  __spreadValues
10
- } from "../chunk-FWCSY2DS.mjs";
11
-
12
- // src/extension/Strike.tsx
13
- import TiptapStrike from "@tiptap/extension-strike";
14
-
15
- // src/lib/icon/StrikeIcon.tsx
16
- import { jsx, jsxs } from "react/jsx-runtime";
17
- var StrikeIcon = (_a) => {
18
- var _b = _a, { size = 17, className } = _b, props = __objRest(_b, ["size", "className"]);
19
- return /* @__PURE__ */ jsxs(
20
- "svg",
21
- __spreadProps(__spreadValues({
22
- xmlns: "http://www.w3.org/2000/svg",
23
- viewBox: "0 0 24 24",
24
- fill: "none",
25
- stroke: "currentColor",
26
- strokeWidth: 2,
27
- strokeLinecap: "round",
28
- strokeLinejoin: "round",
29
- width: size,
30
- height: size,
31
- className
32
- }, props), {
33
- children: [
34
- /* @__PURE__ */ jsx("path", { d: "M16 4H9a3 3 0 0 0-2.83 4" }),
35
- /* @__PURE__ */ jsx("path", { d: "M14 12a4 4 0 0 1 0 8H6" }),
36
- /* @__PURE__ */ jsx("line", { x1: "4", x2: "20", y1: "12", y2: "12" })
37
- ]
38
- })
39
- );
40
- };
41
- var StrikeIcon_default = StrikeIcon;
11
+ } from "../chunk-WNQUEZJF.mjs";
42
12
 
43
13
  // src/extension/Strike.tsx
44
- import { jsx as jsx2 } from "react/jsx-runtime";
14
+ import { Strike as TiptapStrike } from "@tiptap/extension-strike";
15
+ import { jsx } from "react/jsx-runtime";
45
16
  var Strike = TiptapStrike.extend({
46
17
  addOptions() {
47
18
  var _a;
48
- return __spreadProps(__spreadValues({}, (_a = this.parent) == null ? void 0 : _a.call(this)), {
19
+ const parent = (_a = this.parent) == null ? void 0 : _a.call(this);
20
+ return __spreadProps(__spreadValues({}, parent != null ? parent : {}), {
21
+ showInBubbleMenu: true,
22
+ bubbleMenuPosition: 5,
49
23
  component: ({ options, editor, buttonClassName }) => {
50
- return /* @__PURE__ */ jsx2(
24
+ return /* @__PURE__ */ jsx(
51
25
  ButtonComponent_default,
52
26
  {
53
27
  className: options.className,
@@ -57,10 +31,10 @@ var Strike = TiptapStrike.extend({
57
31
  tooltip: options.tooltip,
58
32
  tooltipClassName: options.tooltipClassName,
59
33
  tooltipPlacement: options.tooltipPlacement,
60
- _internalIcon: /* @__PURE__ */ jsx2(StrikeIcon_default, {}),
34
+ _internalIcon: /* @__PURE__ */ jsx(StrikeIcon, {}),
61
35
  _extName: "strike",
62
36
  _onToggle: () => editor.chain().focus().toggleStrike().run(),
63
- _interShortcut: "\u2318 \u21E7 S",
37
+ _interShortcut: { win: "Ctrl + \u21E7 + S", mac: "\u2318 + \u21E7 + S" },
64
38
  _tooltipContent: "Strike",
65
39
  _buttonClassName: buttonClassName
66
40
  }
@@ -1,21 +1,18 @@
1
1
  import { ReactNode } from 'react';
2
- import { Extension, Editor } from '@tiptap/react';
3
- import { a as ExtDropdownOptions } from '../tiptap-ext.type-DrneAC5G.mjs';
2
+ import { Extension } from '@tiptap/react';
3
+ import { a as ExtDropdownOptions } from '../tiptap-ext.type-B3TtT7-J.mjs';
4
4
  import '@floating-ui/react';
5
5
 
6
- interface ExtSubAndSupOptions extends ExtDropdownOptions {
6
+ type ExtSubAndSupOptions = ExtDropdownOptions<{
7
7
  subscript?: string | boolean;
8
8
  superscript?: string | boolean;
9
9
  subscriptIcon?: ReactNode;
10
10
  superscriptIcon?: ReactNode;
11
11
  showCommandText?: boolean;
12
- component: (args: {
13
- options: ExtSubAndSupOptions;
14
- editor: Editor;
15
- dropdownContainerClassName: string;
16
- dropdownItemClassName: string;
17
- }) => ReactNode;
18
- }
12
+ }, {
13
+ dropdownContainerClassName: string;
14
+ dropdownItemClassName: string;
15
+ }>;
19
16
  declare const SubAndSuperscript: Extension<ExtSubAndSupOptions, any>;
20
17
 
21
18
  export { SubAndSuperscript };
@@ -1,21 +1,18 @@
1
1
  import { ReactNode } from 'react';
2
- import { Extension, Editor } from '@tiptap/react';
3
- import { a as ExtDropdownOptions } from '../tiptap-ext.type-DrneAC5G.js';
2
+ import { Extension } from '@tiptap/react';
3
+ import { a as ExtDropdownOptions } from '../tiptap-ext.type-B3TtT7-J.js';
4
4
  import '@floating-ui/react';
5
5
 
6
- interface ExtSubAndSupOptions extends ExtDropdownOptions {
6
+ type ExtSubAndSupOptions = ExtDropdownOptions<{
7
7
  subscript?: string | boolean;
8
8
  superscript?: string | boolean;
9
9
  subscriptIcon?: ReactNode;
10
10
  superscriptIcon?: ReactNode;
11
11
  showCommandText?: boolean;
12
- component: (args: {
13
- options: ExtSubAndSupOptions;
14
- editor: Editor;
15
- dropdownContainerClassName: string;
16
- dropdownItemClassName: string;
17
- }) => ReactNode;
18
- }
12
+ }, {
13
+ dropdownContainerClassName: string;
14
+ dropdownItemClassName: string;
15
+ }>;
19
16
  declare const SubAndSuperscript: Extension<ExtSubAndSupOptions, any>;
20
17
 
21
18
  export { SubAndSuperscript };
@@ -65,10 +65,31 @@ module.exports = __toCommonJS(SubAndSuperscript_exports);
65
65
  var import_react9 = require("@tiptap/react");
66
66
  var import_extension_subscript = __toESM(require("@tiptap/extension-subscript"));
67
67
  var import_extension_superscript = __toESM(require("@tiptap/extension-superscript"));
68
+ var import_react10 = require("@tiptap/react");
68
69
 
69
- // src/lib/icon/SubIcon.tsx
70
+ // src/lib/icons/index.tsx
70
71
  var import_jsx_runtime = require("react/jsx-runtime");
71
- var SubIcon = (_a) => {
72
+ var ArrowIcon = (_a) => {
73
+ var _b = _a, { size = 17, className } = _b, props = __objRest(_b, ["size", "className"]);
74
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
75
+ "svg",
76
+ __spreadProps(__spreadValues({
77
+ xmlns: "http://www.w3.org/2000/svg",
78
+ viewBox: "0 0 48 48",
79
+ fill: "none",
80
+ stroke: "currentColor",
81
+ strokeWidth: 2,
82
+ strokeLinecap: "round",
83
+ strokeLinejoin: "round",
84
+ width: size,
85
+ height: size,
86
+ className
87
+ }, props), {
88
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { fill: "currentColor", stroke: "currentColor", strokeLinejoin: "round", strokeWidth: "4", d: "M36 19L24 31L12 19z" })
89
+ })
90
+ );
91
+ };
92
+ var SubAndSupIcon = (_a) => {
72
93
  var _b = _a, { size = 17, className } = _b, props = __objRest(_b, ["size", "className"]);
73
94
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
74
95
  "svg",
@@ -85,20 +106,16 @@ var SubIcon = (_a) => {
85
106
  className
86
107
  }, props), {
87
108
  children: [
88
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "m4 5 8 8" }),
89
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "m12 5-8 8" }),
90
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M20 19h-4c0-1.5.44-2 1.5-2.5S20 15.33 20 14c0-.47-.17-.93-.48-1.29a2.11 2.11 0 0 0-2.62-.44c-.42.24-.74.62-.9 1.07" })
109
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M12 4v16" }),
110
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2" }),
111
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M9 20h6" })
91
112
  ]
92
113
  })
93
114
  );
94
115
  };
95
- var SubIcon_default = SubIcon;
96
-
97
- // src/lib/icon/SupIcon.tsx
98
- var import_jsx_runtime2 = require("react/jsx-runtime");
99
- var SupIcon = (_a) => {
116
+ var SubIcon = (_a) => {
100
117
  var _b = _a, { size = 17, className } = _b, props = __objRest(_b, ["size", "className"]);
101
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
118
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
102
119
  "svg",
103
120
  __spreadProps(__spreadValues({
104
121
  xmlns: "http://www.w3.org/2000/svg",
@@ -113,20 +130,16 @@ var SupIcon = (_a) => {
113
130
  className
114
131
  }, props), {
115
132
  children: [
116
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m4 19 8-8" }),
117
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m12 19-8-8" }),
118
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M20 12h-4c0-1.5.442-2 1.5-2.5S20 8.334 20 7.002c0-.472-.17-.93-.484-1.29a2.105 2.105 0 0 0-2.617-.436c-.42.239-.738.614-.899 1.06" })
133
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "m4 5 8 8" }),
134
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "m12 5-8 8" }),
135
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M20 19h-4c0-1.5.44-2 1.5-2.5S20 15.33 20 14c0-.47-.17-.93-.48-1.29a2.11 2.11 0 0 0-2.62-.44c-.42.24-.74.62-.9 1.07" })
119
136
  ]
120
137
  })
121
138
  );
122
139
  };
123
- var SupIcon_default = SupIcon;
124
-
125
- // src/lib/icon/SubAndSupIcon.tsx
126
- var import_jsx_runtime3 = require("react/jsx-runtime");
127
- var SubAndSupIcon = (_a) => {
140
+ var SupIcon = (_a) => {
128
141
  var _b = _a, { size = 17, className } = _b, props = __objRest(_b, ["size", "className"]);
129
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
142
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
130
143
  "svg",
131
144
  __spreadProps(__spreadValues({
132
145
  xmlns: "http://www.w3.org/2000/svg",
@@ -141,14 +154,13 @@ var SubAndSupIcon = (_a) => {
141
154
  className
142
155
  }, props), {
143
156
  children: [
144
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M12 4v16" }),
145
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2" }),
146
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M9 20h6" })
157
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "m4 19 8-8" }),
158
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "m12 19-8-8" }),
159
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M20 12h-4c0-1.5.442-2 1.5-2.5S20 8.334 20 7.002c0-.472-.17-.93-.484-1.29a2.105 2.105 0 0 0-2.617-.436c-.42.239-.738.614-.899 1.06" })
147
160
  ]
148
161
  })
149
162
  );
150
163
  };
151
- var SubAndSupIcon_default = SubAndSupIcon;
152
164
 
153
165
  // src/lib/components/DropdownComponent.tsx
154
166
  var import_react4 = require("react");
@@ -159,7 +171,7 @@ var import_react = require("react");
159
171
  var import_react2 = require("@floating-ui/react");
160
172
  var import_react3 = require("motion/react");
161
173
  var import_tailwind_merge = require("tailwind-merge");
162
- var import_jsx_runtime4 = require("react/jsx-runtime");
174
+ var import_jsx_runtime2 = require("react/jsx-runtime");
163
175
  var Tooltip = ({ placement = "top", children, content, className }) => {
164
176
  const [open, setOpen] = (0, import_react.useState)(false);
165
177
  const { x, y, refs, strategy, context, placement: resolvedPlacement } = (0, import_react2.useFloating)({
@@ -199,7 +211,7 @@ var Tooltip = ({ placement = "top", children, content, className }) => {
199
211
  }
200
212
  };
201
213
  const getExit = () => __spreadProps(__spreadValues({}, getInitial()), { opacity: 0 });
202
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_react.Fragment, { children: [
214
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_react.Fragment, { children: [
203
215
  (0, import_react.isValidElement)(children) ? (0, import_react.cloneElement)(children, __spreadProps(__spreadValues({}, getReferenceProps({
204
216
  onFocus: () => setOpen(true),
205
217
  onBlur: () => setOpen(false),
@@ -209,7 +221,7 @@ var Tooltip = ({ placement = "top", children, content, className }) => {
209
221
  /* eslint-disable @typescript-eslint/no-explicit-any */
210
222
  ref: mergeRefs(children.props.ref, refs.setReference)
211
223
  })) : children,
212
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react2.FloatingPortal, { children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react3.AnimatePresence, { children: open && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
224
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react2.FloatingPortal, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react3.AnimatePresence, { children: open && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
213
225
  import_react3.motion.div,
214
226
  __spreadProps(__spreadValues({
215
227
  ref: refs.setFloating
@@ -238,34 +250,8 @@ var Tooltip_default = Tooltip;
238
250
 
239
251
  // src/lib/components/DropdownComponent.tsx
240
252
  var import_react5 = require("@floating-ui/react");
241
-
242
- // src/lib/icon/ArrowIcon.tsx
243
- var import_jsx_runtime5 = require("react/jsx-runtime");
244
- var ArrowIcon = (_a) => {
245
- var _b = _a, { size = 17, className } = _b, props = __objRest(_b, ["size", "className"]);
246
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
247
- "svg",
248
- __spreadProps(__spreadValues({
249
- xmlns: "http://www.w3.org/2000/svg",
250
- viewBox: "0 0 48 48",
251
- fill: "none",
252
- stroke: "currentColor",
253
- strokeWidth: 2,
254
- strokeLinecap: "round",
255
- strokeLinejoin: "round",
256
- width: size,
257
- height: size,
258
- className
259
- }, props), {
260
- children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { fill: "currentColor", stroke: "currentColor", strokeLinejoin: "round", strokeWidth: "4", d: "M36 19L24 31L12 19z" })
261
- })
262
- );
263
- };
264
- var ArrowIcon_default = ArrowIcon;
265
-
266
- // src/lib/components/DropdownComponent.tsx
267
253
  var import_react6 = require("motion/react");
268
- var import_jsx_runtime6 = require("react/jsx-runtime");
254
+ var import_jsx_runtime3 = require("react/jsx-runtime");
269
255
  var DropdownComponent = ({ children, className, showArrow = true, content, dropdownClassName, style, tooltip, tooltipClassName, tooltipPlacement, _tooltipContent, _internalContent, _dropdownClassName }) => {
270
256
  const [open, setOpen] = (0, import_react4.useState)(false);
271
257
  const { x, y, refs, strategy, context } = (0, import_react5.useFloating)({
@@ -279,20 +265,23 @@ var DropdownComponent = ({ children, className, showArrow = true, content, dropd
279
265
  const dismiss = (0, import_react5.useDismiss)(context);
280
266
  const { getReferenceProps, getFloatingProps } = (0, import_react5.useInteractions)([click, dismiss]);
281
267
  const listId = (0, import_react4.useId)();
282
- const tooltipContent = /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("p", { children: typeof tooltip === "string" ? tooltip : _tooltipContent });
268
+ const tooltipContent = /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("p", { children: typeof tooltip === "string" ? tooltip : _tooltipContent });
283
269
  const initialMotion = { opacity: 0, scale: 0.95 };
284
270
  const animateMotion = { opacity: 1, scale: 1 };
285
271
  const enhancedChildren = import_react4.Children.map(children, (child) => {
286
272
  if (!(0, import_react4.isValidElement)(child)) return child;
287
- if (!("onSelect" in child.props)) return child;
288
273
  const prevOnSelect = child.props.onSelect;
289
274
  const combinedOnSelect = () => {
290
275
  prevOnSelect == null ? void 0 : prevOnSelect();
291
276
  setOpen(false);
292
277
  };
293
- return (0, import_react4.cloneElement)(child, { onSelect: combinedOnSelect });
278
+ return (0, import_react4.cloneElement)(child, {
279
+ onSelect: prevOnSelect ? combinedOnSelect : void 0,
280
+ open,
281
+ onClose: () => setOpen(false)
282
+ });
294
283
  });
295
- const btn = /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
284
+ const btn = /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
296
285
  "button",
297
286
  __spreadProps(__spreadValues({}, getReferenceProps({
298
287
  ref: refs.setReference,
@@ -305,13 +294,13 @@ var DropdownComponent = ({ children, className, showArrow = true, content, dropd
305
294
  ),
306
295
  style,
307
296
  children: [
308
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { children: content != null ? content : _internalContent }),
309
- showArrow && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(ArrowIcon_default, { size: 14, className: "text-gray-500 block" })
297
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { children: content != null ? content : _internalContent }),
298
+ showArrow && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(ArrowIcon, { size: 14, className: "text-gray-500 block" })
310
299
  ]
311
300
  })
312
301
  );
313
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_react4.Fragment, { children: [
314
- tooltip === false ? btn : /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
302
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_react4.Fragment, { children: [
303
+ tooltip === false ? btn : /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
315
304
  Tooltip_default,
316
305
  {
317
306
  content: tooltipContent,
@@ -320,7 +309,7 @@ var DropdownComponent = ({ children, className, showArrow = true, content, dropd
320
309
  children: btn
321
310
  }
322
311
  ),
323
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_react5.FloatingPortal, { children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_react6.AnimatePresence, { children: open && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
312
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react5.FloatingPortal, { children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react6.AnimatePresence, { children: open && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
324
313
  import_react6.motion.div,
325
314
  __spreadProps(__spreadValues({}, getFloatingProps({
326
315
  ref: refs.setFloating,
@@ -335,7 +324,7 @@ var DropdownComponent = ({ children, className, showArrow = true, content, dropd
335
324
  initial: initialMotion,
336
325
  animate: animateMotion,
337
326
  exit: initialMotion,
338
- className: (0, import_tailwind_merge2.twMerge)("bg-white border border-solid border-gray-200 p-2 space-y-1 rounded-lg shadow-sm shadow-gray-200/40 max-h-125 overflow-auto", _dropdownClassName, dropdownClassName),
327
+ className: (0, import_tailwind_merge2.twMerge)("bg-white border border-solid border-gray-200 p-2 space-y-1 rounded-lg shadow-sm shadow-gray-200/40 z-99999999 max-h-125 overflow-auto", _dropdownClassName, dropdownClassName),
339
328
  children: enhancedChildren
340
329
  })
341
330
  ) }) })
@@ -348,7 +337,7 @@ var import_tailwind_merge3 = require("tailwind-merge");
348
337
 
349
338
  // src/lib/context/editor.context.tsx
350
339
  var import_react7 = require("react");
351
- var import_jsx_runtime7 = require("react/jsx-runtime");
340
+ var import_jsx_runtime4 = require("react/jsx-runtime");
352
341
  var EditorContext = (0, import_react7.createContext)({ editor: null });
353
342
  var useEditor = () => {
354
343
  const ctx = (0, import_react7.useContext)(EditorContext);
@@ -358,14 +347,14 @@ var useEditor = () => {
358
347
 
359
348
  // src/lib/components/DropdownItemComponent.tsx
360
349
  var import_react8 = require("@tiptap/react");
361
- var import_jsx_runtime8 = require("react/jsx-runtime");
350
+ var import_jsx_runtime5 = require("react/jsx-runtime");
362
351
  var DropdownItemComponent = ({ item, onSelect, activeClassName, itemClassName, _itemClassName, showKeyShortcutText = true, spClass }) => {
363
352
  const { editor } = useEditor();
364
353
  const editorState = (0, import_react8.useEditorState)({
365
354
  editor,
366
355
  selector: ({ editor: editor2 }) => ({ isActive: (editor2 == null ? void 0 : editor2.isActive(item.name, item.ext ? { level: item.ext } : void 0)) || false })
367
356
  });
368
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: (0, import_tailwind_merge3.twMerge)(
357
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: (0, import_tailwind_merge3.twMerge)(
369
358
  "flex items-center gap-x-2.5 transition-all duration-100 cursor-pointer select-none px-2 py-1.5 rounded-md",
370
359
  _itemClassName,
371
360
  (editorState == null ? void 0 : editorState.isActive) ? "bg-gray-200/60" : "hover:bg-gray-100",
@@ -373,14 +362,14 @@ var DropdownItemComponent = ({ item, onSelect, activeClassName, itemClassName, _
373
362
  (editorState == null ? void 0 : editorState.isActive) ? activeClassName : "hover:bg-gray-100"
374
363
  ), onClick: onSelect, children: [
375
364
  item.icon,
376
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: (0, import_tailwind_merge3.twMerge)("flex-1 text-base", spClass), style: item.style, children: item.text }),
377
- showKeyShortcutText && item.keyBind && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: "ml-6 text-gray-400", children: item.keyBind })
365
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { className: (0, import_tailwind_merge3.twMerge)("flex-1 text-base", spClass), style: item.style, children: item.text }),
366
+ showKeyShortcutText && item.keyBind && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { className: "ml-6 text-gray-400", children: item.keyBind })
378
367
  ] });
379
368
  };
380
369
  var DropdownItemComponent_default = DropdownItemComponent;
381
370
 
382
371
  // src/extension/SubAndSuperscript.tsx
383
- var import_jsx_runtime9 = require("react/jsx-runtime");
372
+ var import_jsx_runtime6 = require("react/jsx-runtime");
384
373
  var SubAndSuperscript = import_react9.Extension.create({
385
374
  name: "subAndSuperScript",
386
375
  addOptions() {
@@ -392,24 +381,24 @@ var SubAndSuperscript = import_react9.Extension.create({
392
381
  if (options.subscript !== false) {
393
382
  list.push({
394
383
  id: crypto.randomUUID(),
395
- icon: (_a2 = options.subscriptIcon) != null ? _a2 : /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(SubIcon_default, {}),
384
+ icon: (_a2 = options.subscriptIcon) != null ? _a2 : /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(SubIcon, {}),
396
385
  text: typeof options.subscript === "string" ? options.subscript : "Subscript",
397
386
  onClick: () => editor.chain().focus().toggleSubscript().run(),
398
- keyBind: "\u2318 .",
387
+ keyBind: (0, import_react10.isMacOS)() ? "\u2318 + ," : "Ctrl + ,",
399
388
  name: "subscript"
400
389
  });
401
390
  }
402
391
  if (options.superscript !== false) {
403
392
  list.push({
404
393
  id: crypto.randomUUID(),
405
- icon: (_b = options.superscriptIcon) != null ? _b : /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(SupIcon_default, {}),
394
+ icon: (_b = options.superscriptIcon) != null ? _b : /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(SupIcon, {}),
406
395
  text: typeof options.superscript === "string" ? options.superscript : "Superscript",
407
396
  onClick: () => editor.chain().focus().toggleSuperscript().run(),
408
- keyBind: "\u2318 ,",
397
+ keyBind: (0, import_react10.isMacOS)() ? "\u2318 + ." : "Ctrl + .",
409
398
  name: "superscript"
410
399
  });
411
400
  }
412
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
401
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
413
402
  DropdownComponent_default,
414
403
  {
415
404
  className: options.className,
@@ -421,9 +410,9 @@ var SubAndSuperscript = import_react9.Extension.create({
421
410
  tooltipClassName: options.tooltipClassName,
422
411
  tooltipPlacement: options.tooltipPlacement,
423
412
  _tooltipContent: "Sub & Superscript",
424
- _internalContent: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(SubAndSupIcon_default, {}),
413
+ _internalContent: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(SubAndSupIcon, {}),
425
414
  _dropdownClassName: dropdownContainerClassName,
426
- children: list.map((item) => /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
415
+ children: list.map((item) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
427
416
  DropdownItemComponent_default,
428
417
  {
429
418
  onSelect: item.onClick,