payload-richtext-tiptap 0.0.159 → 0.0.161

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 (89) hide show
  1. package/dist/src/fields/TiptapEditor/extensions/Iframe/IframeEmbed.d.ts +2 -7
  2. package/dist/src/fields/TiptapEditor/extensions/Iframe/IframeEmbed.d.ts.map +1 -1
  3. package/dist/src/fields/TiptapEditor/extensions/Iframe/IframeEmbed.js +20 -7
  4. package/dist/src/fields/TiptapEditor/extensions/Iframe/IframeEmbed.js.map +1 -1
  5. package/dist/src/fields/TiptapEditor/extensions/Iframe/iframe.d.ts +2 -2
  6. package/dist/src/fields/TiptapEditor/extensions/Iframe/iframe.d.ts.map +1 -1
  7. package/dist/src/fields/TiptapEditor/extensions/Iframe/iframe.js +42 -30
  8. package/dist/src/fields/TiptapEditor/extensions/Iframe/iframe.js.map +1 -1
  9. package/dist/src/fields/TiptapEditor/extensions/Paragraph/Paragraph.d.ts.map +1 -1
  10. package/dist/src/fields/TiptapEditor/extensions/Paragraph/Paragraph.js +27 -4
  11. package/dist/src/fields/TiptapEditor/extensions/Paragraph/Paragraph.js.map +1 -1
  12. package/dist/src/fields/TiptapEditor/extensions/PasteHandler/PasteHandler.d.ts +4 -0
  13. package/dist/src/fields/TiptapEditor/extensions/PasteHandler/PasteHandler.d.ts.map +1 -0
  14. package/dist/src/fields/TiptapEditor/extensions/PasteHandler/PasteHandler.js +242 -0
  15. package/dist/src/fields/TiptapEditor/extensions/PasteHandler/PasteHandler.js.map +1 -0
  16. package/dist/src/fields/TiptapEditor/extensions/PasteHandler/index.d.ts +2 -0
  17. package/dist/src/fields/TiptapEditor/extensions/PasteHandler/index.d.ts.map +1 -0
  18. package/dist/src/fields/TiptapEditor/extensions/PasteHandler/index.js +3 -0
  19. package/dist/src/fields/TiptapEditor/extensions/PasteHandler/index.js.map +1 -0
  20. package/dist/src/fields/TiptapEditor/extensions/SlashCommand/groups.d.ts +1 -1
  21. package/dist/src/fields/TiptapEditor/extensions/SlashCommand/groups.d.ts.map +1 -1
  22. package/dist/src/fields/TiptapEditor/extensions/SlashCommand/groups.js +108 -84
  23. package/dist/src/fields/TiptapEditor/extensions/SlashCommand/groups.js.map +1 -1
  24. package/dist/src/fields/TiptapEditor/extensions/Table/Table.d.ts.map +1 -1
  25. package/dist/src/fields/TiptapEditor/extensions/Table/Table.js +2 -1
  26. package/dist/src/fields/TiptapEditor/extensions/Table/Table.js.map +1 -1
  27. package/dist/src/fields/TiptapEditor/extensions/extension-kit.d.ts +3 -3
  28. package/dist/src/fields/TiptapEditor/extensions/extension-kit.d.ts.map +1 -1
  29. package/dist/src/fields/TiptapEditor/extensions/extension-kit.js +29 -22
  30. package/dist/src/fields/TiptapEditor/extensions/extension-kit.js.map +1 -1
  31. package/dist/src/fields/TiptapEditor/extensions/index.d.ts +50 -49
  32. package/dist/src/fields/TiptapEditor/extensions/index.d.ts.map +1 -1
  33. package/dist/src/fields/TiptapEditor/extensions/index.js +50 -49
  34. package/dist/src/fields/TiptapEditor/extensions/index.js.map +1 -1
  35. package/dist/src/fields/TiptapEditor/extensions/serverside/IFrameServerside.d.ts +2 -2
  36. package/dist/src/fields/TiptapEditor/extensions/serverside/IFrameServerside.d.ts.map +1 -1
  37. package/dist/src/fields/TiptapEditor/extensions/serverside/IFrameServerside.js +26 -8
  38. package/dist/src/fields/TiptapEditor/extensions/serverside/IFrameServerside.js.map +1 -1
  39. package/dist/src/fields/TiptapEditor/extensions/serverside/TableServerside.d.ts +10 -0
  40. package/dist/src/fields/TiptapEditor/extensions/serverside/TableServerside.d.ts.map +1 -0
  41. package/dist/src/fields/TiptapEditor/extensions/serverside/TableServerside.js +90 -0
  42. package/dist/src/fields/TiptapEditor/extensions/serverside/TableServerside.js.map +1 -0
  43. package/dist/src/fields/TiptapEditor/extensions/serverside/index.d.ts +15 -13
  44. package/dist/src/fields/TiptapEditor/extensions/serverside/index.d.ts.map +1 -1
  45. package/dist/src/fields/TiptapEditor/extensions/serverside/index.js +15 -13
  46. package/dist/src/fields/TiptapEditor/extensions/serverside/index.js.map +1 -1
  47. package/dist/src/fields/TiptapEditor/features/BlockEditor/BlockEditor.d.ts.map +1 -1
  48. package/dist/src/fields/TiptapEditor/features/BlockEditor/BlockEditor.js +9 -0
  49. package/dist/src/fields/TiptapEditor/features/BlockEditor/BlockEditor.js.map +1 -1
  50. package/dist/src/fields/TiptapEditor/features/panels/IframeLinkEditorPanel/IframeLinkEditorPanel.d.ts +2 -2
  51. package/dist/src/fields/TiptapEditor/features/panels/IframeLinkEditorPanel/IframeLinkEditorPanel.d.ts.map +1 -1
  52. package/dist/src/fields/TiptapEditor/features/panels/IframeLinkEditorPanel/IframeLinkEditorPanel.js +20 -18
  53. package/dist/src/fields/TiptapEditor/features/panels/IframeLinkEditorPanel/IframeLinkEditorPanel.js.map +1 -1
  54. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/SlashCommandTriggerButton.d.ts +4 -0
  55. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/SlashCommandTriggerButton.d.ts.map +1 -0
  56. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/SlashCommandTriggerButton.js +32 -0
  57. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/SlashCommandTriggerButton.js.map +1 -0
  58. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/SlashDropdownMenu.d.ts +4 -0
  59. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/SlashDropdownMenu.d.ts.map +1 -0
  60. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/SlashDropdownMenu.js +70 -0
  61. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/SlashDropdownMenu.js.map +1 -0
  62. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/SlashMenuList.d.ts +10 -0
  63. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/SlashMenuList.d.ts.map +1 -0
  64. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/SlashMenuList.js +249 -0
  65. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/SlashMenuList.js.map +1 -0
  66. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/SuggestionMenu.d.ts +15 -0
  67. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/SuggestionMenu.d.ts.map +1 -0
  68. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/SuggestionMenu.js +291 -0
  69. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/SuggestionMenu.js.map +1 -0
  70. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/index.d.ts +7 -0
  71. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/index.d.ts.map +1 -0
  72. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/index.js +7 -0
  73. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/index.js.map +1 -0
  74. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/types.d.ts +28 -0
  75. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/types.d.ts.map +1 -0
  76. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/types.js +3 -0
  77. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/types.js.map +1 -0
  78. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/utils.d.ts +6 -0
  79. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/utils.d.ts.map +1 -0
  80. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/utils.js +222 -0
  81. package/dist/src/fields/TiptapEditor/features/ui/SlashCommand/utils.js.map +1 -0
  82. package/dist/src/fields/TiptapEditor/lib/utils/updateImageUrl.d.ts +2 -0
  83. package/dist/src/fields/TiptapEditor/lib/utils/updateImageUrl.d.ts.map +1 -0
  84. package/dist/src/fields/TiptapEditor/lib/utils/updateImageUrl.js +17 -0
  85. package/dist/src/fields/TiptapEditor/lib/utils/updateImageUrl.js.map +1 -0
  86. package/dist/src/mobile.css +1 -1
  87. package/dist/src/styles.css +1 -1
  88. package/dist/tsconfig.tsbuildinfo +1 -1
  89. package/package.json +1 -1
