@pstdio/ui 0.25.0 → 0.35.0
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 +8 -1
- package/dist/EquationComponent-DDd5UoIP.js +65 -0
- package/dist/EquationComponent-DDd5UoIP.js.map +1 -0
- package/dist/MermaidComponent-DGDnQ6pb.js +90 -0
- package/dist/MermaidComponent-DGDnQ6pb.js.map +1 -0
- package/dist/browser-storage-C_ipoNwP.js +37 -0
- package/dist/browser-storage-C_ipoNwP.js.map +1 -0
- package/dist/chat-ui.d.ts +688 -2
- package/dist/chat-ui.js +3272 -2763
- package/dist/chat-ui.js.map +1 -1
- package/dist/data-table-stats-row-DNJG8tLZ.js +415 -0
- package/dist/data-table-stats-row-DNJG8tLZ.js.map +1 -0
- package/dist/data-table.d.ts +143 -2
- package/dist/data-table.js +1216 -1188
- package/dist/data-table.js.map +1 -1
- package/dist/diff-bubble-DZsarmSG.js +61 -0
- package/dist/diff-bubble-DZsarmSG.js.map +1 -0
- package/dist/diff-drawer-45rpk3aq.js +776 -0
- package/dist/diff-drawer-45rpk3aq.js.map +1 -0
- package/dist/diff-editor-CGpeyoCE.js +124 -0
- package/dist/diff-editor-CGpeyoCE.js.map +1 -0
- package/dist/diff-size-Dydn_Uw5.js +61 -0
- package/dist/diff-size-Dydn_Uw5.js.map +1 -0
- package/dist/diff-viewer-hGkaF_zW.js +558 -0
- package/dist/diff-viewer-hGkaF_zW.js.map +1 -0
- package/dist/diff.d.ts +128 -2
- package/dist/diff.js +163 -1300
- package/dist/diff.js.map +1 -1
- package/dist/empty-state-3mVV_pV-.js +38 -0
- package/dist/empty-state-3mVV_pV-.js.map +1 -0
- package/dist/file-change-badge-0QFNv82B.js +64 -0
- package/dist/file-change-badge-0QFNv82B.js.map +1 -0
- package/dist/index-BfFLdci8.d.ts +189 -0
- package/dist/index-Dd6e8lU_.d.ts +61 -0
- package/dist/index-DlmvvQ6x.d.ts +143 -0
- package/dist/index.d.ts +1508 -41
- package/dist/index.js +3167 -3173
- package/dist/index.js.map +1 -1
- package/dist/kanban-renderer.d.ts +337 -2
- package/dist/kanban-renderer.js +1413 -1084
- package/dist/kanban-renderer.js.map +1 -1
- package/dist/list-row-De9R2zKU.js +1008 -0
- package/dist/list-row-De9R2zKU.js.map +1 -0
- package/dist/mermaid-renderer-DImi0fDp.js +553 -0
- package/dist/mermaid-renderer-DImi0fDp.js.map +1 -0
- package/dist/mermaid.d.ts +12 -2
- package/dist/mermaid.js +2 -5
- package/dist/monaco-browser-CLRPSE4-.js +14 -0
- package/dist/monaco-browser-CLRPSE4-.js.map +1 -0
- package/dist/param-editor-IJzw1cA2.js +225 -0
- package/dist/param-editor-IJzw1cA2.js.map +1 -0
- package/dist/param-editor-field-DscIjv8s.js +2368 -0
- package/dist/param-editor-field-DscIjv8s.js.map +1 -0
- package/dist/param-editor.d.ts +407 -0
- package/dist/param-editor.js +3 -0
- package/dist/prism-pSHJejZx.js +646 -0
- package/dist/prism-pSHJejZx.js.map +1 -0
- package/dist/radio-CiFrDN6O.js +54 -0
- package/dist/radio-CiFrDN6O.js.map +1 -0
- package/dist/resource-badge-95WPVlZf.d.ts +76 -0
- package/dist/rich-text-DtQpHBlX.js +7018 -0
- package/dist/rich-text-DtQpHBlX.js.map +1 -0
- package/dist/rich-text.d.ts +3 -2
- package/dist/rich-text.js +2 -265
- package/dist/rolldown-runtime-Dy4uBu1J.js +11 -0
- package/dist/scroll-area-Cr1lNXAr.js +100 -0
- package/dist/scroll-area-Cr1lNXAr.js.map +1 -0
- package/dist/slider-hwHYe98I.js +423 -0
- package/dist/slider-hwHYe98I.js.map +1 -0
- package/dist/style.css +2 -1
- package/dist/terminal.d.ts +203 -2
- package/dist/terminal.js +324 -357
- package/dist/terminal.js.map +1 -1
- package/dist/theme-kSkOHzbV.js +2852 -0
- package/dist/theme-kSkOHzbV.js.map +1 -0
- package/dist/theme-preference-pzfuK5cH.js +101 -0
- package/dist/theme-preference-pzfuK5cH.js.map +1 -0
- package/dist/theme.d.ts +3 -2
- package/dist/theme.js +2 -15
- package/dist/tree-list-BUfDQz3v.js +1449 -0
- package/dist/tree-list-BUfDQz3v.js.map +1 -0
- package/dist/types-yjKBk07w.d.ts +161 -0
- package/dist/workspace-badge-9g78pXHS.js +245 -0
- package/dist/workspace-badge-9g78pXHS.js.map +1 -0
- package/dist/workspace-badge-CkJ_jTQw.d.ts +75 -0
- package/dist-monaco/assets/codicon-ngg6Pgfi.ttf +0 -0
- package/dist-monaco/assets/css.worker-DFdt6_zu.js +89 -0
- package/dist-monaco/assets/editor.worker-O-CH8JUO.js +26 -0
- package/dist-monaco/assets/html.worker-JUzsMP-j.js +502 -0
- package/dist-monaco/assets/json.worker-B4dEhy0e.js +58 -0
- package/dist-monaco/assets/ts.worker-CmEKzkmF.js +67734 -0
- package/dist-monaco/monaco.css +1 -0
- package/dist-monaco/monaco.js +1201 -0
- package/package.json +30 -12
- package/dist/EquationComponent-DeDYHvqY.js +0 -62
- package/dist/EquationComponent-DeDYHvqY.js.map +0 -1
- package/dist/MermaidComponent-BVdDqDRU.js +0 -60
- package/dist/MermaidComponent-BVdDqDRU.js.map +0 -1
- package/dist/browser-storage-DPtOQJx0.js +0 -127
- package/dist/browser-storage-DPtOQJx0.js.map +0 -1
- package/dist/components/activity/activity-avatar.d.ts +0 -9
- package/dist/components/activity/activity-comment.d.ts +0 -27
- package/dist/components/activity/activity-composer.d.ts +0 -18
- package/dist/components/activity/activity-event.d.ts +0 -12
- package/dist/components/activity/activity-root.d.ts +0 -15
- package/dist/components/activity/activity-timeline.d.ts +0 -6
- package/dist/components/activity/activity.types.d.ts +0 -5
- package/dist/components/activity/index.d.ts +0 -27
- package/dist/components/activity/resource-activity-feed.d.ts +0 -58
- package/dist/components/chat-ui/components/ai-conversation.d.ts +0 -603
- package/dist/components/chat-ui/components/ai-message.d.ts +0 -91
- package/dist/components/chat-ui/components/ai-response.d.ts +0 -5
- package/dist/components/chat-ui/components/approval-prompt.d.ts +0 -8
- package/dist/components/chat-ui/components/attachment-list.d.ts +0 -23
- package/dist/components/chat-ui/components/auto-scroll.d.ts +0 -37
- package/dist/components/chat-ui/components/chat-input-actions.d.ts +0 -13
- package/dist/components/chat-ui/components/chat-input-attachments.d.ts +0 -12
- package/dist/components/chat-ui/components/chat-input-question-prompt.d.ts +0 -36
- package/dist/components/chat-ui/components/chat-input.d.ts +0 -31
- package/dist/components/chat-ui/components/chat-message-animation.d.ts +0 -22
- package/dist/components/chat-ui/components/chat-message-list-items.d.ts +0 -17
- package/dist/components/chat-ui/components/chat-message-list.d.ts +0 -12
- package/dist/components/chat-ui/components/chat-panel-sticky-user-message.d.ts +0 -13
- package/dist/components/chat-ui/components/chat-panel.d.ts +0 -45
- package/dist/components/chat-ui/components/chat-skeleton.d.ts +0 -1
- package/dist/components/chat-ui/components/composer-constants.d.ts +0 -1
- package/dist/components/chat-ui/components/conversation-browse.d.ts +0 -22
- package/dist/components/chat-ui/components/message-action-panel.d.ts +0 -10
- package/dist/components/chat-ui/components/message-parts-renderer.d.ts +0 -13
- package/dist/components/chat-ui/components/message-types.d.ts +0 -116
- package/dist/components/chat-ui/components/model-swap-separator.d.ts +0 -5
- package/dist/components/chat-ui/components/queued-follow-up-list-state.d.ts +0 -4
- package/dist/components/chat-ui/components/queued-follow-up-list.d.ts +0 -11
- package/dist/components/chat-ui/components/send-button.d.ts +0 -7
- package/dist/components/chat-ui/components/timeline-title.d.ts +0 -6
- package/dist/components/chat-ui/components/timeline-tool-blocks.d.ts +0 -14
- package/dist/components/chat-ui/components/timeline.d.ts +0 -113
- package/dist/components/chat-ui/components/tool-invocation-timeline.d.ts +0 -8
- package/dist/components/chat-ui/components/working-indicator.d.ts +0 -9
- package/dist/components/chat-ui/components/workspace-hub.d.ts +0 -19
- package/dist/components/chat-ui/index.d.ts +0 -19
- package/dist/components/chat-ui/mocks/library/index.d.ts +0 -10
- package/dist/components/chat-ui/performance/chat-mount-metrics.d.ts +0 -37
- package/dist/components/chat-ui/performance/chat-panel.perf.d.ts +0 -18
- package/dist/components/chat-ui/performance/chat-performance-fixtures.d.ts +0 -28
- package/dist/components/chat-ui/performance/chat-performance-panel.d.ts +0 -23
- package/dist/components/chat-ui/performance/chat-performance-story-utils.d.ts +0 -30
- package/dist/components/chat-ui/tool-rendering/apply-patch-renderer.d.ts +0 -2
- package/dist/components/chat-ui/tool-rendering/build-timeline.d.ts +0 -13
- package/dist/components/chat-ui/tool-rendering/default-renderers.d.ts +0 -13
- package/dist/components/chat-ui/tool-rendering/edit-renderer.d.ts +0 -2
- package/dist/components/chat-ui/tool-rendering/index.d.ts +0 -3
- package/dist/components/chat-ui/tool-rendering/question-prompt.d.ts +0 -9
- package/dist/components/chat-ui/tool-rendering/question-renderer.d.ts +0 -10
- package/dist/components/chat-ui/tool-rendering/shared.d.ts +0 -53
- package/dist/components/chat-ui/tool-rendering/standard-renderers.d.ts +0 -7
- package/dist/components/chat-ui/tool-rendering/todowrite-renderer.d.ts +0 -10
- package/dist/components/chat-ui/tool-rendering/types.d.ts +0 -12
- package/dist/components/chat-ui/utils/diff.d.ts +0 -21
- package/dist/components/chat-ui/utils/editor-state.d.ts +0 -1
- package/dist/components/chat-ui/utils/get-icon.d.ts +0 -36
- package/dist/components/chat-ui/utils/tool-name.d.ts +0 -2
- package/dist/components/command-palette/index.d.ts +0 -4
- package/dist/components/command-palette/palette-filter.d.ts +0 -23
- package/dist/components/command-palette/palette-list.d.ts +0 -11
- package/dist/components/command-palette/palette-shortcut.d.ts +0 -12
- package/dist/components/command-palette/palette.d.ts +0 -48
- package/dist/components/data-table/build-columns.d.ts +0 -16
- package/dist/components/data-table/categorical-color-cell.d.ts +0 -8
- package/dist/components/data-table/color-cell-style.d.ts +0 -13
- package/dist/components/data-table/color-scale-cell.d.ts +0 -7
- package/dist/components/data-table/data-table-column-menu.d.ts +0 -17
- package/dist/components/data-table/data-table-header.d.ts +0 -12
- package/dist/components/data-table/data-table-row-display.d.ts +0 -11
- package/dist/components/data-table/data-table-skeleton.d.ts +0 -13
- package/dist/components/data-table/data-table-stat-chart.d.ts +0 -21
- package/dist/components/data-table/data-table-state.d.ts +0 -27
- package/dist/components/data-table/data-table-stats-row.d.ts +0 -11
- package/dist/components/data-table/data-table-stats.d.ts +0 -19
- package/dist/components/data-table/data-table-table-parts.d.ts +0 -22
- package/dist/components/data-table/data-table.d.ts +0 -2
- package/dist/components/data-table/data-table.story-descriptions.d.ts +0 -6
- package/dist/components/data-table/data-table.story-fixtures.d.ts +0 -6
- package/dist/components/data-table/edit-mode-data-table-body.d.ts +0 -30
- package/dist/components/data-table/edit-mode-data-table-cell.d.ts +0 -16
- package/dist/components/data-table/edit-mode-data-table-editors.d.ts +0 -19
- package/dist/components/data-table/edit-mode-data-table-header.d.ts +0 -24
- package/dist/components/data-table/edit-mode-data-table-selection.d.ts +0 -12
- package/dist/components/data-table/edit-mode-data-table.d.ts +0 -2
- package/dist/components/data-table/edit-mode-story.d.ts +0 -5
- package/dist/components/data-table/friendly-json-display.d.ts +0 -31
- package/dist/components/data-table/helpers.d.ts +0 -10
- package/dist/components/data-table/index.d.ts +0 -7
- package/dist/components/data-table/json-cell.d.ts +0 -6
- package/dist/components/data-table/pagination-footer.d.ts +0 -11
- package/dist/components/data-table/selection-toolbar.d.ts +0 -11
- package/dist/components/data-table/types.d.ts +0 -117
- package/dist/components/diff-viewer/build-changed-files-tree.d.ts +0 -4
- package/dist/components/diff-viewer/code-editor.d.ts +0 -43
- package/dist/components/diff-viewer/diff-bubble.d.ts +0 -14
- package/dist/components/diff-viewer/diff-card-body.d.ts +0 -60
- package/dist/components/diff-viewer/diff-card-content.d.ts +0 -23
- package/dist/components/diff-viewer/diff-card-load-state.d.ts +0 -9
- package/dist/components/diff-viewer/diff-card.d.ts +0 -46
- package/dist/components/diff-viewer/diff-drawer-empty-state.d.ts +0 -1
- package/dist/components/diff-viewer/diff-drawer-height.d.ts +0 -10
- package/dist/components/diff-viewer/diff-drawer-scroll.d.ts +0 -28
- package/dist/components/diff-viewer/diff-drawer.d.ts +0 -29
- package/dist/components/diff-viewer/diff-editor.d.ts +0 -20
- package/dist/components/diff-viewer/diff-size.d.ts +0 -16
- package/dist/components/diff-viewer/diff-view-adapter.d.ts +0 -27
- package/dist/components/diff-viewer/diff-viewer-options-menu.d.ts +0 -16
- package/dist/components/diff-viewer/diff-viewer.d.ts +0 -14
- package/dist/components/diff-viewer/diff-viewer.store.d.ts +0 -21
- package/dist/components/diff-viewer/file-change-badge.d.ts +0 -3
- package/dist/components/diff-viewer/file-list-panel.d.ts +0 -18
- package/dist/components/diff-viewer/index.d.ts +0 -9
- package/dist/components/diff-viewer/monaco-browser.d.ts +0 -1
- package/dist/components/diff-viewer/types.d.ts +0 -13
- package/dist/components/diff-viewer/use-selected-diff-scroll.d.ts +0 -23
- package/dist/components/file-browser/column-file-browser.d.ts +0 -20
- package/dist/components/internal/performance-panel.d.ts +0 -40
- package/dist/components/internal/style-guide.d.ts +0 -14
- package/dist/components/internal/token-editor-controls.d.ts +0 -8
- package/dist/components/internal/token-editor-data.d.ts +0 -40
- package/dist/components/internal/token-editor-state.d.ts +0 -22
- package/dist/components/kanban-renderer/collection-badge.d.ts +0 -7
- package/dist/components/kanban-renderer/display-menu.d.ts +0 -16
- package/dist/components/kanban-renderer/filter-menu.d.ts +0 -12
- package/dist/components/kanban-renderer/index.d.ts +0 -19
- package/dist/components/kanban-renderer/kanban-renderer-attribute-badge.d.ts +0 -7
- package/dist/components/kanban-renderer/kanban-renderer-badge-helpers.d.ts +0 -46
- package/dist/components/kanban-renderer/kanban-renderer-board-column-header.d.ts +0 -8
- package/dist/components/kanban-renderer/kanban-renderer-board-group-section.d.ts +0 -17
- package/dist/components/kanban-renderer/kanban-renderer-board-move.d.ts +0 -21
- package/dist/components/kanban-renderer/kanban-renderer-board.d.ts +0 -49
- package/dist/components/kanban-renderer/kanban-renderer-card.d.ts +0 -17
- package/dist/components/kanban-renderer/kanban-renderer-content.d.ts +0 -27
- package/dist/components/kanban-renderer/kanban-renderer-create-dialog.d.ts +0 -12
- package/dist/components/kanban-renderer/kanban-renderer-create-field.d.ts +0 -10
- package/dist/components/kanban-renderer/kanban-renderer-enum-helpers.d.ts +0 -10
- package/dist/components/kanban-renderer/kanban-renderer-grouping.d.ts +0 -23
- package/dist/components/kanban-renderer/kanban-renderer-helpers.d.ts +0 -58
- package/dist/components/kanban-renderer/kanban-renderer-list-items.d.ts +0 -25
- package/dist/components/kanban-renderer/kanban-renderer-list.d.ts +0 -43
- package/dist/components/kanban-renderer/kanban-renderer-story-fixtures.d.ts +0 -14
- package/dist/components/kanban-renderer/kanban-renderer-toolbar.d.ts +0 -15
- package/dist/components/kanban-renderer/kanban-renderer-view-bar.d.ts +0 -14
- package/dist/components/kanban-renderer/kanban-renderer-views.d.ts +0 -12
- package/dist/components/kanban-renderer/kanban-renderer.d.ts +0 -43
- package/dist/components/kanban-renderer/types.d.ts +0 -159
- package/dist/components/kanban-renderer/use-kanban-renderer-store.d.ts +0 -78
- package/dist/components/kanban-renderer/use-resolved-attributes.d.ts +0 -14
- package/dist/components/layout/header.d.ts +0 -7
- package/dist/components/layout/horizontal-menu-stack.d.ts +0 -6
- package/dist/components/layout/index.d.ts +0 -8
- package/dist/components/layout/item-section.d.ts +0 -11
- package/dist/components/layout/panel-header.constants.d.ts +0 -3
- package/dist/components/layout/resizable-split-layout.d.ts +0 -22
- package/dist/components/layout/resizable-split-layout.geometry.d.ts +0 -56
- package/dist/components/layout/resizable-split-layout.handle.d.ts +0 -25
- package/dist/components/layout/resizable-split-layout.panels.d.ts +0 -29
- package/dist/components/layout/resizable-split-layout.root-size.d.ts +0 -3
- package/dist/components/list-row/list-row-actions.d.ts +0 -11
- package/dist/components/list-row/list-row-chrome.d.ts +0 -11
- package/dist/components/list-row/list-row-content.d.ts +0 -17
- package/dist/components/list-row/list-row-menu.d.ts +0 -12
- package/dist/components/list-row/list-row-root-props.d.ts +0 -34
- package/dist/components/list-row/list-row.d.ts +0 -2
- package/dist/components/list-row/list-row.types.d.ts +0 -109
- package/dist/components/list-row/searchable-action-menu.d.ts +0 -6
- package/dist/components/mermaid-renderer/download-png.d.ts +0 -7
- package/dist/components/mermaid-renderer/index.d.ts +0 -2
- package/dist/components/mermaid-renderer/mermaid-error-state.d.ts +0 -6
- package/dist/components/mermaid-renderer/mermaid-fixtures.d.ts +0 -9
- package/dist/components/mermaid-renderer/mermaid-fullscreen.d.ts +0 -10
- package/dist/components/mermaid-renderer/mermaid-renderer.d.ts +0 -8
- package/dist/components/mermaid-renderer/mermaid-svg-view.d.ts +0 -12
- package/dist/components/mermaid-renderer/mermaid-toolbar.d.ts +0 -12
- package/dist/components/mermaid-renderer/mermaid-zoom.d.ts +0 -6
- package/dist/components/mermaid-renderer/svg-data-url.d.ts +0 -6
- package/dist/components/mermaid-renderer/use-mermaid-render.d.ts +0 -5
- package/dist/components/notification-center/index.d.ts +0 -2
- package/dist/components/notification-center/notification-center.d.ts +0 -2
- package/dist/components/notification-center/notification-center.types.d.ts +0 -37
- package/dist/components/overlays/attached-menu.d.ts +0 -6
- package/dist/components/overlays/attached-panel.d.ts +0 -9
- package/dist/components/overlays/attachment-chip.d.ts +0 -13
- package/dist/components/overlays/bubble-button.d.ts +0 -10
- package/dist/components/overlays/bubble-panel.d.ts +0 -18
- package/dist/components/overlays/delete-confirmation-modal.d.ts +0 -13
- package/dist/components/overlays/dialog-accept-shortcut.d.ts +0 -12
- package/dist/components/overlays/index.d.ts +0 -17
- package/dist/components/overlays/repo-picker-dialog.d.ts +0 -25
- package/dist/components/overlays/resource-context-menu.d.ts +0 -35
- package/dist/components/overlays/search-modal-content.d.ts +0 -20
- package/dist/components/overlays/searchable-menu-input.d.ts +0 -9
- package/dist/components/overlays/searchable-menu.d.ts +0 -65
- package/dist/components/param-editor/index.d.ts +0 -31
- package/dist/components/param-editor/inputs/action-input.d.ts +0 -14
- package/dist/components/param-editor/inputs/anchor-grid-input.d.ts +0 -12
- package/dist/components/param-editor/inputs/anchor-grid.d.ts +0 -4
- package/dist/components/param-editor/inputs/boolean-input.d.ts +0 -13
- package/dist/components/param-editor/inputs/color-input.d.ts +0 -14
- package/dist/components/param-editor/inputs/date-input.d.ts +0 -16
- package/dist/components/param-editor/inputs/file-upload-input.d.ts +0 -15
- package/dist/components/param-editor/inputs/file-upload-value.d.ts +0 -7
- package/dist/components/param-editor/inputs/horizontal-text-input.d.ts +0 -13
- package/dist/components/param-editor/inputs/markdown-input.d.ts +0 -13
- package/dist/components/param-editor/inputs/number-input.d.ts +0 -18
- package/dist/components/param-editor/inputs/numeric-value.d.ts +0 -6
- package/dist/components/param-editor/inputs/range-input.d.ts +0 -18
- package/dist/components/param-editor/inputs/range-value.d.ts +0 -5
- package/dist/components/param-editor/inputs/resource-input-chips.d.ts +0 -15
- package/dist/components/param-editor/inputs/resource-input.d.ts +0 -20
- package/dist/components/param-editor/inputs/segmented-input.d.ts +0 -15
- package/dist/components/param-editor/inputs/selection-input.d.ts +0 -27
- package/dist/components/param-editor/inputs/selection-menu.d.ts +0 -39
- package/dist/components/param-editor/inputs/slider-marks.d.ts +0 -5
- package/dist/components/param-editor/inputs/text-input.d.ts +0 -14
- package/dist/components/param-editor/inputs/vector-input.d.ts +0 -17
- package/dist/components/param-editor/inputs/vector-value.d.ts +0 -7
- package/dist/components/param-editor/param-editor-advanced-field.d.ts +0 -14
- package/dist/components/param-editor/param-editor-control-fixtures.d.ts +0 -24
- package/dist/components/param-editor/param-editor-control-item.d.ts +0 -15
- package/dist/components/param-editor/param-editor-control-list.d.ts +0 -5
- package/dist/components/param-editor/param-editor-field-label.d.ts +0 -1
- package/dist/components/param-editor/param-editor-field.d.ts +0 -13
- package/dist/components/param-editor/param-editor-horizontal.d.ts +0 -11
- package/dist/components/param-editor/param-editor-inline-group.d.ts +0 -5
- package/dist/components/param-editor/param-editor-label.d.ts +0 -7
- package/dist/components/param-editor/param-editor-presentation.d.ts +0 -3
- package/dist/components/param-editor/param-editor-read-only-field.d.ts +0 -9
- package/dist/components/param-editor/param-editor-read-only-value.d.ts +0 -8
- package/dist/components/param-editor/param-editor-row.d.ts +0 -17
- package/dist/components/param-editor/param-editor-section.d.ts +0 -17
- package/dist/components/param-editor/param-editor.d.ts +0 -12
- package/dist/components/param-editor/param-editor.types.d.ts +0 -31
- package/dist/components/param-editor/resolve-param-value.d.ts +0 -2
- package/dist/components/primitives/alert.d.ts +0 -9
- package/dist/components/primitives/breadcrumb.d.ts +0 -20
- package/dist/components/primitives/checkbox.d.ts +0 -8
- package/dist/components/primitives/chip.d.ts +0 -4
- package/dist/components/primitives/content-placeholder.d.ts +0 -6
- package/dist/components/primitives/empty-state.d.ts +0 -12
- package/dist/components/primitives/error-boundary.d.ts +0 -26
- package/dist/components/primitives/glyph-icon.d.ts +0 -16
- package/dist/components/primitives/icon-color-picker.d.ts +0 -15
- package/dist/components/primitives/icon-options.d.ts +0 -301
- package/dist/components/primitives/index.d.ts +0 -39
- package/dist/components/primitives/info-card.d.ts +0 -12
- package/dist/components/primitives/integration-card.d.ts +0 -12
- package/dist/components/primitives/number-input.d.ts +0 -6
- package/dist/components/primitives/radio.d.ts +0 -8
- package/dist/components/primitives/resource-badge.d.ts +0 -64
- package/dist/components/primitives/scroll-area.d.ts +0 -17
- package/dist/components/primitives/segmented-control.d.ts +0 -20
- package/dist/components/primitives/session-indicator.d.ts +0 -15
- package/dist/components/primitives/simple-card.d.ts +0 -5
- package/dist/components/primitives/slider.d.ts +0 -5
- package/dist/components/primitives/switch.d.ts +0 -15
- package/dist/components/primitives/tag-swatch.d.ts +0 -10
- package/dist/components/primitives/toaster.d.ts +0 -3
- package/dist/components/primitives/tooltip.d.ts +0 -11
- package/dist/components/primitives/workspace-badge.d.ts +0 -23
- package/dist/components/rich-text/collaborative-markdown-editor/awareness-cursors.d.ts +0 -5
- package/dist/components/rich-text/collaborative-markdown-editor/collaborative-markdown-editor.d.ts +0 -9
- package/dist/components/rich-text/index.d.ts +0 -17
- package/dist/components/rich-text/lazy-markdown-editor.d.ts +0 -2
- package/dist/components/rich-text/markdown-editor/markdown-editor.d.ts +0 -17
- package/dist/components/rich-text/markdown-editor/markdown-table.story-fixture.d.ts +0 -3
- package/dist/components/rich-text/markdown-editor/plugins/MarkdownSectionNavigationPlugin.d.ts +0 -8
- package/dist/components/rich-text/markdown-editor/plugins/MarkdownSlashCommandPlugin.d.ts +0 -1
- package/dist/components/rich-text/markdown-editor/plugins/ReferenceLinkPlugin/ReferenceLinkNode.d.ts +0 -21
- package/dist/components/rich-text/markdown-editor/plugins/ReferenceLinkPlugin/ReferenceLinkTransformer.d.ts +0 -2
- package/dist/components/rich-text/markdown-editor/plugins/ReferenceLinkPlugin/index.d.ts +0 -2
- package/dist/components/rich-text/markdown-editor/plugins/markdown-history-plugin.d.ts +0 -1
- package/dist/components/rich-text/markdown-editor/plugins/markdown-section-navigation.d.ts +0 -20
- package/dist/components/rich-text/prompt-input/commands.d.ts +0 -2
- package/dist/components/rich-text/prompt-input/events.d.ts +0 -2
- package/dist/components/rich-text/prompt-input/plugins/CommentPlugin/CommentPlugin.d.ts +0 -1
- package/dist/components/rich-text/prompt-input/plugins/CommentPlugin/hooks/useCommentCommands.d.ts +0 -3
- package/dist/components/rich-text/prompt-input/plugins/CommentPlugin/hooks/useCommentSchema.d.ts +0 -1
- package/dist/components/rich-text/prompt-input/plugins/CommentPlugin/nodes/CommentNode/CommentNode.d.ts +0 -16
- package/dist/components/rich-text/prompt-input/plugins/ImperativeAPIPlugin.d.ts +0 -7
- package/dist/components/rich-text/prompt-input/plugins/KeyboardShortcutPlugin.d.ts +0 -4
- package/dist/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/ReferenceMenuOption.d.ts +0 -12
- package/dist/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/ReferenceMenuPlugin.d.ts +0 -11
- package/dist/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/components/ReferenceMenu/ReferenceMenu.d.ts +0 -9
- package/dist/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/components/ReferenceMenu/ReferenceMenuItem.d.ts +0 -12
- package/dist/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/constants.d.ts +0 -2
- package/dist/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/hooks/useContextLookup.d.ts +0 -14
- package/dist/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/utils/checkForTriggers.d.ts +0 -9
- package/dist/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/utils/getSortedMenuOptions.d.ts +0 -2
- package/dist/components/rich-text/prompt-input/plugins/ReferencePlugin/ReferencePlugin.d.ts +0 -7
- package/dist/components/rich-text/prompt-input/plugins/ReferencePlugin/nodes/ReferenceNode/ReferenceNode.d.ts +0 -25
- package/dist/components/rich-text/prompt-input/plugins/keyboard-shortcuts.d.ts +0 -9
- package/dist/components/rich-text/prompt-input/prompt-input.d.ts +0 -25
- package/dist/components/rich-text/prompt-input/theme/prompt-input-theme.d.ts +0 -3
- package/dist/components/rich-text/prompt-input/utils.d.ts +0 -22
- package/dist/components/rich-text/rich-message/plugins/ReferenceLinkPlugin/ReferenceLinkNode.d.ts +0 -21
- package/dist/components/rich-text/rich-message/plugins/ReferenceLinkPlugin/ReferenceLinkTransformer.d.ts +0 -2
- package/dist/components/rich-text/rich-message/plugins/ReferenceLinkPlugin/index.d.ts +0 -2
- package/dist/components/rich-text/rich-message/rich-message.d.ts +0 -10
- package/dist/components/rich-text/shared/components/content-editable.d.ts +0 -9
- package/dist/components/rich-text/shared/components/default-rich-text-components.d.ts +0 -3
- package/dist/components/rich-text/shared/editor-config.d.ts +0 -5
- package/dist/components/rich-text/shared/lexical-code.d.ts +0 -2
- package/dist/components/rich-text/shared/markdown-ast.d.ts +0 -7
- package/dist/components/rich-text/shared/markdown-codec.d.ts +0 -3
- package/dist/components/rich-text/shared/markdown-export.d.ts +0 -2
- package/dist/components/rich-text/shared/markdown-import.d.ts +0 -2
- package/dist/components/rich-text/shared/markdown-inline.d.ts +0 -5
- package/dist/components/rich-text/shared/markdown-source-document.d.ts +0 -7
- package/dist/components/rich-text/shared/markdown-source-links.d.ts +0 -11
- package/dist/components/rich-text/shared/markdown-source-map.d.ts +0 -10
- package/dist/components/rich-text/shared/markdown-table.d.ts +0 -41
- package/dist/components/rich-text/shared/markdown-url-context.d.ts +0 -9
- package/dist/components/rich-text/shared/markdown-url.d.ts +0 -3
- package/dist/components/rich-text/shared/nodes/DataTableNode.d.ts +0 -24
- package/dist/components/rich-text/shared/nodes/MarkdownImageNode.d.ts +0 -35
- package/dist/components/rich-text/shared/nodes/MarkdownLinkNode.d.ts +0 -18
- package/dist/components/rich-text/shared/nodes/RawHtmlNode.d.ts +0 -31
- package/dist/components/rich-text/shared/plugins/CodePlugin/CodeBlockActionsPlugin.d.ts +0 -4
- package/dist/components/rich-text/shared/plugins/CodePlugin/CodeBlockPlugin.d.ts +0 -3
- package/dist/components/rich-text/shared/plugins/CodePlugin/CodeHighlightingPlugin.d.ts +0 -1
- package/dist/components/rich-text/shared/plugins/EquationPlugin/EquationComponent.d.ts +0 -6
- package/dist/components/rich-text/shared/plugins/EquationPlugin/EquationNode.d.ts +0 -26
- package/dist/components/rich-text/shared/plugins/EquationPlugin/EquationPlugin.d.ts +0 -4
- package/dist/components/rich-text/shared/plugins/EquationPlugin/KatexRenderer.d.ts +0 -4
- package/dist/components/rich-text/shared/plugins/FloatingTextFormatToolbarPlugin/FloatingTextFormatToolbarPlugin.d.ts +0 -4
- package/dist/components/rich-text/shared/plugins/FloatingTextFormatToolbarPlugin/floating-toolbar-buttons.d.ts +0 -18
- package/dist/components/rich-text/shared/plugins/FloatingTextFormatToolbarPlugin/index.d.ts +0 -1
- package/dist/components/rich-text/shared/plugins/FloatingTextFormatToolbarPlugin/resolve-block-type.d.ts +0 -17
- package/dist/components/rich-text/shared/plugins/FloatingTextFormatToolbarPlugin/should-show-floating-toolbar.d.ts +0 -11
- package/dist/components/rich-text/shared/plugins/HorizontalRulePlugin/HorizontalRuleNode.d.ts +0 -13
- package/dist/components/rich-text/shared/plugins/HorizontalRulePlugin/horizontalRule.d.ts +0 -2
- package/dist/components/rich-text/shared/plugins/LinkEditorPlugin/LinkEditorPlugin.d.ts +0 -4
- package/dist/components/rich-text/shared/plugins/LinkEditorPlugin/LinkPlugin.d.ts +0 -1
- package/dist/components/rich-text/shared/plugins/LinkEditorPlugin/commands.d.ts +0 -2
- package/dist/components/rich-text/shared/plugins/LinkEditorPlugin/index.d.ts +0 -3
- package/dist/components/rich-text/shared/plugins/LinkEditorPlugin/link-editor-content.d.ts +0 -18
- package/dist/components/rich-text/shared/plugins/LinkEditorPlugin/utils/getSelectedNode.d.ts +0 -2
- package/dist/components/rich-text/shared/plugins/LinkEditorPlugin/utils/link-edit-state.d.ts +0 -1
- package/dist/components/rich-text/shared/plugins/LinkEditorPlugin/utils/selection-link-url.d.ts +0 -2
- package/dist/components/rich-text/shared/plugins/LinkEditorPlugin/utils/setFloatingElemPos.d.ts +0 -1
- package/dist/components/rich-text/shared/plugins/LinkEditorPlugin/utils/url.d.ts +0 -2
- package/dist/components/rich-text/shared/plugins/MermaidPlugin/MermaidComponent.d.ts +0 -6
- package/dist/components/rich-text/shared/plugins/MermaidPlugin/MermaidNode.d.ts +0 -23
- package/dist/components/rich-text/shared/plugins/StateUpdatePlugin.d.ts +0 -6
- package/dist/components/rich-text/shared/plugins/ToggleEditablePlugin.d.ts +0 -3
- package/dist/components/rich-text/shared/plugins/TreeViewPlugin/TreeViewPlugin.d.ts +0 -1
- package/dist/components/rich-text/shared/prism-global.d.ts +0 -2
- package/dist/components/rich-text/shared/transformers/markdown-transformers-test-utils.d.ts +0 -3
- package/dist/components/rich-text/shared/transformers/markdown-transformers.d.ts +0 -16
- package/dist/components/rich-text/shared/types/rich-text-components.d.ts +0 -15
- package/dist/components/rich-text/theme/rich-text-theme.d.ts +0 -3
- package/dist/components/rich-text/types.d.ts +0 -8
- package/dist/components/rich-text/utils/inferResourceType.d.ts +0 -1
- package/dist/components/rich-text/utils/markdown.d.ts +0 -5
- package/dist/components/rich-text/utils/mediaType.d.ts +0 -1
- package/dist/components/sidenav/sidenav-footer.d.ts +0 -6
- package/dist/components/sidenav/sidenav-header.d.ts +0 -6
- package/dist/components/sidenav/sidenav.d.ts +0 -2
- package/dist/components/sidenav/sidenav.store.d.ts +0 -49
- package/dist/components/sidenav/sidenav.types.d.ts +0 -31
- package/dist/components/tab-strip/tab-visibility-filter.d.ts +0 -22
- package/dist/components/tab-strip/tab-visibility.store.d.ts +0 -41
- package/dist/components/tab-strip/window-tabs.d.ts +0 -15
- package/dist/components/tab-strip/window-title-bar.d.ts +0 -6
- package/dist/components/tag-editor/index.d.ts +0 -8
- package/dist/components/tag-editor/tag-editor-heading.d.ts +0 -11
- package/dist/components/tag-editor/tag-editor-row.d.ts +0 -20
- package/dist/components/tag-editor/tag-editor-save-bar.d.ts +0 -13
- package/dist/components/tag-editor/tag-editor.d.ts +0 -2
- package/dist/components/tag-editor/tag-editor.types.d.ts +0 -57
- package/dist/components/tag-editor/tag-settings-panel.d.ts +0 -30
- package/dist/components/terminal/bind-session.d.ts +0 -33
- package/dist/components/terminal/index.d.ts +0 -6
- package/dist/components/terminal/scripted-bridge.d.ts +0 -35
- package/dist/components/terminal/terminal-contract.d.ts +0 -22
- package/dist/components/terminal/terminal-theme.d.ts +0 -12
- package/dist/components/terminal/terminal.d.ts +0 -56
- package/dist/components/terminal/types.d.ts +0 -35
- package/dist/components/terminal/use-terminal-session.d.ts +0 -21
- package/dist/components/tree-list/tree-list-background.d.ts +0 -8
- package/dist/components/tree-list/tree-list-drag-provider.d.ts +0 -13
- package/dist/components/tree-list/tree-list-drag.d.ts +0 -7
- package/dist/components/tree-list/tree-list-inline-creation-story.d.ts +0 -3
- package/dist/components/tree-list/tree-list-inline-input.d.ts +0 -9
- package/dist/components/tree-list/tree-list-model.d.ts +0 -58
- package/dist/components/tree-list/tree-list-move-surface.d.ts +0 -7
- package/dist/components/tree-list/tree-list-node-row.d.ts +0 -21
- package/dist/components/tree-list/tree-list-order-filter.d.ts +0 -2
- package/dist/components/tree-list/tree-list-order.store.d.ts +0 -45
- package/dist/components/tree-list/tree-list-reorder.d.ts +0 -24
- package/dist/components/tree-list/tree-list-section-header.d.ts +0 -14
- package/dist/components/tree-list/tree-list-sortable.d.ts +0 -24
- package/dist/components/tree-list/tree-list-visibility-filter.d.ts +0 -24
- package/dist/components/tree-list/tree-list-visibility.store.d.ts +0 -45
- package/dist/components/tree-list/tree-list.d.ts +0 -41
- package/dist/components/tree-list/tree-list.types.d.ts +0 -63
- package/dist/components/tree-list/use-tree-list-keyboard-navigation.d.ts +0 -15
- package/dist/diff-bubble-DvUPRnfB.js +0 -183
- package/dist/diff-bubble-DvUPRnfB.js.map +0 -1
- package/dist/edit-mode-data-table-B8UpWb7i.js +0 -846
- package/dist/edit-mode-data-table-B8UpWb7i.js.map +0 -1
- package/dist/empty-state-Bo4HVrgr.js +0 -34
- package/dist/empty-state-Bo4HVrgr.js.map +0 -1
- package/dist/foundations/gallery/gallery-frame.d.ts +0 -21
- package/dist/foundations/gallery/sections/badges-section.d.ts +0 -1
- package/dist/foundations/gallery/sections/buttons-section.d.ts +0 -1
- package/dist/foundations/gallery/sections/composite-chat-section.d.ts +0 -1
- package/dist/foundations/gallery/sections/composites-section.d.ts +0 -1
- package/dist/foundations/gallery/sections/feedback-section.d.ts +0 -1
- package/dist/foundations/gallery/sections/input-authoring-card.d.ts +0 -1
- package/dist/foundations/gallery/sections/inputs-section.d.ts +0 -1
- package/dist/foundations/gallery/sections/layout-section.d.ts +0 -1
- package/dist/foundations/gallery/sections/navigation-identity-section.d.ts +0 -1
- package/dist/foundations/gallery/sections/overlays-section.d.ts +0 -1
- package/dist/foundations/gallery/sections/panels-section.d.ts +0 -1
- package/dist/foundations/gallery/sections/param-editor-composite-card.d.ts +0 -1
- package/dist/foundations/gallery/sections/settings-composite-cards.d.ts +0 -1
- package/dist/kanban-renderer-toolbar-DzY6THJY.js +0 -1374
- package/dist/kanban-renderer-toolbar-DzY6THJY.js.map +0 -1
- package/dist/lazy-markdown-editor-ClZPZuaU.js +0 -235
- package/dist/lazy-markdown-editor-ClZPZuaU.js.map +0 -1
- package/dist/list-row-BDoV_iMV.js +0 -815
- package/dist/list-row-BDoV_iMV.js.map +0 -1
- package/dist/markdown-editor-CAVqJ9yR.js +0 -1019
- package/dist/markdown-editor-CAVqJ9yR.js.map +0 -1
- package/dist/markdown-gNucAjnF.js +0 -1643
- package/dist/markdown-gNucAjnF.js.map +0 -1
- package/dist/mermaid-renderer-CVnuKs-A.js +0 -425
- package/dist/mermaid-renderer-CVnuKs-A.js.map +0 -1
- package/dist/mermaid.js.map +0 -1
- package/dist/monaco-browser-l82HnffN.js +0 -22
- package/dist/monaco-browser-l82HnffN.js.map +0 -1
- package/dist/param-editor-CTx3mDxQ.js +0 -161
- package/dist/param-editor-CTx3mDxQ.js.map +0 -1
- package/dist/param-editor-field-DteDEyeU.js +0 -2810
- package/dist/param-editor-field-DteDEyeU.js.map +0 -1
- package/dist/prompt-input-DNpRL5tI.js +0 -564
- package/dist/prompt-input-DNpRL5tI.js.map +0 -1
- package/dist/radio-cLMEBBZk.js +0 -76
- package/dist/radio-cLMEBBZk.js.map +0 -1
- package/dist/rich-message-CuPiKxKX.js +0 -78
- package/dist/rich-message-CuPiKxKX.js.map +0 -1
- package/dist/rich-text.js.map +0 -1
- package/dist/test-utils/local-storage.d.ts +0 -1
- package/dist/theme/custom/index.d.ts +0 -2
- package/dist/theme/custom/vscode-theme.d.ts +0 -32
- package/dist/theme/global.d.ts +0 -62
- package/dist/theme/index.d.ts +0 -3
- package/dist/theme/primitives/colors.d.ts +0 -1081
- package/dist/theme/primitives/fonts.d.ts +0 -84
- package/dist/theme/primitives/sizes.d.ts +0 -207
- package/dist/theme/recipes/activity-comment.d.ts +0 -36
- package/dist/theme/recipes/alert.d.ts +0 -1
- package/dist/theme/recipes/badge.d.ts +0 -58
- package/dist/theme/recipes/button.d.ts +0 -188
- package/dist/theme/recipes/color-picker.d.ts +0 -18
- package/dist/theme/recipes/dialog.d.ts +0 -1
- package/dist/theme/recipes/divider.d.ts +0 -1
- package/dist/theme/recipes/drawer.d.ts +0 -1
- package/dist/theme/recipes/editable.d.ts +0 -46
- package/dist/theme/recipes/form.d.ts +0 -1
- package/dist/theme/recipes/input.d.ts +0 -94
- package/dist/theme/recipes/kbd.d.ts +0 -41
- package/dist/theme/recipes/menu.d.ts +0 -1
- package/dist/theme/recipes/number-input.d.ts +0 -98
- package/dist/theme/recipes/popover.d.ts +0 -16
- package/dist/theme/recipes/progress-circle.d.ts +0 -28
- package/dist/theme/recipes/resizable-split-layout.d.ts +0 -106
- package/dist/theme/recipes/segmented-control.d.ts +0 -22
- package/dist/theme/recipes/skeleton.d.ts +0 -1
- package/dist/theme/recipes/switch.d.ts +0 -18
- package/dist/theme/recipes/tabs.d.ts +0 -80
- package/dist/theme/recipes/textarea.d.ts +0 -62
- package/dist/theme/recipes/timeline.d.ts +0 -74
- package/dist/theme/recipes/tooltip.d.ts +0 -1
- package/dist/theme/recipes/window-title-bar.d.ts +0 -19
- package/dist/theme/shadowless-default-config.d.ts +0 -2
- package/dist/theme/theme.d.ts +0 -2
- package/dist/theme/tokens/borders.d.ts +0 -17
- package/dist/theme/tokens/colors-background.d.ts +0 -260
- package/dist/theme/tokens/colors-visualization.d.ts +0 -162
- package/dist/theme/tokens/colors.d.ts +0 -878
- package/dist/theme/tokens/layer-styles.d.ts +0 -1
- package/dist/theme/tokens/text.d.ts +0 -1
- package/dist/theme-Dc7hVvMC.js +0 -3990
- package/dist/theme-Dc7hVvMC.js.map +0 -1
- package/dist/theme-preference-Bpobguh4.js +0 -114
- package/dist/theme-preference-Bpobguh4.js.map +0 -1
- package/dist/theme.js.map +0 -1
- package/dist/tree-list-CZvcg3_6.js +0 -1348
- package/dist/tree-list-CZvcg3_6.js.map +0 -1
- package/dist/utils/apply-file-icon-theme-preference.d.ts +0 -35
- package/dist/utils/apply-theme-preference.d.ts +0 -22
- package/dist/utils/browser-storage.d.ts +0 -7
- package/dist/utils/file-icon-theme-preference.d.ts +0 -15
- package/dist/utils/get-file-type-icon.d.ts +0 -2
- package/dist/utils/prism.d.ts +0 -1
- package/dist/utils/resolve-file-icon-element.d.ts +0 -8
- package/dist/utils/theme-preference.d.ts +0 -20
- package/dist/workspace-badge-BR_GgsAG.js +0 -175
- package/dist/workspace-badge-BR_GgsAG.js.map +0 -1
|
@@ -0,0 +1,553 @@
|
|
|
1
|
+
import { n as e, t } from "./scroll-area-Cr1lNXAr.js";
|
|
2
|
+
import { c as n, r } from "./theme-preference-pzfuK5cH.js";
|
|
3
|
+
import { Box as i, Button as a, Dialog as o, Icon as s, IconButton as c, Portal as l, Stack as u, Text as d } from "@chakra-ui/react";
|
|
4
|
+
import { c as f } from "react/compiler-runtime";
|
|
5
|
+
import { jsx as p, jsxs as m } from "react/jsx-runtime";
|
|
6
|
+
import { useEffect as h, useRef as g, useState as _ } from "react";
|
|
7
|
+
import { Download as v, Maximize2 as y, Minus as b, Pencil as x, Plus as S, X as C } from "lucide-react";
|
|
8
|
+
import w from "mermaid";
|
|
9
|
+
//#region src/components/mermaid-renderer/mermaid-zoom.ts
|
|
10
|
+
var T = .5, E = .25, D = (e) => Number(Math.min(3, Math.max(T, e)).toFixed(2)), O = (e) => D(e + E), k = (e) => D(e - E), A = (e) => {
|
|
11
|
+
if (!e) return 0;
|
|
12
|
+
let t = Number.parseFloat(e);
|
|
13
|
+
return Number.isFinite(t) ? t : 0;
|
|
14
|
+
}, j = (e, t) => e.match(RegExp(`\\s${t}="([^"]+)"`))?.[1], M = (e) => {
|
|
15
|
+
let t = j(e, "viewBox")?.split(/\s+/).map(Number) ?? [], n = t[2] ?? 0, r = t[3] ?? 0;
|
|
16
|
+
return n > 0 && r > 0 ? {
|
|
17
|
+
width: n,
|
|
18
|
+
height: r
|
|
19
|
+
} : {
|
|
20
|
+
width: Math.max(A(j(e, "width")), 1),
|
|
21
|
+
height: Math.max(A(j(e, "height")), 1)
|
|
22
|
+
};
|
|
23
|
+
}, N = (e) => e.replace(/<br(\s[^>]*)?>/g, "<br$1/>"), P = (e) => {
|
|
24
|
+
let { width: t, height: n } = M(e);
|
|
25
|
+
return N(e.replace(/<svg\b[^>]*>/, (e) => {
|
|
26
|
+
let r = /\swidth=/.test(e) ? e.replace(/\swidth="[^"]*"/, ` width="${t}"`) : e.replace("<svg", `<svg width="${t}"`);
|
|
27
|
+
return /\sheight=/.test(r) ? r.replace(/\sheight="[^"]*"/, ` height="${n}"`) : r.replace("<svg", `<svg height="${n}"`);
|
|
28
|
+
}));
|
|
29
|
+
}, F = (e) => {
|
|
30
|
+
let t = new TextEncoder().encode(P(e)), n = "";
|
|
31
|
+
for (let e of t) n += String.fromCharCode(e);
|
|
32
|
+
return `data:image/svg+xml;base64,${btoa(n)}`;
|
|
33
|
+
}, I = (e) => new Promise((t, n) => {
|
|
34
|
+
let r = new Image();
|
|
35
|
+
r.style.position = "fixed", r.style.left = "-10000px", r.style.top = "0", r.style.pointerEvents = "none", r.onload = () => t({
|
|
36
|
+
image: r,
|
|
37
|
+
cleanup: () => r.remove()
|
|
38
|
+
}), r.onerror = () => {
|
|
39
|
+
r.remove(), n(/* @__PURE__ */ Error("Failed to load rendered Mermaid SVG for PNG export."));
|
|
40
|
+
}, document.body.append(r), r.src = e;
|
|
41
|
+
}), L = (e) => new Promise((t, n) => {
|
|
42
|
+
e.toBlob((e) => {
|
|
43
|
+
if (e) {
|
|
44
|
+
t(e);
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
n(/* @__PURE__ */ Error("Failed to encode Mermaid diagram as PNG."));
|
|
48
|
+
}, "image/png");
|
|
49
|
+
}), R = (e, t) => {
|
|
50
|
+
let n = URL.createObjectURL(e), r = document.createElement("a");
|
|
51
|
+
r.href = n, r.download = t, document.body.append(r), r.click(), r.remove(), window.setTimeout(() => URL.revokeObjectURL(n), 0);
|
|
52
|
+
}, z = async (e) => {
|
|
53
|
+
let { svg: t, zoom: n, filename: r = "mermaid-diagram.png" } = e, { image: i, cleanup: a } = await I(F(t));
|
|
54
|
+
try {
|
|
55
|
+
let { width: e, height: a } = M(t), o = D(n), s = document.createElement("canvas");
|
|
56
|
+
s.width = Math.ceil(e * o), s.height = Math.ceil(a * o);
|
|
57
|
+
let c = s.getContext("2d");
|
|
58
|
+
if (!c) throw Error("Canvas rendering is unavailable for Mermaid PNG export.");
|
|
59
|
+
c.scale(o, o), c.drawImage(i, 0, 0, e, a), R(await L(s), r);
|
|
60
|
+
} finally {
|
|
61
|
+
a();
|
|
62
|
+
}
|
|
63
|
+
}, B = (e) => {
|
|
64
|
+
let n = f(9), { code: r, error: a } = e, o;
|
|
65
|
+
n[0] === Symbol.for("react.memo_cache_sentinel") ? (o = /* @__PURE__ */ p(d, {
|
|
66
|
+
color: "fg.error",
|
|
67
|
+
textStyle: "label/S/medium",
|
|
68
|
+
children: "Mermaid parse failed"
|
|
69
|
+
}), n[0] = o) : o = n[0];
|
|
70
|
+
let s;
|
|
71
|
+
n[1] === a ? s = n[2] : (s = /* @__PURE__ */ p(d, {
|
|
72
|
+
color: "fg.muted",
|
|
73
|
+
textStyle: "label/S/regular",
|
|
74
|
+
mt: "2xs",
|
|
75
|
+
whiteSpace: "pre-wrap",
|
|
76
|
+
children: a
|
|
77
|
+
}), n[1] = a, n[2] = s);
|
|
78
|
+
let c;
|
|
79
|
+
n[3] === Symbol.for("react.memo_cache_sentinel") ? (c = { p: "sm" }, n[3] = c) : c = n[3];
|
|
80
|
+
let l;
|
|
81
|
+
n[4] === r ? l = n[5] : (l = /* @__PURE__ */ p(t, {
|
|
82
|
+
mt: "sm",
|
|
83
|
+
borderRadius: "sm",
|
|
84
|
+
bg: "bg.muted",
|
|
85
|
+
showHorizontalScrollbar: !0,
|
|
86
|
+
showVerticalScrollbar: !1,
|
|
87
|
+
contentProps: c,
|
|
88
|
+
children: /* @__PURE__ */ p(i, {
|
|
89
|
+
as: "pre",
|
|
90
|
+
m: "0",
|
|
91
|
+
fontSize: "sm",
|
|
92
|
+
children: r
|
|
93
|
+
})
|
|
94
|
+
}), n[4] = r, n[5] = l);
|
|
95
|
+
let u;
|
|
96
|
+
return n[6] !== s || n[7] !== l ? (u = /* @__PURE__ */ m(i, {
|
|
97
|
+
role: "alert",
|
|
98
|
+
borderRadius: "sm",
|
|
99
|
+
bg: "bg.panel",
|
|
100
|
+
p: "sm",
|
|
101
|
+
children: [
|
|
102
|
+
o,
|
|
103
|
+
s,
|
|
104
|
+
l
|
|
105
|
+
]
|
|
106
|
+
}), n[6] = s, n[7] = l, n[8] = u) : u = n[8], u;
|
|
107
|
+
}, V = (e) => {
|
|
108
|
+
let t = f(24), { children: n, canDownload: r, open: i, onClose: h, onDownload: g } = e, _;
|
|
109
|
+
t[0] === h ? _ = t[1] : (_ = (e) => !e.open && h(), t[0] = h, t[1] = _);
|
|
110
|
+
let y;
|
|
111
|
+
t[2] === Symbol.for("react.memo_cache_sentinel") ? (y = /* @__PURE__ */ p(o.Backdrop, {}), t[2] = y) : y = t[2];
|
|
112
|
+
let b;
|
|
113
|
+
t[3] === Symbol.for("react.memo_cache_sentinel") ? (b = {
|
|
114
|
+
base: "sm",
|
|
115
|
+
md: "lg"
|
|
116
|
+
}, t[3] = b) : b = t[3];
|
|
117
|
+
let x;
|
|
118
|
+
t[4] === Symbol.for("react.memo_cache_sentinel") ? (x = /* @__PURE__ */ p(o.Title, {
|
|
119
|
+
asChild: !0,
|
|
120
|
+
children: /* @__PURE__ */ p(d, {
|
|
121
|
+
textStyle: "heading/S",
|
|
122
|
+
children: "Mermaid diagram"
|
|
123
|
+
})
|
|
124
|
+
}), t[4] = x) : x = t[4];
|
|
125
|
+
let S = !r, w;
|
|
126
|
+
t[5] === Symbol.for("react.memo_cache_sentinel") ? (w = /* @__PURE__ */ p(s, {
|
|
127
|
+
as: v,
|
|
128
|
+
boxSize: "16px"
|
|
129
|
+
}), t[5] = w) : w = t[5];
|
|
130
|
+
let T;
|
|
131
|
+
t[6] !== g || t[7] !== S ? (T = /* @__PURE__ */ m(a, {
|
|
132
|
+
size: "sm",
|
|
133
|
+
variant: "subtle",
|
|
134
|
+
onClick: g,
|
|
135
|
+
disabled: S,
|
|
136
|
+
children: [w, "Download as PNG"]
|
|
137
|
+
}), t[6] = g, t[7] = S, t[8] = T) : T = t[8];
|
|
138
|
+
let E;
|
|
139
|
+
t[9] === Symbol.for("react.memo_cache_sentinel") ? (E = /* @__PURE__ */ p(s, {
|
|
140
|
+
as: C,
|
|
141
|
+
boxSize: "16px"
|
|
142
|
+
}), t[9] = E) : E = t[9];
|
|
143
|
+
let D;
|
|
144
|
+
t[10] === h ? D = t[11] : (D = /* @__PURE__ */ p(c, {
|
|
145
|
+
"aria-label": "Close",
|
|
146
|
+
size: "sm",
|
|
147
|
+
variant: "ghost",
|
|
148
|
+
onClick: h,
|
|
149
|
+
children: E
|
|
150
|
+
}), t[10] = h, t[11] = D);
|
|
151
|
+
let O;
|
|
152
|
+
t[12] !== T || t[13] !== D ? (O = /* @__PURE__ */ p(o.Header, {
|
|
153
|
+
"data-testid": "mermaid-fullscreen-header",
|
|
154
|
+
p: "sm",
|
|
155
|
+
borderBottomWidth: "1px",
|
|
156
|
+
borderColor: "border.subtle",
|
|
157
|
+
children: /* @__PURE__ */ m(u, {
|
|
158
|
+
direction: "row",
|
|
159
|
+
align: "center",
|
|
160
|
+
justify: "space-between",
|
|
161
|
+
width: "100%",
|
|
162
|
+
gap: "sm",
|
|
163
|
+
children: [x, /* @__PURE__ */ m(u, {
|
|
164
|
+
direction: "row",
|
|
165
|
+
align: "center",
|
|
166
|
+
gap: "xs",
|
|
167
|
+
children: [T, D]
|
|
168
|
+
})]
|
|
169
|
+
})
|
|
170
|
+
}), t[12] = T, t[13] = D, t[14] = O) : O = t[14];
|
|
171
|
+
let k;
|
|
172
|
+
t[15] === n ? k = t[16] : (k = /* @__PURE__ */ p(o.Body, {
|
|
173
|
+
"data-testid": "mermaid-fullscreen-body",
|
|
174
|
+
p: "0",
|
|
175
|
+
flex: "1",
|
|
176
|
+
minH: "0",
|
|
177
|
+
children: n
|
|
178
|
+
}), t[15] = n, t[16] = k);
|
|
179
|
+
let A;
|
|
180
|
+
t[17] !== k || t[18] !== O ? (A = /* @__PURE__ */ m(l, { children: [y, /* @__PURE__ */ p(o.Positioner, {
|
|
181
|
+
padding: b,
|
|
182
|
+
children: /* @__PURE__ */ m(o.Content, {
|
|
183
|
+
width: "min(72rem, calc(100vw - 2rem))",
|
|
184
|
+
height: "min(48rem, calc(100dvh - 2rem))",
|
|
185
|
+
maxW: "none",
|
|
186
|
+
borderRadius: "xs",
|
|
187
|
+
overflow: "hidden",
|
|
188
|
+
display: "flex",
|
|
189
|
+
flexDirection: "column",
|
|
190
|
+
children: [O, k]
|
|
191
|
+
})
|
|
192
|
+
})] }), t[17] = k, t[18] = O, t[19] = A) : A = t[19];
|
|
193
|
+
let j;
|
|
194
|
+
return t[20] !== i || t[21] !== _ || t[22] !== A ? (j = /* @__PURE__ */ p(o.Root, {
|
|
195
|
+
lazyMount: !0,
|
|
196
|
+
unmountOnExit: !0,
|
|
197
|
+
open: i,
|
|
198
|
+
onOpenChange: _,
|
|
199
|
+
children: A
|
|
200
|
+
}), t[20] = i, t[21] = _, t[22] = A, t[23] = j) : j = t[23], j;
|
|
201
|
+
}, H = (t) => {
|
|
202
|
+
let n = f(9), { isEditable: r, onRequestEdit: i, onOpenFullscreen: a } = t, o;
|
|
203
|
+
n[0] !== r || n[1] !== i ? (o = r && i ? /* @__PURE__ */ p(e, {
|
|
204
|
+
content: "Edit source",
|
|
205
|
+
children: /* @__PURE__ */ p(c, {
|
|
206
|
+
"aria-label": "Edit",
|
|
207
|
+
size: "xs",
|
|
208
|
+
variant: "subtle",
|
|
209
|
+
onClick: i,
|
|
210
|
+
children: /* @__PURE__ */ p(s, {
|
|
211
|
+
as: x,
|
|
212
|
+
boxSize: "14px"
|
|
213
|
+
})
|
|
214
|
+
})
|
|
215
|
+
}) : null, n[0] = r, n[1] = i, n[2] = o) : o = n[2];
|
|
216
|
+
let l;
|
|
217
|
+
n[3] === Symbol.for("react.memo_cache_sentinel") ? (l = /* @__PURE__ */ p(s, {
|
|
218
|
+
as: y,
|
|
219
|
+
boxSize: "14px"
|
|
220
|
+
}), n[3] = l) : l = n[3];
|
|
221
|
+
let d;
|
|
222
|
+
n[4] === a ? d = n[5] : (d = /* @__PURE__ */ p(e, {
|
|
223
|
+
content: "Open diagram",
|
|
224
|
+
children: /* @__PURE__ */ p(c, {
|
|
225
|
+
"aria-label": "Open diagram",
|
|
226
|
+
size: "xs",
|
|
227
|
+
variant: "subtle",
|
|
228
|
+
onClick: a,
|
|
229
|
+
children: l
|
|
230
|
+
})
|
|
231
|
+
}), n[4] = a, n[5] = d);
|
|
232
|
+
let h;
|
|
233
|
+
return n[6] !== o || n[7] !== d ? (h = /* @__PURE__ */ m(u, {
|
|
234
|
+
"data-testid": "mermaid-inline-toolbar",
|
|
235
|
+
direction: "row",
|
|
236
|
+
justify: "flex-end",
|
|
237
|
+
align: "center",
|
|
238
|
+
gap: "xs",
|
|
239
|
+
position: "absolute",
|
|
240
|
+
top: "sm",
|
|
241
|
+
right: "sm",
|
|
242
|
+
zIndex: "1",
|
|
243
|
+
onPointerDown: W,
|
|
244
|
+
children: [o, d]
|
|
245
|
+
}), n[6] = o, n[7] = d, n[8] = h) : h = n[8], h;
|
|
246
|
+
}, U = (t) => {
|
|
247
|
+
let n = f(17), { zoom: r, onZoomChange: i } = t, a;
|
|
248
|
+
n[0] !== i || n[1] !== r ? (a = () => i(O(r)), n[0] = i, n[1] = r, n[2] = a) : a = n[2];
|
|
249
|
+
let o = r >= 3, l;
|
|
250
|
+
n[3] === Symbol.for("react.memo_cache_sentinel") ? (l = /* @__PURE__ */ p(s, {
|
|
251
|
+
as: S,
|
|
252
|
+
boxSize: "14px"
|
|
253
|
+
}), n[3] = l) : l = n[3];
|
|
254
|
+
let d;
|
|
255
|
+
n[4] !== a || n[5] !== o ? (d = /* @__PURE__ */ p(e, {
|
|
256
|
+
content: "Zoom in",
|
|
257
|
+
children: /* @__PURE__ */ p(c, {
|
|
258
|
+
"aria-label": "Zoom in",
|
|
259
|
+
size: "xs",
|
|
260
|
+
variant: "subtle",
|
|
261
|
+
onClick: a,
|
|
262
|
+
disabled: o,
|
|
263
|
+
children: l
|
|
264
|
+
})
|
|
265
|
+
}), n[4] = a, n[5] = o, n[6] = d) : d = n[6];
|
|
266
|
+
let h;
|
|
267
|
+
n[7] !== i || n[8] !== r ? (h = () => i(k(r)), n[7] = i, n[8] = r, n[9] = h) : h = n[9];
|
|
268
|
+
let g = r <= T, _;
|
|
269
|
+
n[10] === Symbol.for("react.memo_cache_sentinel") ? (_ = /* @__PURE__ */ p(s, {
|
|
270
|
+
as: b,
|
|
271
|
+
boxSize: "14px"
|
|
272
|
+
}), n[10] = _) : _ = n[10];
|
|
273
|
+
let v;
|
|
274
|
+
n[11] !== h || n[12] !== g ? (v = /* @__PURE__ */ p(e, {
|
|
275
|
+
content: "Zoom out",
|
|
276
|
+
children: /* @__PURE__ */ p(c, {
|
|
277
|
+
"aria-label": "Zoom out",
|
|
278
|
+
size: "xs",
|
|
279
|
+
variant: "subtle",
|
|
280
|
+
onClick: h,
|
|
281
|
+
disabled: g,
|
|
282
|
+
children: _
|
|
283
|
+
})
|
|
284
|
+
}), n[11] = h, n[12] = g, n[13] = v) : v = n[13];
|
|
285
|
+
let y;
|
|
286
|
+
return n[14] !== d || n[15] !== v ? (y = /* @__PURE__ */ m(u, {
|
|
287
|
+
"data-testid": "mermaid-zoom-controls",
|
|
288
|
+
gap: "2xs",
|
|
289
|
+
position: "absolute",
|
|
290
|
+
right: "sm",
|
|
291
|
+
bottom: "sm",
|
|
292
|
+
zIndex: "1",
|
|
293
|
+
onPointerDown: G,
|
|
294
|
+
children: [d, v]
|
|
295
|
+
}), n[14] = d, n[15] = v, n[16] = y) : y = n[16], y;
|
|
296
|
+
};
|
|
297
|
+
function W(e) {
|
|
298
|
+
return e.stopPropagation();
|
|
299
|
+
}
|
|
300
|
+
function G(e) {
|
|
301
|
+
return e.stopPropagation();
|
|
302
|
+
}
|
|
303
|
+
//#endregion
|
|
304
|
+
//#region src/components/mermaid-renderer/mermaid-svg-view.tsx
|
|
305
|
+
var K = (e) => {
|
|
306
|
+
let t = f(42), { allowPanAtDefaultZoom: n, maxHeight: r, minHeight: a, overlayActions: o, svg: s, zoom: c, onZoomChange: l } = e, u = n !== void 0 && n, d = r === void 0 ? "420px" : r, v = a === void 0 ? "220px" : a, y;
|
|
307
|
+
t[0] === Symbol.for("react.memo_cache_sentinel") ? (y = {
|
|
308
|
+
x: 0,
|
|
309
|
+
y: 0
|
|
310
|
+
}, t[0] = y) : y = t[0];
|
|
311
|
+
let [b, x] = _(y), [S, C] = _(!1), w;
|
|
312
|
+
t[1] === Symbol.for("react.memo_cache_sentinel") ? (w = {
|
|
313
|
+
pointerId: -1,
|
|
314
|
+
x: 0,
|
|
315
|
+
y: 0
|
|
316
|
+
}, t[1] = w) : w = t[1];
|
|
317
|
+
let T = g(w), E = u || c > 1, D;
|
|
318
|
+
t[2] !== E || t[3] !== b.x || t[4] !== b.y ? (D = (e) => {
|
|
319
|
+
E && (T.current = {
|
|
320
|
+
pointerId: e.pointerId,
|
|
321
|
+
x: e.clientX - b.x,
|
|
322
|
+
y: e.clientY - b.y
|
|
323
|
+
}, C(!0), e.currentTarget.setPointerCapture(e.pointerId));
|
|
324
|
+
}, t[2] = E, t[3] = b.x, t[4] = b.y, t[5] = D) : D = t[5];
|
|
325
|
+
let O = D, k;
|
|
326
|
+
t[6] !== E || t[7] !== S ? (k = (e) => {
|
|
327
|
+
E && S && T.current.pointerId === e.pointerId && x({
|
|
328
|
+
x: e.clientX - T.current.x,
|
|
329
|
+
y: e.clientY - T.current.y
|
|
330
|
+
});
|
|
331
|
+
}, t[6] = E, t[7] = S, t[8] = k) : k = t[8];
|
|
332
|
+
let A = k, j;
|
|
333
|
+
t[9] === E ? j = t[10] : (j = (e) => {
|
|
334
|
+
E && T.current.pointerId === e.pointerId && (C(!1), e.currentTarget.releasePointerCapture(e.pointerId));
|
|
335
|
+
}, t[9] = E, t[10] = j);
|
|
336
|
+
let M = j, N, P;
|
|
337
|
+
t[11] === E ? (N = t[12], P = t[13]) : (N = () => {
|
|
338
|
+
E || (x({
|
|
339
|
+
x: 0,
|
|
340
|
+
y: 0
|
|
341
|
+
}), C(!1));
|
|
342
|
+
}, P = [E], t[11] = E, t[12] = N, t[13] = P), h(N, P);
|
|
343
|
+
let I = E ? S ? "grabbing" : "grab" : "default", L = E ? "none" : "auto", R;
|
|
344
|
+
t[14] === Symbol.for("react.memo_cache_sentinel") ? (R = () => {
|
|
345
|
+
C(!1);
|
|
346
|
+
}, t[14] = R) : R = t[14];
|
|
347
|
+
let z = E ? "true" : "false", B = `translate3d(${b.x}px, ${b.y}px, 0) scale(${c})`, V = E ? S ? "grabbing" : "grab" : "default", H;
|
|
348
|
+
t[15] === d ? H = t[16] : (H = { "& img": {
|
|
349
|
+
display: "inline-block",
|
|
350
|
+
width: "auto",
|
|
351
|
+
maxWidth: "100%",
|
|
352
|
+
maxHeight: d,
|
|
353
|
+
height: "auto",
|
|
354
|
+
userSelect: "none"
|
|
355
|
+
} }, t[15] = d, t[16] = H);
|
|
356
|
+
let W;
|
|
357
|
+
t[17] === s ? W = t[18] : (W = F(s), t[17] = s, t[18] = W);
|
|
358
|
+
let G;
|
|
359
|
+
t[19] === W ? G = t[20] : (G = /* @__PURE__ */ p("img", {
|
|
360
|
+
alt: "Mermaid diagram",
|
|
361
|
+
draggable: !1,
|
|
362
|
+
src: W
|
|
363
|
+
}), t[19] = W, t[20] = G);
|
|
364
|
+
let K;
|
|
365
|
+
t[21] !== d || t[22] !== z || t[23] !== B || t[24] !== V || t[25] !== H || t[26] !== G ? (K = /* @__PURE__ */ p(i, {
|
|
366
|
+
"data-testid": "mermaid-diagram-transform",
|
|
367
|
+
"data-pan-enabled": z,
|
|
368
|
+
width: "100%",
|
|
369
|
+
maxHeight: d,
|
|
370
|
+
textAlign: "center",
|
|
371
|
+
transform: B,
|
|
372
|
+
transformOrigin: "top left",
|
|
373
|
+
cursor: V,
|
|
374
|
+
css: H,
|
|
375
|
+
children: G
|
|
376
|
+
}), t[21] = d, t[22] = z, t[23] = B, t[24] = V, t[25] = H, t[26] = G, t[27] = K) : K = t[27];
|
|
377
|
+
let q;
|
|
378
|
+
t[28] !== l || t[29] !== c ? (q = /* @__PURE__ */ p(U, {
|
|
379
|
+
zoom: c,
|
|
380
|
+
onZoomChange: l
|
|
381
|
+
}), t[28] = l, t[29] = c, t[30] = q) : q = t[30];
|
|
382
|
+
let J;
|
|
383
|
+
return t[31] !== O || t[32] !== A || t[33] !== M || t[34] !== d || t[35] !== v || t[36] !== o || t[37] !== I || t[38] !== L || t[39] !== K || t[40] !== q ? (J = /* @__PURE__ */ m(i, {
|
|
384
|
+
"data-testid": "mermaid-diagram-surface",
|
|
385
|
+
position: "relative",
|
|
386
|
+
minHeight: v,
|
|
387
|
+
maxHeight: d,
|
|
388
|
+
overflow: "hidden",
|
|
389
|
+
cursor: I,
|
|
390
|
+
touchAction: L,
|
|
391
|
+
onPointerDown: O,
|
|
392
|
+
onPointerMove: A,
|
|
393
|
+
onPointerUp: M,
|
|
394
|
+
onPointerCancel: R,
|
|
395
|
+
children: [
|
|
396
|
+
K,
|
|
397
|
+
o,
|
|
398
|
+
q
|
|
399
|
+
]
|
|
400
|
+
}), t[31] = O, t[32] = A, t[33] = M, t[34] = d, t[35] = v, t[36] = o, t[37] = I, t[38] = L, t[39] = K, t[40] = q, t[41] = J) : J = t[41], J;
|
|
401
|
+
}, q = null, J = 0, Y = Promise.resolve(), X = (e) => e === "dark" ? "dark" : "default", Z = (e) => {
|
|
402
|
+
q !== e && (w.initialize({
|
|
403
|
+
startOnLoad: !1,
|
|
404
|
+
htmlLabels: !0,
|
|
405
|
+
flowchart: { htmlLabels: !0 },
|
|
406
|
+
securityLevel: "antiscript",
|
|
407
|
+
theme: X(e)
|
|
408
|
+
}), q = e);
|
|
409
|
+
}, Q = () => (J += 1, `mermaid-${J}`), ee = (e, t) => {
|
|
410
|
+
let n = async () => (Z(e), w.render(Q(), t)), r = Y.then(n, n);
|
|
411
|
+
return Y = r.then(() => void 0, () => void 0), r;
|
|
412
|
+
}, te = (e) => {
|
|
413
|
+
if (!(e instanceof Error)) return "Failed to render Mermaid diagram.";
|
|
414
|
+
let t = e.message.trim();
|
|
415
|
+
return t ? t.split("\n").filter(Boolean).slice(0, 3).join("\n") : "Failed to render Mermaid diagram.";
|
|
416
|
+
}, ne = (e) => {
|
|
417
|
+
let { themePreference: t, themePreferences: i } = r(), a = n(t, i), [o, s] = _(""), [c, l] = _(""), [u, d] = _(!1);
|
|
418
|
+
return h(() => {
|
|
419
|
+
let t = !1;
|
|
420
|
+
return (async () => {
|
|
421
|
+
d(!0), l("");
|
|
422
|
+
try {
|
|
423
|
+
let n = await ee(a, e);
|
|
424
|
+
if (t) return;
|
|
425
|
+
s(n.svg);
|
|
426
|
+
} catch (e) {
|
|
427
|
+
if (t) return;
|
|
428
|
+
s(""), l(te(e));
|
|
429
|
+
} finally {
|
|
430
|
+
t || d(!1);
|
|
431
|
+
}
|
|
432
|
+
})(), () => {
|
|
433
|
+
t = !0;
|
|
434
|
+
};
|
|
435
|
+
}, [e, a]), {
|
|
436
|
+
svg: o,
|
|
437
|
+
error: c,
|
|
438
|
+
isRendering: u
|
|
439
|
+
};
|
|
440
|
+
}, $ = (e) => {
|
|
441
|
+
let t = f(21), { allowPanAtDefaultZoom: n, code: r, error: a, isRendering: o, maxHeight: s, minHeight: c, overlayActions: l, svg: u, zoom: h, onZoomChange: g } = e;
|
|
442
|
+
if (o) {
|
|
443
|
+
let e = c ?? "220px", n;
|
|
444
|
+
t[0] === Symbol.for("react.memo_cache_sentinel") ? (n = /* @__PURE__ */ p(d, {
|
|
445
|
+
color: "fg.muted",
|
|
446
|
+
textStyle: "paragraph/S/regular",
|
|
447
|
+
children: "Rendering diagram..."
|
|
448
|
+
}), t[0] = n) : n = t[0];
|
|
449
|
+
let r;
|
|
450
|
+
return t[1] !== s || t[2] !== l || t[3] !== e ? (r = /* @__PURE__ */ m(i, {
|
|
451
|
+
position: "relative",
|
|
452
|
+
minHeight: e,
|
|
453
|
+
maxHeight: s,
|
|
454
|
+
overflow: "hidden",
|
|
455
|
+
children: [n, l]
|
|
456
|
+
}), t[1] = s, t[2] = l, t[3] = e, t[4] = r) : r = t[4], r;
|
|
457
|
+
}
|
|
458
|
+
if (a) {
|
|
459
|
+
let e = c ?? "220px", n;
|
|
460
|
+
t[5] !== r || t[6] !== a ? (n = /* @__PURE__ */ p(B, {
|
|
461
|
+
code: r,
|
|
462
|
+
error: a
|
|
463
|
+
}), t[5] = r, t[6] = a, t[7] = n) : n = t[7];
|
|
464
|
+
let o;
|
|
465
|
+
return t[8] !== s || t[9] !== l || t[10] !== e || t[11] !== n ? (o = /* @__PURE__ */ m(i, {
|
|
466
|
+
position: "relative",
|
|
467
|
+
minHeight: e,
|
|
468
|
+
maxHeight: s,
|
|
469
|
+
overflow: "hidden",
|
|
470
|
+
children: [n, l]
|
|
471
|
+
}), t[8] = s, t[9] = l, t[10] = e, t[11] = n, t[12] = o) : o = t[12], o;
|
|
472
|
+
}
|
|
473
|
+
let _;
|
|
474
|
+
return t[13] !== n || t[14] !== s || t[15] !== c || t[16] !== g || t[17] !== l || t[18] !== u || t[19] !== h ? (_ = /* @__PURE__ */ p(K, {
|
|
475
|
+
allowPanAtDefaultZoom: n,
|
|
476
|
+
maxHeight: s,
|
|
477
|
+
minHeight: c,
|
|
478
|
+
overlayActions: l,
|
|
479
|
+
svg: u,
|
|
480
|
+
zoom: h,
|
|
481
|
+
onZoomChange: g
|
|
482
|
+
}, u), t[13] = n, t[14] = s, t[15] = c, t[16] = g, t[17] = l, t[18] = u, t[19] = h, t[20] = _) : _ = t[20], _;
|
|
483
|
+
}, re = (e) => {
|
|
484
|
+
let t = f(36), { code: n, initialFullscreenOpen: r, initialZoom: a, isEditable: o, onRequestEdit: s } = e, c = r !== void 0 && r, l = a === void 0 ? 1 : a, u = o !== void 0 && o, { svg: d, error: v, isRendering: y } = ne(n), [b, x] = _(l), [S, C] = _(1), [w, T] = _(c), E;
|
|
485
|
+
t[0] !== n || t[1] !== l ? (E = {
|
|
486
|
+
code: n,
|
|
487
|
+
initialZoom: l
|
|
488
|
+
}, t[0] = n, t[1] = l, t[2] = E) : E = t[2];
|
|
489
|
+
let D = g(E), O = !!d && !v && !y, k, A;
|
|
490
|
+
t[3] !== n || t[4] !== l ? (k = () => {
|
|
491
|
+
let e = D.current;
|
|
492
|
+
(e.code !== n || e.initialZoom !== l) && (D.current = {
|
|
493
|
+
code: n,
|
|
494
|
+
initialZoom: l
|
|
495
|
+
}, x(l), C(1));
|
|
496
|
+
}, A = [n, l], t[3] = n, t[4] = l, t[5] = k, t[6] = A) : (k = t[5], A = t[6]), h(k, A);
|
|
497
|
+
let j;
|
|
498
|
+
t[7] === Symbol.for("react.memo_cache_sentinel") ? (j = () => {
|
|
499
|
+
C(1), T(!0);
|
|
500
|
+
}, t[7] = j) : j = t[7];
|
|
501
|
+
let M = j, N;
|
|
502
|
+
t[8] !== u || t[9] !== s ? (N = /* @__PURE__ */ p(H, {
|
|
503
|
+
isEditable: u,
|
|
504
|
+
onRequestEdit: s,
|
|
505
|
+
onOpenFullscreen: M
|
|
506
|
+
}), t[8] = u, t[9] = s, t[10] = N) : N = t[10];
|
|
507
|
+
let P;
|
|
508
|
+
t[11] !== n || t[12] !== v || t[13] !== b || t[14] !== y || t[15] !== d || t[16] !== N ? (P = /* @__PURE__ */ p($, {
|
|
509
|
+
code: n,
|
|
510
|
+
error: v,
|
|
511
|
+
isRendering: y,
|
|
512
|
+
overlayActions: N,
|
|
513
|
+
svg: d,
|
|
514
|
+
zoom: b,
|
|
515
|
+
onZoomChange: x
|
|
516
|
+
}), t[11] = n, t[12] = v, t[13] = b, t[14] = y, t[15] = d, t[16] = N, t[17] = P) : P = t[17];
|
|
517
|
+
let F;
|
|
518
|
+
t[18] === Symbol.for("react.memo_cache_sentinel") ? (F = () => T(!1), t[18] = F) : F = t[18];
|
|
519
|
+
let I;
|
|
520
|
+
t[19] !== S || t[20] !== d ? (I = () => z({
|
|
521
|
+
svg: d,
|
|
522
|
+
zoom: S
|
|
523
|
+
}), t[19] = S, t[20] = d, t[21] = I) : I = t[21];
|
|
524
|
+
let L;
|
|
525
|
+
t[22] !== n || t[23] !== v || t[24] !== S || t[25] !== y || t[26] !== d ? (L = /* @__PURE__ */ p($, {
|
|
526
|
+
allowPanAtDefaultZoom: !0,
|
|
527
|
+
code: n,
|
|
528
|
+
error: v,
|
|
529
|
+
isRendering: y,
|
|
530
|
+
maxHeight: "100%",
|
|
531
|
+
minHeight: "100%",
|
|
532
|
+
svg: d,
|
|
533
|
+
zoom: S,
|
|
534
|
+
onZoomChange: C
|
|
535
|
+
}), t[22] = n, t[23] = v, t[24] = S, t[25] = y, t[26] = d, t[27] = L) : L = t[27];
|
|
536
|
+
let R;
|
|
537
|
+
t[28] !== O || t[29] !== w || t[30] !== I || t[31] !== L ? (R = /* @__PURE__ */ p(V, {
|
|
538
|
+
open: w,
|
|
539
|
+
canDownload: O,
|
|
540
|
+
onClose: F,
|
|
541
|
+
onDownload: I,
|
|
542
|
+
children: L
|
|
543
|
+
}), t[28] = O, t[29] = w, t[30] = I, t[31] = L, t[32] = R) : R = t[32];
|
|
544
|
+
let B;
|
|
545
|
+
return t[33] !== R || t[34] !== P ? (B = /* @__PURE__ */ m(i, {
|
|
546
|
+
width: "100%",
|
|
547
|
+
children: [P, R]
|
|
548
|
+
}), t[33] = R, t[34] = P, t[35] = B) : B = t[35], B;
|
|
549
|
+
};
|
|
550
|
+
//#endregion
|
|
551
|
+
export { re as t };
|
|
552
|
+
|
|
553
|
+
//# sourceMappingURL=mermaid-renderer-DImi0fDp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mermaid-renderer-DImi0fDp.js","names":["MERMAID_MIN_ZOOM","MERMAID_MAX_ZOOM","MERMAID_ZOOM_STEP","clampMermaidZoom","value","Number","Math","min","max","toFixed","zoomIn","zoom","zoomOut","parseSvgLength","value","parsed","Number","parseFloat","isFinite","readAttribute","svg","name","match","RegExp","resolveSvgSize","viewBox","split","map","viewBoxWidth","viewBoxHeight","width","height","Math","max","closeVoidHtmlTags","replace","normalizeSvgForImage","sized","tag","withWidth","test","createSvgDataUrl","bytes","TextEncoder","encode","binary","byte","String","fromCharCode","btoa","clampMermaidZoom","createSvgDataUrl","resolveSvgSize","DownloadMermaidPngOptions","svg","zoom","filename","loadImage","url","Promise","image","HTMLImageElement","cleanup","resolve","reject","Image","style","position","left","top","pointerEvents","onload","remove","onerror","Error","document","body","append","src","canvasToPngBlob","canvas","HTMLCanvasElement","Blob","toBlob","blob","triggerDownload","URL","createObjectURL","anchor","createElement","href","download","click","window","setTimeout","revokeObjectURL","downloadMermaidPng","options","svgUrl","width","height","scale","Math","ceil","context","getContext","drawImage","Box","Text","ScrollArea","MermaidErrorStateProps","code","error","MermaidErrorState","props","$","_c","t0","Symbol","for","t1","t2","p","t3","t4","_c","ScrollArea","Button","Dialog","Icon","IconButton","Portal","Stack","Text","Download","X","ReactNode","MermaidFullscreenProps","children","canDownload","open","onClose","onDownload","MermaidFullscreen","props","$","_c","t0","details","t1","Symbol","for","t2","base","md","t3","t4","t5","t6","t7","t8","t9","t10","t11","t12","_c","Icon","IconButton","Stack","Maximize2","Minus","Pencil","Plus","Tooltip","MERMAID_MAX_ZOOM","MERMAID_MIN_ZOOM","zoomIn","zoomOut","MermaidInlineToolbarProps","isEditable","onRequestEdit","onOpenFullscreen","MermaidZoomControlsProps","zoom","onZoomChange","MermaidInlineToolbar","props","$","_c","t0","t1","Symbol","for","t2","t3","_temp","MermaidZoomControls","t4","t5","t6","t7","t8","_temp2","event","stopPropagation","_c","Tooltip","Box","PointerEvent","ReactNode","useEffect","useRef","useState","MermaidZoomControls","createSvgDataUrl","MermaidSvgViewProps","svg","zoom","allowPanAtDefaultZoom","maxHeight","minHeight","overlayActions","onZoomChange","MermaidSvgView","props","$","_c","t0","t1","t2","undefined","t3","Symbol","for","x","y","offset","setOffset","isPanning","setIsPanning","t4","pointerId","panStartRef","canPan","t5","event","current","clientX","clientY","currentTarget","setPointerCapture","handlePointerDown","t6","event_0","handlePointerMove","t7","event_1","releasePointerCapture","handlePointerUp","t8","t9","t10","t11","t12","t13","t14","t15","t16","display","width","maxWidth","height","userSelect","t17","t18","t19","t20","t21","_c","mermaid","useEffect","useState","getThemePreferenceMode","ThemePreferenceMode","useThemePreference","initializedMode","renderSequence","renderQueue","Promise","resolve","getMermaidTheme","mode","initializeMermaid","initialize","startOnLoad","htmlLabels","flowchart","securityLevel","theme","nextRenderId","renderMermaidDiagram","code","render","queuedRender","then","undefined","formatMermaidError","error","Error","message","trim","split","filter","Boolean","slice","join","useMermaidRender","themePreference","themePreferences","themeMode","svg","setSvg","setError","isRendering","setIsRendering","cancelled","renderDiagram","result","renderError","Box","Text","ReactNode","useEffect","useRef","useState","downloadMermaidPng","MermaidErrorState","MermaidFullscreen","MermaidSvgView","MermaidInlineToolbar","useMermaidRender","MermaidRendererProps","code","initialFullscreenOpen","initialZoom","isEditable","onRequestEdit","MermaidPreviewContentProps","allowPanAtDefaultZoom","error","isRendering","maxHeight","minHeight","overlayActions","svg","zoom","onZoomChange","MermaidPreviewContent","props","$","_c","t0","t1","Symbol","for","t2","MermaidRenderer","undefined","inlineZoom","setInlineZoom","fullscreenZoom","setFullscreenZoom","isFullscreenOpen","setIsFullscreenOpen","t3","previousResetValuesRef","canDownload","Boolean","t4","t5","previousResetValues","current","t6","openFullscreen","t7","t8","t9","t10","t11","t12","t13","_c","Tooltip$1","getThemePreferenceMode","mermaid","MERMAID_MIN_ZOOM","MERMAID_ZOOM_STEP","clampMermaidZoom","value","zoomIn","zoom","zoomOut","parseSvgLength","parsed","readAttribute","svg","name","resolveSvgSize","viewBox","viewBoxWidth","viewBoxHeight","closeVoidHtmlTags","normalizeSvgForImage","withWidth","tag","width","height","createSvgDataUrl","bytes","binary","byte","loadImage","image","resolve","reject","url","canvasToPngBlob","blob","triggerDownload","anchor","filename","downloadMermaidPng","options","scale","canvas","context","MermaidErrorState","$","c","props","t0","Text","t1","error","t2","t3","code","ScrollArea$1","Box","t4","MermaidFullscreen","onClose","details","Dialog","canDownload","t5","Icon","Download","t6","onDownload","Button","t7","X","t8","IconButton","t9","Stack","t10","children","t11","Portal","t12","open","MermaidInlineToolbar","isEditable","onRequestEdit","Pencil","Maximize2","onOpenFullscreen","_temp","MermaidZoomControls","onZoomChange","Plus","Minus","_temp2","event","MermaidSvgView","allowPanAtDefaultZoom","maxHeight","minHeight","offset","setOffset","useState","isPanning","setIsPanning","panStartRef","useRef","canPan","handlePointerDown","event_0","handlePointerMove","event_1","handlePointerUp","useEffect","t13","t14","t15","t16","t17","t18","t19","t20","t21","overlayActions","initializedMode","renderSequence","renderQueue","getMermaidTheme","mode","initializeMermaid","nextRenderId","renderMermaidDiagram","render","queuedRender","formatMermaidError","message","useMermaidRender","useThemePreference","themeMode","themePreference","themePreferences","setSvg","setError","isRendering","setIsRendering","cancelled","result","renderError","MermaidPreviewContent","MermaidRenderer","initialFullscreenOpen","initialZoom","inlineZoom","setInlineZoom","fullscreenZoom","setFullscreenZoom","isFullscreenOpen","setIsFullscreenOpen","previousResetValuesRef","previousResetValues","openFullscreen"],"sources":["../src/components/mermaid-renderer/mermaid-zoom.ts","../src/components/mermaid-renderer/svg-data-url.ts","../src/components/mermaid-renderer/download-png.ts","../src/components/mermaid-renderer/mermaid-error-state.tsx","../src/components/mermaid-renderer/mermaid-fullscreen.tsx","../src/components/mermaid-renderer/mermaid-toolbar.tsx","../src/components/mermaid-renderer/mermaid-svg-view.tsx","../src/components/mermaid-renderer/use-mermaid-render.ts","../src/components/mermaid-renderer/mermaid-renderer.tsx"],"sourcesContent":["export const MERMAID_MIN_ZOOM = 0.5;\nexport const MERMAID_MAX_ZOOM = 3;\nexport const MERMAID_ZOOM_STEP = 0.25;\n\nexport const clampMermaidZoom = (value: number) =>\n Number(Math.min(MERMAID_MAX_ZOOM, Math.max(MERMAID_MIN_ZOOM, value)).toFixed(2));\n\nexport const zoomIn = (zoom: number) => clampMermaidZoom(zoom + MERMAID_ZOOM_STEP);\n\nexport const zoomOut = (zoom: number) => clampMermaidZoom(zoom - MERMAID_ZOOM_STEP);\n","const parseSvgLength = (value: string | undefined) => {\n if (!value) {\n return 0;\n }\n\n const parsed = Number.parseFloat(value);\n return Number.isFinite(parsed) ? parsed : 0;\n};\n\nconst readAttribute = (svg: string, name: string) => {\n const match = svg.match(new RegExp(`\\\\s${name}=\"([^\"]+)\"`));\n return match?.[1];\n};\n\nexport const resolveSvgSize = (svg: string) => {\n const viewBox = readAttribute(svg, \"viewBox\")?.split(/\\s+/).map(Number) ?? [];\n const viewBoxWidth = viewBox[2] ?? 0;\n const viewBoxHeight = viewBox[3] ?? 0;\n\n if (viewBoxWidth > 0 && viewBoxHeight > 0) {\n return { width: viewBoxWidth, height: viewBoxHeight };\n }\n\n return {\n width: Math.max(parseSvgLength(readAttribute(svg, \"width\")), 1),\n height: Math.max(parseSvgLength(readAttribute(svg, \"height\")), 1),\n };\n};\n\n// SVG data URLs are parsed as strict XML by the browser; void HTML tags like `<br>`\n// must be self-closing or the image silently fails to decode (naturalWidth becomes 0).\n// Mermaid emits `<br/>` itself, but DOMPurify (used when securityLevel !== \"loose\")\n// normalises it back to the HTML5 form.\nconst closeVoidHtmlTags = (svg: string) => svg.replace(/<br(\\s[^>]*)?>/g, \"<br$1/>\");\n\nexport const normalizeSvgForImage = (svg: string) => {\n const { width, height } = resolveSvgSize(svg);\n\n const sized = svg.replace(/<svg\\b[^>]*>/, (tag) => {\n const withWidth = /\\swidth=/.test(tag)\n ? tag.replace(/\\swidth=\"[^\"]*\"/, ` width=\"${width}\"`)\n : tag.replace(\"<svg\", `<svg width=\"${width}\"`);\n\n return /\\sheight=/.test(withWidth)\n ? withWidth.replace(/\\sheight=\"[^\"]*\"/, ` height=\"${height}\"`)\n : withWidth.replace(\"<svg\", `<svg height=\"${height}\"`);\n });\n\n return closeVoidHtmlTags(sized);\n};\n\nexport const createSvgDataUrl = (svg: string) => {\n const bytes = new TextEncoder().encode(normalizeSvgForImage(svg));\n let binary = \"\";\n for (const byte of bytes) {\n binary += String.fromCharCode(byte);\n }\n\n return `data:image/svg+xml;base64,${btoa(binary)}`;\n};\n","import { clampMermaidZoom } from \"./mermaid-zoom\";\nimport { createSvgDataUrl, resolveSvgSize } from \"./svg-data-url\";\n\ninterface DownloadMermaidPngOptions {\n svg: string;\n zoom: number;\n filename?: string;\n}\n\nconst loadImage = (url: string) =>\n new Promise<{ image: HTMLImageElement; cleanup: () => void }>((resolve, reject) => {\n const image = new Image();\n image.style.position = \"fixed\";\n image.style.left = \"-10000px\";\n image.style.top = \"0\";\n image.style.pointerEvents = \"none\";\n image.onload = () => resolve({ image, cleanup: () => image.remove() });\n image.onerror = () => {\n image.remove();\n reject(new Error(\"Failed to load rendered Mermaid SVG for PNG export.\"));\n };\n document.body.append(image);\n image.src = url;\n });\n\nconst canvasToPngBlob = (canvas: HTMLCanvasElement) =>\n new Promise<Blob>((resolve, reject) => {\n canvas.toBlob((blob) => {\n if (blob) {\n resolve(blob);\n return;\n }\n\n reject(new Error(\"Failed to encode Mermaid diagram as PNG.\"));\n }, \"image/png\");\n });\n\nconst triggerDownload = (blob: Blob, filename: string) => {\n const url = URL.createObjectURL(blob);\n const anchor = document.createElement(\"a\");\n anchor.href = url;\n anchor.download = filename;\n document.body.append(anchor);\n anchor.click();\n anchor.remove();\n window.setTimeout(() => URL.revokeObjectURL(url), 0);\n};\n\nexport const downloadMermaidPng = async (options: DownloadMermaidPngOptions) => {\n const { svg, zoom, filename = \"mermaid-diagram.png\" } = options;\n const svgUrl = createSvgDataUrl(svg);\n\n const { image, cleanup } = await loadImage(svgUrl);\n try {\n const { width, height } = resolveSvgSize(svg);\n const scale = clampMermaidZoom(zoom);\n const canvas = document.createElement(\"canvas\");\n canvas.width = Math.ceil(width * scale);\n canvas.height = Math.ceil(height * scale);\n\n const context = canvas.getContext(\"2d\");\n if (!context) {\n throw new Error(\"Canvas rendering is unavailable for Mermaid PNG export.\");\n }\n\n context.scale(scale, scale);\n context.drawImage(image, 0, 0, width, height);\n triggerDownload(await canvasToPngBlob(canvas), filename);\n } finally {\n cleanup();\n }\n};\n","import { Box, Text } from \"@chakra-ui/react\";\nimport { ScrollArea } from \"@/components/primitives/scroll-area\";\n\ninterface MermaidErrorStateProps {\n code: string;\n error: string;\n}\n\nexport const MermaidErrorState = (props: MermaidErrorStateProps) => {\n const { code, error } = props;\n\n return (\n <Box role=\"alert\" borderRadius=\"sm\" bg=\"bg.panel\" p=\"sm\">\n <Text color=\"fg.error\" textStyle=\"label/S/medium\">\n Mermaid parse failed\n </Text>\n <Text color=\"fg.muted\" textStyle=\"label/S/regular\" mt=\"2xs\" whiteSpace=\"pre-wrap\">\n {error}\n </Text>\n <ScrollArea\n mt=\"sm\"\n borderRadius=\"sm\"\n bg=\"bg.muted\"\n showHorizontalScrollbar\n showVerticalScrollbar={false}\n contentProps={{ p: \"sm\" }}\n >\n <Box as=\"pre\" m=\"0\" fontSize=\"sm\">\n {code}\n </Box>\n </ScrollArea>\n </Box>\n );\n};\n","import { Button, Dialog, Icon, IconButton, Portal, Stack, Text } from \"@chakra-ui/react\";\nimport { Download, X } from \"lucide-react\";\nimport type { ReactNode } from \"react\";\n\ninterface MermaidFullscreenProps {\n children: ReactNode;\n canDownload: boolean;\n open: boolean;\n onClose: () => void;\n onDownload: () => void;\n}\n\nexport const MermaidFullscreen = (props: MermaidFullscreenProps) => {\n const { children, canDownload, open, onClose, onDownload } = props;\n\n return (\n <Dialog.Root lazyMount unmountOnExit open={open} onOpenChange={(details) => !details.open && onClose()}>\n <Portal>\n <Dialog.Backdrop />\n <Dialog.Positioner padding={{ base: \"sm\", md: \"lg\" }}>\n <Dialog.Content\n width=\"min(72rem, calc(100vw - 2rem))\"\n height=\"min(48rem, calc(100dvh - 2rem))\"\n maxW=\"none\"\n borderRadius=\"xs\"\n overflow=\"hidden\"\n display=\"flex\"\n flexDirection=\"column\"\n >\n <Dialog.Header\n data-testid=\"mermaid-fullscreen-header\"\n p=\"sm\"\n borderBottomWidth=\"1px\"\n borderColor=\"border.subtle\"\n >\n <Stack direction=\"row\" align=\"center\" justify=\"space-between\" width=\"100%\" gap=\"sm\">\n <Dialog.Title asChild>\n <Text textStyle=\"heading/S\">Mermaid diagram</Text>\n </Dialog.Title>\n <Stack direction=\"row\" align=\"center\" gap=\"xs\">\n <Button size=\"sm\" variant=\"subtle\" onClick={onDownload} disabled={!canDownload}>\n <Icon as={Download} boxSize=\"16px\" />\n Download as PNG\n </Button>\n <IconButton aria-label=\"Close\" size=\"sm\" variant=\"ghost\" onClick={onClose}>\n <Icon as={X} boxSize=\"16px\" />\n </IconButton>\n </Stack>\n </Stack>\n </Dialog.Header>\n <Dialog.Body data-testid=\"mermaid-fullscreen-body\" p=\"0\" flex=\"1\" minH=\"0\">\n {children}\n </Dialog.Body>\n </Dialog.Content>\n </Dialog.Positioner>\n </Portal>\n </Dialog.Root>\n );\n};\n","import { Icon, IconButton, Stack } from \"@chakra-ui/react\";\nimport { Maximize2, Minus, Pencil, Plus } from \"lucide-react\";\nimport { Tooltip } from \"@/components/primitives/tooltip\";\nimport { MERMAID_MAX_ZOOM, MERMAID_MIN_ZOOM, zoomIn, zoomOut } from \"./mermaid-zoom\";\n\ninterface MermaidInlineToolbarProps {\n isEditable: boolean;\n onRequestEdit?: () => void;\n onOpenFullscreen: () => void;\n}\n\ninterface MermaidZoomControlsProps {\n zoom: number;\n onZoomChange: (zoom: number) => void;\n}\n\nexport const MermaidInlineToolbar = (props: MermaidInlineToolbarProps) => {\n const { isEditable, onRequestEdit, onOpenFullscreen } = props;\n\n return (\n <Stack\n data-testid=\"mermaid-inline-toolbar\"\n direction=\"row\"\n justify=\"flex-end\"\n align=\"center\"\n gap=\"xs\"\n position=\"absolute\"\n top=\"sm\"\n right=\"sm\"\n zIndex=\"1\"\n onPointerDown={(event) => event.stopPropagation()}\n >\n {isEditable && onRequestEdit ? (\n <Tooltip content=\"Edit source\">\n <IconButton aria-label=\"Edit\" size=\"xs\" variant=\"subtle\" onClick={onRequestEdit}>\n <Icon as={Pencil} boxSize=\"14px\" />\n </IconButton>\n </Tooltip>\n ) : null}\n <Tooltip content=\"Open diagram\">\n <IconButton aria-label=\"Open diagram\" size=\"xs\" variant=\"subtle\" onClick={onOpenFullscreen}>\n <Icon as={Maximize2} boxSize=\"14px\" />\n </IconButton>\n </Tooltip>\n </Stack>\n );\n};\n\nexport const MermaidZoomControls = (props: MermaidZoomControlsProps) => {\n const { zoom, onZoomChange } = props;\n\n return (\n <Stack\n data-testid=\"mermaid-zoom-controls\"\n gap=\"2xs\"\n position=\"absolute\"\n right=\"sm\"\n bottom=\"sm\"\n zIndex=\"1\"\n onPointerDown={(event) => event.stopPropagation()}\n >\n <Tooltip content=\"Zoom in\">\n <IconButton\n aria-label=\"Zoom in\"\n size=\"xs\"\n variant=\"subtle\"\n onClick={() => onZoomChange(zoomIn(zoom))}\n disabled={zoom >= MERMAID_MAX_ZOOM}\n >\n <Icon as={Plus} boxSize=\"14px\" />\n </IconButton>\n </Tooltip>\n <Tooltip content=\"Zoom out\">\n <IconButton\n aria-label=\"Zoom out\"\n size=\"xs\"\n variant=\"subtle\"\n onClick={() => onZoomChange(zoomOut(zoom))}\n disabled={zoom <= MERMAID_MIN_ZOOM}\n >\n <Icon as={Minus} boxSize=\"14px\" />\n </IconButton>\n </Tooltip>\n </Stack>\n );\n};\n","import { Box } from \"@chakra-ui/react\";\nimport type { PointerEvent, ReactNode } from \"react\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { MermaidZoomControls } from \"./mermaid-toolbar\";\nimport { createSvgDataUrl } from \"./svg-data-url\";\n\ninterface MermaidSvgViewProps {\n svg: string;\n zoom: number;\n allowPanAtDefaultZoom?: boolean;\n maxHeight?: string;\n minHeight?: string;\n overlayActions?: ReactNode;\n onZoomChange: (zoom: number) => void;\n}\n\nexport const MermaidSvgView = (props: MermaidSvgViewProps) => {\n const {\n allowPanAtDefaultZoom = false,\n maxHeight = \"420px\",\n minHeight = \"220px\",\n overlayActions,\n svg,\n zoom,\n onZoomChange,\n } = props;\n const [offset, setOffset] = useState({ x: 0, y: 0 });\n const [isPanning, setIsPanning] = useState(false);\n const panStartRef = useRef({ pointerId: -1, x: 0, y: 0 });\n const canPan = allowPanAtDefaultZoom || zoom > 1;\n\n const handlePointerDown = (event: PointerEvent<HTMLDivElement>) => {\n if (!canPan) {\n return;\n }\n\n panStartRef.current = {\n pointerId: event.pointerId,\n x: event.clientX - offset.x,\n y: event.clientY - offset.y,\n };\n setIsPanning(true);\n event.currentTarget.setPointerCapture(event.pointerId);\n };\n\n const handlePointerMove = (event: PointerEvent<HTMLDivElement>) => {\n if (!canPan || !isPanning || panStartRef.current.pointerId !== event.pointerId) {\n return;\n }\n\n setOffset({\n x: event.clientX - panStartRef.current.x,\n y: event.clientY - panStartRef.current.y,\n });\n };\n\n const handlePointerUp = (event: PointerEvent<HTMLDivElement>) => {\n if (!canPan || panStartRef.current.pointerId !== event.pointerId) {\n return;\n }\n\n setIsPanning(false);\n event.currentTarget.releasePointerCapture(event.pointerId);\n };\n\n useEffect(() => {\n if (canPan) {\n return;\n }\n\n setOffset({ x: 0, y: 0 });\n setIsPanning(false);\n }, [canPan]);\n\n return (\n <Box\n data-testid=\"mermaid-diagram-surface\"\n position=\"relative\"\n minHeight={minHeight}\n maxHeight={maxHeight}\n overflow=\"hidden\"\n cursor={canPan ? (isPanning ? \"grabbing\" : \"grab\") : \"default\"}\n touchAction={canPan ? \"none\" : \"auto\"}\n onPointerDown={handlePointerDown}\n onPointerMove={handlePointerMove}\n onPointerUp={handlePointerUp}\n onPointerCancel={() => {\n setIsPanning(false);\n }}\n >\n <Box\n data-testid=\"mermaid-diagram-transform\"\n data-pan-enabled={canPan ? \"true\" : \"false\"}\n width=\"100%\"\n maxHeight={maxHeight}\n textAlign=\"center\"\n transform={`translate3d(${offset.x}px, ${offset.y}px, 0) scale(${zoom})`}\n transformOrigin=\"top left\"\n cursor={canPan ? (isPanning ? \"grabbing\" : \"grab\") : \"default\"}\n css={{\n \"& img\": {\n display: \"inline-block\",\n width: \"auto\",\n maxWidth: \"100%\",\n maxHeight,\n height: \"auto\",\n userSelect: \"none\",\n },\n }}\n >\n <img alt=\"Mermaid diagram\" draggable={false} src={createSvgDataUrl(svg)} />\n </Box>\n {overlayActions}\n <MermaidZoomControls zoom={zoom} onZoomChange={onZoomChange} />\n </Box>\n );\n};\n","import mermaid from \"mermaid\";\nimport { useEffect, useState } from \"react\";\nimport { getThemePreferenceMode, type ThemePreferenceMode } from \"../../utils/apply-theme-preference\";\nimport { useThemePreference } from \"../../utils/theme-preference\";\n\nlet initializedMode: ThemePreferenceMode | null = null;\nlet renderSequence = 0;\nlet renderQueue = Promise.resolve();\n\nconst getMermaidTheme = (mode: ThemePreferenceMode) => (mode === \"dark\" ? \"dark\" : \"default\");\n\nconst initializeMermaid = (mode: ThemePreferenceMode) => {\n if (initializedMode === mode) {\n return;\n }\n\n mermaid.initialize({\n startOnLoad: false,\n htmlLabels: true,\n flowchart: {\n htmlLabels: true,\n },\n securityLevel: \"antiscript\",\n theme: getMermaidTheme(mode),\n });\n\n initializedMode = mode;\n};\n\nconst nextRenderId = () => {\n renderSequence += 1;\n return `mermaid-${renderSequence}`;\n};\n\nconst renderMermaidDiagram = (mode: ThemePreferenceMode, code: string) => {\n const render = async () => {\n // Mermaid keeps render config in a shared singleton, so theme changes must not overlap renders.\n initializeMermaid(mode);\n return mermaid.render(nextRenderId(), code);\n };\n\n const queuedRender = renderQueue.then(render, render);\n renderQueue = queuedRender.then(\n () => undefined,\n () => undefined,\n );\n\n return queuedRender;\n};\n\nconst formatMermaidError = (error: unknown) => {\n if (!(error instanceof Error)) {\n return \"Failed to render Mermaid diagram.\";\n }\n\n const message = error.message.trim();\n if (!message) {\n return \"Failed to render Mermaid diagram.\";\n }\n\n return message.split(\"\\n\").filter(Boolean).slice(0, 3).join(\"\\n\");\n};\n\nexport const useMermaidRender = (code: string) => {\n const { themePreference, themePreferences } = useThemePreference();\n const themeMode = getThemePreferenceMode(themePreference, themePreferences);\n const [svg, setSvg] = useState(\"\");\n const [error, setError] = useState(\"\");\n const [isRendering, setIsRendering] = useState(false);\n\n useEffect(() => {\n let cancelled = false;\n\n const renderDiagram = async () => {\n setIsRendering(true);\n setError(\"\");\n\n try {\n const result = await renderMermaidDiagram(themeMode, code);\n if (cancelled) {\n return;\n }\n\n setSvg(result.svg);\n } catch (renderError) {\n if (cancelled) {\n return;\n }\n\n setSvg(\"\");\n setError(formatMermaidError(renderError));\n } finally {\n if (!cancelled) {\n setIsRendering(false);\n }\n }\n };\n\n void renderDiagram();\n\n return () => {\n cancelled = true;\n };\n }, [code, themeMode]);\n\n return { svg, error, isRendering };\n};\n","import { Box, Text } from \"@chakra-ui/react\";\nimport type { ReactNode } from \"react\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { downloadMermaidPng } from \"./download-png\";\nimport { MermaidErrorState } from \"./mermaid-error-state\";\nimport { MermaidFullscreen } from \"./mermaid-fullscreen\";\nimport { MermaidSvgView } from \"./mermaid-svg-view\";\nimport { MermaidInlineToolbar } from \"./mermaid-toolbar\";\nimport { useMermaidRender } from \"./use-mermaid-render\";\n\nexport interface MermaidRendererProps {\n code: string;\n initialFullscreenOpen?: boolean;\n initialZoom?: number;\n isEditable?: boolean;\n onRequestEdit?: () => void;\n}\n\ninterface MermaidPreviewContentProps {\n allowPanAtDefaultZoom?: boolean;\n code: string;\n error: string;\n isRendering: boolean;\n maxHeight?: string;\n minHeight?: string;\n overlayActions?: ReactNode;\n svg: string;\n zoom: number;\n onZoomChange: (zoom: number) => void;\n}\n\nconst MermaidPreviewContent = (props: MermaidPreviewContentProps) => {\n const {\n allowPanAtDefaultZoom,\n code,\n error,\n isRendering,\n maxHeight,\n minHeight,\n overlayActions,\n svg,\n zoom,\n onZoomChange,\n } = props;\n\n if (isRendering) {\n return (\n <Box position=\"relative\" minHeight={minHeight ?? \"220px\"} maxHeight={maxHeight} overflow=\"hidden\">\n <Text color=\"fg.muted\" textStyle=\"paragraph/S/regular\">\n Rendering diagram...\n </Text>\n {overlayActions}\n </Box>\n );\n }\n\n if (error) {\n return (\n <Box position=\"relative\" minHeight={minHeight ?? \"220px\"} maxHeight={maxHeight} overflow=\"hidden\">\n <MermaidErrorState code={code} error={error} />\n {overlayActions}\n </Box>\n );\n }\n\n return (\n <MermaidSvgView\n key={svg}\n allowPanAtDefaultZoom={allowPanAtDefaultZoom}\n maxHeight={maxHeight}\n minHeight={minHeight}\n overlayActions={overlayActions}\n svg={svg}\n zoom={zoom}\n onZoomChange={onZoomChange}\n />\n );\n};\n\nexport const MermaidRenderer = (props: MermaidRendererProps) => {\n const { code, initialFullscreenOpen = false, initialZoom = 1, isEditable = false, onRequestEdit } = props;\n const { svg, error, isRendering } = useMermaidRender(code);\n const [inlineZoom, setInlineZoom] = useState(initialZoom);\n const [fullscreenZoom, setFullscreenZoom] = useState(1);\n const [isFullscreenOpen, setIsFullscreenOpen] = useState(initialFullscreenOpen);\n const previousResetValuesRef = useRef({ code, initialZoom });\n const canDownload = Boolean(svg) && !error && !isRendering;\n\n useEffect(() => {\n const previousResetValues = previousResetValuesRef.current;\n if (previousResetValues.code === code && previousResetValues.initialZoom === initialZoom) {\n return;\n }\n\n previousResetValuesRef.current = { code, initialZoom };\n setInlineZoom(initialZoom);\n setFullscreenZoom(1);\n }, [code, initialZoom]);\n\n const openFullscreen = () => {\n setFullscreenZoom(1);\n setIsFullscreenOpen(true);\n };\n\n return (\n <Box width=\"100%\">\n <MermaidPreviewContent\n code={code}\n error={error}\n isRendering={isRendering}\n overlayActions={\n <MermaidInlineToolbar\n isEditable={isEditable}\n onRequestEdit={onRequestEdit}\n onOpenFullscreen={openFullscreen}\n />\n }\n svg={svg}\n zoom={inlineZoom}\n onZoomChange={setInlineZoom}\n />\n <MermaidFullscreen\n open={isFullscreenOpen}\n canDownload={canDownload}\n onClose={() => setIsFullscreenOpen(false)}\n onDownload={() => downloadMermaidPng({ svg, zoom: fullscreenZoom })}\n >\n <MermaidPreviewContent\n allowPanAtDefaultZoom\n code={code}\n error={error}\n isRendering={isRendering}\n maxHeight=\"100%\"\n minHeight=\"100%\"\n svg={svg}\n zoom={fullscreenZoom}\n onZoomChange={setFullscreenZoom}\n />\n </MermaidFullscreen>\n </Box>\n );\n};\n"],"mappings":"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"}
|