payload-richtext-tiptap 0.0.67 → 0.0.69

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.
@@ -1,10 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import * as Popover from "@radix-ui/react-popover";
3
3
  import { BubbleMenu } from "@tiptap/react";
4
- import { AlignCenter, AlignJustify, AlignLeft, AlignRight, Bold, Code, FileCode, Highlighter, Italic, MoveVertical, Palette, RemoveFormatting, Sparkles, Strikethrough, Subscript, Superscript, Underline } from "lucide-react";
4
+ import { AlignCenter, AlignJustify, AlignLeft, AlignRight, Bold, Highlighter, Italic, MoveVertical, Palette, RemoveFormatting, Sparkles, Strikethrough, Subscript, Superscript, Underline } from "lucide-react";
5
5
  import { memo, useState } from "react";
6
- import { ColorPicker } from "../../panels/index.js";
7
6
  import { AIEditorPanel } from "../../panels/AIEditorPanel/AIEditorPanel.js";
7
+ import { ColorPicker } from "../../panels/index.js";
8
8
  import { Icon } from "../../ui/Icon.js";
9
9
  import { Surface } from "../../ui/Surface.js";
10
10
  import { Toolbar } from "../../ui/Toolbar.js";
@@ -22,16 +22,16 @@ const MemoColorPicker = /*#__PURE__*/ memo(ColorPicker);
22
22
  const MemoFontFamilyPicker = /*#__PURE__*/ memo(FontFamilyPicker);
23
23
  const MemoFontSizePicker = /*#__PURE__*/ memo(FontSizePicker);
24
24
  const MemoContentTypePicker = /*#__PURE__*/ memo(ContentTypePicker);
25
- export const TextMenu = ({ editor })=>{
25
+ export const TextMenu = ({ editor, dir })=>{
26
26
  const commands = useTextmenuCommands(editor);
27
27
  const states = useTextmenuStates(editor);
28
28
  const blockOptions = useTextmenuContentTypes(editor);
29
29
  const [openAi, setOpenAi] = useState(false);
30
30
  return /*#__PURE__*/ _jsx(BubbleMenu, {
31
31
  tippyOptions: {
32
- placement: "bottom",
32
+ placement: "auto",
33
33
  popperOptions: {
34
- placement: "bottom"
34
+ placement: "auto"
35
35
  },
36
36
  onHide: ()=>{
37
37
  setOpenAi(false);
@@ -112,49 +112,6 @@ export const TextMenu = ({ editor })=>{
112
112
  icon: Underline
113
113
  })
114
114
  }),
115
- /*#__PURE__*/ _jsx(MemoButton, {
116
- type: "button",
117
- tooltip: "Strikehrough",
118
- tooltipShortcut: [
119
- "Mod",
120
- "Shift",
121
- "S"
122
- ],
123
- onClick: commands.onStrike,
124
- active: states.isStrike,
125
- children: /*#__PURE__*/ _jsx(Icon, {
126
- icon: Strikethrough
127
- })
128
- }),
129
- /*#__PURE__*/ _jsx(MemoButton, {
130
- type: "button",
131
- tooltip: "Code",
132
- tooltipShortcut: [
133
- "Mod",
134
- "E"
135
- ],
136
- onClick: commands.onCode,
137
- active: states.isCode,
138
- children: /*#__PURE__*/ _jsx(Icon, {
139
- icon: Code
140
- })
141
- }),
142
- /*#__PURE__*/ _jsx(MemoButton, {
143
- type: "button",
144
- tooltip: "Code block",
145
- onClick: commands.onCodeBlock,
146
- children: /*#__PURE__*/ _jsx(Icon, {
147
- icon: FileCode
148
- })
149
- }),
150
- /*#__PURE__*/ _jsx(MemoButton, {
151
- type: "button",
152
- tooltip: "Clear Formatting",
153
- onClick: commands.onClearFormatting,
154
- children: /*#__PURE__*/ _jsx(Icon, {
155
- icon: RemoveFormatting
156
- })
157
- }),
158
115
  /*#__PURE__*/ _jsx(EditLinkPopover, {
159
116
  onSetLink: commands.onLink
160
117
  }),
@@ -313,6 +270,28 @@ export const TextMenu = ({ editor })=>{
313
270
  children: /*#__PURE__*/ _jsx(Icon, {
314
271
  icon: AlignJustify
315
272
  })
273
+ }),
274
+ /*#__PURE__*/ _jsx(MemoButton, {
275
+ type: "button",
276
+ tooltip: "Strikehrough",
277
+ tooltipShortcut: [
278
+ "Mod",
279
+ "Shift",
280
+ "S"
281
+ ],
282
+ onClick: commands.onStrike,
283
+ active: states.isStrike,
284
+ children: /*#__PURE__*/ _jsx(Icon, {
285
+ icon: Strikethrough
286
+ })
287
+ }),
288
+ /*#__PURE__*/ _jsx(MemoButton, {
289
+ type: "button",
290
+ tooltip: "Clear Formatting",
291
+ onClick: commands.onClearFormatting,
292
+ children: /*#__PURE__*/ _jsx(Icon, {
293
+ icon: RemoveFormatting
294
+ })
316
295
  })
317
296
  ]
318
297
  })
@@ -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 Code,\n FileCode,\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 { ColorPicker } from \"../../panels/index.js\";\nimport { AIEditorPanel } from \"../../panels/AIEditorPanel/AIEditorPanel.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};\n\nexport const TextMenu = ({ editor }: 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: \"bottom\",\n popperOptions: { placement: \"bottom\" },\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 <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 <MemoButton\n type=\"button\"\n tooltip=\"Code\"\n tooltipShortcut={[\"Mod\", \"E\"]}\n onClick={commands.onCode}\n active={states.isCode}\n >\n <Icon icon={Code} />\n </MemoButton>\n <MemoButton\n type=\"button\"\n tooltip=\"Code block\"\n onClick={commands.onCodeBlock}\n >\n <Icon icon={FileCode} />\n </MemoButton>\n <MemoButton\n type=\"button\"\n tooltip=\"Clear Formatting\"\n onClick={commands.onClearFormatting}\n >\n <Icon icon={RemoveFormatting} />\n </MemoButton>\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 </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","Code","FileCode","Highlighter","Italic","MoveVertical","Palette","RemoveFormatting","Sparkles","Strikethrough","Subscript","Superscript","Underline","memo","useState","ColorPicker","AIEditorPanel","Icon","Surface","Toolbar","ContentTypePicker","EditLinkPopover","FontFamilyPicker","FontSizePicker","useTextmenuCommands","useTextmenuContentTypes","useTextmenuStates","MemoButton","Button","MemoColorPicker","MemoFontFamilyPicker","MemoFontSizePicker","MemoContentTypePicker","TextMenu","editor","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","onStrike","isStrike","onCode","isCode","onCodeBlock","onClearFormatting","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"],"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\";\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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"}
@@ -1740,10 +1740,6 @@ select {
1740
1740
  display: grid;
1741
1741
  }
1742
1742
 
1743
- .contents {
1744
- display: contents;
1745
- }
1746
-
1747
1743
  .\!h-\[120px\] {
1748
1744
  height: 120px !important;
1749
1745
  }