@@ -1,15 +1,17 @@
1
- export * from "./FacebookServerside.js";
2
- export * from "./ImageBlockServerside.js";
3
- export * from "./InstagramServerside.js";
4
- export * from "./LinkedinServerside.js";
5
- export * from "./TiktokServerside.js";
6
- export * from "./TwitterBlockServerside.js";
7
- export * from "./VideoBlockServerside.js";
8
- export * from "./YouTubeServerside.js";
9
- export * from "./EmbedContentInlineRenderer.js";
10
- export * from "./EmbedContentSideRenderer.js";
11
- export * from "./EmbedContentSidebarRenderer.js";
12
- export * from "./ServersideTiptapBody.js";
13
- export * from "./useAppendRequiredBlocksMarkerClient.js";
1
+ export * from './FacebookServerside.js';
2
+ export * from './ImageBlockServerside.js';
3
+ export * from './InstagramServerside.js';
4
+ export * from './LinkedinServerside.js';
5
+ export * from './TiktokServerside.js';
6
+ export * from './TwitterBlockServerside.js';
7
+ export * from './VideoBlockServerside.js';
8
+ export * from './YouTubeServerside.js';
9
+ export * from './EmbedContentInlineRenderer.js';
10
+ export * from './EmbedContentSideRenderer.js';
11
+ export * from './EmbedContentSidebarRenderer.js';
12
+ export * from './ServersideTiptapBody.js';
13
+ export * from './useAppendRequiredBlocksMarkerClient.js';
14
+ export * from './TableServerside.js';
15
+ export * from './IFrameServerside.js';
14
16
 
