payload-richtext-tiptap 0.0.70 → 0.0.72

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 (137) hide show
  1. package/dist/src/fields/TiptapEditor/Components.d.ts.map +1 -1
  2. package/dist/src/fields/TiptapEditor/Components.js +3 -4
  3. package/dist/src/fields/TiptapEditor/Components.js.map +1 -1
  4. package/dist/src/fields/TiptapEditor/extensions/AICommand/AICommand.d.ts.map +1 -1
  5. package/dist/src/fields/TiptapEditor/extensions/AICommand/AICommand.js +2 -2
  6. package/dist/src/fields/TiptapEditor/extensions/AICommand/AICommand.js.map +1 -1
  7. package/dist/src/fields/TiptapEditor/extensions/AICommand/groups.d.ts.map +1 -1
  8. package/dist/src/fields/TiptapEditor/extensions/AICommand/groups.js +16 -15
  9. package/dist/src/fields/TiptapEditor/extensions/AICommand/groups.js.map +1 -1
  10. package/dist/src/fields/TiptapEditor/extensions/AudioBlock/AudioBlock.d.ts.map +1 -1
  11. package/dist/src/fields/TiptapEditor/extensions/AudioBlock/AudioBlock.js +1 -0
  12. package/dist/src/fields/TiptapEditor/extensions/AudioBlock/AudioBlock.js.map +1 -1
  13. package/dist/src/fields/TiptapEditor/extensions/AudioBlock/components/AudioBlockMenu.d.ts.map +1 -1
  14. package/dist/src/fields/TiptapEditor/extensions/AudioBlock/components/AudioBlockMenu.js +5 -4
  15. package/dist/src/fields/TiptapEditor/extensions/AudioBlock/components/AudioBlockMenu.js.map +1 -1
  16. package/dist/src/fields/TiptapEditor/extensions/FontSize/FontSize.js.map +1 -1
  17. package/dist/src/fields/TiptapEditor/extensions/Heading/Heading.js.map +1 -1
  18. package/dist/src/fields/TiptapEditor/extensions/Iframe/menus/IframeMenu.d.ts.map +1 -1
  19. package/dist/src/fields/TiptapEditor/extensions/Iframe/menus/IframeMenu.js +2 -1
  20. package/dist/src/fields/TiptapEditor/extensions/Iframe/menus/IframeMenu.js.map +1 -1
  21. package/dist/src/fields/TiptapEditor/extensions/ImageBlock/ImageBlock.d.ts.map +1 -1
  22. package/dist/src/fields/TiptapEditor/extensions/ImageBlock/ImageBlock.js +1 -0
  23. package/dist/src/fields/TiptapEditor/extensions/ImageBlock/ImageBlock.js.map +1 -1
  24. package/dist/src/fields/TiptapEditor/extensions/ImageBlock/components/ImageBlockMenu.d.ts.map +1 -1
  25. package/dist/src/fields/TiptapEditor/extensions/ImageBlock/components/ImageBlockMenu.js +4 -3
  26. package/dist/src/fields/TiptapEditor/extensions/ImageBlock/components/ImageBlockMenu.js.map +1 -1
  27. package/dist/src/fields/TiptapEditor/extensions/InsideLinks/InsideLink.client.js.map +1 -1
  28. package/dist/src/fields/TiptapEditor/extensions/InsideLinks/InsideLinksComponent.d.ts.map +1 -1
  29. package/dist/src/fields/TiptapEditor/extensions/InsideLinks/InsideLinksComponent.js +1 -0
  30. package/dist/src/fields/TiptapEditor/extensions/InsideLinks/InsideLinksComponent.js.map +1 -1
  31. package/dist/src/fields/TiptapEditor/extensions/MultiColumn/Columns.js +3 -3
  32. package/dist/src/fields/TiptapEditor/extensions/MultiColumn/Columns.js.map +1 -1
  33. package/dist/src/fields/TiptapEditor/extensions/MultiColumn/menus/ColumnsMenu.d.ts.map +1 -1
  34. package/dist/src/fields/TiptapEditor/extensions/MultiColumn/menus/ColumnsMenu.js +4 -3
  35. package/dist/src/fields/TiptapEditor/extensions/MultiColumn/menus/ColumnsMenu.js.map +1 -1
  36. package/dist/src/fields/TiptapEditor/extensions/SlashCommand/MenuList.js.map +1 -1
  37. package/dist/src/fields/TiptapEditor/extensions/SlashCommand/SlashCommand.d.ts.map +1 -1
  38. package/dist/src/fields/TiptapEditor/extensions/SlashCommand/SlashCommand.js +2 -2
  39. package/dist/src/fields/TiptapEditor/extensions/SlashCommand/SlashCommand.js.map +1 -1
  40. package/dist/src/fields/TiptapEditor/extensions/SlashCommand/groups.d.ts.map +1 -1
  41. package/dist/src/fields/TiptapEditor/extensions/SlashCommand/groups.js +30 -29
  42. package/dist/src/fields/TiptapEditor/extensions/SlashCommand/groups.js.map +1 -1
  43. package/dist/src/fields/TiptapEditor/extensions/VideoBlock/VideoBlock.d.ts.map +1 -1
  44. package/dist/src/fields/TiptapEditor/extensions/VideoBlock/VideoBlock.js +1 -0
  45. package/dist/src/fields/TiptapEditor/extensions/VideoBlock/VideoBlock.js.map +1 -1
  46. package/dist/src/fields/TiptapEditor/extensions/VideoBlock/components/VideoBlockMenu.d.ts.map +1 -1
  47. package/dist/src/fields/TiptapEditor/extensions/VideoBlock/components/VideoBlockMenu.js +5 -4
  48. package/dist/src/fields/TiptapEditor/extensions/VideoBlock/components/VideoBlockMenu.js.map +1 -1
  49. package/dist/src/fields/TiptapEditor/extensions/extension-kit.d.ts +1 -1
  50. package/dist/src/fields/TiptapEditor/features/BlockEditor/BlockEditor.d.ts +2 -2
  51. package/dist/src/fields/TiptapEditor/features/BlockEditor/BlockEditor.d.ts.map +1 -1
  52. package/dist/src/fields/TiptapEditor/features/BlockEditor/BlockEditor.js +16 -1
  53. package/dist/src/fields/TiptapEditor/features/BlockEditor/BlockEditor.js.map +1 -1
  54. package/dist/src/fields/TiptapEditor/features/BlockEditor/components/EditorHeader.d.ts.map +1 -1
  55. package/dist/src/fields/TiptapEditor/features/BlockEditor/components/EditorHeader.js +2 -1
  56. package/dist/src/fields/TiptapEditor/features/BlockEditor/components/EditorHeader.js.map +1 -1
  57. package/dist/src/fields/TiptapEditor/features/BlockEditor/types.d.ts +7 -0
  58. package/dist/src/fields/TiptapEditor/features/BlockEditor/types.d.ts.map +1 -1
  59. package/dist/src/fields/TiptapEditor/features/BlockEditor/types.js.map +1 -1
  60. package/dist/src/fields/TiptapEditor/features/menus/ContentItemMenu/ContentItemMenu.js +5 -4
  61. package/dist/src/fields/TiptapEditor/features/menus/ContentItemMenu/ContentItemMenu.js.map +1 -1
  62. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/TextMenu.d.ts.map +1 -1
  63. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/TextMenu.js +16 -15
  64. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/TextMenu.js.map +1 -1
  65. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/EditIframeLinkPopover.d.ts.map +1 -1
  66. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/EditIframeLinkPopover.js +2 -1
  67. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/EditIframeLinkPopover.js.map +1 -1
  68. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/EditLinkPopover.d.ts.map +1 -1
  69. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/EditLinkPopover.js +2 -1
  70. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/EditLinkPopover.js.map +1 -1
  71. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/FontFamilyPicker.js.map +1 -1
  72. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/FontSizePicker.d.ts.map +1 -1
  73. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/FontSizePicker.js +24 -23
  74. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/FontSizePicker.js.map +1 -1
  75. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/SocialMediaPopover.d.ts.map +1 -1
  76. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/SocialMediaPopover.js +2 -1
  77. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/SocialMediaPopover.js.map +1 -1
  78. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/ai-selector-commands.d.ts.map +1 -1
  79. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/ai-selector-commands.js +2 -1
  80. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/components/ai-selector-commands.js.map +1 -1
  81. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/hooks/useTextmenuContentTypes.d.ts.map +1 -1
  82. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/hooks/useTextmenuContentTypes.js +9 -8
  83. package/dist/src/fields/TiptapEditor/features/menus/TextMenu/hooks/useTextmenuContentTypes.js.map +1 -1
  84. package/dist/src/fields/TiptapEditor/features/panels/AICommandPanel/AICommandPanel.d.ts.map +1 -1
  85. package/dist/src/fields/TiptapEditor/features/panels/AICommandPanel/AICommandPanel.js +2 -1
  86. package/dist/src/fields/TiptapEditor/features/panels/AICommandPanel/AICommandPanel.js.map +1 -1
  87. package/dist/src/fields/TiptapEditor/features/panels/AIEditorPanel/AIEditorPanel.d.ts.map +1 -1
  88. package/dist/src/fields/TiptapEditor/features/panels/AIEditorPanel/AIEditorPanel.js +2 -1
  89. package/dist/src/fields/TiptapEditor/features/panels/AIEditorPanel/AIEditorPanel.js.map +1 -1
  90. package/dist/src/fields/TiptapEditor/features/panels/Colorpicker/Colorpicker.d.ts.map +1 -1
  91. package/dist/src/fields/TiptapEditor/features/panels/Colorpicker/Colorpicker.js +2 -1
  92. package/dist/src/fields/TiptapEditor/features/panels/Colorpicker/Colorpicker.js.map +1 -1
  93. package/dist/src/fields/TiptapEditor/features/panels/IframeLinkEditorPanel/IframeLinkEditorPanel.d.ts.map +1 -1
  94. package/dist/src/fields/TiptapEditor/features/panels/IframeLinkEditorPanel/IframeLinkEditorPanel.js +2 -1
  95. package/dist/src/fields/TiptapEditor/features/panels/IframeLinkEditorPanel/IframeLinkEditorPanel.js.map +1 -1
  96. package/dist/src/fields/TiptapEditor/features/panels/LinkEditorPanel/LinkEditorPanel.d.ts.map +1 -1
  97. package/dist/src/fields/TiptapEditor/features/panels/LinkEditorPanel/LinkEditorPanel.js +2 -1
  98. package/dist/src/fields/TiptapEditor/features/panels/LinkEditorPanel/LinkEditorPanel.js.map +1 -1
  99. package/dist/src/fields/TiptapEditor/hooks/useBlockEditor.d.ts.map +1 -1
  100. package/dist/src/fields/TiptapEditor/hooks/useBlockEditor.js +4 -10
  101. package/dist/src/fields/TiptapEditor/hooks/useBlockEditor.js.map +1 -1
  102. package/dist/src/fields/TiptapEditor/lib/extract.d.ts +3 -1
  103. package/dist/src/fields/TiptapEditor/lib/extract.d.ts.map +1 -1
  104. package/dist/src/fields/TiptapEditor/lib/extract.js +12 -0
  105. package/dist/src/fields/TiptapEditor/lib/extract.js.map +1 -1
  106. package/dist/src/fields/TiptapEditor/lib/utils/cssVar.js.map +1 -1
  107. package/dist/src/index.d.ts +1 -1
  108. package/dist/src/index.d.ts.map +1 -1
  109. package/dist/src/index.js +1 -1
  110. package/dist/src/index.js.map +1 -1
  111. package/dist/src/styles.css +2 -2
  112. package/dist/tsconfig.tsbuildinfo +1 -1
  113. package/package.json +39 -38
  114. package/dist/src/fields/TiptapEditor/extensions/TableOfContentsNode/TableOfContentsNode.d.ts +0 -10
  115. package/dist/src/fields/TiptapEditor/extensions/TableOfContentsNode/TableOfContentsNode.d.ts.map +0 -1
  116. package/dist/src/fields/TiptapEditor/extensions/TableOfContentsNode/TableOfContentsNode.js +0 -55
  117. package/dist/src/fields/TiptapEditor/extensions/TableOfContentsNode/TableOfContentsNode.js.map +0 -1
  118. package/dist/src/fields/TiptapEditor/extensions/TableOfContentsNode/index.d.ts +0 -2
  119. package/dist/src/fields/TiptapEditor/extensions/TableOfContentsNode/index.d.ts.map +0 -1
  120. package/dist/src/fields/TiptapEditor/extensions/TableOfContentsNode/index.js +0 -3
  121. package/dist/src/fields/TiptapEditor/extensions/TableOfContentsNode/index.js.map +0 -1
  122. package/dist/src/fields/TiptapEditor/features/Sidebar/Sidebar.d.ts +0 -8
  123. package/dist/src/fields/TiptapEditor/features/Sidebar/Sidebar.d.ts.map +0 -1
  124. package/dist/src/fields/TiptapEditor/features/Sidebar/Sidebar.js +0 -32
  125. package/dist/src/fields/TiptapEditor/features/Sidebar/Sidebar.js.map +0 -1
  126. package/dist/src/fields/TiptapEditor/features/Sidebar/index.d.ts +0 -2
  127. package/dist/src/fields/TiptapEditor/features/Sidebar/index.d.ts.map +0 -1
  128. package/dist/src/fields/TiptapEditor/features/Sidebar/index.js +0 -3
  129. package/dist/src/fields/TiptapEditor/features/Sidebar/index.js.map +0 -1
  130. package/dist/src/fields/TiptapEditor/features/TableOfContents/TableOfContents.d.ts +0 -8
  131. package/dist/src/fields/TiptapEditor/features/TableOfContents/TableOfContents.d.ts.map +0 -1
  132. package/dist/src/fields/TiptapEditor/features/TableOfContents/TableOfContents.js +0 -57
  133. package/dist/src/fields/TiptapEditor/features/TableOfContents/TableOfContents.js.map +0 -1
  134. package/dist/src/fields/TiptapEditor/features/TableOfContents/index.d.ts +0 -2
  135. package/dist/src/fields/TiptapEditor/features/TableOfContents/index.d.ts.map +0 -1
  136. package/dist/src/fields/TiptapEditor/features/TableOfContents/index.js +0 -3
  137. package/dist/src/fields/TiptapEditor/features/TableOfContents/index.js.map +0 -1
