markdown-flow-ui 0.2.13 → 0.2.15
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.
- package/README.md +7 -0
- package/dist/_virtual/index.es3.js +5 -4
- package/dist/_virtual/index.es3.js.map +1 -1
- package/dist/_virtual/index.es4.js +4 -5
- package/dist/_virtual/index.es4.js.map +1 -1
- package/dist/_virtual/index3.cjs +1 -1
- package/dist/_virtual/index4.cjs +1 -1
- package/dist/assets/markdown-flow-ui.css +10 -1
- package/dist/components/ContentRender/CodeBlock.cjs +1 -1
- package/dist/components/ContentRender/CodeBlock.cjs.map +1 -1
- package/dist/components/ContentRender/CodeBlock.d.ts +5 -0
- package/dist/components/ContentRender/CodeBlock.es.js +41 -38
- package/dist/components/ContentRender/CodeBlock.es.js.map +1 -1
- package/dist/components/ContentRender/ContentRender.cjs +2 -2
- package/dist/components/ContentRender/ContentRender.cjs.map +1 -1
- package/dist/components/ContentRender/ContentRender.d.ts +9 -4
- package/dist/components/ContentRender/ContentRender.es.js +389 -298
- package/dist/components/ContentRender/ContentRender.es.js.map +1 -1
- package/dist/components/ContentRender/IframeSandbox.cjs +7 -7
- package/dist/components/ContentRender/IframeSandbox.cjs.map +1 -1
- package/dist/components/ContentRender/IframeSandbox.d.ts +5 -1
- package/dist/components/ContentRender/IframeSandbox.es.js +311 -266
- package/dist/components/ContentRender/IframeSandbox.es.js.map +1 -1
- package/dist/components/ContentRender/MarkdownFlowInput.cjs +1 -1
- package/dist/components/ContentRender/MarkdownFlowInput.cjs.map +1 -1
- package/dist/components/ContentRender/MarkdownFlowInput.d.ts +5 -1
- package/dist/components/ContentRender/MarkdownFlowInput.es.js +37 -32
- package/dist/components/ContentRender/MarkdownFlowInput.es.js.map +1 -1
- package/dist/components/ContentRender/SandboxApp.cjs +2 -2
- package/dist/components/ContentRender/SandboxApp.cjs.map +1 -1
- package/dist/components/ContentRender/SandboxApp.d.ts +5 -1
- package/dist/components/ContentRender/SandboxApp.es.js +108 -103
- package/dist/components/ContentRender/SandboxApp.es.js.map +1 -1
- package/dist/components/ContentRender/blackboard-vendor.d.ts +1 -1
- package/dist/components/ContentRender/contentRenderI18n.cjs +1 -1
- package/dist/components/ContentRender/contentRenderI18n.cjs.map +1 -1
- package/dist/components/ContentRender/contentRenderI18n.d.ts +6 -1
- package/dist/components/ContentRender/contentRenderI18n.es.js +5 -56
- package/dist/components/ContentRender/contentRenderI18n.es.js.map +1 -1
- package/dist/components/ContentRender/contentRenderI18n.test.d.ts +1 -0
- package/dist/components/ContentRender/index.cjs +1 -1
- package/dist/components/ContentRender/index.d.ts +11 -11
- package/dist/components/ContentRender/index.es.js +1 -2
- package/dist/components/ContentRender/index.es.js.map +1 -1
- package/dist/components/ContentRender/locales/contentRender.json.cjs +2 -0
- package/dist/components/ContentRender/locales/contentRender.json.cjs.map +1 -0
- package/dist/components/ContentRender/locales/contentRender.json.d.ts +90 -0
- package/dist/components/ContentRender/locales/contentRender.json.es.js +11 -0
- package/dist/components/ContentRender/locales/contentRender.json.es.js.map +1 -0
- package/dist/components/ContentRender/plugins/CustomVariable.cjs +1 -1
- package/dist/components/ContentRender/plugins/CustomVariable.cjs.map +1 -1
- package/dist/components/ContentRender/plugins/CustomVariable.d.ts +7 -3
- package/dist/components/ContentRender/plugins/CustomVariable.es.js +165 -151
- package/dist/components/ContentRender/plugins/CustomVariable.es.js.map +1 -1
- package/dist/components/ContentRender/plugins/MermaidChart.cjs +1 -1
- package/dist/components/ContentRender/plugins/MermaidChart.cjs.map +1 -1
- package/dist/components/ContentRender/plugins/MermaidChart.d.ts +1 -0
- package/dist/components/ContentRender/plugins/MermaidChart.es.js +68 -44
- package/dist/components/ContentRender/plugins/MermaidChart.es.js.map +1 -1
- package/dist/components/MarkdownFlow/MarkdownFlow.cjs +1 -1
- package/dist/components/MarkdownFlow/MarkdownFlow.cjs.map +1 -1
- package/dist/components/MarkdownFlow/MarkdownFlow.d.ts +12 -4
- package/dist/components/MarkdownFlow/MarkdownFlow.es.js +51 -39
- package/dist/components/MarkdownFlow/MarkdownFlow.es.js.map +1 -1
- package/dist/components/MarkdownFlow/ScrollToBottomButton.cjs +1 -1
- package/dist/components/MarkdownFlow/ScrollToBottomButton.cjs.map +1 -1
- package/dist/components/MarkdownFlow/ScrollToBottomButton.d.ts +31 -1
- package/dist/components/MarkdownFlow/ScrollToBottomButton.es.js +46 -17
- package/dist/components/MarkdownFlow/ScrollToBottomButton.es.js.map +1 -1
- package/dist/components/MarkdownFlow/ScrollToBottomControl.cjs +2 -0
- package/dist/components/MarkdownFlow/ScrollToBottomControl.cjs.map +1 -0
- package/dist/components/MarkdownFlow/ScrollToBottomControl.d.ts +18 -0
- package/dist/components/MarkdownFlow/ScrollToBottomControl.es.js +47 -0
- package/dist/components/MarkdownFlow/ScrollToBottomControl.es.js.map +1 -0
- package/dist/components/MarkdownFlow/ScrollableMarkdownFlow.cjs +1 -1
- package/dist/components/MarkdownFlow/ScrollableMarkdownFlow.cjs.map +1 -1
- package/dist/components/MarkdownFlow/ScrollableMarkdownFlow.d.ts +1 -1
- package/dist/components/MarkdownFlow/ScrollableMarkdownFlow.es.js +33 -52
- package/dist/components/MarkdownFlow/ScrollableMarkdownFlow.es.js.map +1 -1
- package/dist/components/MarkdownFlow/index.cjs +1 -1
- package/dist/components/MarkdownFlow/index.d.ts +9 -6
- package/dist/components/MarkdownFlow/index.es.js +6 -6
- package/dist/components/MarkdownFlow/index.es.js.map +1 -1
- package/dist/components/MarkdownFlow/useScrollToBottom.cjs +1 -1
- package/dist/components/MarkdownFlow/useScrollToBottom.cjs.map +1 -1
- package/dist/components/MarkdownFlow/useScrollToBottom.d.ts +40 -8
- package/dist/components/MarkdownFlow/useScrollToBottom.es.js +352 -83
- package/dist/components/MarkdownFlow/useScrollToBottom.es.js.map +1 -1
- package/dist/components/MarkdownFlowEditor/MarkdownFlowEditor.cjs +1 -1
- package/dist/components/MarkdownFlowEditor/MarkdownFlowEditor.cjs.map +1 -1
- package/dist/components/MarkdownFlowEditor/MarkdownFlowEditor.d.ts +5 -3
- package/dist/components/MarkdownFlowEditor/MarkdownFlowEditor.es.js +371 -324
- package/dist/components/MarkdownFlowEditor/MarkdownFlowEditor.es.js.map +1 -1
- package/dist/components/MarkdownFlowEditor/components/CustomDialog.cjs +1 -1
- package/dist/components/MarkdownFlowEditor/components/CustomDialog.cjs.map +1 -1
- package/dist/components/MarkdownFlowEditor/components/CustomDialog.d.ts +10 -0
- package/dist/components/MarkdownFlowEditor/components/CustomDialog.es.js +22 -19
- package/dist/components/MarkdownFlowEditor/components/CustomDialog.es.js.map +1 -1
- package/dist/components/MarkdownFlowEditor/components/CustomPopover.cjs +1 -1
- package/dist/components/MarkdownFlowEditor/components/CustomPopover.cjs.map +1 -1
- package/dist/components/MarkdownFlowEditor/components/CustomPopover.d.ts +8 -0
- package/dist/components/MarkdownFlowEditor/components/CustomPopover.es.js +19 -15
- package/dist/components/MarkdownFlowEditor/components/CustomPopover.es.js.map +1 -1
- package/dist/components/MarkdownFlowEditor/components/EditorToolbar.cjs +1 -1
- package/dist/components/MarkdownFlowEditor/components/EditorToolbar.cjs.map +1 -1
- package/dist/components/MarkdownFlowEditor/components/EditorToolbar.d.ts +4 -1
- package/dist/components/MarkdownFlowEditor/components/EditorToolbar.es.js +99 -93
- package/dist/components/MarkdownFlowEditor/components/EditorToolbar.es.js.map +1 -1
- package/dist/components/MarkdownFlowEditor/components/ImageInject.cjs +1 -1
- package/dist/components/MarkdownFlowEditor/components/ImageInject.cjs.map +1 -1
- package/dist/components/MarkdownFlowEditor/components/ImageInject.d.ts +1 -1
- package/dist/components/MarkdownFlowEditor/components/ImageInject.es.js +183 -182
- package/dist/components/MarkdownFlowEditor/components/ImageInject.es.js.map +1 -1
- package/dist/components/MarkdownFlowEditor/components/VariableSearchDropdown.cjs +1 -1
- package/dist/components/MarkdownFlowEditor/components/VariableSearchDropdown.cjs.map +1 -1
- package/dist/components/MarkdownFlowEditor/components/VariableSearchDropdown.d.ts +1 -1
- package/dist/components/MarkdownFlowEditor/components/VariableSearchDropdown.es.js +107 -103
- package/dist/components/MarkdownFlowEditor/components/VariableSearchDropdown.es.js.map +1 -1
- package/dist/components/MarkdownFlowEditor/components/VariableSelect.cjs +1 -1
- package/dist/components/MarkdownFlowEditor/components/VariableSelect.cjs.map +1 -1
- package/dist/components/MarkdownFlowEditor/components/VariableSelect.d.ts +1 -1
- package/dist/components/MarkdownFlowEditor/components/VariableSelect.es.js +106 -106
- package/dist/components/MarkdownFlowEditor/components/VariableSelect.es.js.map +1 -1
- package/dist/components/MarkdownFlowEditor/components/VideoInject.cjs +1 -1
- package/dist/components/MarkdownFlowEditor/components/VideoInject.cjs.map +1 -1
- package/dist/components/MarkdownFlowEditor/components/VideoInject.es.js +64 -63
- package/dist/components/MarkdownFlowEditor/components/VideoInject.es.js.map +1 -1
- package/dist/components/MarkdownFlowEditor/components/icons/ButtonIcon.cjs +1 -1
- package/dist/components/MarkdownFlowEditor/components/icons/ButtonIcon.cjs.map +1 -1
- package/dist/components/MarkdownFlowEditor/components/icons/ButtonIcon.es.js +13 -13
- package/dist/components/MarkdownFlowEditor/components/icons/ButtonIcon.es.js.map +1 -1
- package/dist/components/MarkdownFlowEditor/components/icons/SearchBracesIcon.cjs +1 -1
- package/dist/components/MarkdownFlowEditor/components/icons/SearchBracesIcon.cjs.map +1 -1
- package/dist/components/MarkdownFlowEditor/components/icons/SearchBracesIcon.es.js +12 -12
- package/dist/components/MarkdownFlowEditor/components/icons/SearchBracesIcon.es.js.map +1 -1
- package/dist/components/MarkdownFlowEditor/editor-context.d.ts +1 -1
- package/dist/components/MarkdownFlowEditor/editorI18n.cjs +1 -1
- package/dist/components/MarkdownFlowEditor/editorI18n.cjs.map +1 -1
- package/dist/components/MarkdownFlowEditor/editorI18n.d.ts +290 -0
- package/dist/components/MarkdownFlowEditor/editorI18n.es.js +12 -8
- package/dist/components/MarkdownFlowEditor/editorI18n.es.js.map +1 -1
- package/dist/components/MarkdownFlowEditor/editorI18n.test.d.ts +1 -0
- package/dist/components/MarkdownFlowEditor/index.d.ts +6 -6
- package/dist/components/MarkdownFlowEditor/locales/ar-SA.json.cjs +2 -0
- package/dist/components/MarkdownFlowEditor/locales/ar-SA.json.cjs.map +1 -0
- package/dist/components/MarkdownFlowEditor/locales/ar-SA.json.d.ts +72 -0
- package/dist/components/MarkdownFlowEditor/locales/ar-SA.json.es.js +140 -0
- package/dist/components/MarkdownFlowEditor/locales/ar-SA.json.es.js.map +1 -0
- package/dist/components/MarkdownFlowEditor/locales/en-US.json.cjs +1 -1
- package/dist/components/MarkdownFlowEditor/locales/en-US.json.d.ts +2 -0
- package/dist/components/MarkdownFlowEditor/locales/en-US.json.es.js +118 -114
- package/dist/components/MarkdownFlowEditor/locales/en-US.json.es.js.map +1 -1
- package/dist/components/MarkdownFlowEditor/locales/fr-FR.json.cjs +1 -1
- package/dist/components/MarkdownFlowEditor/locales/fr-FR.json.d.ts +2 -0
- package/dist/components/MarkdownFlowEditor/locales/fr-FR.json.es.js +118 -114
- package/dist/components/MarkdownFlowEditor/locales/fr-FR.json.es.js.map +1 -1
- package/dist/components/MarkdownFlowEditor/locales/th-TH.json.cjs +2 -0
- package/dist/components/MarkdownFlowEditor/locales/th-TH.json.cjs.map +1 -0
- package/dist/components/MarkdownFlowEditor/locales/th-TH.json.d.ts +72 -0
- package/dist/components/MarkdownFlowEditor/locales/th-TH.json.es.js +140 -0
- package/dist/components/MarkdownFlowEditor/locales/th-TH.json.es.js.map +1 -0
- package/dist/components/MarkdownFlowEditor/locales/zh-CN.json.cjs +1 -1
- package/dist/components/MarkdownFlowEditor/locales/zh-CN.json.d.ts +2 -0
- package/dist/components/MarkdownFlowEditor/locales/zh-CN.json.es.js +70 -66
- package/dist/components/MarkdownFlowEditor/locales/zh-CN.json.es.js.map +1 -1
- package/dist/components/MarkdownFlowEditor/plugins/ImgPlaceholder.cjs +1 -1
- package/dist/components/MarkdownFlowEditor/plugins/ImgPlaceholder.cjs.map +1 -1
- package/dist/components/MarkdownFlowEditor/plugins/ImgPlaceholder.es.js +40 -35
- package/dist/components/MarkdownFlowEditor/plugins/ImgPlaceholder.es.js.map +1 -1
- package/dist/components/MarkdownFlowEditor/plugins/PlaceholderWidget.d.ts +1 -1
- package/dist/components/MarkdownFlowEditor/plugins/VideoPlaceholder.cjs +1 -1
- package/dist/components/MarkdownFlowEditor/plugins/VideoPlaceholder.cjs.map +1 -1
- package/dist/components/MarkdownFlowEditor/plugins/VideoPlaceholder.es.js +27 -23
- package/dist/components/MarkdownFlowEditor/plugins/VideoPlaceholder.es.js.map +1 -1
- package/dist/components/MarkdownFlowEditor/plugins/mediaPlaceholderLabels.cjs +2 -0
- package/dist/components/MarkdownFlowEditor/plugins/mediaPlaceholderLabels.cjs.map +1 -0
- package/dist/components/MarkdownFlowEditor/plugins/mediaPlaceholderLabels.d.ts +7 -0
- package/dist/components/MarkdownFlowEditor/plugins/mediaPlaceholderLabels.es.js +12 -0
- package/dist/components/MarkdownFlowEditor/plugins/mediaPlaceholderLabels.es.js.map +1 -0
- package/dist/components/MarkdownFlowEditor/utils.d.ts +1 -1
- package/dist/components/Slide/MarkdownSlideScaling.cjs +1 -1
- package/dist/components/Slide/MarkdownSlideScaling.cjs.map +1 -1
- package/dist/components/Slide/MarkdownSlideScaling.d.ts +1 -1
- package/dist/components/Slide/MarkdownSlideScaling.es.js +20 -20
- package/dist/components/Slide/MarkdownSlideScaling.es.js.map +1 -1
- package/dist/components/Slide/MobilePlayerSettingsSheet.cjs +1 -1
- package/dist/components/Slide/MobilePlayerSettingsSheet.cjs.map +1 -1
- package/dist/components/Slide/MobilePlayerSettingsSheet.d.ts +7 -2
- package/dist/components/Slide/MobilePlayerSettingsSheet.es.js +61 -57
- package/dist/components/Slide/MobilePlayerSettingsSheet.es.js.map +1 -1
- package/dist/components/Slide/Player.cjs +1 -1
- package/dist/components/Slide/Player.cjs.map +1 -1
- package/dist/components/Slide/Player.d.ts +6 -6
- package/dist/components/Slide/Player.es.js +547 -541
- package/dist/components/Slide/Player.es.js.map +1 -1
- package/dist/components/Slide/Slide.cjs +1 -1
- package/dist/components/Slide/Slide.cjs.map +1 -1
- package/dist/components/Slide/Slide.d.ts +14 -12
- package/dist/components/Slide/Slide.es.js +745 -726
- package/dist/components/Slide/Slide.es.js.map +1 -1
- package/dist/components/Slide/SubtitleOverlay.cjs +1 -1
- package/dist/components/Slide/SubtitleOverlay.cjs.map +1 -1
- package/dist/components/Slide/SubtitleOverlay.d.ts +2 -2
- package/dist/components/Slide/SubtitleOverlay.es.js +17 -17
- package/dist/components/Slide/SubtitleOverlay.es.js.map +1 -1
- package/dist/components/Slide/diff-utils.d.ts +1 -1
- package/dist/components/Slide/index.d.ts +12 -12
- package/dist/components/Slide/locales/slide.json.cjs +2 -0
- package/dist/components/Slide/locales/slide.json.cjs.map +1 -0
- package/dist/components/Slide/locales/slide.json.d.ts +205 -0
- package/dist/components/Slide/locales/slide.json.es.js +11 -0
- package/dist/components/Slide/locales/slide.json.es.js.map +1 -0
- package/dist/components/Slide/slideI18n.cjs +1 -1
- package/dist/components/Slide/slideI18n.cjs.map +1 -1
- package/dist/components/Slide/slideI18n.d.ts +6 -3
- package/dist/components/Slide/slideI18n.es.js +10 -155
- package/dist/components/Slide/slideI18n.es.js.map +1 -1
- package/dist/components/Slide/useSlide.d.ts +1 -1
- package/dist/components/Slide/utils/appendedMarkerAdvance.d.ts +1 -1
- package/dist/components/Slide/utils/audioSegments.d.ts +1 -1
- package/dist/components/Slide/utils/interactionResolution.d.ts +2 -2
- package/dist/components/Slide/utils/listenModeElementList.d.ts +2 -2
- package/dist/components/Slide/utils/markdownScaling.d.ts +1 -1
- package/dist/components/Slide/utils/playerCustomActions.d.ts +2 -2
- package/dist/components/Slide/utils/playerKeyboardShortcuts.cjs +1 -1
- package/dist/components/Slide/utils/playerKeyboardShortcuts.cjs.map +1 -1
- package/dist/components/Slide/utils/playerKeyboardShortcuts.d.ts +1 -1
- package/dist/components/Slide/utils/playerKeyboardShortcuts.es.js +20 -20
- package/dist/components/Slide/utils/playerKeyboardShortcuts.es.js.map +1 -1
- package/dist/components/Slide/utils/runStreamFixture.d.ts +1 -1
- package/dist/components/Slide/utils/segmentSeek.d.ts +1 -1
- package/dist/components/Slide/utils/silentStepAutoAdvance.d.ts +1 -1
- package/dist/components/Slide/utils/streamingNavigation.d.ts +1 -1
- package/dist/components/Slide/utils/subtitleCue.d.ts +1 -1
- package/dist/components/Slide/utils/subtitleJumpNavigation.d.ts +1 -1
- package/dist/components/index.d.ts +22 -18
- package/dist/components/ui/button.cjs +1 -1
- package/dist/components/ui/button.cjs.map +1 -1
- package/dist/components/ui/button.es.js +12 -13
- package/dist/components/ui/button.es.js.map +1 -1
- package/dist/components/ui/checkbox.cjs +1 -1
- package/dist/components/ui/checkbox.cjs.map +1 -1
- package/dist/components/ui/checkbox.es.js +35 -35
- package/dist/components/ui/checkbox.es.js.map +1 -1
- package/dist/components/ui/dialog.cjs +1 -1
- package/dist/components/ui/dialog.cjs.map +1 -1
- package/dist/components/ui/dialog.d.ts +5 -1
- package/dist/components/ui/dialog.es.js +37 -37
- package/dist/components/ui/dialog.es.js.map +1 -1
- package/dist/components/ui/input.cjs +1 -1
- package/dist/components/ui/input.cjs.map +1 -1
- package/dist/components/ui/input.es.js +4 -4
- package/dist/components/ui/input.es.js.map +1 -1
- package/dist/components/ui/inputGroup/button.cjs +1 -1
- package/dist/components/ui/inputGroup/button.cjs.map +1 -1
- package/dist/components/ui/inputGroup/button.es.js +9 -10
- package/dist/components/ui/inputGroup/button.es.js.map +1 -1
- package/dist/components/ui/inputGroup/input-group.cjs +1 -1
- package/dist/components/ui/inputGroup/input-group.cjs.map +1 -1
- package/dist/components/ui/inputGroup/input-group.d.ts +1 -1
- package/dist/components/ui/inputGroup/input-group.es.js +10 -10
- package/dist/components/ui/inputGroup/input-group.es.js.map +1 -1
- package/dist/components/ui/inputGroup/textarea.cjs +1 -1
- package/dist/components/ui/inputGroup/textarea.cjs.map +1 -1
- package/dist/components/ui/inputGroup/textarea.es.js +3 -3
- package/dist/components/ui/inputGroup/textarea.es.js.map +1 -1
- package/dist/components/ui/loading-overlay-card.cjs +2 -2
- package/dist/components/ui/loading-overlay-card.cjs.map +1 -1
- package/dist/components/ui/loading-overlay-card.es.js +11 -11
- package/dist/components/ui/loading-overlay-card.es.js.map +1 -1
- package/dist/components/ui/popover.cjs +1 -1
- package/dist/components/ui/popover.cjs.map +1 -1
- package/dist/components/ui/popover.es.js +6 -6
- package/dist/components/ui/popover.es.js.map +1 -1
- package/dist/components/ui/tooltip.cjs +1 -1
- package/dist/components/ui/tooltip.cjs.map +1 -1
- package/dist/components/ui/tooltip.es.js +16 -16
- package/dist/components/ui/tooltip.es.js.map +1 -1
- package/dist/editor.d.ts +2 -2
- package/dist/fonts/KaTeX_AMS-Regular.ttf +0 -0
- package/dist/fonts/KaTeX_AMS-Regular.woff +0 -0
- package/dist/fonts/KaTeX_AMS-Regular.woff2 +0 -0
- package/dist/fonts/KaTeX_Caligraphic-Bold.ttf +0 -0
- package/dist/fonts/KaTeX_Caligraphic-Bold.woff +0 -0
- package/dist/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
- package/dist/fonts/KaTeX_Caligraphic-Regular.ttf +0 -0
- package/dist/fonts/KaTeX_Caligraphic-Regular.woff +0 -0
- package/dist/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
- package/dist/fonts/KaTeX_Fraktur-Bold.ttf +0 -0
- package/dist/fonts/KaTeX_Fraktur-Bold.woff +0 -0
- package/dist/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
- package/dist/fonts/KaTeX_Fraktur-Regular.ttf +0 -0
- package/dist/fonts/KaTeX_Fraktur-Regular.woff +0 -0
- package/dist/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
- package/dist/fonts/KaTeX_Main-Bold.ttf +0 -0
- package/dist/fonts/KaTeX_Main-Bold.woff +0 -0
- package/dist/fonts/KaTeX_Main-Bold.woff2 +0 -0
- package/dist/fonts/KaTeX_Main-BoldItalic.ttf +0 -0
- package/dist/fonts/KaTeX_Main-BoldItalic.woff +0 -0
- package/dist/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
- package/dist/fonts/KaTeX_Main-Italic.ttf +0 -0
- package/dist/fonts/KaTeX_Main-Italic.woff +0 -0
- package/dist/fonts/KaTeX_Main-Italic.woff2 +0 -0
- package/dist/fonts/KaTeX_Main-Regular.ttf +0 -0
- package/dist/fonts/KaTeX_Main-Regular.woff +0 -0
- package/dist/fonts/KaTeX_Main-Regular.woff2 +0 -0
- package/dist/fonts/KaTeX_Math-BoldItalic.ttf +0 -0
- package/dist/fonts/KaTeX_Math-BoldItalic.woff +0 -0
- package/dist/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
- package/dist/fonts/KaTeX_Math-Italic.ttf +0 -0
- package/dist/fonts/KaTeX_Math-Italic.woff +0 -0
- package/dist/fonts/KaTeX_Math-Italic.woff2 +0 -0
- package/dist/fonts/KaTeX_SansSerif-Bold.ttf +0 -0
- package/dist/fonts/KaTeX_SansSerif-Bold.woff +0 -0
- package/dist/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
- package/dist/fonts/KaTeX_SansSerif-Italic.ttf +0 -0
- package/dist/fonts/KaTeX_SansSerif-Italic.woff +0 -0
- package/dist/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
- package/dist/fonts/KaTeX_SansSerif-Regular.ttf +0 -0
- package/dist/fonts/KaTeX_SansSerif-Regular.woff +0 -0
- package/dist/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
- package/dist/fonts/KaTeX_Script-Regular.ttf +0 -0
- package/dist/fonts/KaTeX_Script-Regular.woff +0 -0
- package/dist/fonts/KaTeX_Script-Regular.woff2 +0 -0
- package/dist/fonts/KaTeX_Size1-Regular.ttf +0 -0
- package/dist/fonts/KaTeX_Size1-Regular.woff +0 -0
- package/dist/fonts/KaTeX_Size1-Regular.woff2 +0 -0
- package/dist/fonts/KaTeX_Size2-Regular.ttf +0 -0
- package/dist/fonts/KaTeX_Size2-Regular.woff +0 -0
- package/dist/fonts/KaTeX_Size2-Regular.woff2 +0 -0
- package/dist/fonts/KaTeX_Size3-Regular.ttf +0 -0
- package/dist/fonts/KaTeX_Size3-Regular.woff +0 -0
- package/dist/fonts/KaTeX_Size3-Regular.woff2 +0 -0
- package/dist/fonts/KaTeX_Size4-Regular.ttf +0 -0
- package/dist/fonts/KaTeX_Size4-Regular.woff +0 -0
- package/dist/fonts/KaTeX_Size4-Regular.woff2 +0 -0
- package/dist/fonts/KaTeX_Typewriter-Regular.ttf +0 -0
- package/dist/fonts/KaTeX_Typewriter-Regular.woff +0 -0
- package/dist/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.es.js +22 -19
- package/dist/index.es.js.map +1 -1
- package/dist/lib/locale.cjs +1 -1
- package/dist/lib/locale.cjs.map +1 -1
- package/dist/lib/locale.d.ts +5 -1
- package/dist/lib/locale.es.js +26 -13
- package/dist/lib/locale.es.js.map +1 -1
- package/dist/lib/locale.test.d.ts +1 -0
- package/dist/lib/useDetachedLanguage.cjs +2 -0
- package/dist/lib/useDetachedLanguage.cjs.map +1 -0
- package/dist/lib/useDetachedLanguage.d.ts +3 -0
- package/dist/lib/useDetachedLanguage.es.js +25 -0
- package/dist/lib/useDetachedLanguage.es.js.map +1 -0
- package/dist/lib/useResolvedDirection.cjs +2 -0
- package/dist/lib/useResolvedDirection.cjs.map +1 -0
- package/dist/lib/useResolvedDirection.d.ts +6 -0
- package/dist/lib/useResolvedDirection.es.js +37 -0
- package/dist/lib/useResolvedDirection.es.js.map +1 -0
- package/dist/markdown-flow-ui-lib.css +1 -1
- package/dist/node_modules/@radix-ui/react-arrow/dist/index.cjs +1 -1
- package/dist/node_modules/@radix-ui/react-arrow/dist/index.cjs.map +1 -1
- package/dist/node_modules/@radix-ui/react-arrow/dist/index.es.js +6 -6
- package/dist/node_modules/@radix-ui/react-arrow/dist/index.es.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-context/dist/index.cjs +1 -1
- package/dist/node_modules/@radix-ui/react-context/dist/index.cjs.map +1 -1
- package/dist/node_modules/@radix-ui/react-context/dist/index.es.js +21 -21
- package/dist/node_modules/@radix-ui/react-context/dist/index.es.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-dialog/dist/index.cjs +2 -2
- package/dist/node_modules/@radix-ui/react-dialog/dist/index.cjs.map +1 -1
- package/dist/node_modules/@radix-ui/react-dialog/dist/index.es.js +100 -100
- package/dist/node_modules/@radix-ui/react-dialog/dist/index.es.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.cjs +1 -1
- package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.cjs.map +1 -1
- package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.es.js +38 -38
- package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.es.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.cjs +1 -1
- package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.cjs.map +1 -1
- package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.es.js +9 -9
- package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.es.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-popover/dist/index.cjs +1 -1
- package/dist/node_modules/@radix-ui/react-popover/dist/index.cjs.map +1 -1
- package/dist/node_modules/@radix-ui/react-popover/dist/index.es.js +95 -95
- package/dist/node_modules/@radix-ui/react-popover/dist/index.es.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-popper/dist/index.cjs +1 -1
- package/dist/node_modules/@radix-ui/react-popper/dist/index.cjs.map +1 -1
- package/dist/node_modules/@radix-ui/react-popper/dist/index.es.js +48 -48
- package/dist/node_modules/@radix-ui/react-popper/dist/index.es.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-portal/dist/index.cjs +1 -1
- package/dist/node_modules/@radix-ui/react-portal/dist/index.cjs.map +1 -1
- package/dist/node_modules/@radix-ui/react-portal/dist/index.es.js +6 -6
- package/dist/node_modules/@radix-ui/react-portal/dist/index.es.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-primitive/dist/index.cjs +1 -1
- package/dist/node_modules/@radix-ui/react-primitive/dist/index.cjs.map +1 -1
- package/dist/node_modules/@radix-ui/react-primitive/dist/index.es.js +9 -9
- package/dist/node_modules/@radix-ui/react-primitive/dist/index.es.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-slot/dist/index.cjs +1 -1
- package/dist/node_modules/@radix-ui/react-slot/dist/index.cjs.map +1 -1
- package/dist/node_modules/@radix-ui/react-slot/dist/index.es.js +17 -17
- package/dist/node_modules/@radix-ui/react-slot/dist/index.es.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-tooltip/dist/index.cjs +1 -1
- package/dist/node_modules/@radix-ui/react-tooltip/dist/index.cjs.map +1 -1
- package/dist/node_modules/@radix-ui/react-tooltip/dist/index.es.js +100 -100
- package/dist/node_modules/@radix-ui/react-tooltip/dist/index.es.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-visually-hidden/dist/index.cjs +1 -1
- package/dist/node_modules/@radix-ui/react-visually-hidden/dist/index.cjs.map +1 -1
- package/dist/node_modules/@radix-ui/react-visually-hidden/dist/index.es.js +6 -6
- package/dist/node_modules/@radix-ui/react-visually-hidden/dist/index.es.js.map +1 -1
- package/dist/node_modules/@uiw/react-codemirror/esm/index.cjs +1 -1
- package/dist/node_modules/@uiw/react-codemirror/esm/index.cjs.map +1 -1
- package/dist/node_modules/@uiw/react-codemirror/esm/index.es.js +27 -27
- package/dist/node_modules/@uiw/react-codemirror/esm/index.es.js.map +1 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/{chevron-down.cjs → chevrons-down.cjs} +2 -2
- package/dist/node_modules/lucide-react/dist/esm/icons/chevrons-down.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/{chevron-down.es.js → chevrons-down.es.js} +6 -3
- package/dist/node_modules/lucide-react/dist/esm/icons/chevrons-down.es.js.map +1 -0
- package/dist/node_modules/rc-input/es/BaseInput.cjs +1 -1
- package/dist/node_modules/rc-input/es/BaseInput.es.js +1 -1
- package/dist/node_modules/rc-textarea/es/ResizableTextArea.cjs +1 -1
- package/dist/node_modules/rc-textarea/es/ResizableTextArea.es.js +1 -1
- package/dist/node_modules/rc-textarea/es/TextArea.cjs +1 -1
- package/dist/node_modules/rc-textarea/es/TextArea.es.js +1 -1
- package/dist/node_modules/rc-textarea/es/index.cjs +1 -1
- package/dist/node_modules/rc-textarea/es/index.es.js +1 -1
- package/dist/node_modules/react-markdown/lib/index.cjs +1 -1
- package/dist/node_modules/react-markdown/lib/index.cjs.map +1 -1
- package/dist/node_modules/react-markdown/lib/index.es.js +39 -39
- package/dist/node_modules/react-markdown/lib/index.es.js.map +1 -1
- package/dist/node_modules/remark-flow/dist/interaction-plugin-core.cjs +1 -1
- package/dist/node_modules/remark-flow/dist/interaction-plugin-core.es.js +1 -1
- package/dist/renderer.cjs +1 -1
- package/dist/renderer.d.ts +18 -17
- package/dist/renderer.es.js +20 -17
- package/dist/renderer.es.js.map +1 -1
- package/dist/scroll.cjs +2 -0
- package/dist/scroll.cjs.map +1 -0
- package/dist/scroll.d.ts +6 -0
- package/dist/scroll.es.js +9 -0
- package/dist/scroll.es.js.map +1 -0
- package/dist/slide.d.ts +3 -3
- package/package.json +13 -2
- package/dist/_virtual/jsx-runtime.cjs +0 -2
- package/dist/_virtual/jsx-runtime.cjs.map +0 -1
- package/dist/_virtual/jsx-runtime.es.js +0 -6
- package/dist/_virtual/jsx-runtime.es.js.map +0 -1
- package/dist/_virtual/jsx-runtime.es2.js +0 -5
- package/dist/_virtual/jsx-runtime.es2.js.map +0 -1
- package/dist/_virtual/jsx-runtime2.cjs +0 -2
- package/dist/_virtual/jsx-runtime2.cjs.map +0 -1
- package/dist/_virtual/react-jsx-runtime.development.cjs +0 -2
- package/dist/_virtual/react-jsx-runtime.development.cjs.map +0 -1
- package/dist/_virtual/react-jsx-runtime.development.es.js +0 -5
- package/dist/_virtual/react-jsx-runtime.development.es.js.map +0 -1
- package/dist/_virtual/react-jsx-runtime.production.cjs +0 -2
- package/dist/_virtual/react-jsx-runtime.production.cjs.map +0 -1
- package/dist/_virtual/react-jsx-runtime.production.es.js +0 -5
- package/dist/_virtual/react-jsx-runtime.production.es.js.map +0 -1
- package/dist/lib/localeTextMap.cjs +0 -2
- package/dist/lib/localeTextMap.cjs.map +0 -1
- package/dist/lib/localeTextMap.es.js +0 -5
- package/dist/lib/localeTextMap.es.js.map +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/chevron-down.cjs.map +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/chevron-down.es.js.map +0 -1
- package/dist/node_modules/react/cjs/react-jsx-runtime.development.cjs +0 -24
- package/dist/node_modules/react/cjs/react-jsx-runtime.development.cjs.map +0 -1
- package/dist/node_modules/react/cjs/react-jsx-runtime.development.es.js +0 -409
- package/dist/node_modules/react/cjs/react-jsx-runtime.development.es.js.map +0 -1
- package/dist/node_modules/react/cjs/react-jsx-runtime.production.cjs +0 -10
- package/dist/node_modules/react/cjs/react-jsx-runtime.production.cjs.map +0 -1
- package/dist/node_modules/react/cjs/react-jsx-runtime.production.es.js +0 -36
- package/dist/node_modules/react/cjs/react-jsx-runtime.production.es.js.map +0 -1
- package/dist/node_modules/react/jsx-runtime.cjs +0 -2
- package/dist/node_modules/react/jsx-runtime.cjs.map +0 -1
- package/dist/node_modules/react/jsx-runtime.es.js +0 -11
- package/dist/node_modules/react/jsx-runtime.es.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditorToolbar.cjs","sources":["../../../../src/components/MarkdownFlowEditor/components/EditorToolbar.tsx"],"sourcesContent":["import { memo, useCallback } from \"react\";\nimport {\n Braces,\n FileType,\n Image as ImageIcon,\n TextCursorInput,\n // Link,\n SquareCheck,\n SquarePlay,\n CircleCheck,\n} from \"lucide-react\";\nimport { SelectedOption } from \"../types\";\nimport SearchBracesIcon from \"./icons/SearchBracesIcon\";\nimport ButtonIcon from \"./icons/ButtonIcon\";\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"../../ui/tooltip\";\n\ntype ToolbarLabels = {\n confirmOutput: string | undefined;\n insertLink: string | undefined;\n insertButton: string | undefined;\n insertSingleChoice: string | undefined;\n insertMultiChoice: string | undefined;\n insertInput: string | undefined;\n variable: string;\n image: string;\n video: string;\n addVariable: string;\n search: string;\n};\n\ninterface EditorToolbarProps {\n disabled?: boolean;\n labels: ToolbarLabels;\n onSelect: (selectedOption: SelectedOption) => void;\n onInsertVariablePlaceholder?: () => void;\n onVariableSearchToggle?: (button: HTMLButtonElement) => void;\n onVariableSearchClose?: () => void;\n onInsertConfirmOutput?: () => void;\n onInsertLink?: () => void;\n onInsertButton?: () => void;\n onInsertSingleChoice?: () => void;\n onInsertMultiChoice?: () => void;\n onInsertInputField?: () => void;\n variableSearchActive?: boolean;\n rightSlot?: React.ReactNode;\n}\n\n/**\n * EditorToolbar renders quick action buttons that mirror the slash commands.\n */\nconst ICON_SIZE = 18;\n\nconst EditorToolbar: React.FC<EditorToolbarProps> = ({\n disabled = false,\n labels,\n onSelect,\n onInsertVariablePlaceholder,\n onVariableSearchToggle,\n onVariableSearchClose,\n onInsertConfirmOutput,\n // onInsertLink,\n onInsertButton,\n onInsertSingleChoice,\n onInsertMultiChoice,\n onInsertInputField,\n variableSearchActive = false,\n rightSlot,\n}) => {\n const handleAddVariable = useCallback(() => {\n if (disabled) {\n return;\n }\n onVariableSearchClose?.();\n onInsertVariablePlaceholder?.();\n }, [disabled, onInsertVariablePlaceholder, onVariableSearchClose]);\n\n const handleSearchToggle = useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n if (disabled) {\n return;\n }\n onVariableSearchToggle?.(event.currentTarget);\n },\n [disabled, onVariableSearchToggle]\n );\n\n const handleConfirmOutput = useCallback(() => {\n if (disabled) {\n return;\n }\n onInsertConfirmOutput?.();\n }, [disabled, onInsertConfirmOutput]);\n\n // const handleInsertLink = useCallback(() => {\n // if (disabled) {\n // return;\n // }\n // onInsertLink?.();\n // }, [disabled, onInsertLink]);\n\n const handleInsertButton = useCallback(() => {\n if (disabled) {\n return;\n }\n onInsertButton?.();\n }, [disabled, onInsertButton]);\n\n const handleInsertSingleChoice = useCallback(() => {\n if (disabled) {\n return;\n }\n onInsertSingleChoice?.();\n }, [disabled, onInsertSingleChoice]);\n\n const handleInsertMultiChoice = useCallback(() => {\n if (disabled) {\n return;\n }\n onInsertMultiChoice?.();\n }, [disabled, onInsertMultiChoice]);\n\n const handleInsertInputField = useCallback(() => {\n if (disabled) {\n return;\n }\n onInsertInputField?.();\n }, [disabled, onInsertInputField]);\n\n return (\n <TooltipProvider delayDuration={150}>\n <div className=\"markdown-flow-editor-toolbar\" aria-disabled={disabled}>\n <div className=\"markdown-flow-editor-toolbar-left\">\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n disabled={disabled}\n onClick={handleAddVariable}\n >\n <Braces strokeWidth={1.75} size={ICON_SIZE} />\n </button>\n </TooltipTrigger>\n <TooltipContent side=\"top\">\n {labels.addVariable ?? \"\"}\n </TooltipContent>\n </Tooltip>\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n disabled={disabled}\n onClick={handleSearchToggle}\n data-active={\n !disabled && variableSearchActive ? \"true\" : undefined\n }\n aria-label={labels.search}\n title={labels.search}\n >\n <SearchBracesIcon strokeWidth={1.75} size={ICON_SIZE} />\n </button>\n </TooltipTrigger>\n <TooltipContent side=\"top\">{labels.search ?? \"\"}</TooltipContent>\n </Tooltip>\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n disabled={disabled}\n onClick={handleInsertSingleChoice}\n aria-label={labels.insertSingleChoice}\n title={labels.insertSingleChoice}\n >\n <CircleCheck strokeWidth={1.75} size={ICON_SIZE} />\n </button>\n </TooltipTrigger>\n <TooltipContent side=\"top\">\n {labels.insertSingleChoice ?? \"\"}\n </TooltipContent>\n </Tooltip>\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n disabled={disabled}\n onClick={handleInsertMultiChoice}\n aria-label={labels.insertMultiChoice}\n title={labels.insertMultiChoice}\n >\n <SquareCheck strokeWidth={1.75} size={ICON_SIZE} />\n </button>\n </TooltipTrigger>\n <TooltipContent side=\"top\">\n {labels.insertMultiChoice ?? \"\"}\n </TooltipContent>\n </Tooltip>\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n disabled={disabled}\n onClick={handleInsertInputField}\n aria-label={labels.insertInput}\n title={labels.insertInput}\n >\n <TextCursorInput strokeWidth={1.75} size={ICON_SIZE} />\n </button>\n </TooltipTrigger>\n <TooltipContent side=\"top\">\n {labels.insertInput ?? \"\"}\n </TooltipContent>\n </Tooltip>\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n disabled={disabled}\n onClick={handleInsertButton}\n aria-label={labels.insertButton}\n title={labels.insertButton}\n >\n <ButtonIcon strokeWidth={1.75} size={ICON_SIZE} />\n </button>\n </TooltipTrigger>\n <TooltipContent side=\"top\">\n {labels.insertButton ?? \"\"}\n </TooltipContent>\n </Tooltip>\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n disabled={disabled}\n onClick={handleConfirmOutput}\n aria-label={labels.confirmOutput}\n title={labels.confirmOutput}\n >\n <FileType strokeWidth={1.75} size={ICON_SIZE} />\n </button>\n </TooltipTrigger>\n <TooltipContent side=\"top\">\n {labels.confirmOutput ?? \"\"}\n </TooltipContent>\n </Tooltip>\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n disabled={disabled}\n onClick={() => onSelect(SelectedOption.Image)}\n aria-label={labels.image}\n title={labels.image}\n >\n <ImageIcon strokeWidth={1.75} size={ICON_SIZE} />\n </button>\n </TooltipTrigger>\n <TooltipContent side=\"top\">{labels.image ?? \"\"}</TooltipContent>\n </Tooltip>\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n disabled={disabled}\n onClick={() => onSelect(SelectedOption.Video)}\n aria-label={labels.video}\n title={labels.video}\n >\n <SquarePlay strokeWidth={1.75} size={ICON_SIZE} />\n </button>\n </TooltipTrigger>\n <TooltipContent side=\"top\">{labels.video ?? \"\"}</TooltipContent>\n </Tooltip>\n </div>\n {rightSlot ? (\n <div className=\"markdown-flow-editor-toolbar-right-wrapper\">\n {rightSlot}\n </div>\n ) : null}\n {/* <Tooltip>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n disabled={disabled}\n onClick={handleInsertLink}\n aria-label={labels.insertLink}\n title={labels.insertLink}\n >\n <Link strokeWidth={1.75} size={ICON_SIZE} />\n </button>\n </TooltipTrigger>\n <TooltipContent side=\"top\">\n {labels.insertLink ?? \"\"}\n </TooltipContent>\n </Tooltip> */}\n </div>\n </TooltipProvider>\n );\n};\n\nexport default memo(EditorToolbar);\n"],"names":["ICON_SIZE","EditorToolbar","disabled","labels","onSelect","onInsertVariablePlaceholder","onVariableSearchToggle","onVariableSearchClose","onInsertConfirmOutput","onInsertButton","onInsertSingleChoice","onInsertMultiChoice","onInsertInputField","variableSearchActive","rightSlot","handleAddVariable","useCallback","handleSearchToggle","event","handleConfirmOutput","handleInsertButton","handleInsertSingleChoice","handleInsertMultiChoice","handleInsertInputField","jsx","TooltipProvider","jsxs","Tooltip","TooltipTrigger","Braces","TooltipContent","SearchBracesIcon","CircleCheck","SquareCheck","TextCursorInput","ButtonIcon","FileType","SelectedOption","ImageIcon","SquarePlay","EditorToolbar$1","memo"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EditorToolbar.cjs","sources":["../../../../src/components/MarkdownFlowEditor/components/EditorToolbar.tsx"],"sourcesContent":["import { memo, useCallback } from \"react\";\nimport {\n Braces,\n FileType,\n Image as ImageIcon,\n TextCursorInput,\n // Link,\n SquareCheck,\n SquarePlay,\n CircleCheck,\n} from \"lucide-react\";\nimport { SelectedOption } from \"../types\";\nimport SearchBracesIcon from \"./icons/SearchBracesIcon\";\nimport ButtonIcon from \"./icons/ButtonIcon\";\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"../../ui/tooltip\";\nimport type { MarkdownFlowDirection } from \"../../../lib/locale\";\n\ntype ToolbarLabels = {\n confirmOutput: string | undefined;\n insertLink: string | undefined;\n insertButton: string | undefined;\n insertSingleChoice: string | undefined;\n insertMultiChoice: string | undefined;\n insertInput: string | undefined;\n variable: string;\n image: string;\n video: string;\n addVariable: string;\n search: string;\n};\n\ninterface EditorToolbarProps {\n disabled?: boolean;\n labels: ToolbarLabels;\n tooltipDirection?: MarkdownFlowDirection;\n tooltipLanguage?: string;\n onSelect: (selectedOption: SelectedOption) => void;\n onInsertVariablePlaceholder?: () => void;\n onVariableSearchToggle?: (button: HTMLButtonElement) => void;\n onVariableSearchClose?: () => void;\n onInsertConfirmOutput?: () => void;\n onInsertLink?: () => void;\n onInsertButton?: () => void;\n onInsertSingleChoice?: () => void;\n onInsertMultiChoice?: () => void;\n onInsertInputField?: () => void;\n variableSearchActive?: boolean;\n rightSlot?: React.ReactNode;\n}\n\n/**\n * EditorToolbar renders quick action buttons that mirror the slash commands.\n */\nconst ICON_SIZE = 18;\n\nconst EditorToolbar: React.FC<EditorToolbarProps> = ({\n disabled = false,\n labels,\n tooltipDirection,\n tooltipLanguage,\n onSelect,\n onInsertVariablePlaceholder,\n onVariableSearchToggle,\n onVariableSearchClose,\n onInsertConfirmOutput,\n // onInsertLink,\n onInsertButton,\n onInsertSingleChoice,\n onInsertMultiChoice,\n onInsertInputField,\n variableSearchActive = false,\n rightSlot,\n}) => {\n const handleAddVariable = useCallback(() => {\n if (disabled) {\n return;\n }\n onVariableSearchClose?.();\n onInsertVariablePlaceholder?.();\n }, [disabled, onInsertVariablePlaceholder, onVariableSearchClose]);\n\n const handleSearchToggle = useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n if (disabled) {\n return;\n }\n onVariableSearchToggle?.(event.currentTarget);\n },\n [disabled, onVariableSearchToggle]\n );\n\n const handleConfirmOutput = useCallback(() => {\n if (disabled) {\n return;\n }\n onInsertConfirmOutput?.();\n }, [disabled, onInsertConfirmOutput]);\n\n // const handleInsertLink = useCallback(() => {\n // if (disabled) {\n // return;\n // }\n // onInsertLink?.();\n // }, [disabled, onInsertLink]);\n\n const handleInsertButton = useCallback(() => {\n if (disabled) {\n return;\n }\n onInsertButton?.();\n }, [disabled, onInsertButton]);\n\n const handleInsertSingleChoice = useCallback(() => {\n if (disabled) {\n return;\n }\n onInsertSingleChoice?.();\n }, [disabled, onInsertSingleChoice]);\n\n const handleInsertMultiChoice = useCallback(() => {\n if (disabled) {\n return;\n }\n onInsertMultiChoice?.();\n }, [disabled, onInsertMultiChoice]);\n\n const handleInsertInputField = useCallback(() => {\n if (disabled) {\n return;\n }\n onInsertInputField?.();\n }, [disabled, onInsertInputField]);\n\n const tooltipContentProps = {\n dir: tooltipDirection,\n lang: tooltipLanguage,\n side: \"top\" as const,\n };\n\n return (\n <TooltipProvider delayDuration={150}>\n <div className=\"markdown-flow-editor-toolbar\" aria-disabled={disabled}>\n <div className=\"markdown-flow-editor-toolbar-left\">\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n disabled={disabled}\n onClick={handleAddVariable}\n >\n <Braces strokeWidth={1.75} size={ICON_SIZE} />\n </button>\n </TooltipTrigger>\n <TooltipContent {...tooltipContentProps}>\n {labels.addVariable ?? \"\"}\n </TooltipContent>\n </Tooltip>\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n disabled={disabled}\n onClick={handleSearchToggle}\n data-active={\n !disabled && variableSearchActive ? \"true\" : undefined\n }\n aria-label={labels.search}\n title={labels.search}\n >\n <SearchBracesIcon strokeWidth={1.75} size={ICON_SIZE} />\n </button>\n </TooltipTrigger>\n <TooltipContent {...tooltipContentProps}>\n {labels.search ?? \"\"}\n </TooltipContent>\n </Tooltip>\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n disabled={disabled}\n onClick={handleInsertSingleChoice}\n aria-label={labels.insertSingleChoice}\n title={labels.insertSingleChoice}\n >\n <CircleCheck strokeWidth={1.75} size={ICON_SIZE} />\n </button>\n </TooltipTrigger>\n <TooltipContent {...tooltipContentProps}>\n {labels.insertSingleChoice ?? \"\"}\n </TooltipContent>\n </Tooltip>\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n disabled={disabled}\n onClick={handleInsertMultiChoice}\n aria-label={labels.insertMultiChoice}\n title={labels.insertMultiChoice}\n >\n <SquareCheck strokeWidth={1.75} size={ICON_SIZE} />\n </button>\n </TooltipTrigger>\n <TooltipContent {...tooltipContentProps}>\n {labels.insertMultiChoice ?? \"\"}\n </TooltipContent>\n </Tooltip>\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n disabled={disabled}\n onClick={handleInsertInputField}\n aria-label={labels.insertInput}\n title={labels.insertInput}\n >\n <TextCursorInput strokeWidth={1.75} size={ICON_SIZE} />\n </button>\n </TooltipTrigger>\n <TooltipContent {...tooltipContentProps}>\n {labels.insertInput ?? \"\"}\n </TooltipContent>\n </Tooltip>\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n disabled={disabled}\n onClick={handleInsertButton}\n aria-label={labels.insertButton}\n title={labels.insertButton}\n >\n <ButtonIcon strokeWidth={1.75} size={ICON_SIZE} />\n </button>\n </TooltipTrigger>\n <TooltipContent {...tooltipContentProps}>\n {labels.insertButton ?? \"\"}\n </TooltipContent>\n </Tooltip>\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n disabled={disabled}\n onClick={handleConfirmOutput}\n aria-label={labels.confirmOutput}\n title={labels.confirmOutput}\n >\n <FileType strokeWidth={1.75} size={ICON_SIZE} />\n </button>\n </TooltipTrigger>\n <TooltipContent {...tooltipContentProps}>\n {labels.confirmOutput ?? \"\"}\n </TooltipContent>\n </Tooltip>\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n disabled={disabled}\n onClick={() => onSelect(SelectedOption.Image)}\n aria-label={labels.image}\n title={labels.image}\n >\n <ImageIcon strokeWidth={1.75} size={ICON_SIZE} />\n </button>\n </TooltipTrigger>\n <TooltipContent {...tooltipContentProps}>\n {labels.image ?? \"\"}\n </TooltipContent>\n </Tooltip>\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n disabled={disabled}\n onClick={() => onSelect(SelectedOption.Video)}\n aria-label={labels.video}\n title={labels.video}\n >\n <SquarePlay strokeWidth={1.75} size={ICON_SIZE} />\n </button>\n </TooltipTrigger>\n <TooltipContent {...tooltipContentProps}>\n {labels.video ?? \"\"}\n </TooltipContent>\n </Tooltip>\n </div>\n {rightSlot ? (\n <div className=\"markdown-flow-editor-toolbar-right-wrapper\">\n {rightSlot}\n </div>\n ) : null}\n {/* <Tooltip>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n disabled={disabled}\n onClick={handleInsertLink}\n aria-label={labels.insertLink}\n title={labels.insertLink}\n >\n <Link strokeWidth={1.75} size={ICON_SIZE} />\n </button>\n </TooltipTrigger>\n <TooltipContent side=\"top\">\n {labels.insertLink ?? \"\"}\n </TooltipContent>\n </Tooltip> */}\n </div>\n </TooltipProvider>\n );\n};\n\nexport default memo(EditorToolbar);\n"],"names":["ICON_SIZE","EditorToolbar","disabled","labels","tooltipDirection","tooltipLanguage","onSelect","onInsertVariablePlaceholder","onVariableSearchToggle","onVariableSearchClose","onInsertConfirmOutput","onInsertButton","onInsertSingleChoice","onInsertMultiChoice","onInsertInputField","variableSearchActive","rightSlot","handleAddVariable","useCallback","handleSearchToggle","event","handleConfirmOutput","handleInsertButton","handleInsertSingleChoice","handleInsertMultiChoice","handleInsertInputField","tooltipContentProps","jsx","TooltipProvider","jsxs","Tooltip","TooltipTrigger","Braces","TooltipContent","SearchBracesIcon","CircleCheck","SquareCheck","TextCursorInput","ButtonIcon","FileType","SelectedOption","ImageIcon","SquarePlay","EditorToolbar$1","memo"],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { SelectedOption } from '../types';
|
|
1
|
+
import { SelectedOption } from '../types.js';
|
|
2
|
+
import { MarkdownFlowDirection } from '../../../lib/locale.js';
|
|
2
3
|
type ToolbarLabels = {
|
|
3
4
|
confirmOutput: string | undefined;
|
|
4
5
|
insertLink: string | undefined;
|
|
@@ -15,6 +16,8 @@ type ToolbarLabels = {
|
|
|
15
16
|
interface EditorToolbarProps {
|
|
16
17
|
disabled?: boolean;
|
|
17
18
|
labels: ToolbarLabels;
|
|
19
|
+
tooltipDirection?: MarkdownFlowDirection;
|
|
20
|
+
tooltipLanguage?: string;
|
|
18
21
|
onSelect: (selectedOption: SelectedOption) => void;
|
|
19
22
|
onInsertVariablePlaceholder?: () => void;
|
|
20
23
|
onVariableSearchToggle?: (button: HTMLButtonElement) => void;
|
|
@@ -1,182 +1,188 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { memo as
|
|
3
|
-
import { SelectedOption as
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import { TooltipProvider as
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
const
|
|
1
|
+
import { jsx as t, jsxs as e } from "react/jsx-runtime";
|
|
2
|
+
import { memo as M, useCallback as l } from "react";
|
|
3
|
+
import { SelectedOption as T } from "../types.es.js";
|
|
4
|
+
import j from "./icons/SearchBracesIcon.es.js";
|
|
5
|
+
import q from "./icons/ButtonIcon.es.js";
|
|
6
|
+
import { TooltipProvider as P, Tooltip as o, TooltipTrigger as c, TooltipContent as h } from "../../ui/tooltip.es.js";
|
|
7
|
+
import A from "../../../node_modules/lucide-react/dist/esm/icons/braces.es.js";
|
|
8
|
+
import D from "../../../node_modules/lucide-react/dist/esm/icons/circle-check.es.js";
|
|
9
|
+
import F from "../../../node_modules/lucide-react/dist/esm/icons/square-check.es.js";
|
|
10
|
+
import Z from "../../../node_modules/lucide-react/dist/esm/icons/text-cursor-input.es.js";
|
|
11
|
+
import _ from "../../../node_modules/lucide-react/dist/esm/icons/file-type.es.js";
|
|
12
|
+
import $ from "../../../node_modules/lucide-react/dist/esm/icons/image.es.js";
|
|
13
|
+
import G from "../../../node_modules/lucide-react/dist/esm/icons/square-play.es.js";
|
|
14
|
+
const u = 18, H = ({
|
|
15
15
|
disabled: r = !1,
|
|
16
16
|
labels: i,
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
17
|
+
tooltipDirection: v,
|
|
18
|
+
tooltipLanguage: z,
|
|
19
|
+
onSelect: d,
|
|
20
|
+
onInsertVariablePlaceholder: m,
|
|
21
|
+
onVariableSearchToggle: p,
|
|
22
|
+
onVariableSearchClose: a,
|
|
23
|
+
onInsertConfirmOutput: C,
|
|
22
24
|
// onInsertLink,
|
|
23
|
-
onInsertButton:
|
|
24
|
-
onInsertSingleChoice:
|
|
25
|
-
onInsertMultiChoice:
|
|
26
|
-
onInsertInputField:
|
|
27
|
-
variableSearchActive:
|
|
28
|
-
rightSlot:
|
|
25
|
+
onInsertButton: f,
|
|
26
|
+
onInsertSingleChoice: k,
|
|
27
|
+
onInsertMultiChoice: s,
|
|
28
|
+
onInsertInputField: g,
|
|
29
|
+
variableSearchActive: W = !1,
|
|
30
|
+
rightSlot: y
|
|
29
31
|
}) => {
|
|
30
|
-
const
|
|
31
|
-
r || (
|
|
32
|
-
}, [r,
|
|
33
|
-
(
|
|
34
|
-
r ||
|
|
32
|
+
const I = l(() => {
|
|
33
|
+
r || (a?.(), m?.());
|
|
34
|
+
}, [r, m, a]), w = l(
|
|
35
|
+
(E) => {
|
|
36
|
+
r || p?.(E.currentTarget);
|
|
35
37
|
},
|
|
36
|
-
[r,
|
|
37
|
-
),
|
|
38
|
-
r ||
|
|
39
|
-
}, [r,
|
|
40
|
-
r ||
|
|
41
|
-
}, [r,
|
|
42
|
-
r ||
|
|
43
|
-
}, [r,
|
|
44
|
-
r ||
|
|
45
|
-
}, [r,
|
|
46
|
-
r ||
|
|
47
|
-
}, [r,
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
38
|
+
[r, p]
|
|
39
|
+
), B = l(() => {
|
|
40
|
+
r || C?.();
|
|
41
|
+
}, [r, C]), O = l(() => {
|
|
42
|
+
r || f?.();
|
|
43
|
+
}, [r, f]), S = l(() => {
|
|
44
|
+
r || k?.();
|
|
45
|
+
}, [r, k]), x = l(() => {
|
|
46
|
+
r || s?.();
|
|
47
|
+
}, [r, s]), N = l(() => {
|
|
48
|
+
r || g?.();
|
|
49
|
+
}, [r, g]), n = {
|
|
50
|
+
dir: v,
|
|
51
|
+
lang: z,
|
|
52
|
+
side: "top"
|
|
53
|
+
};
|
|
54
|
+
return /* @__PURE__ */ t(P, { delayDuration: 150, children: /* @__PURE__ */ e("div", { className: "markdown-flow-editor-toolbar", "aria-disabled": r, children: [
|
|
55
|
+
/* @__PURE__ */ e("div", { className: "markdown-flow-editor-toolbar-left", children: [
|
|
56
|
+
/* @__PURE__ */ e(o, { children: [
|
|
57
|
+
/* @__PURE__ */ t(c, { asChild: !0, children: /* @__PURE__ */ t(
|
|
52
58
|
"button",
|
|
53
59
|
{
|
|
54
60
|
type: "button",
|
|
55
61
|
disabled: r,
|
|
56
|
-
onClick:
|
|
57
|
-
children: /* @__PURE__ */ t
|
|
62
|
+
onClick: I,
|
|
63
|
+
children: /* @__PURE__ */ t(A, { strokeWidth: 1.75, size: u })
|
|
58
64
|
}
|
|
59
65
|
) }),
|
|
60
|
-
/* @__PURE__ */ t
|
|
66
|
+
/* @__PURE__ */ t(h, { ...n, children: i.addVariable ?? "" })
|
|
61
67
|
] }),
|
|
62
|
-
/* @__PURE__ */
|
|
63
|
-
/* @__PURE__ */ t
|
|
68
|
+
/* @__PURE__ */ e(o, { children: [
|
|
69
|
+
/* @__PURE__ */ t(c, { asChild: !0, children: /* @__PURE__ */ t(
|
|
64
70
|
"button",
|
|
65
71
|
{
|
|
66
72
|
type: "button",
|
|
67
73
|
disabled: r,
|
|
68
|
-
onClick:
|
|
69
|
-
"data-active": !r &&
|
|
74
|
+
onClick: w,
|
|
75
|
+
"data-active": !r && W ? "true" : void 0,
|
|
70
76
|
"aria-label": i.search,
|
|
71
77
|
title: i.search,
|
|
72
|
-
children: /* @__PURE__ */ t
|
|
78
|
+
children: /* @__PURE__ */ t(j, { strokeWidth: 1.75, size: u })
|
|
73
79
|
}
|
|
74
80
|
) }),
|
|
75
|
-
/* @__PURE__ */ t
|
|
81
|
+
/* @__PURE__ */ t(h, { ...n, children: i.search ?? "" })
|
|
76
82
|
] }),
|
|
77
|
-
/* @__PURE__ */
|
|
78
|
-
/* @__PURE__ */ t
|
|
83
|
+
/* @__PURE__ */ e(o, { children: [
|
|
84
|
+
/* @__PURE__ */ t(c, { asChild: !0, children: /* @__PURE__ */ t(
|
|
79
85
|
"button",
|
|
80
86
|
{
|
|
81
87
|
type: "button",
|
|
82
88
|
disabled: r,
|
|
83
|
-
onClick:
|
|
89
|
+
onClick: S,
|
|
84
90
|
"aria-label": i.insertSingleChoice,
|
|
85
91
|
title: i.insertSingleChoice,
|
|
86
|
-
children: /* @__PURE__ */ t
|
|
92
|
+
children: /* @__PURE__ */ t(D, { strokeWidth: 1.75, size: u })
|
|
87
93
|
}
|
|
88
94
|
) }),
|
|
89
|
-
/* @__PURE__ */ t
|
|
95
|
+
/* @__PURE__ */ t(h, { ...n, children: i.insertSingleChoice ?? "" })
|
|
90
96
|
] }),
|
|
91
|
-
/* @__PURE__ */
|
|
92
|
-
/* @__PURE__ */ t
|
|
97
|
+
/* @__PURE__ */ e(o, { children: [
|
|
98
|
+
/* @__PURE__ */ t(c, { asChild: !0, children: /* @__PURE__ */ t(
|
|
93
99
|
"button",
|
|
94
100
|
{
|
|
95
101
|
type: "button",
|
|
96
102
|
disabled: r,
|
|
97
|
-
onClick:
|
|
103
|
+
onClick: x,
|
|
98
104
|
"aria-label": i.insertMultiChoice,
|
|
99
105
|
title: i.insertMultiChoice,
|
|
100
|
-
children: /* @__PURE__ */ t
|
|
106
|
+
children: /* @__PURE__ */ t(F, { strokeWidth: 1.75, size: u })
|
|
101
107
|
}
|
|
102
108
|
) }),
|
|
103
|
-
/* @__PURE__ */ t
|
|
109
|
+
/* @__PURE__ */ t(h, { ...n, children: i.insertMultiChoice ?? "" })
|
|
104
110
|
] }),
|
|
105
|
-
/* @__PURE__ */
|
|
106
|
-
/* @__PURE__ */ t
|
|
111
|
+
/* @__PURE__ */ e(o, { children: [
|
|
112
|
+
/* @__PURE__ */ t(c, { asChild: !0, children: /* @__PURE__ */ t(
|
|
107
113
|
"button",
|
|
108
114
|
{
|
|
109
115
|
type: "button",
|
|
110
116
|
disabled: r,
|
|
111
|
-
onClick:
|
|
117
|
+
onClick: N,
|
|
112
118
|
"aria-label": i.insertInput,
|
|
113
119
|
title: i.insertInput,
|
|
114
|
-
children: /* @__PURE__ */ t
|
|
120
|
+
children: /* @__PURE__ */ t(Z, { strokeWidth: 1.75, size: u })
|
|
115
121
|
}
|
|
116
122
|
) }),
|
|
117
|
-
/* @__PURE__ */ t
|
|
123
|
+
/* @__PURE__ */ t(h, { ...n, children: i.insertInput ?? "" })
|
|
118
124
|
] }),
|
|
119
|
-
/* @__PURE__ */
|
|
120
|
-
/* @__PURE__ */ t
|
|
125
|
+
/* @__PURE__ */ e(o, { children: [
|
|
126
|
+
/* @__PURE__ */ t(c, { asChild: !0, children: /* @__PURE__ */ t(
|
|
121
127
|
"button",
|
|
122
128
|
{
|
|
123
129
|
type: "button",
|
|
124
130
|
disabled: r,
|
|
125
|
-
onClick:
|
|
131
|
+
onClick: O,
|
|
126
132
|
"aria-label": i.insertButton,
|
|
127
133
|
title: i.insertButton,
|
|
128
|
-
children: /* @__PURE__ */ t
|
|
134
|
+
children: /* @__PURE__ */ t(q, { strokeWidth: 1.75, size: u })
|
|
129
135
|
}
|
|
130
136
|
) }),
|
|
131
|
-
/* @__PURE__ */ t
|
|
137
|
+
/* @__PURE__ */ t(h, { ...n, children: i.insertButton ?? "" })
|
|
132
138
|
] }),
|
|
133
|
-
/* @__PURE__ */
|
|
134
|
-
/* @__PURE__ */ t
|
|
139
|
+
/* @__PURE__ */ e(o, { children: [
|
|
140
|
+
/* @__PURE__ */ t(c, { asChild: !0, children: /* @__PURE__ */ t(
|
|
135
141
|
"button",
|
|
136
142
|
{
|
|
137
143
|
type: "button",
|
|
138
144
|
disabled: r,
|
|
139
|
-
onClick:
|
|
145
|
+
onClick: B,
|
|
140
146
|
"aria-label": i.confirmOutput,
|
|
141
147
|
title: i.confirmOutput,
|
|
142
|
-
children: /* @__PURE__ */ t
|
|
148
|
+
children: /* @__PURE__ */ t(_, { strokeWidth: 1.75, size: u })
|
|
143
149
|
}
|
|
144
150
|
) }),
|
|
145
|
-
/* @__PURE__ */ t
|
|
151
|
+
/* @__PURE__ */ t(h, { ...n, children: i.confirmOutput ?? "" })
|
|
146
152
|
] }),
|
|
147
|
-
/* @__PURE__ */
|
|
148
|
-
/* @__PURE__ */ t
|
|
153
|
+
/* @__PURE__ */ e(o, { children: [
|
|
154
|
+
/* @__PURE__ */ t(c, { asChild: !0, children: /* @__PURE__ */ t(
|
|
149
155
|
"button",
|
|
150
156
|
{
|
|
151
157
|
type: "button",
|
|
152
158
|
disabled: r,
|
|
153
|
-
onClick: () =>
|
|
159
|
+
onClick: () => d(T.Image),
|
|
154
160
|
"aria-label": i.image,
|
|
155
161
|
title: i.image,
|
|
156
|
-
children: /* @__PURE__ */ t
|
|
162
|
+
children: /* @__PURE__ */ t($, { strokeWidth: 1.75, size: u })
|
|
157
163
|
}
|
|
158
164
|
) }),
|
|
159
|
-
/* @__PURE__ */ t
|
|
165
|
+
/* @__PURE__ */ t(h, { ...n, children: i.image ?? "" })
|
|
160
166
|
] }),
|
|
161
|
-
/* @__PURE__ */
|
|
162
|
-
/* @__PURE__ */ t
|
|
167
|
+
/* @__PURE__ */ e(o, { children: [
|
|
168
|
+
/* @__PURE__ */ t(c, { asChild: !0, children: /* @__PURE__ */ t(
|
|
163
169
|
"button",
|
|
164
170
|
{
|
|
165
171
|
type: "button",
|
|
166
172
|
disabled: r,
|
|
167
|
-
onClick: () =>
|
|
173
|
+
onClick: () => d(T.Video),
|
|
168
174
|
"aria-label": i.video,
|
|
169
175
|
title: i.video,
|
|
170
|
-
children: /* @__PURE__ */ t
|
|
176
|
+
children: /* @__PURE__ */ t(G, { strokeWidth: 1.75, size: u })
|
|
171
177
|
}
|
|
172
178
|
) }),
|
|
173
|
-
/* @__PURE__ */ t
|
|
179
|
+
/* @__PURE__ */ t(h, { ...n, children: i.video ?? "" })
|
|
174
180
|
] })
|
|
175
181
|
] }),
|
|
176
|
-
|
|
182
|
+
y ? /* @__PURE__ */ t("div", { className: "markdown-flow-editor-toolbar-right-wrapper", children: y }) : null
|
|
177
183
|
] }) });
|
|
178
|
-
},
|
|
184
|
+
}, et = M(H);
|
|
179
185
|
export {
|
|
180
|
-
|
|
186
|
+
et as default
|
|
181
187
|
};
|
|
182
188
|
//# sourceMappingURL=EditorToolbar.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditorToolbar.es.js","sources":["../../../../src/components/MarkdownFlowEditor/components/EditorToolbar.tsx"],"sourcesContent":["import { memo, useCallback } from \"react\";\nimport {\n Braces,\n FileType,\n Image as ImageIcon,\n TextCursorInput,\n // Link,\n SquareCheck,\n SquarePlay,\n CircleCheck,\n} from \"lucide-react\";\nimport { SelectedOption } from \"../types\";\nimport SearchBracesIcon from \"./icons/SearchBracesIcon\";\nimport ButtonIcon from \"./icons/ButtonIcon\";\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"../../ui/tooltip\";\n\ntype ToolbarLabels = {\n confirmOutput: string | undefined;\n insertLink: string | undefined;\n insertButton: string | undefined;\n insertSingleChoice: string | undefined;\n insertMultiChoice: string | undefined;\n insertInput: string | undefined;\n variable: string;\n image: string;\n video: string;\n addVariable: string;\n search: string;\n};\n\ninterface EditorToolbarProps {\n disabled?: boolean;\n labels: ToolbarLabels;\n onSelect: (selectedOption: SelectedOption) => void;\n onInsertVariablePlaceholder?: () => void;\n onVariableSearchToggle?: (button: HTMLButtonElement) => void;\n onVariableSearchClose?: () => void;\n onInsertConfirmOutput?: () => void;\n onInsertLink?: () => void;\n onInsertButton?: () => void;\n onInsertSingleChoice?: () => void;\n onInsertMultiChoice?: () => void;\n onInsertInputField?: () => void;\n variableSearchActive?: boolean;\n rightSlot?: React.ReactNode;\n}\n\n/**\n * EditorToolbar renders quick action buttons that mirror the slash commands.\n */\nconst ICON_SIZE = 18;\n\nconst EditorToolbar: React.FC<EditorToolbarProps> = ({\n disabled = false,\n labels,\n onSelect,\n onInsertVariablePlaceholder,\n onVariableSearchToggle,\n onVariableSearchClose,\n onInsertConfirmOutput,\n // onInsertLink,\n onInsertButton,\n onInsertSingleChoice,\n onInsertMultiChoice,\n onInsertInputField,\n variableSearchActive = false,\n rightSlot,\n}) => {\n const handleAddVariable = useCallback(() => {\n if (disabled) {\n return;\n }\n onVariableSearchClose?.();\n onInsertVariablePlaceholder?.();\n }, [disabled, onInsertVariablePlaceholder, onVariableSearchClose]);\n\n const handleSearchToggle = useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n if (disabled) {\n return;\n }\n onVariableSearchToggle?.(event.currentTarget);\n },\n [disabled, onVariableSearchToggle]\n );\n\n const handleConfirmOutput = useCallback(() => {\n if (disabled) {\n return;\n }\n onInsertConfirmOutput?.();\n }, [disabled, onInsertConfirmOutput]);\n\n // const handleInsertLink = useCallback(() => {\n // if (disabled) {\n // return;\n // }\n // onInsertLink?.();\n // }, [disabled, onInsertLink]);\n\n const handleInsertButton = useCallback(() => {\n if (disabled) {\n return;\n }\n onInsertButton?.();\n }, [disabled, onInsertButton]);\n\n const handleInsertSingleChoice = useCallback(() => {\n if (disabled) {\n return;\n }\n onInsertSingleChoice?.();\n }, [disabled, onInsertSingleChoice]);\n\n const handleInsertMultiChoice = useCallback(() => {\n if (disabled) {\n return;\n }\n onInsertMultiChoice?.();\n }, [disabled, onInsertMultiChoice]);\n\n const handleInsertInputField = useCallback(() => {\n if (disabled) {\n return;\n }\n onInsertInputField?.();\n }, [disabled, onInsertInputField]);\n\n return (\n <TooltipProvider delayDuration={150}>\n <div className=\"markdown-flow-editor-toolbar\" aria-disabled={disabled}>\n <div className=\"markdown-flow-editor-toolbar-left\">\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n disabled={disabled}\n onClick={handleAddVariable}\n >\n <Braces strokeWidth={1.75} size={ICON_SIZE} />\n </button>\n </TooltipTrigger>\n <TooltipContent side=\"top\">\n {labels.addVariable ?? \"\"}\n </TooltipContent>\n </Tooltip>\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n disabled={disabled}\n onClick={handleSearchToggle}\n data-active={\n !disabled && variableSearchActive ? \"true\" : undefined\n }\n aria-label={labels.search}\n title={labels.search}\n >\n <SearchBracesIcon strokeWidth={1.75} size={ICON_SIZE} />\n </button>\n </TooltipTrigger>\n <TooltipContent side=\"top\">{labels.search ?? \"\"}</TooltipContent>\n </Tooltip>\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n disabled={disabled}\n onClick={handleInsertSingleChoice}\n aria-label={labels.insertSingleChoice}\n title={labels.insertSingleChoice}\n >\n <CircleCheck strokeWidth={1.75} size={ICON_SIZE} />\n </button>\n </TooltipTrigger>\n <TooltipContent side=\"top\">\n {labels.insertSingleChoice ?? \"\"}\n </TooltipContent>\n </Tooltip>\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n disabled={disabled}\n onClick={handleInsertMultiChoice}\n aria-label={labels.insertMultiChoice}\n title={labels.insertMultiChoice}\n >\n <SquareCheck strokeWidth={1.75} size={ICON_SIZE} />\n </button>\n </TooltipTrigger>\n <TooltipContent side=\"top\">\n {labels.insertMultiChoice ?? \"\"}\n </TooltipContent>\n </Tooltip>\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n disabled={disabled}\n onClick={handleInsertInputField}\n aria-label={labels.insertInput}\n title={labels.insertInput}\n >\n <TextCursorInput strokeWidth={1.75} size={ICON_SIZE} />\n </button>\n </TooltipTrigger>\n <TooltipContent side=\"top\">\n {labels.insertInput ?? \"\"}\n </TooltipContent>\n </Tooltip>\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n disabled={disabled}\n onClick={handleInsertButton}\n aria-label={labels.insertButton}\n title={labels.insertButton}\n >\n <ButtonIcon strokeWidth={1.75} size={ICON_SIZE} />\n </button>\n </TooltipTrigger>\n <TooltipContent side=\"top\">\n {labels.insertButton ?? \"\"}\n </TooltipContent>\n </Tooltip>\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n disabled={disabled}\n onClick={handleConfirmOutput}\n aria-label={labels.confirmOutput}\n title={labels.confirmOutput}\n >\n <FileType strokeWidth={1.75} size={ICON_SIZE} />\n </button>\n </TooltipTrigger>\n <TooltipContent side=\"top\">\n {labels.confirmOutput ?? \"\"}\n </TooltipContent>\n </Tooltip>\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n disabled={disabled}\n onClick={() => onSelect(SelectedOption.Image)}\n aria-label={labels.image}\n title={labels.image}\n >\n <ImageIcon strokeWidth={1.75} size={ICON_SIZE} />\n </button>\n </TooltipTrigger>\n <TooltipContent side=\"top\">{labels.image ?? \"\"}</TooltipContent>\n </Tooltip>\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n disabled={disabled}\n onClick={() => onSelect(SelectedOption.Video)}\n aria-label={labels.video}\n title={labels.video}\n >\n <SquarePlay strokeWidth={1.75} size={ICON_SIZE} />\n </button>\n </TooltipTrigger>\n <TooltipContent side=\"top\">{labels.video ?? \"\"}</TooltipContent>\n </Tooltip>\n </div>\n {rightSlot ? (\n <div className=\"markdown-flow-editor-toolbar-right-wrapper\">\n {rightSlot}\n </div>\n ) : null}\n {/* <Tooltip>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n disabled={disabled}\n onClick={handleInsertLink}\n aria-label={labels.insertLink}\n title={labels.insertLink}\n >\n <Link strokeWidth={1.75} size={ICON_SIZE} />\n </button>\n </TooltipTrigger>\n <TooltipContent side=\"top\">\n {labels.insertLink ?? \"\"}\n </TooltipContent>\n </Tooltip> */}\n </div>\n </TooltipProvider>\n );\n};\n\nexport default memo(EditorToolbar);\n"],"names":["ICON_SIZE","EditorToolbar","disabled","labels","onSelect","onInsertVariablePlaceholder","onVariableSearchToggle","onVariableSearchClose","onInsertConfirmOutput","onInsertButton","onInsertSingleChoice","onInsertMultiChoice","onInsertInputField","variableSearchActive","rightSlot","handleAddVariable","useCallback","handleSearchToggle","event","handleConfirmOutput","handleInsertButton","handleInsertSingleChoice","handleInsertMultiChoice","handleInsertInputField","jsx","TooltipProvider","jsxs","Tooltip","TooltipTrigger","Braces","TooltipContent","SearchBracesIcon","CircleCheck","SquareCheck","TextCursorInput","ButtonIcon","FileType","SelectedOption","ImageIcon","SquarePlay","EditorToolbar$1","memo"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EditorToolbar.es.js","sources":["../../../../src/components/MarkdownFlowEditor/components/EditorToolbar.tsx"],"sourcesContent":["import { memo, useCallback } from \"react\";\nimport {\n Braces,\n FileType,\n Image as ImageIcon,\n TextCursorInput,\n // Link,\n SquareCheck,\n SquarePlay,\n CircleCheck,\n} from \"lucide-react\";\nimport { SelectedOption } from \"../types\";\nimport SearchBracesIcon from \"./icons/SearchBracesIcon\";\nimport ButtonIcon from \"./icons/ButtonIcon\";\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"../../ui/tooltip\";\nimport type { MarkdownFlowDirection } from \"../../../lib/locale\";\n\ntype ToolbarLabels = {\n confirmOutput: string | undefined;\n insertLink: string | undefined;\n insertButton: string | undefined;\n insertSingleChoice: string | undefined;\n insertMultiChoice: string | undefined;\n insertInput: string | undefined;\n variable: string;\n image: string;\n video: string;\n addVariable: string;\n search: string;\n};\n\ninterface EditorToolbarProps {\n disabled?: boolean;\n labels: ToolbarLabels;\n tooltipDirection?: MarkdownFlowDirection;\n tooltipLanguage?: string;\n onSelect: (selectedOption: SelectedOption) => void;\n onInsertVariablePlaceholder?: () => void;\n onVariableSearchToggle?: (button: HTMLButtonElement) => void;\n onVariableSearchClose?: () => void;\n onInsertConfirmOutput?: () => void;\n onInsertLink?: () => void;\n onInsertButton?: () => void;\n onInsertSingleChoice?: () => void;\n onInsertMultiChoice?: () => void;\n onInsertInputField?: () => void;\n variableSearchActive?: boolean;\n rightSlot?: React.ReactNode;\n}\n\n/**\n * EditorToolbar renders quick action buttons that mirror the slash commands.\n */\nconst ICON_SIZE = 18;\n\nconst EditorToolbar: React.FC<EditorToolbarProps> = ({\n disabled = false,\n labels,\n tooltipDirection,\n tooltipLanguage,\n onSelect,\n onInsertVariablePlaceholder,\n onVariableSearchToggle,\n onVariableSearchClose,\n onInsertConfirmOutput,\n // onInsertLink,\n onInsertButton,\n onInsertSingleChoice,\n onInsertMultiChoice,\n onInsertInputField,\n variableSearchActive = false,\n rightSlot,\n}) => {\n const handleAddVariable = useCallback(() => {\n if (disabled) {\n return;\n }\n onVariableSearchClose?.();\n onInsertVariablePlaceholder?.();\n }, [disabled, onInsertVariablePlaceholder, onVariableSearchClose]);\n\n const handleSearchToggle = useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n if (disabled) {\n return;\n }\n onVariableSearchToggle?.(event.currentTarget);\n },\n [disabled, onVariableSearchToggle]\n );\n\n const handleConfirmOutput = useCallback(() => {\n if (disabled) {\n return;\n }\n onInsertConfirmOutput?.();\n }, [disabled, onInsertConfirmOutput]);\n\n // const handleInsertLink = useCallback(() => {\n // if (disabled) {\n // return;\n // }\n // onInsertLink?.();\n // }, [disabled, onInsertLink]);\n\n const handleInsertButton = useCallback(() => {\n if (disabled) {\n return;\n }\n onInsertButton?.();\n }, [disabled, onInsertButton]);\n\n const handleInsertSingleChoice = useCallback(() => {\n if (disabled) {\n return;\n }\n onInsertSingleChoice?.();\n }, [disabled, onInsertSingleChoice]);\n\n const handleInsertMultiChoice = useCallback(() => {\n if (disabled) {\n return;\n }\n onInsertMultiChoice?.();\n }, [disabled, onInsertMultiChoice]);\n\n const handleInsertInputField = useCallback(() => {\n if (disabled) {\n return;\n }\n onInsertInputField?.();\n }, [disabled, onInsertInputField]);\n\n const tooltipContentProps = {\n dir: tooltipDirection,\n lang: tooltipLanguage,\n side: \"top\" as const,\n };\n\n return (\n <TooltipProvider delayDuration={150}>\n <div className=\"markdown-flow-editor-toolbar\" aria-disabled={disabled}>\n <div className=\"markdown-flow-editor-toolbar-left\">\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n disabled={disabled}\n onClick={handleAddVariable}\n >\n <Braces strokeWidth={1.75} size={ICON_SIZE} />\n </button>\n </TooltipTrigger>\n <TooltipContent {...tooltipContentProps}>\n {labels.addVariable ?? \"\"}\n </TooltipContent>\n </Tooltip>\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n disabled={disabled}\n onClick={handleSearchToggle}\n data-active={\n !disabled && variableSearchActive ? \"true\" : undefined\n }\n aria-label={labels.search}\n title={labels.search}\n >\n <SearchBracesIcon strokeWidth={1.75} size={ICON_SIZE} />\n </button>\n </TooltipTrigger>\n <TooltipContent {...tooltipContentProps}>\n {labels.search ?? \"\"}\n </TooltipContent>\n </Tooltip>\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n disabled={disabled}\n onClick={handleInsertSingleChoice}\n aria-label={labels.insertSingleChoice}\n title={labels.insertSingleChoice}\n >\n <CircleCheck strokeWidth={1.75} size={ICON_SIZE} />\n </button>\n </TooltipTrigger>\n <TooltipContent {...tooltipContentProps}>\n {labels.insertSingleChoice ?? \"\"}\n </TooltipContent>\n </Tooltip>\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n disabled={disabled}\n onClick={handleInsertMultiChoice}\n aria-label={labels.insertMultiChoice}\n title={labels.insertMultiChoice}\n >\n <SquareCheck strokeWidth={1.75} size={ICON_SIZE} />\n </button>\n </TooltipTrigger>\n <TooltipContent {...tooltipContentProps}>\n {labels.insertMultiChoice ?? \"\"}\n </TooltipContent>\n </Tooltip>\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n disabled={disabled}\n onClick={handleInsertInputField}\n aria-label={labels.insertInput}\n title={labels.insertInput}\n >\n <TextCursorInput strokeWidth={1.75} size={ICON_SIZE} />\n </button>\n </TooltipTrigger>\n <TooltipContent {...tooltipContentProps}>\n {labels.insertInput ?? \"\"}\n </TooltipContent>\n </Tooltip>\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n disabled={disabled}\n onClick={handleInsertButton}\n aria-label={labels.insertButton}\n title={labels.insertButton}\n >\n <ButtonIcon strokeWidth={1.75} size={ICON_SIZE} />\n </button>\n </TooltipTrigger>\n <TooltipContent {...tooltipContentProps}>\n {labels.insertButton ?? \"\"}\n </TooltipContent>\n </Tooltip>\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n disabled={disabled}\n onClick={handleConfirmOutput}\n aria-label={labels.confirmOutput}\n title={labels.confirmOutput}\n >\n <FileType strokeWidth={1.75} size={ICON_SIZE} />\n </button>\n </TooltipTrigger>\n <TooltipContent {...tooltipContentProps}>\n {labels.confirmOutput ?? \"\"}\n </TooltipContent>\n </Tooltip>\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n disabled={disabled}\n onClick={() => onSelect(SelectedOption.Image)}\n aria-label={labels.image}\n title={labels.image}\n >\n <ImageIcon strokeWidth={1.75} size={ICON_SIZE} />\n </button>\n </TooltipTrigger>\n <TooltipContent {...tooltipContentProps}>\n {labels.image ?? \"\"}\n </TooltipContent>\n </Tooltip>\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n disabled={disabled}\n onClick={() => onSelect(SelectedOption.Video)}\n aria-label={labels.video}\n title={labels.video}\n >\n <SquarePlay strokeWidth={1.75} size={ICON_SIZE} />\n </button>\n </TooltipTrigger>\n <TooltipContent {...tooltipContentProps}>\n {labels.video ?? \"\"}\n </TooltipContent>\n </Tooltip>\n </div>\n {rightSlot ? (\n <div className=\"markdown-flow-editor-toolbar-right-wrapper\">\n {rightSlot}\n </div>\n ) : null}\n {/* <Tooltip>\n <TooltipTrigger asChild>\n <button\n type=\"button\"\n disabled={disabled}\n onClick={handleInsertLink}\n aria-label={labels.insertLink}\n title={labels.insertLink}\n >\n <Link strokeWidth={1.75} size={ICON_SIZE} />\n </button>\n </TooltipTrigger>\n <TooltipContent side=\"top\">\n {labels.insertLink ?? \"\"}\n </TooltipContent>\n </Tooltip> */}\n </div>\n </TooltipProvider>\n );\n};\n\nexport default memo(EditorToolbar);\n"],"names":["ICON_SIZE","EditorToolbar","disabled","labels","tooltipDirection","tooltipLanguage","onSelect","onInsertVariablePlaceholder","onVariableSearchToggle","onVariableSearchClose","onInsertConfirmOutput","onInsertButton","onInsertSingleChoice","onInsertMultiChoice","onInsertInputField","variableSearchActive","rightSlot","handleAddVariable","useCallback","handleSearchToggle","event","handleConfirmOutput","handleInsertButton","handleInsertSingleChoice","handleInsertMultiChoice","handleInsertInputField","tooltipContentProps","jsx","TooltipProvider","jsxs","Tooltip","TooltipTrigger","Braces","TooltipContent","SearchBracesIcon","CircleCheck","SquareCheck","TextCursorInput","ButtonIcon","FileType","SelectedOption","ImageIcon","SquarePlay","EditorToolbar$1","memo"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("react/jsx-runtime"),o=require("react"),S=require("../../ui/button.cjs"),w=require("../../ui/input.cjs"),X=require("../editor-context.cjs"),q=require("../utils/image.cjs"),Y=require("../../../node_modules/react-i18next/dist/es/useTranslation.cjs"),Z=require("../../../node_modules/lucide-react/dist/esm/icons/loader-circle.cjs"),E=require("../../../node_modules/lucide-react/dist/esm/icons/upload.cjs"),B=o.forwardRef(({value:c,onSelect:O,uploadProps:r},k)=>{const{t:n}=Y.useTranslation(),{setDialogOpen:T}=o.useContext(X.default),[l,m]=o.useState({resourceUrl:c?.resourceUrl??"",resourceTitle:c?.resourceTitle??"",scalePercent:c?.scalePercent??100}),[p,h]=o.useState(!!c?.resourceUrl),[f,y]=o.useState(c?.resourceUrl??""),[C,b]=o.useState(c?.scalePercent??100),[I,R]=o.useState(c?.scalePercent!==void 0?String(c.scalePercent):"100"),[v,g]=o.useState(""),[N,d]=o.useState("idle"),u=N==="loading";o.useEffect(()=>{if(c?.resourceUrl){m(t=>({...t,resourceUrl:c.resourceUrl??"",resourceTitle:c.resourceTitle??t.resourceTitle??"",scalePercent:c.scalePercent??t.scalePercent??100})),y(c.resourceUrl??"");const e=c.scalePercent!==void 0?c.scalePercent:100;b(e),R(c.scalePercent!==void 0?String(c.scalePercent):String(e)),h(!0)}d("idle")},[c]);const M=()=>{u||T(!1)},L=(e,t)=>{const a=q.sanitizeImageUrl(e);m({resourceUrl:a,resourceTitle:t||l.resourceTitle||n("imageDefaultTitle"),scalePercent:C}),y(a),h(!0),g(""),N==="loading"&&d("success")},V=()=>{u||l.resourceUrl&&(O({resourceUrl:l.resourceUrl,resourceTitle:l.resourceTitle||n("imageDefaultTitle","Image name"),scalePercent:C}),T(!1))},P=e=>{const t=e.target.value.trim();y(t),h(!1),g("")},z=e=>{m(t=>({...t,resourceTitle:e.target.value}))},_=e=>{const t=e.target.value.replace(/[^\d]/g,"");if(R(t),!t){b(void 0),m(i=>({...i,scalePercent:void 0}));return}const a=Math.max(1,Math.min(1e3,Number(t)));b(a),m(i=>({...i,scalePercent:a}))},A=()=>{if(!u){if(d("idle"),!f){g(n("imageUrlRequired","Please enter image URL"));return}if(!q.isValidImageUrl(f)){g(n("imageInvalidUrl","Please enter a valid image URL"));return}if(L(f),!l.resourceTitle&&f)try{const e=new URL(f),t=decodeURIComponent(e.pathname.split("/").filter(Boolean).pop()??"");t&&m(a=>({...a,resourceTitle:t}))}catch(e){console.error(e)}}},U=(e,t)=>{d("success"),L(e,t)},x=(e,t)=>{const a=e?.message||n("imageUploadError","Upload failed, please retry");g(a),d("error"),h(!!l.resourceUrl),r?.onError?.(e,t)},$=async e=>{const t={file:e,filename:r?.name,data:typeof r?.data=="function"?await r.data(e):r?.data,headers:r?.headers,withCredentials:r?.withCredentials,action:typeof r?.action=="function"?await r.action(e):r?.action,onProgress:a=>r?.onProgress?.(a,e),onError:a=>x(a,e),onSuccess:a=>{r?.onSuccess?.(a,e);const i=typeof a=="string"?a:a?.url??a?.data?.url;i?U(i,e.name):x(new Error("INVALID_RESPONSE"),e)}};r?.customRequest?.(t)},G=async e=>{const t=typeof r?.action=="function"?await r.action(e):r?.action;if(!t){U(URL.createObjectURL(e),e.name);return}try{const a=new FormData;a.append(r?.name??"file",e);const i=typeof r?.data=="function"?await r.data(e):r?.data;i&&Object.entries(i).forEach(([Q,W])=>{a.append(Q,W)});const j=await(await fetch(t,{method:"POST",body:a,headers:r?.headers,credentials:r?.withCredentials?"include":"same-origin"})).json();r?.onSuccess?.(j,e);const D=typeof j=="string"?j:j?.data;D?U(D,e.name):x(new Error("INVALID_RESPONSE"),e)}catch(a){x(a,e)}},H=async e=>{try{g("");let t=e;if(r?.beforeUpload&&(t=await r.beforeUpload(e),t===!1))return;t instanceof Blob&&!(t instanceof File)&&(t=new File([t],e.name,{type:t.type||e.type}));const a=t instanceof File?t:e;if(d("loading"),h(!1),r?.customRequest){await $(a);return}if(r?.action){await G(a);return}const i=URL.createObjectURL(a);U(i,a.name),r?.onSuccess?.({url:i},a)}catch(t){d("error"),x(t,e)}},J=async e=>{const t=e.target.files?.[0];t&&(await H(t),e.target.value="")},K=o.useMemo(()=>s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(w.Input,{type:"text",value:I,onChange:_,className:"w-24",inputMode:"numeric",pattern:"[0-9]*"}),s.jsx("span",{children:"%"})]}),[I]);return s.jsxs("div",{ref:k,className:"space-y-6",children:[s.jsxs("div",{className:"space-y-2",children:[s.jsx("label",{className:"text-sm font-medium text-foreground",children:n("imageUrlLabel","URL")}),s.jsxs("div",{className:"flex gap-2",children:[s.jsx(w.Input,{type:"text",placeholder:n("imageUrlPlaceholder","Please enter image URL"),dir:"ltr",value:f,onChange:P,autoComplete:"off"}),s.jsx(S.Button,{className:"h-8",variant:"outline",type:"button",onClick:A,children:n("imageRunButton","Preview")})]})]}),s.jsxs("div",{className:"space-y-2",children:[s.jsx("label",{className:"text-sm font-medium text-foreground",children:n("imageUploadLabel","Upload")}),s.jsxs("label",{className:`relative group flex h-48 w-full flex-col items-center justify-center overflow-hidden rounded-lg border border-dashed transition-colors ${p?"bg-muted/40":"bg-muted/10"} ${u?"cursor-wait opacity-80 pointer-events-none":"cursor-pointer"}`,children:[u&&s.jsxs("div",{className:"absolute inset-0 z-10 flex flex-col items-center justify-center gap-2 bg-background/80",children:[s.jsx(Z.default,{className:"h-6 w-6 animate-spin text-primary"}),s.jsx("span",{className:"text-sm text-muted-foreground",children:n("imageUploading","Uploading...")})]}),p&&l.resourceUrl?s.jsxs(s.Fragment,{children:[s.jsx("img",{src:l.resourceUrl,alt:l.resourceTitle||n("imageDefaultTitle"),className:"h-full w-full object-contain"}),!u&&s.jsxs("div",{className:"pointer-events-none absolute inset-0 flex flex-col items-center justify-center gap-2 bg-[#D7D7D7] opacity-0 transition-opacity duration-200 group-hover:opacity-100",children:[s.jsx(E.default,{className:"h-6 w-6",style:{color:"var(--base-muted-foreground, #737373)"}}),s.jsx("span",{className:"text-sm",style:{color:"var(--base-muted-foreground, #737373)"},children:n("imageUploadPlaceholder","Drag files or click to upload")})]})]}):s.jsxs("div",{className:"flex flex-col items-center gap-2 text-sm text-muted-foreground",children:[s.jsx(E.default,{className:"h-6 w-6"}),s.jsx("span",{children:n("imageUploadPlaceholder","Drag files or click to upload")})]}),s.jsx("input",{type:"file",accept:"image/*",className:"hidden",disabled:u,onChange:J})]}),N==="success"&&s.jsx("p",{className:"text-xs text-muted-foreground",children:n("imageUploadSuccess","Upload complete")})]}),p&&l.resourceUrl&&s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"space-y-2",children:[s.jsx("label",{className:"text-sm font-medium text-foreground",children:n("imageTitleLabel","Image Title")}),s.jsx(w.Input,{type:"text",placeholder:n("imageTitlePlaceholder","Please enter image title"),value:l.resourceTitle||"",onChange:z})]}),s.jsxs("div",{className:"space-y-2",children:[s.jsx("label",{className:"text-sm font-medium text-foreground",children:n("imageScaleLabel","Scale")}),K]})]}),!!v&&s.jsx("p",{className:"text-xs text-destructive",children:v}),s.jsxs("div",{className:"flex justify-end gap-2",children:[s.jsx(S.Button,{type:"button",variant:"outline",onClick:M,disabled:u,children:n("imageCancelButton","Cancel")}),s.jsx(S.Button,{className:"h-8",onClick:V,disabled:!l?.resourceUrl||u,children:n("imageUseButton","Use Image")})]})]})});B.displayName="ImageInject";exports.default=B;
|
|
2
2
|
//# sourceMappingURL=ImageInject.cjs.map
|