15
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/index.ts"],"sourcesContent":["export * from \"./FacebookServerside.js\";\r\nexport * from \"./ImageBlockServerside.js\";\r\nexport * from \"./InstagramServerside.js\";\r\nexport * from \"./LinkedinServerside.js\";\r\nexport * from \"./TiktokServerside.js\";\r\nexport * from \"./TwitterBlockServerside.js\";\r\nexport * from \"./VideoBlockServerside.js\";\r\nexport * from \"./YouTubeServerside.js\";\r\nexport * from \"./EmbedContentInlineRenderer.js\";\r\nexport * from \"./EmbedContentSideRenderer.js\";\r\nexport * from \"./EmbedContentSidebarRenderer.js\";\r\nexport * from \"./ServersideTiptapBody.js\";\r\nexport * from \"./useAppendRequiredBlocksMarkerClient.js\";\r\n"],"names":[],"mappings":"AAAA,cAAc,0BAA0B;AACxC,cAAc,4BAA4B;AAC1C,cAAc,2BAA2B;AACzC,cAAc,0BAA0B;AACxC,cAAc,wBAAwB;AACtC,cAAc,8BAA8B;AAC5C,cAAc,4BAA4B;AAC1C,cAAc,yBAAyB;AACvC,cAAc,kCAAkC;AAChD,cAAc,gCAAgC;AAC9C,cAAc,mCAAmC;AACjD,cAAc,4BAA4B;AAC1C,cAAc,2CAA2C"}
1
+ {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/extensions/serverside/index.ts"],"sourcesContent":["export * from './FacebookServerside.js'\r\nexport * from './ImageBlockServerside.js'\r\nexport * from './InstagramServerside.js'\r\nexport * from './LinkedinServerside.js'\r\nexport * from './TiktokServerside.js'\r\nexport * from './TwitterBlockServerside.js'\r\nexport * from './VideoBlockServerside.js'\r\nexport * from './YouTubeServerside.js'\r\nexport * from './EmbedContentInlineRenderer.js'\r\nexport * from './EmbedContentSideRenderer.js'\r\nexport * from './EmbedContentSidebarRenderer.js'\r\nexport * from './ServersideTiptapBody.js'\r\nexport * from './useAppendRequiredBlocksMarkerClient.js'\r\nexport * from './TableServerside.js'\r\nexport * from './IFrameServerside.js'\r\n"],"names":[],"mappings":"AAAA,cAAc,0BAAyB;AACvC,cAAc,4BAA2B;AACzC,cAAc,2BAA0B;AACxC,cAAc,0BAAyB;AACvC,cAAc,wBAAuB;AACrC,cAAc,8BAA6B;AAC3C,cAAc,4BAA2B;AACzC,cAAc,yBAAwB;AACtC,cAAc,kCAAiC;AAC/C,cAAc,gCAA+B;AAC7C,cAAc,mCAAkC;AAChD,cAAc,4BAA2B;AACzC,cAAc,2CAA0C;AACxD,cAAc,uBAAsB;AACpC,cAAc,wBAAuB"}
@@ -1 +1 @@
1
- {"version":3,"file":"BlockEditor.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/features/BlockEditor/BlockEditor.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAIhD,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAMtF,eAAO,MAAM,WAAW,qHASrB,WAAW,GAAG;IACf,kBAAkB,CAAC,EAAE,eAAe,CAAA;IACpC,iBAAiB,CAAC,EAAE,qBAAqB,CAAA;IACzC,iBAAiB,CAAC,EAAE,qBAAqB,CAAA;IACzC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAA;CACpB,gCAyFA,CAAA;AAED,eAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"BlockEditor.d.ts","sourceRoot":"","sources":["../../../../../../src/fields/TiptapEditor/features/BlockEditor/BlockEditor.tsx"],"names":[],"mappings":"AAeA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAIhD,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAMtF,eAAO,MAAM,WAAW,qHASrB,WAAW,GAAG;IACf,kBAAkB,CAAC,EAAE,eAAe,CAAA;IACpC,iBAAiB,CAAC,EAAE,qBAAqB,CAAA;IACzC,iBAAiB,CAAC,EAAE,qBAAqB,CAAA;IACzC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAA;CACpB,gCA2FA,CAAA;AAED,eAAe,WAAW,CAAA"}
@@ -9,6 +9,7 @@ import ImageBlockMenu from '../../extensions/ImageBlock/components/ImageBlockMen
9
9
  import { InsideLinksMenu } from '../../extensions/InsideLinks/menus/index.js';
10
10
  import { ColumnsMenu } from '../../extensions/MultiColumn/menus/ColumnsMenu.js';
11
11
  import { SocialMediaMenu } from '../../extensions/SocialMedia/menus/index.js';
12
+ import { TableColumnMenu, TableRowMenu } from '../../extensions/Table/menus/index.js';
12
13
  import VideoBlockMenu from '../../extensions/VideoBlock/components/VideoBlockMenu.js';
13
14
  import { useBlockEditor } from '../../hooks/useBlockEditor.js';
14
15
  import { ContentItemMenu } from '../menus/ContentItemMenu/ContentItemMenu.js';
@@ -127,6 +128,14 @@ export const BlockEditor = ({ handleChange, content, openAssetHQHandler, additio
127
128
  /*#__PURE__*/ _jsx(VideoBlockMenu, {
128
129
  editor: editor,
129
130
  appendTo: menuContainerRef
131
+ }),
132
+ /*#__PURE__*/ _jsx(TableColumnMenu, {
133
+ editor: editor,
134
+ appendTo: menuContainerRef
135
+ }),
136
+ /*#__PURE__*/ _jsx(TableRowMenu, {
137
+ editor: editor,
138
+ appendTo: menuContainerRef
130
139
  })
131
140
  ]
132
141
  })
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/features/BlockEditor/BlockEditor.tsx"],"sourcesContent":["'use client'\r\nimport { EditorContent } from '@tiptap/react'\r\nimport { useEffect, useMemo, useRef } from 'react'\r\nimport i18n from 'i18next'\r\n\r\nimport { EditorContext } from '../../context/EditorContext.js'\r\nimport { IframeMenu } from '../../extensions/Iframe/menus/index.js'\r\nimport ImageBlockMenu from '../../extensions/ImageBlock/components/ImageBlockMenu.js'\r\nimport { InsideLinksMenu } from '../../extensions/InsideLinks/menus/index.js'\r\nimport { ColumnsMenu } from '../../extensions/MultiColumn/menus/ColumnsMenu.js'\r\nimport { SocialMediaMenu } from '../../extensions/SocialMedia/menus/index.js'\r\n\r\nimport VideoBlockMenu from '../../extensions/VideoBlock/components/VideoBlockMenu.js'\r\nimport { useBlockEditor } from '../../hooks/useBlockEditor.js'\r\nimport { openAssetHQType } from '../../types.js'\r\nimport { ContentItemMenu } from '../menus/ContentItemMenu/ContentItemMenu.js'\r\nimport { TextMenu } from '../menus/TextMenu/TextMenu.js'\r\nimport { LinkMenu } from '../menus/index.js'\r\nimport { AdditionalContextType, FetchSiteMetadataType, TiptapProps } from './types.js'\r\nimport i18next from 'i18next'\r\nimport ILinkPreviewMenu from '../../extensions/LinkPreview/menus/linkPreviewMenu.js'\r\n\r\nconst DEFAULT_LANG = 'en'\r\n\r\nexport const BlockEditor = ({\r\n handleChange,\r\n content,\r\n openAssetHQHandler,\r\n additionalContext,\r\n isEditable = true,\r\n autoFocus = true,\r\n dir,\r\n fetchSiteMetadata,\r\n}: TiptapProps & {\r\n openAssetHQHandler?: openAssetHQType\r\n additionalContext?: AdditionalContextType\r\n fetchSiteMetadata?: FetchSiteMetadataType\r\n autoFocus?: boolean\r\n isEditable?: boolean\r\n dir?: 'ltr' | 'rtl'\r\n}) => {\r\n const menuContainerRef = useRef(null)\r\n const editorRef = useRef<HTMLDivElement>(null)\r\n\r\n const { editor, users, characterCount, leftSidebar } = useBlockEditor({\r\n content: content,\r\n handleChange: handleChange,\r\n openAssetHQHandler: openAssetHQHandler,\r\n additionalContext: additionalContext,\r\n autoFocus,\r\n isEditable,\r\n dir,\r\n })\r\n\r\n const displayedUsers = users.slice(0, 3)\r\n const providerValue = useMemo(() => {\r\n return {}\r\n }, [])\r\n useEffect(() => {\r\n if (!additionalContext) {\r\n i18n.init({\r\n fallbackLng: DEFAULT_LANG,\r\n lng: DEFAULT_LANG,\r\n returnEmptyString: true,\r\n resources: {},\r\n })\r\n return\r\n }\r\n\r\n if (additionalContext.language && additionalContext.translations) {\r\n i18n.init({\r\n fallbackLng: additionalContext.language,\r\n lng: additionalContext.language,\r\n returnEmptyString: true,\r\n resources: {\r\n [additionalContext.language]: {\r\n translation: additionalContext.translations,\r\n },\r\n },\r\n })\r\n return\r\n }\r\n if (additionalContext.language) {\r\n i18n.init({\r\n fallbackLng: additionalContext?.language,\r\n lng: additionalContext?.language,\r\n returnEmptyString: true,\r\n resources: {},\r\n })\r\n }\r\n }, [additionalContext])\r\n const sectionDir = dir || i18next.dir()\r\n return (\r\n editor && (\r\n <EditorContext.Provider value={providerValue}>\r\n <div className='flex h-full overflow-visible' ref={menuContainerRef} dir={sectionDir}>\r\n <div className='relative flex flex-col flex-1 h-full justify-center items-center '>\r\n <EditorContent\r\n dir={sectionDir}\r\n editor={editor}\r\n ref={editorRef}\r\n className='flex-1 overflow-y-visible w-full h-full outline-none outline-offset-0'\r\n style={{\r\n outline: 'none',\r\n }}\r\n />\r\n {isEditable && (\r\n <>\r\n <ContentItemMenu editor={editor} />\r\n <LinkMenu editor={editor} appendTo={menuContainerRef} />\r\n <TextMenu editor={editor} dir={i18next.dir()} />\r\n <ILinkPreviewMenu\r\n editor={editor}\r\n appendTo={menuContainerRef}\r\n fetchSiteMetadata={fetchSiteMetadata}\r\n />\r\n <IframeMenu editor={editor} appendTo={menuContainerRef} />\r\n <SocialMediaMenu editor={editor} appendTo={menuContainerRef} />\r\n <InsideLinksMenu editor={editor} appendTo={menuContainerRef} />\r\n <ColumnsMenu editor={editor} appendTo={menuContainerRef} />\r\n <ImageBlockMenu editor={editor} appendTo={menuContainerRef} />\r\n <VideoBlockMenu editor={editor} appendTo={menuContainerRef} />\r\n </>\r\n )}\r\n </div>\r\n </div>\r\n </EditorContext.Provider>\r\n )\r\n )\r\n}\r\n\r\nexport default BlockEditor\r\n"],"names":["EditorContent","useEffect","useMemo","useRef","i18n","EditorContext","IframeMenu","ImageBlockMenu","InsideLinksMenu","ColumnsMenu","SocialMediaMenu","VideoBlockMenu","useBlockEditor","ContentItemMenu","TextMenu","LinkMenu","i18next","ILinkPreviewMenu","DEFAULT_LANG","BlockEditor","handleChange","content","openAssetHQHandler","additionalContext","isEditable","autoFocus","dir","fetchSiteMetadata","menuContainerRef","editorRef","editor","users","characterCount","leftSidebar","displayedUsers","slice","providerValue","init","fallbackLng","lng","returnEmptyString","resources","language","translations","translation","sectionDir","Provider","value","div","className","ref","style","outline","appendTo"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../../src/fields/TiptapEditor/features/BlockEditor/BlockEditor.tsx"],"sourcesContent":["'use client'\r\nimport { EditorContent } from '@tiptap/react'\r\nimport { useEffect, useMemo, useRef } from 'react'\r\nimport i18n from 'i18next'\r\n\r\nimport { EditorContext } from '../../context/EditorContext.js'\r\nimport { IframeMenu } from '../../extensions/Iframe/menus/index.js'\r\nimport ImageBlockMenu from '../../extensions/ImageBlock/components/ImageBlockMenu.js'\r\nimport { InsideLinksMenu } from '../../extensions/InsideLinks/menus/index.js'\r\nimport { ColumnsMenu } from '../../extensions/MultiColumn/menus/ColumnsMenu.js'\r\nimport { SocialMediaMenu } from '../../extensions/SocialMedia/menus/index.js'\r\nimport { TableColumnMenu, TableRowMenu } from '../../extensions/Table/menus/index.js'\r\n\r\nimport VideoBlockMenu from '../../extensions/VideoBlock/components/VideoBlockMenu.js'\r\nimport { useBlockEditor } from '../../hooks/useBlockEditor.js'\r\nimport { openAssetHQType } from '../../types.js'\r\nimport { ContentItemMenu } from '../menus/ContentItemMenu/ContentItemMenu.js'\r\nimport { TextMenu } from '../menus/TextMenu/TextMenu.js'\r\nimport { LinkMenu } from '../menus/index.js'\r\nimport { AdditionalContextType, FetchSiteMetadataType, TiptapProps } from './types.js'\r\nimport i18next from 'i18next'\r\nimport ILinkPreviewMenu from '../../extensions/LinkPreview/menus/linkPreviewMenu.js'\r\n\r\nconst DEFAULT_LANG = 'en'\r\n\r\nexport const BlockEditor = ({\r\n handleChange,\r\n content,\r\n openAssetHQHandler,\r\n additionalContext,\r\n isEditable = true,\r\n autoFocus = true,\r\n dir,\r\n fetchSiteMetadata,\r\n}: TiptapProps & {\r\n openAssetHQHandler?: openAssetHQType\r\n additionalContext?: AdditionalContextType\r\n fetchSiteMetadata?: FetchSiteMetadataType\r\n autoFocus?: boolean\r\n isEditable?: boolean\r\n dir?: 'ltr' | 'rtl'\r\n}) => {\r\n const menuContainerRef = useRef(null)\r\n const editorRef = useRef<HTMLDivElement>(null)\r\n\r\n const { editor, users, characterCount, leftSidebar } = useBlockEditor({\r\n content: content,\r\n handleChange: handleChange,\r\n openAssetHQHandler: openAssetHQHandler,\r\n additionalContext: additionalContext,\r\n autoFocus,\r\n isEditable,\r\n dir,\r\n })\r\n\r\n const displayedUsers = users.slice(0, 3)\r\n const providerValue = useMemo(() => {\r\n return {}\r\n }, [])\r\n useEffect(() => {\r\n if (!additionalContext) {\r\n i18n.init({\r\n fallbackLng: DEFAULT_LANG,\r\n lng: DEFAULT_LANG,\r\n returnEmptyString: true,\r\n resources: {},\r\n })\r\n return\r\n }\r\n\r\n if (additionalContext.language && additionalContext.translations) {\r\n i18n.init({\r\n fallbackLng: additionalContext.language,\r\n lng: additionalContext.language,\r\n returnEmptyString: true,\r\n resources: {\r\n [additionalContext.language]: {\r\n translation: additionalContext.translations,\r\n },\r\n },\r\n })\r\n return\r\n }\r\n if (additionalContext.language) {\r\n i18n.init({\r\n fallbackLng: additionalContext?.language,\r\n lng: additionalContext?.language,\r\n returnEmptyString: true,\r\n resources: {},\r\n })\r\n }\r\n }, [additionalContext])\r\n const sectionDir = dir || i18next.dir()\r\n return (\r\n editor && (\r\n <EditorContext.Provider value={providerValue}>\r\n <div className=\"flex h-full overflow-visible\" ref={menuContainerRef} dir={sectionDir}>\r\n <div className=\"relative flex flex-col flex-1 h-full justify-center items-center \">\r\n <EditorContent\r\n dir={sectionDir}\r\n editor={editor}\r\n ref={editorRef}\r\n className=\"flex-1 overflow-y-visible w-full h-full outline-none outline-offset-0\"\r\n style={{\r\n outline: 'none',\r\n }}\r\n />\r\n {isEditable && (\r\n <>\r\n <ContentItemMenu editor={editor} />\r\n <LinkMenu editor={editor} appendTo={menuContainerRef} />\r\n <TextMenu editor={editor} dir={i18next.dir()} />\r\n <ILinkPreviewMenu\r\n editor={editor}\r\n appendTo={menuContainerRef}\r\n fetchSiteMetadata={fetchSiteMetadata}\r\n />\r\n <IframeMenu editor={editor} appendTo={menuContainerRef} />\r\n <SocialMediaMenu editor={editor} appendTo={menuContainerRef} />\r\n <InsideLinksMenu editor={editor} appendTo={menuContainerRef} />\r\n <ColumnsMenu editor={editor} appendTo={menuContainerRef} />\r\n <ImageBlockMenu editor={editor} appendTo={menuContainerRef} />\r\n <VideoBlockMenu editor={editor} appendTo={menuContainerRef} />\r\n <TableColumnMenu editor={editor} appendTo={menuContainerRef} />\r\n <TableRowMenu editor={editor} appendTo={menuContainerRef} />\r\n </>\r\n )}\r\n </div>\r\n </div>\r\n </EditorContext.Provider>\r\n )\r\n )\r\n}\r\n\r\nexport default BlockEditor\r\n"],"names":["EditorContent","useEffect","useMemo","useRef","i18n","EditorContext","IframeMenu","ImageBlockMenu","InsideLinksMenu","ColumnsMenu","SocialMediaMenu","TableColumnMenu","TableRowMenu","VideoBlockMenu","useBlockEditor","ContentItemMenu","TextMenu","LinkMenu","i18next","ILinkPreviewMenu","DEFAULT_LANG","BlockEditor","handleChange","content","openAssetHQHandler","additionalContext","isEditable","autoFocus","dir","fetchSiteMetadata","menuContainerRef","editorRef","editor","users","characterCount","leftSidebar","displayedUsers","slice","providerValue","init","fallbackLng","lng","returnEmptyString","resources","language","translations","translation","sectionDir","Provider","value","div","className","ref","style","outline","appendTo"],"mappings":"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"}
@@ -1,10 +1,10 @@
1
- import React from "react";
1
+ import React from 'react';
2
2
  export type IframeLinkEditorPanelProps = {
3
3
  initialSrc?: string;
4
4
  initialOpenInNewTab?: boolean;
5
5
  onSetLink: (src: string) => void;
6
6
  };