@@ -15,6 +15,7 @@ import { FontSizePicker } from "./components/FontSizePicker.js";
15
15
  import { useTextmenuCommands } from "./hooks/useTextmenuCommands.js";
16
16
  import { useTextmenuContentTypes } from "./hooks/useTextmenuContentTypes.js";
17
17
  import { useTextmenuStates } from "./hooks/useTextmenuStates.js";
18
+ import i18next from "i18next";
18
19
  // We memorize the button so each button is not rerendered
19
20
  // on every editor state change
20
21
  const MemoButton = /*#__PURE__*/ memo(Toolbar.Button);
@@ -57,7 +58,7 @@ export const TextMenu = ({ editor, dir })=>{
57
58
  icon: Sparkles,
58
59
  className: "mr-1"
59
60
  }),
60
- "AI Tools"
61
+ i18next.t("aiTools") || "AI Tools"
61
62
  ]
62
63
  }),
63
64
  /*#__PURE__*/ _jsx(Toolbar.Divider, {}),
@@ -75,7 +76,7 @@ export const TextMenu = ({ editor, dir })=>{
75
76
  /*#__PURE__*/ _jsx(Toolbar.Divider, {}),
76
77
  /*#__PURE__*/ _jsx(MemoButton, {
77
78
  type: "button",
78
- tooltip: "Bold",
79
+ tooltip: i18next.t("boldText") || "Bold",
79
80
  tooltipShortcut: [
80
81
  "Mod",
81
82
  "B"
@@ -88,7 +89,7 @@ export const TextMenu = ({ editor, dir })=>{
88
89
  }),
89
90
  /*#__PURE__*/ _jsx(MemoButton, {
90
91
  type: "button",
91
- tooltip: "Italic",
92
+ tooltip: i18next.t("italicText") || "Italic",
92
93
  tooltipShortcut: [
93
94
  "Mod",
94
95
  "I"
@@ -101,7 +102,7 @@ export const TextMenu = ({ editor, dir })=>{
101
102
  }),
102
103
  /*#__PURE__*/ _jsx(MemoButton, {
103
104
  type: "button",
104
- tooltip: "Underline",
105
+ tooltip: i18next.t("underlineText") || "Underline",
105
106
  tooltipShortcut: [
106
107
  "Mod",
107
108
  "U"
@@ -122,7 +123,7 @@ export const TextMenu = ({ editor, dir })=>{
122
123
  children: /*#__PURE__*/ _jsx(MemoButton, {
123
124
  type: "button",
124
125
  active: !!states.currentHighlight,
125
- tooltip: "Highlight text",
126
+ tooltip: i18next.t("highlightText", "Highlight text"),
126
127
  children: /*#__PURE__*/ _jsx(Icon, {
127
128
  icon: Highlighter
128
129
  })
@@ -150,7 +151,7 @@ export const TextMenu = ({ editor, dir })=>{
150
151
  children: /*#__PURE__*/ _jsx(MemoButton, {
151
152
  type: "button",
152
153
  active: !!states.currentColor,
153
- tooltip: "Text color",
154
+ tooltip: i18next.t("textColor") || "Text color",
154
155
  children: /*#__PURE__*/ _jsx(Icon, {
155
156
  icon: Palette
156
157
  })
@@ -177,7 +178,7 @@ export const TextMenu = ({ editor, dir })=>{
177
178
  asChild: true,
178
179
  children: /*#__PURE__*/ _jsx(MemoButton, {
179
180
  type: "button",
180
- tooltip: "More options",
181
+ tooltip: i18next.t("moreOptions", "More options"),
181
182
  children: /*#__PURE__*/ _jsx(Icon, {
182
183
  icon: MoveVertical
183
184
  })
@@ -190,7 +191,7 @@ export const TextMenu = ({ editor, dir })=>{
190
191
  children: [
191
192
  /*#__PURE__*/ _jsx(MemoButton, {
192
193
  type: "button",
193
- tooltip: "Subscript",
194
+ tooltip: i18next.t("subscript", "Subscript"),
194
195
  tooltipShortcut: [
195
196
  "Mod",
196
197
  "."
@@ -203,7 +204,7 @@ export const TextMenu = ({ editor, dir })=>{
203
204
  }),
204
205
  /*#__PURE__*/ _jsx(MemoButton, {
205
206
  type: "button",
206
- tooltip: "Superscript",
207
+ tooltip: i18next.t("superscript", "Superscript"),
207
208
  tooltipShortcut: [
208
209
  "Mod",
209
210
  ","
@@ -217,7 +218,7 @@ export const TextMenu = ({ editor, dir })=>{
217
218
  /*#__PURE__*/ _jsx(Toolbar.Divider, {}),
218
219
  /*#__PURE__*/ _jsx(MemoButton, {
219
220
  type: "button",
220
- tooltip: "Align left",
221
+ tooltip: i18next.t("alignLeft") || "Align left",
221
222
  tooltipShortcut: [
222
223
  "Shift",
223
224
  "Mod",
@@ -231,7 +232,7 @@ export const TextMenu = ({ editor, dir })=>{
231
232
  }),
232
233
  /*#__PURE__*/ _jsx(MemoButton, {
233
234
  type: "button",
234
- tooltip: "Align center",
235
+ tooltip: i18next.t("alignCenter") || "Align center",
235
236
  tooltipShortcut: [
236
237
  "Shift",
237
238
  "Mod",
@@ -245,7 +246,7 @@ export const TextMenu = ({ editor, dir })=>{
245
246
  }),
246
247
  /*#__PURE__*/ _jsx(MemoButton, {
247
248
  type: "button",
248
- tooltip: "Align right",
249
+ tooltip: i18next.t("alignRight", "Align right"),
249
250
  tooltipShortcut: [
250
251
  "Shift",
251
252
  "Mod",
@@ -259,7 +260,7 @@ export const TextMenu = ({ editor, dir })=>{
259
260
  }),
260
261
  /*#__PURE__*/ _jsx(MemoButton, {
261
262
  type: "button",
262
- tooltip: "Justify",
263
+ tooltip: i18next.t("alignJustify") || "Justify",
263
264
  tooltipShortcut: [
264
265
  "Shift",
265
266
  "Mod",
@@ -273,7 +274,7 @@ export const TextMenu = ({ editor, dir })=>{
273
274
  }),
274
275
  /*#__PURE__*/ _jsx(MemoButton, {
275
276
  type: "button",
276
- tooltip: "Strikehrough",
277
+ tooltip: i18next.t("strikethrough", "Strikethrough"),
277
278
  tooltipShortcut: [
278
279
  "Mod",
279
280
  "Shift",
@@ -287,7 +288,7 @@ export const TextMenu = ({ editor, dir })=>{
287
288
  }),
288
289
  /*#__PURE__*/ _jsx(MemoButton, {
289
290
  type: "button",
290
- tooltip: "Clear Formatting",
291
+ tooltip: i18next.t("clearFormatting") || "Clear Formatting",
291
292
  onClick: commands.onClearFormatting,
292
293
  children: /*#__PURE__*/ _jsx(Icon, {
293
294
  icon: RemoveFormatting
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/menus/TextMenu/TextMenu.tsx"],"sourcesContent":["import * as Popover from \"@radix-ui/react-popover\";\nimport { BubbleMenu, Editor } from \"@tiptap/react\";\nimport {\n AlignCenter,\n AlignJustify,\n AlignLeft,\n AlignRight,\n Bold,\n Highlighter,\n Italic,\n MoveVertical,\n Palette,\n RemoveFormatting,\n Sparkles,\n Strikethrough,\n Subscript,\n Superscript,\n Underline,\n} from \"lucide-react\";\nimport { memo, useState } from \"react\";\nimport { AIEditorPanel } from \"../../panels/AIEditorPanel/AIEditorPanel.js\";\nimport { ColorPicker } from \"../../panels/index.js\";\nimport { Icon } from \"../../ui/Icon.js\";\nimport { Surface } from \"../../ui/Surface.js\";\nimport { Toolbar } from \"../../ui/Toolbar.js\";\nimport { ContentTypePicker } from \"./components/ContentTypePicker.js\";\nimport { EditLinkPopover } from \"./components/EditLinkPopover.js\";\nimport { FontFamilyPicker } from \"./components/FontFamilyPicker.js\";\nimport { FontSizePicker } from \"./components/FontSizePicker.js\";\nimport { useTextmenuCommands } from \"./hooks/useTextmenuCommands.js\";\nimport { useTextmenuContentTypes } from \"./hooks/useTextmenuContentTypes.js\";\nimport { useTextmenuStates } from \"./hooks/useTextmenuStates.js\";\n\n// We memorize the button so each button is not rerendered\n// on every editor state change\nconst MemoButton = memo(Toolbar.Button);\nconst MemoColorPicker = memo(ColorPicker);\nconst MemoFontFamilyPicker = memo(FontFamilyPicker);\nconst MemoFontSizePicker = memo(FontSizePicker);\nconst MemoContentTypePicker = memo(ContentTypePicker);\n\nexport type TextMenuProps = {\n editor: Editor;\n dir: \"rtl\" | \"ltr\" | \"auto\";\n};\n\nexport const TextMenu = ({ editor, dir }: TextMenuProps) => {\n const commands = useTextmenuCommands(editor);\n const states = useTextmenuStates(editor);\n const blockOptions = useTextmenuContentTypes(editor);\n const [openAi, setOpenAi] = useState(false);\n\n return (\n <BubbleMenu\n tippyOptions={{\n placement: \"auto\",\n popperOptions: {\n placement: \"auto\",\n },\n onHide: () => {\n setOpenAi(false);\n },\n }}\n editor={editor}\n pluginKey=\"textMenu\"\n shouldShow={states.shouldShow}\n updateDelay={100}\n >\n {openAi ? (\n <AIEditorPanel\n editor={editor}\n onOpenChange={(value) => {\n setOpenAi(value);\n }}\n />\n ) : (\n <Toolbar.Wrapper>\n <Toolbar.Button\n className=\"text-purple-500 hover:text-purple-600 active:text-purple-600 dark:text-purple-400 dark:hover:text-purple-300 dark:active:text-purple-400\"\n activeClassname=\"text-purple-600 hover:text-purple-600 dark:text-purple-400 dark:hover:text-purple-200\"\n onClick={() => setOpenAi(true)}\n >\n <Icon icon={Sparkles} className=\"mr-1\" />\n AI Tools\n </Toolbar.Button>\n <Toolbar.Divider />\n\n <MemoContentTypePicker options={blockOptions} />\n <MemoFontFamilyPicker\n onChange={commands.onSetFont}\n value={states.currentFont || \"\"}\n />\n <MemoFontSizePicker\n onChange={commands.onSetFontSize}\n value={states.currentSize || \"\"}\n />\n <Toolbar.Divider />\n <MemoButton\n type=\"button\"\n tooltip=\"Bold\"\n tooltipShortcut={[\"Mod\", \"B\"]}\n onClick={commands.onBold}\n active={states.isBold}\n >\n <Icon icon={Bold} />\n </MemoButton>\n <MemoButton\n type=\"button\"\n tooltip=\"Italic\"\n tooltipShortcut={[\"Mod\", \"I\"]}\n onClick={commands.onItalic}\n active={states.isItalic}\n >\n <Icon icon={Italic} />\n </MemoButton>\n <MemoButton\n type=\"button\"\n tooltip=\"Underline\"\n tooltipShortcut={[\"Mod\", \"U\"]}\n onClick={commands.onUnderline}\n active={states.isUnderline}\n >\n <Icon icon={Underline} />\n </MemoButton>\n\n <EditLinkPopover onSetLink={commands.onLink} />\n <Popover.Root>\n <Popover.Trigger asChild>\n <MemoButton\n type=\"button\"\n active={!!states.currentHighlight}\n tooltip=\"Highlight text\"\n >\n <Icon icon={Highlighter} />\n </MemoButton>\n </Popover.Trigger>\n <Popover.Content side=\"top\" sideOffset={8} asChild>\n <Surface className=\"p-1\">\n <MemoColorPicker\n color={states.currentHighlight}\n onChange={commands.onChangeHighlight}\n onClear={commands.onClearHighlight}\n />\n </Surface>\n </Popover.Content>\n </Popover.Root>\n <Popover.Root>\n <Popover.Trigger asChild>\n <MemoButton\n type=\"button\"\n active={!!states.currentColor}\n tooltip=\"Text color\"\n >\n <Icon icon={Palette} />\n </MemoButton>\n </Popover.Trigger>\n <Popover.Content side=\"top\" sideOffset={8} asChild>\n <Surface className=\"p-1\">\n <MemoColorPicker\n color={states.currentColor}\n onChange={commands.onChangeColor}\n onClear={commands.onClearColor}\n />\n </Surface>\n </Popover.Content>\n </Popover.Root>\n <Popover.Root>\n <Popover.Trigger asChild>\n <MemoButton type=\"button\" tooltip=\"More options\">\n <Icon icon={MoveVertical} />\n </MemoButton>\n </Popover.Trigger>\n <Popover.Content side=\"top\" asChild>\n <Toolbar.Wrapper>\n <MemoButton\n type=\"button\"\n tooltip=\"Subscript\"\n tooltipShortcut={[\"Mod\", \".\"]}\n onClick={commands.onSubscript}\n active={states.isSubscript}\n >\n <Icon icon={Subscript} />\n </MemoButton>\n <MemoButton\n type=\"button\"\n tooltip=\"Superscript\"\n tooltipShortcut={[\"Mod\", \",\"]}\n onClick={commands.onSuperscript}\n active={states.isSuperscript}\n >\n <Icon icon={Superscript} />\n </MemoButton>\n <Toolbar.Divider />\n <MemoButton\n type=\"button\"\n tooltip=\"Align left\"\n tooltipShortcut={[\"Shift\", \"Mod\", \"L\"]}\n onClick={commands.onAlignLeft}\n active={states.isAlignLeft}\n >\n <Icon icon={AlignLeft} />\n </MemoButton>\n <MemoButton\n type=\"button\"\n tooltip=\"Align center\"\n tooltipShortcut={[\"Shift\", \"Mod\", \"E\"]}\n onClick={commands.onAlignCenter}\n active={states.isAlignCenter}\n >\n <Icon icon={AlignCenter} />\n </MemoButton>\n <MemoButton\n type=\"button\"\n tooltip=\"Align right\"\n tooltipShortcut={[\"Shift\", \"Mod\", \"R\"]}\n onClick={commands.onAlignRight}\n active={states.isAlignRight}\n >\n <Icon icon={AlignRight} />\n </MemoButton>\n <MemoButton\n type=\"button\"\n tooltip=\"Justify\"\n tooltipShortcut={[\"Shift\", \"Mod\", \"J\"]}\n onClick={commands.onAlignJustify}\n active={states.isAlignJustify}\n >\n <Icon icon={AlignJustify} />\n </MemoButton>\n <MemoButton\n type=\"button\"\n tooltip=\"Strikehrough\"\n tooltipShortcut={[\"Mod\", \"Shift\", \"S\"]}\n onClick={commands.onStrike}\n active={states.isStrike}\n >\n <Icon icon={Strikethrough} />\n </MemoButton>\n\n <MemoButton\n type=\"button\"\n tooltip=\"Clear Formatting\"\n onClick={commands.onClearFormatting}\n >\n <Icon icon={RemoveFormatting} />\n </MemoButton>\n </Toolbar.Wrapper>\n </Popover.Content>\n </Popover.Root>\n </Toolbar.Wrapper>\n )}\n </BubbleMenu>\n );\n};\n"],"names":["Popover","BubbleMenu","AlignCenter","AlignJustify","AlignLeft","AlignRight","Bold","Highlighter","Italic","MoveVertical","Palette","RemoveFormatting","Sparkles","Strikethrough","Subscript","Superscript","Underline","memo","useState","AIEditorPanel","ColorPicker","Icon","Surface","Toolbar","ContentTypePicker","EditLinkPopover","FontFamilyPicker","FontSizePicker","useTextmenuCommands","useTextmenuContentTypes","useTextmenuStates","MemoButton","Button","MemoColorPicker","MemoFontFamilyPicker","MemoFontSizePicker","MemoContentTypePicker","TextMenu","editor","dir","commands","states","blockOptions","openAi","setOpenAi","tippyOptions","placement","popperOptions","onHide","pluginKey","shouldShow","updateDelay","onOpenChange","value","Wrapper","className","activeClassname","onClick","icon","Divider","options","onChange","onSetFont","currentFont","onSetFontSize","currentSize","type","tooltip","tooltipShortcut","onBold","active","isBold","onItalic","isItalic","onUnderline","isUnderline","onSetLink","onLink","Root","Trigger","asChild","currentHighlight","Content","side","sideOffset","color","onChangeHighlight","onClear","onClearHighlight","currentColor","onChangeColor","onClearColor","onSubscript","isSubscript","onSuperscript","isSuperscript","onAlignLeft","isAlignLeft","onAlignCenter","isAlignCenter","onAlignRight","isAlignRight","onAlignJustify","isAlignJustify","onStrike","isStrike","onClearFormatting"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/menus/TextMenu/TextMenu.tsx"],"sourcesContent":["import * as Popover from \"@radix-ui/react-popover\";\nimport { BubbleMenu, Editor } from \"@tiptap/react\";\nimport {\n AlignCenter,\n AlignJustify,\n AlignLeft,\n AlignRight,\n Bold,\n Highlighter,\n Italic,\n MoveVertical,\n Palette,\n RemoveFormatting,\n Sparkles,\n Strikethrough,\n Subscript,\n Superscript,\n Underline,\n} from \"lucide-react\";\nimport { memo, useState } from \"react\";\nimport { AIEditorPanel } from \"../../panels/AIEditorPanel/AIEditorPanel.js\";\nimport { ColorPicker } from \"../../panels/index.js\";\nimport { Icon } from \"../../ui/Icon.js\";\nimport { Surface } from \"../../ui/Surface.js\";\nimport { Toolbar } from \"../../ui/Toolbar.js\";\nimport { ContentTypePicker } from \"./components/ContentTypePicker.js\";\nimport { EditLinkPopover } from \"./components/EditLinkPopover.js\";\nimport { FontFamilyPicker } from \"./components/FontFamilyPicker.js\";\nimport { FontSizePicker } from \"./components/FontSizePicker.js\";\nimport { useTextmenuCommands } from \"./hooks/useTextmenuCommands.js\";\nimport { useTextmenuContentTypes } from \"./hooks/useTextmenuContentTypes.js\";\nimport { useTextmenuStates } from \"./hooks/useTextmenuStates.js\";\nimport i18next from \"i18next\";\n\n// We memorize the button so each button is not rerendered\n// on every editor state change\nconst MemoButton = memo(Toolbar.Button);\nconst MemoColorPicker = memo(ColorPicker);\nconst MemoFontFamilyPicker = memo(FontFamilyPicker);\nconst MemoFontSizePicker = memo(FontSizePicker);\nconst MemoContentTypePicker = memo(ContentTypePicker);\n\nexport type TextMenuProps = {\n editor: Editor;\n dir: \"rtl\" | \"ltr\" | \"auto\";\n};\n\nexport const TextMenu = ({ editor, dir }: TextMenuProps) => {\n const commands = useTextmenuCommands(editor);\n const states = useTextmenuStates(editor);\n const blockOptions = useTextmenuContentTypes(editor);\n const [openAi, setOpenAi] = useState(false);\n\n return (\n <BubbleMenu\n tippyOptions={{\n placement: \"auto\",\n popperOptions: {\n placement: \"auto\",\n },\n onHide: () => {\n setOpenAi(false);\n },\n }}\n editor={editor}\n pluginKey=\"textMenu\"\n shouldShow={states.shouldShow}\n updateDelay={100}\n >\n {openAi ? (\n <AIEditorPanel\n editor={editor}\n onOpenChange={(value) => {\n setOpenAi(value);\n }}\n />\n ) : (\n <Toolbar.Wrapper>\n <Toolbar.Button\n className=\"text-purple-500 hover:text-purple-600 active:text-purple-600 dark:text-purple-400 dark:hover:text-purple-300 dark:active:text-purple-400\"\n activeClassname=\"text-purple-600 hover:text-purple-600 dark:text-purple-400 dark:hover:text-purple-200\"\n onClick={() => setOpenAi(true)}\n >\n <Icon icon={Sparkles} className=\"mr-1\" />\n {i18next.t(\"aiTools\") || \"AI Tools\"}\n </Toolbar.Button>\n <Toolbar.Divider />\n\n <MemoContentTypePicker options={blockOptions} />\n <MemoFontFamilyPicker\n onChange={commands.onSetFont}\n value={states.currentFont || \"\"}\n />\n <MemoFontSizePicker\n onChange={commands.onSetFontSize}\n value={states.currentSize || \"\"}\n />\n <Toolbar.Divider />\n <MemoButton\n type=\"button\"\n tooltip={i18next.t(\"boldText\") || \"Bold\"}\n tooltipShortcut={[\"Mod\", \"B\"]}\n onClick={commands.onBold}\n active={states.isBold}\n >\n <Icon icon={Bold} />\n </MemoButton>\n <MemoButton\n type=\"button\"\n tooltip={i18next.t(\"italicText\") || \"Italic\"}\n tooltipShortcut={[\"Mod\", \"I\"]}\n onClick={commands.onItalic}\n active={states.isItalic}\n >\n <Icon icon={Italic} />\n </MemoButton>\n <MemoButton\n type=\"button\"\n tooltip={i18next.t(\"underlineText\") || \"Underline\"}\n tooltipShortcut={[\"Mod\", \"U\"]}\n onClick={commands.onUnderline}\n active={states.isUnderline}\n >\n <Icon icon={Underline} />\n </MemoButton>\n\n <EditLinkPopover onSetLink={commands.onLink} />\n <Popover.Root>\n <Popover.Trigger asChild>\n <MemoButton\n type=\"button\"\n active={!!states.currentHighlight}\n tooltip={i18next.t(\"highlightText\", \"Highlight text\")}\n >\n <Icon icon={Highlighter} />\n </MemoButton>\n </Popover.Trigger>\n <Popover.Content side=\"top\" sideOffset={8} asChild>\n <Surface className=\"p-1\">\n <MemoColorPicker\n color={states.currentHighlight}\n onChange={commands.onChangeHighlight}\n onClear={commands.onClearHighlight}\n />\n </Surface>\n </Popover.Content>\n </Popover.Root>\n <Popover.Root>\n <Popover.Trigger asChild>\n <MemoButton\n type=\"button\"\n active={!!states.currentColor}\n tooltip={i18next.t(\"textColor\") || \"Text color\"}\n >\n <Icon icon={Palette} />\n </MemoButton>\n </Popover.Trigger>\n <Popover.Content side=\"top\" sideOffset={8} asChild>\n <Surface className=\"p-1\">\n <MemoColorPicker\n color={states.currentColor}\n onChange={commands.onChangeColor}\n onClear={commands.onClearColor}\n />\n </Surface>\n </Popover.Content>\n </Popover.Root>\n <Popover.Root>\n <Popover.Trigger asChild>\n <MemoButton type=\"button\" tooltip={i18next.t(\"moreOptions\", \"More options\")}>\n <Icon icon={MoveVertical} />\n </MemoButton>\n </Popover.Trigger>\n <Popover.Content side=\"top\" asChild>\n <Toolbar.Wrapper>\n <MemoButton\n type=\"button\"\n tooltip={i18next.t(\"subscript\", \"Subscript\")}\n tooltipShortcut={[\"Mod\", \".\"]}\n onClick={commands.onSubscript}\n active={states.isSubscript}\n >\n <Icon icon={Subscript} />\n </MemoButton>\n <MemoButton\n type=\"button\"\n tooltip={i18next.t(\"superscript\", \"Superscript\")}\n tooltipShortcut={[\"Mod\", \",\"]}\n onClick={commands.onSuperscript}\n active={states.isSuperscript}\n >\n <Icon icon={Superscript} />\n </MemoButton>\n <Toolbar.Divider />\n <MemoButton\n type=\"button\"\n tooltip={i18next.t(\"alignLeft\") || \"Align left\"}\n tooltipShortcut={[\"Shift\", \"Mod\", \"L\"]}\n onClick={commands.onAlignLeft}\n active={states.isAlignLeft}\n >\n <Icon icon={AlignLeft} />\n </MemoButton>\n <MemoButton\n type=\"button\"\n tooltip={i18next.t(\"alignCenter\") || \"Align center\"}\n tooltipShortcut={[\"Shift\", \"Mod\", \"E\"]}\n onClick={commands.onAlignCenter}\n active={states.isAlignCenter}\n >\n <Icon icon={AlignCenter} />\n </MemoButton>\n <MemoButton\n type=\"button\"\n tooltip={i18next.t(\"alignRight\", \"Align right\")}\n tooltipShortcut={[\"Shift\", \"Mod\", \"R\"]}\n onClick={commands.onAlignRight}\n active={states.isAlignRight}\n >\n <Icon icon={AlignRight} />\n </MemoButton>\n <MemoButton\n type=\"button\"\n tooltip={i18next.t(\"alignJustify\") || \"Justify\"}\n tooltipShortcut={[\"Shift\", \"Mod\", \"J\"]}\n onClick={commands.onAlignJustify}\n active={states.isAlignJustify}\n >\n <Icon icon={AlignJustify} />\n </MemoButton>\n <MemoButton\n type=\"button\"\n tooltip={i18next.t(\"strikethrough\", \"Strikethrough\")}\n tooltipShortcut={[\"Mod\", \"Shift\", \"S\"]}\n onClick={commands.onStrike}\n active={states.isStrike}\n >\n <Icon icon={Strikethrough} />\n </MemoButton>\n\n <MemoButton\n type=\"button\"\n tooltip={i18next.t(\"clearFormatting\") || \"Clear Formatting\"}\n onClick={commands.onClearFormatting}\n >\n <Icon icon={RemoveFormatting} />\n </MemoButton>\n </Toolbar.Wrapper>\n </Popover.Content>\n </Popover.Root>\n </Toolbar.Wrapper>\n )}\n </BubbleMenu>\n );\n};\n"],"names":["Popover","BubbleMenu","AlignCenter","AlignJustify","AlignLeft","AlignRight","Bold","Highlighter","Italic","MoveVertical","Palette","RemoveFormatting","Sparkles","Strikethrough","Subscript","Superscript","Underline","memo","useState","AIEditorPanel","ColorPicker","Icon","Surface","Toolbar","ContentTypePicker","EditLinkPopover","FontFamilyPicker","FontSizePicker","useTextmenuCommands","useTextmenuContentTypes","useTextmenuStates","i18next","MemoButton","Button","MemoColorPicker","MemoFontFamilyPicker","MemoFontSizePicker","MemoContentTypePicker","TextMenu","editor","dir","commands","states","blockOptions","openAi","setOpenAi","tippyOptions","placement","popperOptions","onHide","pluginKey","shouldShow","updateDelay","onOpenChange","value","Wrapper","className","activeClassname","onClick","icon","t","Divider","options","onChange","onSetFont","currentFont","onSetFontSize","currentSize","type","tooltip","tooltipShortcut","onBold","active","isBold","onItalic","isItalic","onUnderline","isUnderline","onSetLink","onLink","Root","Trigger","asChild","currentHighlight","Content","side","sideOffset","color","onChangeHighlight","onClear","onClearHighlight","currentColor","onChangeColor","onClearColor","onSubscript","isSubscript","onSuperscript","isSuperscript","onAlignLeft","isAlignLeft","onAlignCenter","isAlignCenter","onAlignRight","isAlignRight","onAlignJustify","isAlignJustify","onStrike","isStrike","onClearFormatting"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"EditIframeLinkPopover.d.ts","sourceRoot":"","sources":["../../../../../../../../src/fields/TiptapEditor/features/menus/TextMenu/components/EditIframeLinkPopover.tsx"],"names":[],"mappings":"AAMA,MAAM,MAAM,0BAA0B,GAAG;IACvC,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,qBAAqB,mCAG/B,0BAA0B,gCAgB5B,CAAC"}
1
+ {"version":3,"file":"EditIframeLinkPopover.d.ts","sourceRoot":"","sources":["../../../../../../../../src/fields/TiptapEditor/features/menus/TextMenu/components/EditIframeLinkPopover.tsx"],"names":[],"mappings":"AAOA,MAAM,MAAM,0BAA0B,GAAG;IACvC,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,qBAAqB,mCAG/B,0BAA0B,gCAkB5B,CAAC"}
@@ -4,6 +4,7 @@ import { Link } from "lucide-react";
4
4
  import { IframeLinkEditorPanel } from "../../../panels/IframeLinkEditorPanel/IframeLinkEditorPanel.js";
5
5
  import { Icon } from "../../../ui/Icon.js";
6
6
  import { Toolbar } from "../../../ui/Toolbar.js";
7
+ import i18next from "i18next";
7
8
  export const EditIframeLinkPopover = ({ onSetLink, initialSrcLink })=>{
8
9
  return /*#__PURE__*/ _jsxs(Popover.Root, {
9
10
  children: [
@@ -11,7 +12,7 @@ export const EditIframeLinkPopover = ({ onSetLink, initialSrcLink })=>{
11
12
  asChild: true,
12
13
  children: /*#__PURE__*/ _jsx(Toolbar.Button, {
13
14
  type: "button",
14
- tooltip: "Set Embed Code / Embed Link",
15
+ tooltip: i18next.t("setEmbedCodeOrLink") || "Set Embed Code / Embed Link",
15
16
  children: /*#__PURE__*/ _jsx(Icon, {
16
17
  icon: Link
17
18
  })
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../../src/fields/TiptapEditor/features/menus/TextMenu/components/EditIframeLinkPopover.tsx"],"sourcesContent":["import * as Popover from \"@radix-ui/react-popover\";\nimport { Link } from \"lucide-react\";\nimport { IframeLinkEditorPanel } from \"../../../panels/IframeLinkEditorPanel/IframeLinkEditorPanel.js\";\nimport { Icon } from \"../../../ui/Icon.js\";\nimport { Toolbar } from \"../../../ui/Toolbar.js\";\n\nexport type EditIframeLinkPopoverProps = {\n onSetLink: (src: string) => void;\n initialSrcLink: string;\n};\n\nexport const EditIframeLinkPopover = ({\n onSetLink,\n initialSrcLink,\n}: EditIframeLinkPopoverProps) => {\n return (\n <Popover.Root>\n <Popover.Trigger asChild>\n <Toolbar.Button type=\"button\" tooltip=\"Set Embed Code / Embed Link\">\n <Icon icon={Link} />\n </Toolbar.Button>\n </Popover.Trigger>\n <Popover.Content>\n <IframeLinkEditorPanel\n onSetLink={onSetLink}\n initialSrc={initialSrcLink ?? \"\"}\n />\n </Popover.Content>\n </Popover.Root>\n );\n};\n"],"names":["Popover","Link","IframeLinkEditorPanel","Icon","Toolbar","EditIframeLinkPopover","onSetLink","initialSrcLink","Root","Trigger","asChild","Button","type","tooltip","icon","Content","initialSrc"],"mappings":";AAAA,YAAYA,aAAa,0BAA0B;AACnD,SAASC,IAAI,QAAQ,eAAe;AACpC,SAASC,qBAAqB,QAAQ,iEAAiE;AACvG,SAASC,IAAI,QAAQ,sBAAsB;AAC3C,SAASC,OAAO,QAAQ,yBAAyB;AAOjD,OAAO,MAAMC,wBAAwB,CAAC,EACpCC,SAAS,EACTC,cAAc,EACa;IAC3B,qBACE,MAACP,QAAQQ,IAAI;;0BACX,KAACR,QAAQS,OAAO;gBAACC,OAAO;0BACtB,cAAA,KAACN,QAAQO,MAAM;oBAACC,MAAK;oBAASC,SAAQ;8BACpC,cAAA,KAACV;wBAAKW,MAAMb;;;;0BAGhB,KAACD,QAAQe,OAAO;0BACd,cAAA,KAACb;oBACCI,WAAWA;oBACXU,YAAYT,kBAAkB;;;;;AAKxC,EAAE"}
1
+ {"version":3,"sources":["../../../../../../../../src/fields/TiptapEditor/features/menus/TextMenu/components/EditIframeLinkPopover.tsx"],"sourcesContent":["import * as Popover from \"@radix-ui/react-popover\";\nimport { Link } from \"lucide-react\";\nimport { IframeLinkEditorPanel } from \"../../../panels/IframeLinkEditorPanel/IframeLinkEditorPanel.js\";\nimport { Icon } from \"../../../ui/Icon.js\";\nimport { Toolbar } from \"../../../ui/Toolbar.js\";\nimport i18next from \"i18next\";\n\nexport type EditIframeLinkPopoverProps = {\n onSetLink: (src: string) => void;\n initialSrcLink: string;\n};\n\nexport const EditIframeLinkPopover = ({\n onSetLink,\n initialSrcLink,\n}: EditIframeLinkPopoverProps) => {\n return (\n <Popover.Root>\n <Popover.Trigger asChild>\n <Toolbar.Button type=\"button\"\n tooltip={i18next.t(\"setEmbedCodeOrLink\") || \"Set Embed Code / Embed Link\"}\n >\n <Icon icon={Link} />\n </Toolbar.Button>\n </Popover.Trigger>\n <Popover.Content>\n <IframeLinkEditorPanel\n onSetLink={onSetLink}\n initialSrc={initialSrcLink ?? \"\"}\n />\n </Popover.Content>\n </Popover.Root>\n );\n};\n"],"names":["Popover","Link","IframeLinkEditorPanel","Icon","Toolbar","i18next","EditIframeLinkPopover","onSetLink","initialSrcLink","Root","Trigger","asChild","Button","type","tooltip","t","icon","Content","initialSrc"],"mappings":";AAAA,YAAYA,aAAa,0BAA0B;AACnD,SAASC,IAAI,QAAQ,eAAe;AACpC,SAASC,qBAAqB,QAAQ,iEAAiE;AACvG,SAASC,IAAI,QAAQ,sBAAsB;AAC3C,SAASC,OAAO,QAAQ,yBAAyB;AACjD,OAAOC,aAAa,UAAU;AAO9B,OAAO,MAAMC,wBAAwB,CAAC,EACpCC,SAAS,EACTC,cAAc,EACa;IAC3B,qBACE,MAACR,QAAQS,IAAI;;0BACX,KAACT,QAAQU,OAAO;gBAACC,OAAO;0BACtB,cAAA,KAACP,QAAQQ,MAAM;oBAACC,MAAK;oBACnBC,SAAST,QAAQU,CAAC,CAAC,yBAAyB;8BAE5C,cAAA,KAACZ;wBAAKa,MAAMf;;;;0BAGhB,KAACD,QAAQiB,OAAO;0BACd,cAAA,KAACf;oBACCK,WAAWA;oBACXW,YAAYV,kBAAkB;;;;;AAKxC,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"file":"EditLinkPopover.d.ts","sourceRoot":"","sources":["../../../../../../../../src/fields/TiptapEditor/features/menus/TextMenu/components/EditLinkPopover.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CAC3D,CAAC;AAEF,eAAO,MAAM,eAAe,kBAAmB,oBAAoB,sBAalE,CAAC"}
1
+ {"version":3,"file":"EditLinkPopover.d.ts","sourceRoot":"","sources":["../../../../../../../../src/fields/TiptapEditor/features/menus/TextMenu/components/EditLinkPopover.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CAC3D,CAAC;AAEF,eAAO,MAAM,eAAe,kBAAmB,oBAAoB,sBAelE,CAAC"}
@@ -5,6 +5,7 @@ import { Toolbar } from "../../../ui/Toolbar.js";
5
5
  import * as Popover from "@radix-ui/react-popover";
6
6
  import { LinkEditorPanel } from "../../../panels/index.js";
7
7
  import { Link } from "lucide-react";
8
+ import i18next from "i18next";
8
9
  export const EditLinkPopover = ({ onSetLink })=>{
9
10
  return /*#__PURE__*/ _jsxs(Popover.Root, {
10
11
  children: [
@@ -12,7 +13,7 @@ export const EditLinkPopover = ({ onSetLink })=>{
12
13
  asChild: true,
13
14
  children: /*#__PURE__*/ _jsx(Toolbar.Button, {
14
15
  type: "button",
15
- tooltip: "Set Link",
16
+ tooltip: i18next.t("setLink") || "Set Link",
16
17
  children: /*#__PURE__*/ _jsx(Icon, {
17
18
  icon: Link
18
19
  })
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../../src/fields/TiptapEditor/features/menus/TextMenu/components/EditLinkPopover.tsx"],"sourcesContent":["import React from \"react\";\nimport { Icon } from \"../../../ui/Icon.js\";\nimport { Toolbar } from \"../../../ui/Toolbar.js\";\nimport * as Popover from \"@radix-ui/react-popover\";\nimport { LinkEditorPanel } from \"../../../panels/index.js\";\nimport { Link } from \"lucide-react\";\n\nexport type EditLinkPopoverProps = {\n onSetLink: (link: string, openInNewTab?: boolean) => void;\n};\n\nexport const EditLinkPopover = ({ onSetLink }: EditLinkPopoverProps) => {\n return (\n <Popover.Root>\n <Popover.Trigger asChild>\n <Toolbar.Button type=\"button\" tooltip=\"Set Link\">\n <Icon icon={Link} />\n </Toolbar.Button>\n </Popover.Trigger>\n <Popover.Content>\n <LinkEditorPanel onSetLink={onSetLink} />\n </Popover.Content>\n </Popover.Root>\n );\n};\n"],"names":["React","Icon","Toolbar","Popover","LinkEditorPanel","Link","EditLinkPopover","onSetLink","Root","Trigger","asChild","Button","type","tooltip","icon","Content"],"mappings":";AAAA,OAAOA,WAAW,QAAQ;AAC1B,SAASC,IAAI,QAAQ,sBAAsB;AAC3C,SAASC,OAAO,QAAQ,yBAAyB;AACjD,YAAYC,aAAa,0BAA0B;AACnD,SAASC,eAAe,QAAQ,2BAA2B;AAC3D,SAASC,IAAI,QAAQ,eAAe;AAMpC,OAAO,MAAMC,kBAAkB,CAAC,EAAEC,SAAS,EAAwB;IACjE,qBACE,MAACJ,QAAQK,IAAI;;0BACX,KAACL,QAAQM,OAAO;gBAACC,OAAO;0BACtB,cAAA,KAACR,QAAQS,MAAM;oBAACC,MAAK;oBAASC,SAAQ;8BACpC,cAAA,KAACZ;wBAAKa,MAAMT;;;;0BAGhB,KAACF,QAAQY,OAAO;0BACd,cAAA,KAACX;oBAAgBG,WAAWA;;;;;AAIpC,EAAE"}
1
+ {"version":3,"sources":["../../../../../../../../src/fields/TiptapEditor/features/menus/TextMenu/components/EditLinkPopover.tsx"],"sourcesContent":["import React from \"react\";\nimport { Icon } from \"../../../ui/Icon.js\";\nimport { Toolbar } from \"../../../ui/Toolbar.js\";\nimport * as Popover from \"@radix-ui/react-popover\";\nimport { LinkEditorPanel } from \"../../../panels/index.js\";\nimport { Link } from \"lucide-react\";\nimport i18next from \"i18next\";\n\nexport type EditLinkPopoverProps = {\n onSetLink: (link: string, openInNewTab?: boolean) => void;\n};\n\nexport const EditLinkPopover = ({ onSetLink }: EditLinkPopoverProps) => {\n return (\n <Popover.Root>\n <Popover.Trigger asChild>\n <Toolbar.Button type=\"button\"\n tooltip={i18next.t(\"setLink\") || \"Set Link\"}\n >\n <Icon icon={Link} />\n </Toolbar.Button>\n </Popover.Trigger>\n <Popover.Content>\n <LinkEditorPanel onSetLink={onSetLink} />\n </Popover.Content>\n </Popover.Root>\n );\n};\n"],"names":["React","Icon","Toolbar","Popover","LinkEditorPanel","Link","i18next","EditLinkPopover","onSetLink","Root","Trigger","asChild","Button","type","tooltip","t","icon","Content"],"mappings":";AAAA,OAAOA,WAAW,QAAQ;AAC1B,SAASC,IAAI,QAAQ,sBAAsB;AAC3C,SAASC,OAAO,QAAQ,yBAAyB;AACjD,YAAYC,aAAa,0BAA0B;AACnD,SAASC,eAAe,QAAQ,2BAA2B;AAC3D,SAASC,IAAI,QAAQ,eAAe;AACpC,OAAOC,aAAa,UAAU;AAM9B,OAAO,MAAMC,kBAAkB,CAAC,EAAEC,SAAS,EAAwB;IACjE,qBACE,MAACL,QAAQM,IAAI;;0BACX,KAACN,QAAQO,OAAO;gBAACC,OAAO;0BACtB,cAAA,KAACT,QAAQU,MAAM;oBAACC,MAAK;oBACnBC,SAASR,QAAQS,CAAC,CAAC,cAAc;8BAEjC,cAAA,KAACd;wBAAKe,MAAMX;;;;0BAGhB,KAACF,QAAQc,OAAO;0BACd,cAAA,KAACb;oBAAgBI,WAAWA;;;;;AAIpC,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../../src/fields/TiptapEditor/features/menus/TextMenu/components/FontFamilyPicker.tsx"],"sourcesContent":["import * as Dropdown from \"@radix-ui/react-dropdown-menu\";\nimport { ChevronDown } from \"lucide-react\";\nimport { useCallback } from \"react\";\nimport {\n DropdownButton,\n DropdownCategoryTitle,\n} from \"../../../ui/Dropdown/Dropdown.js\";\nimport { Icon } from \"../../../ui/Icon.js\";\nimport { Surface } from \"../../../ui/Surface.js\";\nimport { Toolbar } from \"../../../ui/Toolbar.js\";\n\nconst FONT_FAMILY_GROUPS = [\n {\n label: \"Sans Serif\",\n options: [\n { label: \"Inter\", value: \"\" },\n { label: \"Arial\", value: \"Arial\" },\n { label: \"Helvetica\", value: \"Helvetica\" },\n ],\n },\n {\n label: \"Serif\",\n options: [\n { label: \"Times New Roman\", value: \"Times\" },\n { label: \"Garamond\", value: \"Garamond\" },\n { label: \"Georgia\", value: \"Georgia\" },\n ],\n },\n {\n label: \"Monospace\",\n options: [\n { label: \"Courier\", value: \"Courier\" },\n { label: \"Courier New\", value: \"Courier New\" },\n ],\n },\n];\n\nconst FONT_FAMILIES = FONT_FAMILY_GROUPS.flatMap((group) => [\n group.options,\n]).flat();\n\nexport type FontFamilyPickerProps = {\n onChange: (value: string) => void; // eslint-disable-line no-unused-vars\n value: string;\n};\n\nexport const FontFamilyPicker = ({\n onChange,\n value,\n}: FontFamilyPickerProps) => {\n const currentValue = FONT_FAMILIES.find((size) => size.value === value);\n const currentFontLabel = currentValue?.label.split(\" \")[0] || \"Inter\";\n\n const selectFont = useCallback(\n (font: string) => () => onChange(font),\n [onChange]\n );\n\n return (\n <Dropdown.Root>\n <Dropdown.Trigger asChild>\n <Toolbar.Button type=\"button\" active={!!currentValue?.value}>\n {currentFontLabel}\n <Icon icon={ChevronDown} className=\"w-2 h-2\" />\n </Toolbar.Button>\n </Dropdown.Trigger>\n <Dropdown.Content asChild>\n <Surface className=\"flex flex-col gap-1 px-2 py-4\">\n {FONT_FAMILY_GROUPS.map((group) => (\n <div\n className=\"mt-2.5 first:mt-0 gap-0.5 flex flex-col\"\n key={group.label}\n >\n <DropdownCategoryTitle>{group.label}</DropdownCategoryTitle>\n {group.options.map((font) => (\n <DropdownButton\n isActive={value === font.value}\n onClick={selectFont(font.value)}\n key={`${font.label}_${font.value}`}\n >\n <span style={{ fontFamily: font.value }}>{font.label}</span>\n </DropdownButton>\n ))}\n </div>\n ))}\n </Surface>\n </Dropdown.Content>\n </Dropdown.Root>\n );\n};\n"],"names":["Dropdown","ChevronDown","useCallback","DropdownButton","DropdownCategoryTitle","Icon","Surface","Toolbar","FONT_FAMILY_GROUPS","label","options","value","FONT_FAMILIES","flatMap","group","flat","FontFamilyPicker","onChange","currentValue","find","size","currentFontLabel","split","selectFont","font","Root","Trigger","asChild","Button","type","active","icon","className","Content","map","div","isActive","onClick","span","style","fontFamily"],"mappings":";AAAA,YAAYA,cAAc,gCAAgC;AAC1D,SAASC,WAAW,QAAQ,eAAe;AAC3C,SAASC,WAAW,QAAQ,QAAQ;AACpC,SACEC,cAAc,EACdC,qBAAqB,QAChB,mCAAmC;AAC1C,SAASC,IAAI,QAAQ,sBAAsB;AAC3C,SAASC,OAAO,QAAQ,yBAAyB;AACjD,SAASC,OAAO,QAAQ,yBAAyB;AAEjD,MAAMC,qBAAqB;IACzB;QACEC,OAAO;QACPC,SAAS;YACP;gBAAED,OAAO;gBAASE,OAAO;YAAG;YAC5B;gBAAEF,OAAO;gBAASE,OAAO;YAAQ;YACjC;gBAAEF,OAAO;gBAAaE,OAAO;YAAY;SAC1C;IACH;IACA;QACEF,OAAO;QACPC,SAAS;YACP;gBAAED,OAAO;gBAAmBE,OAAO;YAAQ;YAC3C;gBAAEF,OAAO;gBAAYE,OAAO;YAAW;YACvC;gBAAEF,OAAO;gBAAWE,OAAO;YAAU;SACtC;IACH;IACA;QACEF,OAAO;QACPC,SAAS;YACP;gBAAED,OAAO;gBAAWE,OAAO;YAAU;YACrC;gBAAEF,OAAO;gBAAeE,OAAO;YAAc;SAC9C;IACH;CACD;AAED,MAAMC,gBAAgBJ,mBAAmBK,OAAO,CAAC,CAACC,QAAU;QAC1DA,MAAMJ,OAAO;KACd,EAAEK,IAAI;AAOP,OAAO,MAAMC,mBAAmB,CAAC,EAC/BC,QAAQ,EACRN,KAAK,EACiB;IACtB,MAAMO,eAAeN,cAAcO,IAAI,CAAC,CAACC,OAASA,KAAKT,KAAK,KAAKA;IACjE,MAAMU,mBAAmBH,cAAcT,MAAMa,MAAM,IAAI,CAAC,EAAE,IAAI;IAE9D,MAAMC,aAAarB,YACjB,CAACsB,OAAiB,IAAMP,SAASO,OACjC;QAACP;KAAS;IAGZ,qBACE,MAACjB,SAASyB,IAAI;;0BACZ,KAACzB,SAAS0B,OAAO;gBAACC,OAAO;0BACvB,cAAA,MAACpB,QAAQqB,MAAM;oBAACC,MAAK;oBAASC,QAAQ,CAAC,CAACZ,cAAcP;;wBACnDU;sCACD,KAAChB;4BAAK0B,MAAM9B;4BAAa+B,WAAU;;;;;0BAGvC,KAAChC,SAASiC,OAAO;gBAACN,OAAO;0BACvB,cAAA,KAACrB;oBAAQ0B,WAAU;8BAChBxB,mBAAmB0B,GAAG,CAAC,CAACpB,sBACvB,MAACqB;4BACCH,WAAU;;8CAGV,KAAC5B;8CAAuBU,MAAML,KAAK;;gCAClCK,MAAMJ,OAAO,CAACwB,GAAG,CAAC,CAACV,qBAClB,KAACrB;wCACCiC,UAAUzB,UAAUa,KAAKb,KAAK;wCAC9B0B,SAASd,WAAWC,KAAKb,KAAK;kDAG9B,cAAA,KAAC2B;4CAAKC,OAAO;gDAAEC,YAAYhB,KAAKb,KAAK;4CAAC;sDAAIa,KAAKf,KAAK;;uCAF/C,CAAC,EAAEe,KAAKf,KAAK,CAAC,CAAC,EAAEe,KAAKb,KAAK,CAAC,CAAC;;2BAPjCG,MAAML,KAAK;;;;;AAkB9B,EAAE"}
1
+ {"version":3,"sources":["../../../../../../../../src/fields/TiptapEditor/features/menus/TextMenu/components/FontFamilyPicker.tsx"],"sourcesContent":["import * as Dropdown from \"@radix-ui/react-dropdown-menu\";\nimport { ChevronDown } from \"lucide-react\";\nimport { useCallback } from \"react\";\nimport {\n DropdownButton,\n DropdownCategoryTitle,\n} from \"../../../ui/Dropdown/Dropdown.js\";\nimport { Icon } from \"../../../ui/Icon.js\";\nimport { Surface } from \"../../../ui/Surface.js\";\nimport { Toolbar } from \"../../../ui/Toolbar.js\";\n\nconst FONT_FAMILY_GROUPS = [\n {\n label: \"Sans Serif\",\n options: [\n { label: \"Inter\", value: \"\" },\n { label: \"Arial\", value: \"Arial\" },\n { label: \"Helvetica\", value: \"Helvetica\" },\n ],\n },\n {\n label: \"Serif\",\n options: [\n { label: \"Times New Roman\", value: \"Times\" },\n { label: \"Garamond\", value: \"Garamond\" },\n { label: \"Georgia\", value: \"Georgia\" },\n ],\n },\n {\n label: \"Monospace\",\n options: [\n { label: \"Courier\", value: \"Courier\" },\n { label: \"Courier New\", value: \"Courier New\" },\n ],\n },\n];\n\nconst FONT_FAMILIES = FONT_FAMILY_GROUPS.flatMap((group) => [\n group.options,\n]).flat();\n\nexport type FontFamilyPickerProps = {\n onChange: (value: string) => void; // eslint-disable-line no-unused-vars\n value: string;\n};\n\nexport const FontFamilyPicker = ({\n onChange,\n value,\n}: FontFamilyPickerProps) => {\n const currentValue = FONT_FAMILIES.find((size) => size.value === value);\n const currentFontLabel = currentValue?.label.split(\" \")[0] || \"Inter\";\n\n const selectFont = useCallback(\n (font: string) => () => onChange(font),\n [onChange]\n );\n\n return (\n <Dropdown.Root>\n <Dropdown.Trigger asChild>\n <Toolbar.Button type=\"button\" active={!!currentValue?.value}>\n {currentFontLabel}\n <Icon icon={ChevronDown} className=\"w-2 h-2\" />\n </Toolbar.Button>\n </Dropdown.Trigger>\n <Dropdown.Content asChild>\n <Surface className=\"flex flex-col gap-1 px-2 py-4\">\n {FONT_FAMILY_GROUPS.map((group) => (\n <div\n className=\"mt-2.5 first:mt-0 gap-0.5 flex flex-col\"\n key={group.label}\n >\n <DropdownCategoryTitle>{group.label}</DropdownCategoryTitle>\n {group.options.map((font) => (\n <DropdownButton\n isActive={value === font.value}\n onClick={selectFont(font.value)}\n key={`${font.label}_${font.value}`}\n >\n <span style={{ fontFamily: font.value }}>{font.label}</span>\n </DropdownButton>\n ))}\n </div>\n ))}\n </Surface>\n </Dropdown.Content>\n </Dropdown.Root>\n );\n};\n"],"names":["Dropdown","ChevronDown","useCallback","DropdownButton","DropdownCategoryTitle","Icon","Surface","Toolbar","FONT_FAMILY_GROUPS","label","options","value","FONT_FAMILIES","flatMap","group","flat","FontFamilyPicker","onChange","currentValue","find","size","currentFontLabel","split","selectFont","font","Root","Trigger","asChild","Button","type","active","icon","className","Content","map","div","isActive","onClick","span","style","fontFamily"],"mappings":";AAAA,YAAYA,cAAc,gCAAgC;AAC1D,SAASC,WAAW,QAAQ,eAAe;AAC3C,SAASC,WAAW,QAAQ,QAAQ;AACpC,SACEC,cAAc,EACdC,qBAAqB,QAChB,mCAAmC;AAC1C,SAASC,IAAI,QAAQ,sBAAsB;AAC3C,SAASC,OAAO,QAAQ,yBAAyB;AACjD,SAASC,OAAO,QAAQ,yBAAyB;AAEjD,MAAMC,qBAAqB;IACzB;QACEC,OAAO;QACPC,SAAS;YACP;gBAAED,OAAO;gBAASE,OAAO;YAAG;YAC5B;gBAAEF,OAAO;gBAASE,OAAO;YAAQ;YACjC;gBAAEF,OAAO;gBAAaE,OAAO;YAAY;SAC1C;IACH;IACA;QACEF,OAAO;QACPC,SAAS;YACP;gBAAED,OAAO;gBAAmBE,OAAO;YAAQ;YAC3C;gBAAEF,OAAO;gBAAYE,OAAO;YAAW;YACvC;gBAAEF,OAAO;gBAAWE,OAAO;YAAU;SACtC;IACH;IACA;QACEF,OAAO;QACPC,SAAS;YACP;gBAAED,OAAO;gBAAWE,OAAO;YAAU;YACrC;gBAAEF,OAAO;gBAAeE,OAAO;YAAc;SAC9C;IACH;CACD;AAED,MAAMC,gBAAgBJ,mBAAmBK,OAAO,CAAC,CAACC,QAAU;QAC1DA,MAAMJ,OAAO;KACd,EAAEK,IAAI;AAOP,OAAO,MAAMC,mBAAmB,CAAC,EAC/BC,QAAQ,EACRN,KAAK,EACiB;IACtB,MAAMO,eAAeN,cAAcO,IAAI,CAAC,CAACC,OAASA,KAAKT,KAAK,KAAKA;IACjE,MAAMU,mBAAmBH,cAAcT,MAAMa,MAAM,IAAI,CAAC,EAAE,IAAI;IAE9D,MAAMC,aAAarB,YACjB,CAACsB,OAAiB,IAAMP,SAASO,OACjC;QAACP;KAAS;IAGZ,qBACE,MAACjB,SAASyB,IAAI;;0BACZ,KAACzB,SAAS0B,OAAO;gBAACC,OAAO;0BACvB,cAAA,MAACpB,QAAQqB,MAAM;oBAACC,MAAK;oBAASC,QAAQ,CAAC,CAACZ,cAAcP;;wBACnDU;sCACD,KAAChB;4BAAK0B,MAAM9B;4BAAa+B,WAAU;;;;;0BAGvC,KAAChC,SAASiC,OAAO;gBAACN,OAAO;0BACvB,cAAA,KAACrB;oBAAQ0B,WAAU;8BAChBxB,mBAAmB0B,GAAG,CAAC,CAACpB,sBACvB,MAACqB;4BACCH,WAAU;;8CAGV,KAAC5B;8CAAuBU,MAAML,KAAK;;gCAClCK,MAAMJ,OAAO,CAACwB,GAAG,CAAC,CAACV,qBAClB,KAACrB;wCACCiC,UAAUzB,UAAUa,KAAKb,KAAK;wCAC9B0B,SAASd,WAAWC,KAAKb,KAAK;kDAG9B,cAAA,KAAC2B;4CAAKC,OAAO;gDAAEC,YAAYhB,KAAKb,KAAK;4CAAC;sDAAIa,KAAKf,KAAK;;uCAF/C,GAAGe,KAAKf,KAAK,CAAC,CAAC,EAAEe,KAAKb,KAAK,EAAE;;2BAPjCG,MAAML,KAAK;;;;;AAkB9B,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"file":"FontSizePicker.d.ts","sourceRoot":"","sources":["../../../../../../../../src/fields/TiptapEditor/features/menus/TextMenu/components/FontSizePicker.tsx"],"names":[],"mappings":"AAgBA,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,cAAc,wBAAyB,mBAAmB,gCAgCtE,CAAC"}
1
+ {"version":3,"file":"FontSizePicker.d.ts","sourceRoot":"","sources":["../../../../../../../../src/fields/TiptapEditor/features/menus/TextMenu/components/FontSizePicker.tsx"],"names":[],"mappings":"AASA,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,cAAc,wBAAyB,mBAAmB,gCA0CtE,CAAC"}
@@ -1,34 +1,35 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import * as Dropdown from "@radix-ui/react-dropdown-menu";
3
3
  import { ChevronDown } from "lucide-react";
4
- import { useCallback } from "react";
4
+ import { useCallback, useMemo } from "react";
5
5
  import { DropdownButton } from "../../../ui/Dropdown/Dropdown.js";
6
6
  import { Icon } from "../../../ui/Icon.js";
7
7
  import { Surface } from "../../../ui/Surface.js";
8
8
  import { Toolbar } from "../../../ui/Toolbar.js";
9
- const FONT_SIZES = [
10
- {
11
- label: "Smaller",
12
- value: "12px"
13
- },
14
- {
15
- label: "Small",
16
- value: "14px"
17
- },
18
- {
19
- label: "Medium",
20
- value: ""
21
- },
22
- {
23
- label: "Large",
24
- value: "18px"
25
- },
26
- {
27
- label: "Extra Large",
28
- value: "24px"
29
- }
30
- ];
9
+ import i18next from "i18next";
31
10
  export const FontSizePicker = ({ onChange, value })=>{
11
+ const FONT_SIZES = useMemo(()=>[
12
+ {
13
+ label: i18next.t("smaller") || "Smaller",
14
+ value: "12px"
15
+ },
16
+ {
17
+ label: i18next.t("small") || "Small",
18
+ value: "14px"
19
+ },
20
+ {
21
+ label: i18next.t("medium") || "Medium",
22
+ value: ""
23
+ },
24
+ {
25
+ label: i18next.t("large") || "Large",
26
+ value: "18px"
27
+ },
28
+ {
29
+ label: i18next.t("extraLart") || "Extra Large",
30
+ value: "24px"
31
+ }
32
+ ], []);
32
33
  const currentValue = FONT_SIZES.find((size)=>size.value === value);
33
34
  const currentSizeLabel = currentValue?.label.split(" ")[0] || "Medium";
34
35
  const selectSize = useCallback((size)=>()=>onChange(size), [
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../../src/fields/TiptapEditor/features/menus/TextMenu/components/FontSizePicker.tsx"],"sourcesContent":["import * as Dropdown from \"@radix-ui/react-dropdown-menu\";\nimport { ChevronDown } from \"lucide-react\";\nimport { useCallback } from \"react\";\nimport { DropdownButton } from \"../../../ui/Dropdown/Dropdown.js\";\nimport { Icon } from \"../../../ui/Icon.js\";\nimport { Surface } from \"../../../ui/Surface.js\";\nimport { Toolbar } from \"../../../ui/Toolbar.js\";\n\nconst FONT_SIZES = [\n { label: \"Smaller\", value: \"12px\" },\n { label: \"Small\", value: \"14px\" },\n { label: \"Medium\", value: \"\" },\n { label: \"Large\", value: \"18px\" },\n { label: \"Extra Large\", value: \"24px\" },\n];\n\nexport type FontSizePickerProps = {\n onChange: (value: string) => void; // eslint-disable-line no-unused-vars\n value: string;\n};\n\nexport const FontSizePicker = ({ onChange, value }: FontSizePickerProps) => {\n const currentValue = FONT_SIZES.find((size) => size.value === value);\n const currentSizeLabel = currentValue?.label.split(\" \")[0] || \"Medium\";\n\n const selectSize = useCallback(\n (size: string) => () => onChange(size),\n [onChange]\n );\n\n return (\n <Dropdown.Root>\n <Dropdown.Trigger asChild>\n <Toolbar.Button type=\"button\" active={!!currentValue?.value}>\n {currentSizeLabel}\n <Icon icon={ChevronDown} className=\"w-2 h-2\" />\n </Toolbar.Button>\n </Dropdown.Trigger>\n <Dropdown.Content asChild>\n <Surface className=\"flex flex-col gap-1 px-2 py-4\">\n {FONT_SIZES.map((size) => (\n <DropdownButton\n isActive={value === size.value}\n onClick={selectSize(size.value)}\n key={`${size.label}_${size.value}`}\n >\n <span style={{ fontSize: size.value }}>{size.label}</span>\n </DropdownButton>\n ))}\n </Surface>\n </Dropdown.Content>\n </Dropdown.Root>\n );\n};\n"],"names":["Dropdown","ChevronDown","useCallback","DropdownButton","Icon","Surface","Toolbar","FONT_SIZES","label","value","FontSizePicker","onChange","currentValue","find","size","currentSizeLabel","split","selectSize","Root","Trigger","asChild","Button","type","active","icon","className","Content","map","isActive","onClick","span","style","fontSize"],"mappings":";AAAA,YAAYA,cAAc,gCAAgC;AAC1D,SAASC,WAAW,QAAQ,eAAe;AAC3C,SAASC,WAAW,QAAQ,QAAQ;AACpC,SAASC,cAAc,QAAQ,mCAAmC;AAClE,SAASC,IAAI,QAAQ,sBAAsB;AAC3C,SAASC,OAAO,QAAQ,yBAAyB;AACjD,SAASC,OAAO,QAAQ,yBAAyB;AAEjD,MAAMC,aAAa;IACjB;QAAEC,OAAO;QAAWC,OAAO;IAAO;IAClC;QAAED,OAAO;QAASC,OAAO;IAAO;IAChC;QAAED,OAAO;QAAUC,OAAO;IAAG;IAC7B;QAAED,OAAO;QAASC,OAAO;IAAO;IAChC;QAAED,OAAO;QAAeC,OAAO;IAAO;CACvC;AAOD,OAAO,MAAMC,iBAAiB,CAAC,EAAEC,QAAQ,EAAEF,KAAK,EAAuB;IACrE,MAAMG,eAAeL,WAAWM,IAAI,CAAC,CAACC,OAASA,KAAKL,KAAK,KAAKA;IAC9D,MAAMM,mBAAmBH,cAAcJ,MAAMQ,MAAM,IAAI,CAAC,EAAE,IAAI;IAE9D,MAAMC,aAAaf,YACjB,CAACY,OAAiB,IAAMH,SAASG,OACjC;QAACH;KAAS;IAGZ,qBACE,MAACX,SAASkB,IAAI;;0BACZ,KAAClB,SAASmB,OAAO;gBAACC,OAAO;0BACvB,cAAA,MAACd,QAAQe,MAAM;oBAACC,MAAK;oBAASC,QAAQ,CAAC,CAACX,cAAcH;;wBACnDM;sCACD,KAACX;4BAAKoB,MAAMvB;4BAAawB,WAAU;;;;;0BAGvC,KAACzB,SAAS0B,OAAO;gBAACN,OAAO;0BACvB,cAAA,KAACf;oBAAQoB,WAAU;8BAChBlB,WAAWoB,GAAG,CAAC,CAACb,qBACf,KAACX;4BACCyB,UAAUnB,UAAUK,KAAKL,KAAK;4BAC9BoB,SAASZ,WAAWH,KAAKL,KAAK;sCAG9B,cAAA,KAACqB;gCAAKC,OAAO;oCAAEC,UAAUlB,KAAKL,KAAK;gCAAC;0CAAIK,KAAKN,KAAK;;2BAF7C,CAAC,EAAEM,KAAKN,KAAK,CAAC,CAAC,EAAEM,KAAKL,KAAK,CAAC,CAAC;;;;;AAShD,EAAE"}
1
+ {"version":3,"sources":["../../../../../../../../src/fields/TiptapEditor/features/menus/TextMenu/components/FontSizePicker.tsx"],"sourcesContent":["import * as Dropdown from \"@radix-ui/react-dropdown-menu\";\nimport { ChevronDown } from \"lucide-react\";\nimport { useCallback, useMemo } from \"react\";\nimport { DropdownButton } from \"../../../ui/Dropdown/Dropdown.js\";\nimport { Icon } from \"../../../ui/Icon.js\";\nimport { Surface } from \"../../../ui/Surface.js\";\nimport { Toolbar } from \"../../../ui/Toolbar.js\";\nimport i18next from \"i18next\";\n\nexport type FontSizePickerProps = {\n onChange: (value: string) => void; // eslint-disable-line no-unused-vars\n value: string;\n};\n\nexport const FontSizePicker = ({ onChange, value }: FontSizePickerProps) => {\n const FONT_SIZES = useMemo(\n () => [\n { label: i18next.t(\"smaller\") || \"Smaller\", value: \"12px\" },\n { label: i18next.t(\"small\") || \"Small\", value: \"14px\" },\n { label: i18next.t(\"medium\") || \"Medium\", value: \"\" },\n { label: i18next.t(\"large\") || \"Large\", value: \"18px\" },\n { label: i18next.t(\"extraLart\") || \"Extra Large\", value: \"24px\" },\n ],\n []\n );\n const currentValue = FONT_SIZES.find((size) => size.value === value);\n const currentSizeLabel = currentValue?.label.split(\" \")[0] || \"Medium\";\n\n const selectSize = useCallback(\n (size: string) => () => onChange(size),\n [onChange]\n );\n\n return (\n <Dropdown.Root>\n <Dropdown.Trigger asChild>\n <Toolbar.Button type=\"button\" active={!!currentValue?.value}>\n {currentSizeLabel}\n <Icon icon={ChevronDown} className=\"w-2 h-2\" />\n </Toolbar.Button>\n </Dropdown.Trigger>\n <Dropdown.Content asChild>\n <Surface className=\"flex flex-col gap-1 px-2 py-4\">\n {FONT_SIZES.map((size) => (\n <DropdownButton\n isActive={value === size.value}\n onClick={selectSize(size.value)}\n key={`${size.label}_${size.value}`}\n >\n <span style={{ fontSize: size.value }}>{size.label}</span>\n </DropdownButton>\n ))}\n </Surface>\n </Dropdown.Content>\n </Dropdown.Root>\n );\n};\n"],"names":["Dropdown","ChevronDown","useCallback","useMemo","DropdownButton","Icon","Surface","Toolbar","i18next","FontSizePicker","onChange","value","FONT_SIZES","label","t","currentValue","find","size","currentSizeLabel","split","selectSize","Root","Trigger","asChild","Button","type","active","icon","className","Content","map","isActive","onClick","span","style","fontSize"],"mappings":";AAAA,YAAYA,cAAc,gCAAgC;AAC1D,SAASC,WAAW,QAAQ,eAAe;AAC3C,SAASC,WAAW,EAAEC,OAAO,QAAQ,QAAQ;AAC7C,SAASC,cAAc,QAAQ,mCAAmC;AAClE,SAASC,IAAI,QAAQ,sBAAsB;AAC3C,SAASC,OAAO,QAAQ,yBAAyB;AACjD,SAASC,OAAO,QAAQ,yBAAyB;AACjD,OAAOC,aAAa,UAAU;AAO9B,OAAO,MAAMC,iBAAiB,CAAC,EAAEC,QAAQ,EAAEC,KAAK,EAAuB;IACrE,MAAMC,aAAaT,QACjB,IAAM;YACJ;gBAAEU,OAAOL,QAAQM,CAAC,CAAC,cAAc;gBAAWH,OAAO;YAAO;YAC1D;gBAAEE,OAAOL,QAAQM,CAAC,CAAC,YAAY;gBAASH,OAAO;YAAO;YACtD;gBAAEE,OAAOL,QAAQM,CAAC,CAAC,aAAa;gBAAUH,OAAO;YAAG;YACpD;gBAAEE,OAAOL,QAAQM,CAAC,CAAC,YAAY;gBAASH,OAAO;YAAO;YACtD;gBAAEE,OAAOL,QAAQM,CAAC,CAAC,gBAAgB;gBAAeH,OAAO;YAAO;SACjE,EACD,EAAE;IAEJ,MAAMI,eAAeH,WAAWI,IAAI,CAAC,CAACC,OAASA,KAAKN,KAAK,KAAKA;IAC9D,MAAMO,mBAAmBH,cAAcF,MAAMM,MAAM,IAAI,CAAC,EAAE,IAAI;IAE9D,MAAMC,aAAalB,YACjB,CAACe,OAAiB,IAAMP,SAASO,OACjC;QAACP;KAAS;IAGZ,qBACE,MAACV,SAASqB,IAAI;;0BACZ,KAACrB,SAASsB,OAAO;gBAACC,OAAO;0BACvB,cAAA,MAAChB,QAAQiB,MAAM;oBAACC,MAAK;oBAASC,QAAQ,CAAC,CAACX,cAAcJ;;wBACnDO;sCACD,KAACb;4BAAKsB,MAAM1B;4BAAa2B,WAAU;;;;;0BAGvC,KAAC5B,SAAS6B,OAAO;gBAACN,OAAO;0BACvB,cAAA,KAACjB;oBAAQsB,WAAU;8BAChBhB,WAAWkB,GAAG,CAAC,CAACb,qBACf,KAACb;4BACC2B,UAAUpB,UAAUM,KAAKN,KAAK;4BAC9BqB,SAASZ,WAAWH,KAAKN,KAAK;sCAG9B,cAAA,KAACsB;gCAAKC,OAAO;oCAAEC,UAAUlB,KAAKN,KAAK;gCAAC;0CAAIM,KAAKJ,KAAK;;2BAF7C,GAAGI,KAAKJ,KAAK,CAAC,CAAC,EAAEI,KAAKN,KAAK,EAAE;;;;;AAShD,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"file":"SocialMediaPopover.d.ts","sourceRoot":"","sources":["../../../../../../../../src/fields/TiptapEditor/features/menus/TextMenu/components/SocialMediaPopover.tsx"],"names":[],"mappings":"AAMA,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,kBAAkB,mCAG5B,uBAAuB,gCAgBzB,CAAC"}
1
+ {"version":3,"file":"SocialMediaPopover.d.ts","sourceRoot":"","sources":["../../../../../../../../src/fields/TiptapEditor/features/menus/TextMenu/components/SocialMediaPopover.tsx"],"names":[],"mappings":"AAOA,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,kBAAkB,mCAG5B,uBAAuB,gCAkBzB,CAAC"}
@@ -4,6 +4,7 @@ import { Link } from "lucide-react";
4
4
  import { IframeLinkEditorPanel } from "../../../panels/IframeLinkEditorPanel/IframeLinkEditorPanel.js";
5
5
  import { Icon } from "../../../ui/Icon.js";
6
6
  import { Toolbar } from "../../../ui/Toolbar.js";
7
+ import i18next from "i18next";
7
8
  export const SocialMediaPopover = ({ onSetLink, initialSrcLink })=>{
8
9
  return /*#__PURE__*/ _jsxs(Popover.Root, {
9
10
  children: [
@@ -11,7 +12,7 @@ export const SocialMediaPopover = ({ onSetLink, initialSrcLink })=>{
11
12
  asChild: true,
12
13
  children: /*#__PURE__*/ _jsx(Toolbar.Button, {
13
14
  type: "button",
14
- tooltip: "Embed Link",
15
+ tooltip: i18next.t("embedLink") || "Embed Link",
15
16
  children: /*#__PURE__*/ _jsx(Icon, {
16
17
  icon: Link
17
18
  })
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../../src/fields/TiptapEditor/features/menus/TextMenu/components/SocialMediaPopover.tsx"],"sourcesContent":["import * as Popover from \"@radix-ui/react-popover\";\nimport { Link } from \"lucide-react\";\nimport { IframeLinkEditorPanel } from \"../../../panels/IframeLinkEditorPanel/IframeLinkEditorPanel.js\";\nimport { Icon } from \"../../../ui/Icon.js\";\nimport { Toolbar } from \"../../../ui/Toolbar.js\";\n\nexport type SocialMediaPopoverProps = {\n onSetLink: (src: string) => void;\n initialSrcLink: string;\n};\n\nexport const SocialMediaPopover = ({\n onSetLink,\n initialSrcLink,\n}: SocialMediaPopoverProps) => {\n return (\n <Popover.Root>\n <Popover.Trigger asChild>\n <Toolbar.Button type=\"button\" tooltip=\"Embed Link\">\n <Icon icon={Link} />\n </Toolbar.Button>\n </Popover.Trigger>\n <Popover.Content>\n <IframeLinkEditorPanel\n onSetLink={onSetLink}\n initialSrc={initialSrcLink ?? \"\"}\n />\n </Popover.Content>\n </Popover.Root>\n );\n};\n"],"names":["Popover","Link","IframeLinkEditorPanel","Icon","Toolbar","SocialMediaPopover","onSetLink","initialSrcLink","Root","Trigger","asChild","Button","type","tooltip","icon","Content","initialSrc"],"mappings":";AAAA,YAAYA,aAAa,0BAA0B;AACnD,SAASC,IAAI,QAAQ,eAAe;AACpC,SAASC,qBAAqB,QAAQ,iEAAiE;AACvG,SAASC,IAAI,QAAQ,sBAAsB;AAC3C,SAASC,OAAO,QAAQ,yBAAyB;AAOjD,OAAO,MAAMC,qBAAqB,CAAC,EACjCC,SAAS,EACTC,cAAc,EACU;IACxB,qBACE,MAACP,QAAQQ,IAAI;;0BACX,KAACR,QAAQS,OAAO;gBAACC,OAAO;0BACtB,cAAA,KAACN,QAAQO,MAAM;oBAACC,MAAK;oBAASC,SAAQ;8BACpC,cAAA,KAACV;wBAAKW,MAAMb;;;;0BAGhB,KAACD,QAAQe,OAAO;0BACd,cAAA,KAACb;oBACCI,WAAWA;oBACXU,YAAYT,kBAAkB;;;;;AAKxC,EAAE"}
1
+ {"version":3,"sources":["../../../../../../../../src/fields/TiptapEditor/features/menus/TextMenu/components/SocialMediaPopover.tsx"],"sourcesContent":["import * as Popover from \"@radix-ui/react-popover\";\nimport { Link } from \"lucide-react\";\nimport { IframeLinkEditorPanel } from \"../../../panels/IframeLinkEditorPanel/IframeLinkEditorPanel.js\";\nimport { Icon } from \"../../../ui/Icon.js\";\nimport { Toolbar } from \"../../../ui/Toolbar.js\";\nimport i18next from \"i18next\";\n\nexport type SocialMediaPopoverProps = {\n onSetLink: (src: string) => void;\n initialSrcLink: string;\n};\n\nexport const SocialMediaPopover = ({\n onSetLink,\n initialSrcLink,\n}: SocialMediaPopoverProps) => {\n return (\n <Popover.Root>\n <Popover.Trigger asChild>\n <Toolbar.Button type=\"button\"\n tooltip={i18next.t(\"embedLink\") || \"Embed Link\"}\n >\n <Icon icon={Link} />\n </Toolbar.Button>\n </Popover.Trigger>\n <Popover.Content>\n <IframeLinkEditorPanel\n onSetLink={onSetLink}\n initialSrc={initialSrcLink ?? \"\"}\n />\n </Popover.Content>\n </Popover.Root>\n );\n};\n"],"names":["Popover","Link","IframeLinkEditorPanel","Icon","Toolbar","i18next","SocialMediaPopover","onSetLink","initialSrcLink","Root","Trigger","asChild","Button","type","tooltip","t","icon","Content","initialSrc"],"mappings":";AAAA,YAAYA,aAAa,0BAA0B;AACnD,SAASC,IAAI,QAAQ,eAAe;AACpC,SAASC,qBAAqB,QAAQ,iEAAiE;AACvG,SAASC,IAAI,QAAQ,sBAAsB;AAC3C,SAASC,OAAO,QAAQ,yBAAyB;AACjD,OAAOC,aAAa,UAAU;AAO9B,OAAO,MAAMC,qBAAqB,CAAC,EACjCC,SAAS,EACTC,cAAc,EACU;IACxB,qBACE,MAACR,QAAQS,IAAI;;0BACX,KAACT,QAAQU,OAAO;gBAACC,OAAO;0BACtB,cAAA,KAACP,QAAQQ,MAAM;oBAACC,MAAK;oBACpBC,SAAST,QAAQU,CAAC,CAAC,gBAAgB;8BAElC,cAAA,KAACZ;wBAAKa,MAAMf;;;;0BAGhB,KAACD,QAAQiB,OAAO;0BACd,cAAA,KAACf;oBACCK,WAAWA;oBACXW,YAAYV,kBAAkB;;;;;AAKxC,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"file":"ai-selector-commands.d.ts","sourceRoot":"","sources":["../../../../../../../../src/fields/TiptapEditor/features/menus/TextMenu/components/ai-selector-commands.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAwDvC,UAAU,uBAAuB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,CACR,KAAK,EAAE,MAAM,EACb,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,KAC3C,IAAI,CAAC;CACX;AAED,QAAA,MAAM,kBAAkB,oCAIrB,uBAAuB,gCA6FzB,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"ai-selector-commands.d.ts","sourceRoot":"","sources":["../../../../../../../../src/fields/TiptapEditor/features/menus/TextMenu/components/ai-selector-commands.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAyDvC,UAAU,uBAAuB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,CACR,KAAK,EAAE,MAAM,EACb,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,KAC3C,IAAI,CAAC;CACX;AAED,QAAA,MAAM,kBAAkB,oCAIrB,uBAAuB,gCA4FzB,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -9,6 +9,7 @@ import { DropdownCategoryTitle } from "../../../ui/Dropdown/Dropdown.js";
9
9
  import { Icon } from "../../../ui/Icon.js";
10
10
  import { Surface } from "../../../ui/Surface.js";
11
11
  import { Toolbar } from "../../../ui/Toolbar.js";
12
+ import i18next from "i18next";
12
13
  const options = [
13
14
  // {
14
15
  // value: 'translate',
@@ -64,7 +65,7 @@ const AISelectorCommands = ({ messages, onSelect, editor })=>{
64
65
  className: "gap-2 px-4 w-full flex justify-start ",
65
66
  type: "button",
66
67
  // active={!!states.currentHighlight}
67
- tooltip: "Highlight text",
68
+ tooltip: i18next.t("highlightText") || "Highlight text",
68
69
  children: [
69
70
  /*#__PURE__*/ _jsx(Icon, {
70
71
  icon: Languages,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../../src/fields/TiptapEditor/features/menus/TextMenu/components/ai-selector-commands.tsx"],"sourcesContent":["import { useLocale } from \"@payloadcms/ui/providers/Locale\";\nimport * as Popover from \"@radix-ui/react-popover\";\nimport { Editor } from \"@tiptap/react\";\nimport { useAssistant } from \"ai/react\";\nimport {\n ArrowDownWideNarrow,\n CheckCheck,\n ChevronDown,\n Languages,\n RefreshCcwDot,\n StepForward,\n WrapText,\n} from \"lucide-react\";\nimport { languages } from \"../../../../lib/constants.js\";\nimport { getPrevText } from \"../../../../lib/utils/index.js\";\nimport { DropdownCategoryTitle } from \"../../../ui/Dropdown/Dropdown.js\";\nimport { Icon } from \"../../../ui/Icon.js\";\nimport { Surface } from \"../../../ui/Surface.js\";\nimport { Toolbar } from \"../../../ui/Toolbar.js\";\nconst options = [\n // {\n // value: 'translate',\n // label: 'Translate text',\n // icon: WrapText,\n // },\n {\n value: \"summarize\",\n label: \"Summarize text\",\n icon: WrapText,\n },\n {\n value: \"rewrite\",\n label: \"Rewrite into Axios\",\n icon: WrapText,\n },\n {\n value: \"improve\",\n label: \"Improve writing\",\n icon: RefreshCcwDot,\n },\n\n {\n value: \"fix\",\n label: \"Fix grammar\",\n icon: CheckCheck,\n },\n {\n value: \"shorter\",\n label: \"Make shorter\",\n icon: ArrowDownWideNarrow,\n },\n {\n value: \"longer\",\n label: \"Make longer\",\n icon: WrapText,\n },\n];\n\ninterface AISelectorCommandsProps {\n editor: Editor;\n messages?: string;\n onSelect: (\n value: string,\n options: { option: string; language?: string }\n ) => void;\n}\n\nconst AISelectorCommands = ({\n messages,\n onSelect,\n editor,\n}: AISelectorCommandsProps) => {\n const { status, input, submitMessage, handleInputChange } = useAssistant({\n api: \"/api/assistant\",\n });\n const { code } = useLocale();\n\n return (\n <>\n <DropdownCategoryTitle>Edit or review selection</DropdownCategoryTitle>\n <Popover.Root>\n <Popover.Trigger asChild>\n <Toolbar.Button\n className=\"gap-2 px-4 w-full flex justify-start \"\n type=\"button\"\n // active={!!states.currentHighlight}\n tooltip=\"Highlight text\"\n >\n <Icon icon={Languages} className=\"h-4 w-4 text-blue-500\" />\n Translate text\n <Icon icon={ChevronDown} className=\"h-4 w-4 text-blue-500\" />\n </Toolbar.Button>\n </Popover.Trigger>\n <Popover.Content side=\"right\" align=\"start\" sideOffset={8} asChild>\n <Surface className=\"flex flex-col min-w-[15rem] p-2 max-h-[20rem] overflow-auto\">\n <DropdownCategoryTitle>Languages</DropdownCategoryTitle>\n\n {languages.map((lang) => (\n <Toolbar.Button\n onClick={() => {\n const { from, to, empty } = editor.state.selection;\n const content = messages\n ? messages ?? \"\"\n : editor.state.doc.textBetween(from, to, \" \");\n onSelect(content, {\n option: \"translate\",\n language: lang.value,\n });\n }}\n className=\"gap-2 px-4 w-full flex justify-start \"\n key={lang.value}\n >\n {lang.label}\n </Toolbar.Button>\n ))}\n </Surface>\n </Popover.Content>\n </Popover.Root>\n\n {options.map((option) => (\n <Toolbar.Button\n // onSelect={(value) => {\n // const slice = editor.state.selection.content()\n // const text = editor?.storage?.markdown?.serializer.serialize(slice.content)\n // onSelect(text, option.value)\n // }}\n onClick={() => {\n const { from, to, empty } = editor.state.selection;\n const content = messages\n ? messages ?? \"\"\n : editor.state.doc.textBetween(from, to, \" \");\n onSelect(content, {\n option: option.value,\n language: editor?.storage?.aiCommand?.language ?? code ?? \"en\",\n });\n }}\n className=\" gap-2 px-4 w-full flex justify-start\"\n key={option.value}\n value={option.value}\n >\n <option.icon className=\"h-4 w-4 text-blue-500\" />\n {option.label}\n </Toolbar.Button>\n ))}\n <Toolbar.Divider horizontal />\n <DropdownCategoryTitle>Use AI to do more</DropdownCategoryTitle>\n <Toolbar.Button\n onClick={() => {\n const text = messages\n ? messages\n : getPrevText(editor, { chars: 5000 });\n onSelect(text, {\n option: \"continue\",\n language: editor?.storage?.aiCommand?.language ?? code ?? \"en\",\n });\n }}\n value=\"continue\"\n className=\"gap-2 px-4 w-full flex justify-start\"\n >\n <StepForward className=\"h-4 w-4 text-blue-500\" />\n Continue writing\n </Toolbar.Button>\n </>\n );\n};\n\nexport default AISelectorCommands;\n"],"names":["useLocale","Popover","useAssistant","ArrowDownWideNarrow","CheckCheck","ChevronDown","Languages","RefreshCcwDot","StepForward","WrapText","languages","getPrevText","DropdownCategoryTitle","Icon","Surface","Toolbar","options","value","label","icon","AISelectorCommands","messages","onSelect","editor","status","input","submitMessage","handleInputChange","api","code","Root","Trigger","asChild","Button","className","type","tooltip","Content","side","align","sideOffset","map","lang","onClick","from","to","empty","state","selection","content","doc","textBetween","option","language","storage","aiCommand","Divider","horizontal","text","chars"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../../../../src/fields/TiptapEditor/features/menus/TextMenu/components/ai-selector-commands.tsx"],"sourcesContent":["import { useLocale } from \"@payloadcms/ui/providers/Locale\";\nimport * as Popover from \"@radix-ui/react-popover\";\nimport { Editor } from \"@tiptap/react\";\nimport { useAssistant } from \"ai/react\";\nimport {\n ArrowDownWideNarrow,\n CheckCheck,\n ChevronDown,\n Languages,\n RefreshCcwDot,\n StepForward,\n WrapText,\n} from \"lucide-react\";\nimport { languages } from \"../../../../lib/constants.js\";\nimport { getPrevText } from \"../../../../lib/utils/index.js\";\nimport { DropdownCategoryTitle } from \"../../../ui/Dropdown/Dropdown.js\";\nimport { Icon } from \"../../../ui/Icon.js\";\nimport { Surface } from \"../../../ui/Surface.js\";\nimport { Toolbar } from \"../../../ui/Toolbar.js\";\nimport i18next from \"i18next\";\nconst options = [\n // {\n // value: 'translate',\n // label: 'Translate text',\n // icon: WrapText,\n // },\n {\n value: \"summarize\",\n label: \"Summarize text\",\n icon: WrapText,\n },\n {\n value: \"rewrite\",\n label: \"Rewrite into Axios\",\n icon: WrapText,\n },\n {\n value: \"improve\",\n label: \"Improve writing\",\n icon: RefreshCcwDot,\n },\n\n {\n value: \"fix\",\n label: \"Fix grammar\",\n icon: CheckCheck,\n },\n {\n value: \"shorter\",\n label: \"Make shorter\",\n icon: ArrowDownWideNarrow,\n },\n {\n value: \"longer\",\n label: \"Make longer\",\n icon: WrapText,\n },\n];\n\ninterface AISelectorCommandsProps {\n editor: Editor;\n messages?: string;\n onSelect: (\n value: string,\n options: { option: string; language?: string }\n ) => void;\n}\n\nconst AISelectorCommands = ({\n messages,\n onSelect,\n editor,\n}: AISelectorCommandsProps) => {\n const { status, input, submitMessage, handleInputChange } = useAssistant({\n api: \"/api/assistant\",\n });\n const { code } = useLocale();\n return (\n <>\n <DropdownCategoryTitle>Edit or review selection</DropdownCategoryTitle>\n <Popover.Root>\n <Popover.Trigger asChild>\n <Toolbar.Button\n className=\"gap-2 px-4 w-full flex justify-start \"\n type=\"button\"\n // active={!!states.currentHighlight}\n tooltip={i18next.t(\"highlightText\") || \"Highlight text\"}\n >\n <Icon icon={Languages} className=\"h-4 w-4 text-blue-500\" />\n Translate text\n <Icon icon={ChevronDown} className=\"h-4 w-4 text-blue-500\" />\n </Toolbar.Button>\n </Popover.Trigger>\n <Popover.Content side=\"right\" align=\"start\" sideOffset={8} asChild>\n <Surface className=\"flex flex-col min-w-[15rem] p-2 max-h-[20rem] overflow-auto\">\n <DropdownCategoryTitle>Languages</DropdownCategoryTitle>\n\n {languages.map((lang) => (\n <Toolbar.Button\n onClick={() => {\n const { from, to, empty } = editor.state.selection;\n const content = messages\n ? messages ?? \"\"\n : editor.state.doc.textBetween(from, to, \" \");\n onSelect(content, {\n option: \"translate\",\n language: lang.value,\n });\n }}\n className=\"gap-2 px-4 w-full flex justify-start \"\n key={lang.value}\n >\n {lang.label}\n </Toolbar.Button>\n ))}\n </Surface>\n </Popover.Content>\n </Popover.Root>\n\n {options.map((option) => (\n <Toolbar.Button\n // onSelect={(value) => {\n // const slice = editor.state.selection.content()\n // const text = editor?.storage?.markdown?.serializer.serialize(slice.content)\n // onSelect(text, option.value)\n // }}\n onClick={() => {\n const { from, to, empty } = editor.state.selection;\n const content = messages\n ? messages ?? \"\"\n : editor.state.doc.textBetween(from, to, \" \");\n onSelect(content, {\n option: option.value,\n language: editor?.storage?.aiCommand?.language ?? code ?? \"en\",\n });\n }}\n className=\" gap-2 px-4 w-full flex justify-start\"\n key={option.value}\n value={option.value}\n >\n <option.icon className=\"h-4 w-4 text-blue-500\" />\n {option.label}\n </Toolbar.Button>\n ))}\n <Toolbar.Divider horizontal />\n <DropdownCategoryTitle>Use AI to do more</DropdownCategoryTitle>\n <Toolbar.Button\n onClick={() => {\n const text = messages\n ? messages\n : getPrevText(editor, { chars: 5000 });\n onSelect(text, {\n option: \"continue\",\n language: editor?.storage?.aiCommand?.language ?? code ?? \"en\",\n });\n }}\n value=\"continue\"\n className=\"gap-2 px-4 w-full flex justify-start\"\n >\n <StepForward className=\"h-4 w-4 text-blue-500\" />\n Continue writing\n </Toolbar.Button>\n </>\n );\n};\n\nexport default AISelectorCommands;\n"],"names":["useLocale","Popover","useAssistant","ArrowDownWideNarrow","CheckCheck","ChevronDown","Languages","RefreshCcwDot","StepForward","WrapText","languages","getPrevText","DropdownCategoryTitle","Icon","Surface","Toolbar","i18next","options","value","label","icon","AISelectorCommands","messages","onSelect","editor","status","input","submitMessage","handleInputChange","api","code","Root","Trigger","asChild","Button","className","type","tooltip","t","Content","side","align","sideOffset","map","lang","onClick","from","to","empty","state","selection","content","doc","textBetween","option","language","storage","aiCommand","Divider","horizontal","text","chars"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useTextmenuContentTypes.d.ts","sourceRoot":"","sources":["../../../../../../../../src/fields/TiptapEditor/features/menus/TextMenu/hooks/useTextmenuContentTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAW1E,eAAO,MAAM,uBAAuB,WAAY,MAAM,yBAiHrD,CAAC"}
1
+ {"version":3,"file":"useTextmenuContentTypes.d.ts","sourceRoot":"","sources":["../../../../../../../../src/fields/TiptapEditor/features/menus/TextMenu/hooks/useTextmenuContentTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAY1E,eAAO,MAAM,uBAAuB,WAAY,MAAM,yBAiHrD,CAAC"}