7
- export declare const useLinkEditorState: ({ initialSrc, onSetLink, }: IframeLinkEditorPanelProps) => {
7
+ export declare const useLinkEditorState: ({ initialSrc, onSetLink }: IframeLinkEditorPanelProps) => {
8
8
  url: string;
9
9
  setUrl: React.Dispatch<React.SetStateAction<string>>;
10
10
  onChange: (event: React.ChangeEvent<HTMLTextAreaElement>) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"IframeLinkEditorPanel.d.ts","sourceRoot":"","sources":["../../../../../../../src/fields/TiptapEditor/features/panels/IframeLinkEditorPanel/IframeLinkEditorPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAOrD,MAAM,MAAM,0BAA0B,GAAG;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,kBAAkB,+BAG5B,0BAA0B;;;sBAIjB,KAAK,CAAC,WAAW,CAAC,mBAAmB,CAAC;sBAS1C,KAAK,CAAC,SAAS;CAetB,CAAC;AAEF,eAAO,MAAM,qBAAqB,oDAI/B,0BAA0B,sBAiC5B,CAAC"}
1
+ {"version":3,"file":"IframeLinkEditorPanel.d.ts","sourceRoot":"","sources":["../../../../../../../src/fields/TiptapEditor/features/panels/IframeLinkEditorPanel/IframeLinkEditorPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAA;AAOpD,MAAM,MAAM,0BAA0B,GAAG;IACvC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,kBAAkB,8BAA+B,0BAA0B;;;sBAGjD,KAAK,CAAC,WAAW,CAAC,mBAAmB,CAAC;sBAKrE,KAAK,CAAC,SAAS;CAatB,CAAA;AAED,eAAO,MAAM,qBAAqB,oDAI/B,0BAA0B,sBAwC5B,CAAA"}
@@ -1,21 +1,18 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import React, { useCallback, useState } from "react";
3
- import { Link } from "lucide-react";
4
- import { Button } from "../../ui/Button/Button.js";
5
- import { Icon } from "../../ui/Icon.js";
6
- import { Surface } from "../../ui/Surface.js";
7
- import i18next from "i18next";
2
+ import React, { useCallback, useState } from 'react';
3
+ import { Code } from 'lucide-react';
4
+ import { Button } from '../../ui/Button/Button.js';
5
+ import { Icon } from '../../ui/Icon.js';
6
+ import { Surface } from '../../ui/Surface.js';
7
+ import i18next from 'i18next';
8
8
  export const useLinkEditorState = ({ initialSrc, onSetLink })=>{
9
- const [url, setUrl] = useState(initialSrc || "");
9
+ const [url, setUrl] = useState(initialSrc || '');
10
10
  const onChange = useCallback((event)=>{
11
11
  setUrl(event.target.value);
12
12
  }, []);
13
- // const isValidUrl = useMemo(() => /^(\S+):(\/\/)?\S+$/.test(url), [url]);
14
13
  const handleSubmit = useCallback((e)=>{
15
14
  e.preventDefault();
16
- // if (isValidUrl) {
17
15
  onSetLink(url);
18
- // }
19
16
  }, [
20
17
  url,
21
18
  onSetLink
@@ -34,20 +31,24 @@ export const IframeLinkEditorPanel = ({ onSetLink, initialOpenInNewTab, initialS
34
31
  initialSrc
35
32
  });
36
33
  return /*#__PURE__*/ _jsx(Surface, {
37
- className: "p-2",
34
+ className: "p-3 max-w-md",
38
35
  children: /*#__PURE__*/ _jsxs("div", {
39
- className: "flex items-center gap-2",
36
+ className: "flex flex-col gap-2",
40
37
  children: [
38
+ /*#__PURE__*/ _jsx("p", {
39
+ className: "text-xs text-neutral-500 dark:text-neutral-400",
40
+ children: i18next.t('embedHint') || 'Paste iframe embed code or URL from Flourish, Datawrapper, or other visualization tools'
41
+ }),
41
42
  /*#__PURE__*/ _jsxs("label", {
42
- className: "flex items-center gap-2 p-2 rounded-lg bg-neutral-100 dark:bg-neutral-900 cursor-text",
43
+ className: "flex items-start gap-2 p-2 rounded-lg bg-neutral-100 dark:bg-neutral-900 cursor-text",
43
44
  children: [
44
45
  /*#__PURE__*/ _jsx(Icon, {
45
- icon: Link,
46
- className: "flex-none text-black dark:text-white"
46
+ icon: Code,
47
+ className: "flex-none text-black dark:text-white mt-1"
47
48
  }),
48
49
  /*#__PURE__*/ _jsx("textarea", {
49
- className: "flex-1 bg-transparent outline-none min-w-[12rem] text-black text-sm dark:text-white",
50
- placeholder: i18next.t("enterEmbedCode") || "Enter Embed Code",
50
+ className: "flex-1 bg-transparent outline-none min-w-[16rem] min-h-[80px] text-black text-sm dark:text-white resize-y",
51
+ placeholder: i18next.t('enterEmbedCode') || 'Enter embed code or iframe URL (e.g., <iframe src="..."></iframe>)',
51
52
  value: state.url,
52
53
  onChange: state.onChange
53
54
  })
@@ -57,10 +58,11 @@ export const IframeLinkEditorPanel = ({ onSetLink, initialOpenInNewTab, initialS
57
58
  variant: "primary",
58
59
  buttonSize: "small",
59
60
  type: "button",
61
+ className: "self-end",
60
62
  onClick: (e)=>{
61
63
  state.handleSubmit(e);
62
64
  },
63
- children: "Set Link"
65
+ children: i18next.t('embed') || 'Embed'
64
66
  })
65
67
  ]
66
68
  })
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/panels/IframeLinkEditorPanel/IframeLinkEditorPanel.tsx"],"sourcesContent":["import React, { useCallback, useState } from \"react\";\r\nimport { Link } from \"lucide-react\";\r\nimport { Button } from \"../../ui/Button/Button.js\";\r\nimport { Icon } from \"../../ui/Icon.js\";\r\nimport { Surface } from \"../../ui/Surface.js\";\r\nimport i18next from \"i18next\";\r\n\r\nexport type IframeLinkEditorPanelProps = {\r\n initialSrc?: string;\r\n initialOpenInNewTab?: boolean;\r\n onSetLink: (src: string) => void;\r\n};\r\n\r\nexport const useLinkEditorState = ({\r\n initialSrc,\r\n onSetLink,\r\n}: IframeLinkEditorPanelProps) => {\r\n const [url, setUrl] = useState(initialSrc || \"\");\r\n\r\n const onChange = useCallback(\r\n (event: React.ChangeEvent<HTMLTextAreaElement>) => {\r\n setUrl(event.target.value);\r\n },\r\n []\r\n );\r\n\r\n // const isValidUrl = useMemo(() => /^(\\S+):(\\/\\/)?\\S+$/.test(url), [url]);\r\n\r\n const handleSubmit = useCallback(\r\n (e: React.FormEvent) => {\r\n e.preventDefault();\r\n // if (isValidUrl) {\r\n onSetLink(url);\r\n // }\r\n },\r\n [url, onSetLink]\r\n );\r\n\r\n return {\r\n url,\r\n setUrl,\r\n onChange,\r\n handleSubmit,\r\n };\r\n};\r\n\r\nexport const IframeLinkEditorPanel = ({\r\n onSetLink,\r\n initialOpenInNewTab,\r\n initialSrc,\r\n}: IframeLinkEditorPanelProps) => {\r\n const state = useLinkEditorState({\r\n onSetLink,\r\n initialOpenInNewTab,\r\n initialSrc,\r\n });\r\n\r\n return (\r\n <Surface className=\"p-2\">\r\n <div className=\"flex items-center gap-2\">\r\n <label className=\"flex items-center gap-2 p-2 rounded-lg bg-neutral-100 dark:bg-neutral-900 cursor-text\">\r\n <Icon icon={Link} className=\"flex-none text-black dark:text-white\" />\r\n <textarea\r\n className=\"flex-1 bg-transparent outline-none min-w-[12rem] text-black text-sm dark:text-white\"\r\n placeholder={i18next.t(\"enterEmbedCode\") || \"Enter Embed Code\"}\r\n value={state.url}\r\n onChange={state.onChange}\r\n />\r\n </label>\r\n <Button\r\n variant=\"primary\"\r\n buttonSize=\"small\"\r\n type=\"button\"\r\n onClick={(e) => {\r\n state.handleSubmit(e);\r\n }}\r\n // disabled={!state.isValidUrl}\r\n >\r\n Set Link\r\n </Button>\r\n </div>\r\n </Surface>\r\n );\r\n};\r\n"],"names":["React","useCallback","useState","Link","Button","Icon","Surface","i18next","useLinkEditorState","initialSrc","onSetLink","url","setUrl","onChange","event","target","value","handleSubmit","e","preventDefault","IframeLinkEditorPanel","initialOpenInNewTab","state","className","div","label","icon","textarea","placeholder","t","variant","buttonSize","type","onClick"],"mappings":";AAAA,OAAOA,SAASC,WAAW,EAAEC,QAAQ,QAAQ,QAAQ;AACrD,SAASC,IAAI,QAAQ,eAAe;AACpC,SAASC,MAAM,QAAQ,4BAA4B;AACnD,SAASC,IAAI,QAAQ,mBAAmB;AACxC,SAASC,OAAO,QAAQ,sBAAsB;AAC9C,OAAOC,aAAa,UAAU;AAQ9B,OAAO,MAAMC,qBAAqB,CAAC,EACjCC,UAAU,EACVC,SAAS,EACkB;IAC3B,MAAM,CAACC,KAAKC,OAAO,GAAGV,SAASO,cAAc;IAE7C,MAAMI,WAAWZ,YACf,CAACa;QACCF,OAAOE,MAAMC,MAAM,CAACC,KAAK;IAC3B,GACA,EAAE;IAGJ,2EAA2E;IAE3E,MAAMC,eAAehB,YACnB,CAACiB;QACCA,EAAEC,cAAc;QAChB,oBAAoB;QACpBT,UAAUC;IACV,IAAI;IACN,GACA;QAACA;QAAKD;KAAU;IAGlB,OAAO;QACLC;QACAC;QACAC;QACAI;IACF;AACF,EAAE;AAEF,OAAO,MAAMG,wBAAwB,CAAC,EACpCV,SAAS,EACTW,mBAAmB,EACnBZ,UAAU,EACiB;IAC3B,MAAMa,QAAQd,mBAAmB;QAC/BE;QACAW;QACAZ;IACF;IAEA,qBACE,KAACH;QAAQiB,WAAU;kBACjB,cAAA,MAACC;YAAID,WAAU;;8BACb,MAACE;oBAAMF,WAAU;;sCACf,KAAClB;4BAAKqB,MAAMvB;4BAAMoB,WAAU;;sCAC5B,KAACI;4BACCJ,WAAU;4BACVK,aAAarB,QAAQsB,CAAC,CAAC,qBAAqB;4BAC5Cb,OAAOM,MAAMX,GAAG;4BAChBE,UAAUS,MAAMT,QAAQ;;;;8BAG5B,KAACT;oBACC0B,SAAQ;oBACRC,YAAW;oBACXC,MAAK;oBACLC,SAAS,CAACf;wBACRI,MAAML,YAAY,CAACC;oBACrB;8BAED;;;;;AAMT,EAAE"}
1
+ {"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/panels/IframeLinkEditorPanel/IframeLinkEditorPanel.tsx"],"sourcesContent":["import React, { useCallback, useState } from 'react'\r\nimport { Code } from 'lucide-react'\r\nimport { Button } from '../../ui/Button/Button.js'\r\nimport { Icon } from '../../ui/Icon.js'\r\nimport { Surface } from '../../ui/Surface.js'\r\nimport i18next from 'i18next'\r\n\r\nexport type IframeLinkEditorPanelProps = {\r\n initialSrc?: string\r\n initialOpenInNewTab?: boolean\r\n onSetLink: (src: string) => void\r\n}\r\n\r\nexport const useLinkEditorState = ({ initialSrc, onSetLink }: IframeLinkEditorPanelProps) => {\r\n const [url, setUrl] = useState(initialSrc || '')\r\n\r\n const onChange = useCallback((event: React.ChangeEvent<HTMLTextAreaElement>) => {\r\n setUrl(event.target.value)\r\n }, [])\r\n\r\n const handleSubmit = useCallback(\r\n (e: React.FormEvent) => {\r\n e.preventDefault()\r\n onSetLink(url)\r\n },\r\n [url, onSetLink],\r\n )\r\n\r\n return {\r\n url,\r\n setUrl,\r\n onChange,\r\n handleSubmit,\r\n }\r\n}\r\n\r\nexport const IframeLinkEditorPanel = ({\r\n onSetLink,\r\n initialOpenInNewTab,\r\n initialSrc,\r\n}: IframeLinkEditorPanelProps) => {\r\n const state = useLinkEditorState({\r\n onSetLink,\r\n initialOpenInNewTab,\r\n initialSrc,\r\n })\r\n\r\n return (\r\n <Surface className=\"p-3 max-w-md\">\r\n <div className=\"flex flex-col gap-2\">\r\n <p className=\"text-xs text-neutral-500 dark:text-neutral-400\">\r\n {i18next.t('embedHint') ||\r\n 'Paste iframe embed code or URL from Flourish, Datawrapper, or other visualization tools'}\r\n </p>\r\n <label className=\"flex items-start gap-2 p-2 rounded-lg bg-neutral-100 dark:bg-neutral-900 cursor-text\">\r\n <Icon icon={Code} className=\"flex-none text-black dark:text-white mt-1\" />\r\n <textarea\r\n className=\"flex-1 bg-transparent outline-none min-w-[16rem] min-h-[80px] text-black text-sm dark:text-white resize-y\"\r\n placeholder={\r\n i18next.t('enterEmbedCode') ||\r\n 'Enter embed code or iframe URL (e.g., <iframe src=\"...\"></iframe>)'\r\n }\r\n value={state.url}\r\n onChange={state.onChange}\r\n />\r\n </label>\r\n <Button\r\n variant=\"primary\"\r\n buttonSize=\"small\"\r\n type=\"button\"\r\n className=\"self-end\"\r\n onClick={(e) => {\r\n state.handleSubmit(e)\r\n }}\r\n >\r\n {i18next.t('embed') || 'Embed'}\r\n </Button>\r\n </div>\r\n </Surface>\r\n )\r\n}\r\n"],"names":["React","useCallback","useState","Code","Button","Icon","Surface","i18next","useLinkEditorState","initialSrc","onSetLink","url","setUrl","onChange","event","target","value","handleSubmit","e","preventDefault","IframeLinkEditorPanel","initialOpenInNewTab","state","className","div","p","t","label","icon","textarea","placeholder","variant","buttonSize","type","onClick"],"mappings":";AAAA,OAAOA,SAASC,WAAW,EAAEC,QAAQ,QAAQ,QAAO;AACpD,SAASC,IAAI,QAAQ,eAAc;AACnC,SAASC,MAAM,QAAQ,4BAA2B;AAClD,SAASC,IAAI,QAAQ,mBAAkB;AACvC,SAASC,OAAO,QAAQ,sBAAqB;AAC7C,OAAOC,aAAa,UAAS;AAQ7B,OAAO,MAAMC,qBAAqB,CAAC,EAAEC,UAAU,EAAEC,SAAS,EAA8B;IACtF,MAAM,CAACC,KAAKC,OAAO,GAAGV,SAASO,cAAc;IAE7C,MAAMI,WAAWZ,YAAY,CAACa;QAC5BF,OAAOE,MAAMC,MAAM,CAACC,KAAK;IAC3B,GAAG,EAAE;IAEL,MAAMC,eAAehB,YACnB,CAACiB;QACCA,EAAEC,cAAc;QAChBT,UAAUC;IACZ,GACA;QAACA;QAAKD;KAAU;IAGlB,OAAO;QACLC;QACAC;QACAC;QACAI;IACF;AACF,EAAC;AAED,OAAO,MAAMG,wBAAwB,CAAC,EACpCV,SAAS,EACTW,mBAAmB,EACnBZ,UAAU,EACiB;IAC3B,MAAMa,QAAQd,mBAAmB;QAC/BE;QACAW;QACAZ;IACF;IAEA,qBACE,KAACH;QAAQiB,WAAU;kBACjB,cAAA,MAACC;YAAID,WAAU;;8BACb,KAACE;oBAAEF,WAAU;8BACVhB,QAAQmB,CAAC,CAAC,gBACT;;8BAEJ,MAACC;oBAAMJ,WAAU;;sCACf,KAAClB;4BAAKuB,MAAMzB;4BAAMoB,WAAU;;sCAC5B,KAACM;4BACCN,WAAU;4BACVO,aACEvB,QAAQmB,CAAC,CAAC,qBACV;4BAEFV,OAAOM,MAAMX,GAAG;4BAChBE,UAAUS,MAAMT,QAAQ;;;;8BAG5B,KAACT;oBACC2B,SAAQ;oBACRC,YAAW;oBACXC,MAAK;oBACLV,WAAU;oBACVW,SAAS,CAAChB;wBACRI,MAAML,YAAY,CAACC;oBACrB;8BAECX,QAAQmB,CAAC,CAAC,YAAY;;;;;AAKjC,EAAC"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { SlashCommandTriggerButtonProps } from './types.js';
3
+ export declare const SlashCommandTriggerButton: ({ editor, config }: SlashCommandTriggerButtonProps) => React.JSX.Element;
4
+ //# sourceMappingURL=SlashCommandTriggerButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlashCommandTriggerButton.d.ts","sourceRoot":"","sources":["../../../../../../../src/fields/TiptapEditor/features/ui/SlashCommand/SlashCommandTriggerButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,8BAA8B,EAAE,MAAM,YAAY,CAAA;AAK3D,eAAO,MAAM,yBAAyB,uBAAwB,8BAA8B,sBAqB3F,CAAA"}
@@ -0,0 +1,32 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { Button } from '../Button/Button.jsx';
4
+ import { Icon } from '../Icon.js';
5
+ import { Plus } from 'lucide-react';
6
+ export const SlashCommandTriggerButton = ({ editor, config })=>{
7
+ if (!editor) {
8
+ return null;
9
+ }
10
+ const handleClick = ()=>{
11
+ // Insert a slash command trigger
12
+ editor.chain().focus().insertContent('/').run();
13
+ };
14
+ return /*#__PURE__*/ _jsxs(Button, {
15
+ variant: "ghost",
16
+ buttonSize: "small",
17
+ onClick: handleClick,
18
+ className: "flex items-center gap-2 text-neutral-500 hover:text-black",
19
+ children: [
20
+ /*#__PURE__*/ _jsx(Icon, {
21
+ icon: Plus,
22
+ className: "w-4 h-4"
23
+ }),
24
+ /*#__PURE__*/ _jsx("span", {
25
+ className: "text-sm font-medium",
26
+ children: "Insert"
27
+ })
28
+ ]
29
+ });
30
+ };
31
+
32
+ //# sourceMappingURL=SlashCommandTriggerButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/ui/SlashCommand/SlashCommandTriggerButton.tsx"],"sourcesContent":["import React from 'react'\r\nimport { Editor } from '@tiptap/core'\r\nimport { SlashCommandTriggerButtonProps } from './types.js'\r\nimport { Button } from '../Button/Button.jsx'\r\nimport { Icon } from '../Icon.js'\r\nimport { Plus } from 'lucide-react'\r\n\r\nexport const SlashCommandTriggerButton = ({ editor, config }: SlashCommandTriggerButtonProps) => {\r\n if (!editor) {\r\n return null\r\n }\r\n\r\n const handleClick = () => {\r\n // Insert a slash command trigger\r\n editor.chain().focus().insertContent('/').run()\r\n }\r\n\r\n return (\r\n <Button\r\n variant=\"ghost\"\r\n buttonSize=\"small\"\r\n onClick={handleClick}\r\n className=\"flex items-center gap-2 text-neutral-500 hover:text-black\"\r\n >\r\n <Icon icon={Plus} className=\"w-4 h-4\" />\r\n <span className=\"text-sm font-medium\">Insert</span>\r\n </Button>\r\n )\r\n}\r\n"],"names":["React","Button","Icon","Plus","SlashCommandTriggerButton","editor","config","handleClick","chain","focus","insertContent","run","variant","buttonSize","onClick","className","icon","span"],"mappings":";AAAA,OAAOA,WAAW,QAAO;AAGzB,SAASC,MAAM,QAAQ,uBAAsB;AAC7C,SAASC,IAAI,QAAQ,aAAY;AACjC,SAASC,IAAI,QAAQ,eAAc;AAEnC,OAAO,MAAMC,4BAA4B,CAAC,EAAEC,MAAM,EAAEC,MAAM,EAAkC;IAC1F,IAAI,CAACD,QAAQ;QACX,OAAO;IACT;IAEA,MAAME,cAAc;QAClB,iCAAiC;QACjCF,OAAOG,KAAK,GAAGC,KAAK,GAAGC,aAAa,CAAC,KAAKC,GAAG;IAC/C;IAEA,qBACE,MAACV;QACCW,SAAQ;QACRC,YAAW;QACXC,SAASP;QACTQ,WAAU;;0BAEV,KAACb;gBAAKc,MAAMb;gBAAMY,WAAU;;0BAC5B,KAACE;gBAAKF,WAAU;0BAAsB;;;;AAG5C,EAAC"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { SlashDropdownMenuProps } from './types.js';
3
+ export declare const SlashDropdownMenu: ({ editor, config }: SlashDropdownMenuProps) => React.JSX.Element;
4
+ //# sourceMappingURL=SlashDropdownMenu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlashDropdownMenu.d.ts","sourceRoot":"","sources":["../../../../../../../src/fields/TiptapEditor/features/ui/SlashCommand/SlashDropdownMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,sBAAsB,EAAmC,MAAM,YAAY,CAAA;AA+CpF,eAAO,MAAM,iBAAiB,uBAAwC,sBAAsB,sBAwB3F,CAAA"}
@@ -0,0 +1,70 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { SuggestionMenu } from './SuggestionMenu.js';
4
+ import { SlashMenuList } from './SlashMenuList.js';
5
+ import { getSlashMenuItems, filterSuggestionItems } from './utils.js';
6
+ const defaultConfig = {
7
+ enabledItems: [
8
+ 'text',
9
+ 'heading_1',
10
+ 'heading_2',
11
+ 'heading_3',
12
+ 'bullet_list',
13
+ 'ordered_list',
14
+ 'quote',
15
+ 'code_block',
16
+ 'image',
17
+ 'horizontal_rule',
18
+ 'button',
19
+ 'custom_html',
20
+ 'social',
21
+ 'columns',
22
+ 'unsubscribe_footer',
23
+ 'twitter'
24
+ ],
25
+ showGroups: true,
26
+ itemGroups: {
27
+ text: 'Style',
28
+ heading_1: 'Style',
29
+ heading_2: 'Style',
30
+ heading_3: 'Style',
31
+ bullet_list: 'Lists',
32
+ ordered_list: 'Lists',
33
+ quote: 'Style',
34
+ code_block: 'Style',
35
+ image: 'Content',
36
+ horizontal_rule: 'Content',
37
+ button: 'Content',
38
+ custom_html: 'Content',
39
+ social: 'Content',
40
+ columns: 'Layout',
41
+ unsubscribe_footer: 'Content',
42
+ twitter: 'Content'
43
+ }
44
+ };
45
+ export const SlashDropdownMenu = ({ editor, config = defaultConfig })=>{
46
+ if (!editor) {
47
+ return null;
48
+ }
49
+ const mergedConfig = {
50
+ ...defaultConfig,
51
+ ...config
52
+ };
53
+ const getItems = ({ query, editor })=>{
54
+ const allItems = getSlashMenuItems(editor, mergedConfig);
55
+ return filterSuggestionItems(allItems, query);
56
+ };
57
+ return /*#__PURE__*/ _jsx(SuggestionMenu, {
58
+ editor: editor,
59
+ char: "/",
60
+ items: getItems,
61
+ children: (props)=>/*#__PURE__*/ _jsx(SlashMenuList, {
62
+ ref: props.ref,
63
+ items: props.items,
64
+ command: props.command,
65
+ showGroups: mergedConfig.showGroups
66
+ })
67
+ });
68
+ };
69
+
70
+ //# sourceMappingURL=SlashDropdownMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../src/fields/TiptapEditor/features/ui/SlashCommand/SlashDropdownMenu.tsx"],"sourcesContent":["import React from 'react'\r\nimport { Editor } from '@tiptap/core'\r\nimport { SlashDropdownMenuProps, SlashMenuConfig, SuggestionItem } from './types.js'\r\nimport { SuggestionMenu } from './SuggestionMenu.js'\r\nimport { SlashMenuList } from './SlashMenuList.js'\r\nimport { getSlashMenuItems, filterSuggestionItems } from './utils.js'\r\n\r\nconst defaultConfig: SlashMenuConfig = {\r\n enabledItems: [\r\n 'text',\r\n 'heading_1',\r\n 'heading_2',\r\n 'heading_3',\r\n 'bullet_list',\r\n 'ordered_list',\r\n 'quote',\r\n 'code_block',\r\n 'image',\r\n 'horizontal_rule',\r\n 'button',\r\n 'custom_html',\r\n 'social',\r\n 'columns',\r\n 'unsubscribe_footer',\r\n 'twitter',\r\n // 'ai_writer',\r\n ],\r\n showGroups: true,\r\n itemGroups: {\r\n text: 'Style',\r\n heading_1: 'Style',\r\n heading_2: 'Style',\r\n heading_3: 'Style',\r\n bullet_list: 'Lists',\r\n ordered_list: 'Lists',\r\n quote: 'Style',\r\n code_block: 'Style',\r\n image: 'Content',\r\n horizontal_rule: 'Content',\r\n button: 'Content',\r\n custom_html: 'Content',\r\n social: 'Content',\r\n columns: 'Layout',\r\n unsubscribe_footer: 'Content',\r\n twitter: 'Content',\r\n // ai_writer: 'AI',\r\n },\r\n}\r\n\r\nexport const SlashDropdownMenu = ({ editor, config = defaultConfig }: SlashDropdownMenuProps) => {\r\n if (!editor) {\r\n return null\r\n }\r\n\r\n const mergedConfig = { ...defaultConfig, ...config }\r\n\r\n const getItems = ({ query, editor }: { query: string; editor: Editor }) => {\r\n const allItems = getSlashMenuItems(editor, mergedConfig)\r\n return filterSuggestionItems(allItems, query)\r\n }\r\n\r\n return (\r\n <SuggestionMenu editor={editor} char=\"/\" items={getItems}>\r\n {(props: any) => (\r\n <SlashMenuList\r\n ref={props.ref}\r\n items={props.items}\r\n command={props.command}\r\n showGroups={mergedConfig.showGroups}\r\n />\r\n )}\r\n </SuggestionMenu>\r\n )\r\n}\r\n"],"names":["React","SuggestionMenu","SlashMenuList","getSlashMenuItems","filterSuggestionItems","defaultConfig","enabledItems","showGroups","itemGroups","text","heading_1","heading_2","heading_3","bullet_list","ordered_list","quote","code_block","image","horizontal_rule","button","custom_html","social","columns","unsubscribe_footer","twitter","SlashDropdownMenu","editor","config","mergedConfig","getItems","query","allItems","char","items","props","ref","command"],"mappings":";AAAA,OAAOA,WAAW,QAAO;AAGzB,SAASC,cAAc,QAAQ,sBAAqB;AACpD,SAASC,aAAa,QAAQ,qBAAoB;AAClD,SAASC,iBAAiB,EAAEC,qBAAqB,QAAQ,aAAY;AAErE,MAAMC,gBAAiC;IACrCC,cAAc;QACZ;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KAED;IACDC,YAAY;IACZC,YAAY;QACVC,MAAM;QACNC,WAAW;QACXC,WAAW;QACXC,WAAW;QACXC,aAAa;QACbC,cAAc;QACdC,OAAO;QACPC,YAAY;QACZC,OAAO;QACPC,iBAAiB;QACjBC,QAAQ;QACRC,aAAa;QACbC,QAAQ;QACRC,SAAS;QACTC,oBAAoB;QACpBC,SAAS;IAEX;AACF;AAEA,OAAO,MAAMC,oBAAoB,CAAC,EAAEC,MAAM,EAAEC,SAAStB,aAAa,EAA0B;IAC1F,IAAI,CAACqB,QAAQ;QACX,OAAO;IACT;IAEA,MAAME,eAAe;QAAE,GAAGvB,aAAa;QAAE,GAAGsB,MAAM;IAAC;IAEnD,MAAME,WAAW,CAAC,EAAEC,KAAK,EAAEJ,MAAM,EAAqC;QACpE,MAAMK,WAAW5B,kBAAkBuB,QAAQE;QAC3C,OAAOxB,sBAAsB2B,UAAUD;IACzC;IAEA,qBACE,KAAC7B;QAAeyB,QAAQA;QAAQM,MAAK;QAAIC,OAAOJ;kBAC7C,CAACK,sBACA,KAAChC;gBACCiC,KAAKD,MAAMC,GAAG;gBACdF,OAAOC,MAAMD,KAAK;gBAClBG,SAASF,MAAME,OAAO;gBACtB7B,YAAYqB,aAAarB,UAAU;;;AAK7C,EAAC"}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { SuggestionItem } from './types.js';
3
+ interface SlashMenuListProps {
4
+ items: SuggestionItem[];
5
+ command: (item: SuggestionItem) => void;
6
+ showGroups?: boolean;
7
+ }
8
+ export declare const SlashMenuList: React.ForwardRefExoticComponent<SlashMenuListProps & React.RefAttributes<any>>;
9
+ export {};
10
+ //# sourceMappingURL=SlashMenuList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlashMenuList.d.ts","sourceRoot":"","sources":["../../../../../../../src/fields/TiptapEditor/features/ui/SlashCommand/SlashMenuList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAA;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAK3C,UAAU,kBAAkB;IAC1B,KAAK,EAAE,cAAc,EAAE,CAAA;IACvB,OAAO,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAA;IACvC,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,eAAO,MAAM,aAAa,gFAoPzB,CAAA"}