dsh-plugin-core 0.2.14 → 0.4.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/LICENSE +21 -0
- package/README.md +52 -83
- package/dist/design/tokens-css.d.ts +1 -1
- package/dist/design/tokens-css.d.ts.map +1 -1
- package/dist/design/tokens-css.generated.d.ts +2 -0
- package/dist/design/tokens-css.generated.d.ts.map +1 -0
- package/dist/design/tokens-css.generated.js +4 -0
- package/dist/design/tokens-css.generated.js.map +1 -0
- package/dist/design/tokens-css.js +1 -252
- package/dist/design/tokens-css.js.map +1 -1
- package/dist/explorer/FileBrowser.d.ts +41 -0
- package/dist/explorer/FileBrowser.d.ts.map +1 -0
- package/dist/explorer/FileBrowser.js +659 -0
- package/dist/explorer/FileBrowser.js.map +1 -0
- package/dist/explorer/explorer-css.d.ts +1 -1
- package/dist/explorer/explorer-css.d.ts.map +1 -1
- package/dist/explorer/explorer-css.generated.d.ts +2 -0
- package/dist/explorer/explorer-css.generated.d.ts.map +1 -0
- package/dist/explorer/explorer-css.generated.js +4 -0
- package/dist/explorer/explorer-css.generated.js.map +1 -0
- package/dist/explorer/explorer-css.js +1 -31
- package/dist/explorer/explorer-css.js.map +1 -1
- package/dist/explorer/index.d.ts +4 -2
- package/dist/explorer/index.d.ts.map +1 -1
- package/dist/explorer/index.js +4 -2
- package/dist/explorer/index.js.map +1 -1
- package/dist/explorer/open.d.ts +103 -0
- package/dist/explorer/open.d.ts.map +1 -0
- package/dist/explorer/open.js +282 -0
- package/dist/explorer/open.js.map +1 -0
- package/dist/explorer/preview/BytesPreview.d.ts +13 -0
- package/dist/explorer/preview/BytesPreview.d.ts.map +1 -0
- package/dist/explorer/preview/BytesPreview.js +56 -0
- package/dist/explorer/preview/BytesPreview.js.map +1 -0
- package/dist/explorer/preview/HtmlPreview.d.ts +18 -0
- package/dist/explorer/preview/HtmlPreview.d.ts.map +1 -0
- package/dist/explorer/preview/HtmlPreview.js +112 -0
- package/dist/explorer/preview/HtmlPreview.js.map +1 -0
- package/dist/explorer/preview/OfficePreview.d.ts +11 -0
- package/dist/explorer/preview/OfficePreview.d.ts.map +1 -0
- package/dist/explorer/preview/OfficePreview.js +53 -0
- package/dist/explorer/preview/OfficePreview.js.map +1 -0
- package/dist/explorer/preview/TextPreview.d.ts +17 -0
- package/dist/explorer/preview/TextPreview.d.ts.map +1 -0
- package/dist/explorer/preview/TextPreview.js +95 -0
- package/dist/explorer/preview/TextPreview.js.map +1 -0
- package/dist/explorer/preview/index.d.ts +10 -3
- package/dist/explorer/preview/index.d.ts.map +1 -1
- package/dist/explorer/preview/index.js +52 -55
- package/dist/explorer/preview/index.js.map +1 -1
- package/dist/explorer/preview/md-labels.d.ts +3 -0
- package/dist/explorer/preview/md-labels.d.ts.map +1 -0
- package/dist/explorer/preview/md-labels.js +12 -0
- package/dist/explorer/preview/md-labels.js.map +1 -0
- package/dist/explorer/types.d.ts +186 -4
- package/dist/explorer/types.d.ts.map +1 -1
- package/dist/explorer/types.js +401 -14
- package/dist/explorer/types.js.map +1 -1
- package/dist/host/index.d.ts +66 -0
- package/dist/host/index.d.ts.map +1 -0
- package/dist/host/index.js +60 -0
- package/dist/host/index.js.map +1 -0
- package/dist/session/SessionViewModal.d.ts +42 -0
- package/dist/session/SessionViewModal.d.ts.map +1 -0
- package/dist/session/SessionViewModal.js +997 -0
- package/dist/session/SessionViewModal.js.map +1 -0
- package/dist/session/changes.d.ts +73 -0
- package/dist/session/changes.d.ts.map +1 -0
- package/dist/session/changes.js +134 -0
- package/dist/session/changes.js.map +1 -0
- package/dist/session/faces.d.ts +198 -0
- package/dist/session/faces.d.ts.map +1 -0
- package/dist/session/faces.js +17 -0
- package/dist/session/faces.js.map +1 -0
- package/dist/session/index.d.ts +5 -23
- package/dist/session/index.d.ts.map +1 -1
- package/dist/session/index.js +25 -70
- package/dist/session/index.js.map +1 -1
- package/dist/session/mirror/ChangedFileDiff.d.ts +22 -0
- package/dist/session/mirror/ChangedFileDiff.d.ts.map +1 -0
- package/dist/session/mirror/ChangedFileDiff.js +157 -0
- package/dist/session/mirror/ChangedFileDiff.js.map +1 -0
- package/dist/session/mirror/ChangedFilesCard.d.ts +18 -0
- package/dist/session/mirror/ChangedFilesCard.d.ts.map +1 -0
- package/dist/session/mirror/ChangedFilesCard.js +158 -0
- package/dist/session/mirror/ChangedFilesCard.js.map +1 -0
- package/dist/session/mirror/ChatGroupSeat.d.ts +24 -0
- package/dist/session/mirror/ChatGroupSeat.d.ts.map +1 -0
- package/dist/session/mirror/ChatGroupSeat.js +134 -0
- package/dist/session/mirror/ChatGroupSeat.js.map +1 -0
- package/dist/session/mirror/ChatNodeSeat.d.ts +43 -0
- package/dist/session/mirror/ChatNodeSeat.d.ts.map +1 -0
- package/dist/session/mirror/ChatNodeSeat.js +133 -0
- package/dist/session/mirror/ChatNodeSeat.js.map +1 -0
- package/dist/session/mirror/ChatView.d.ts +47 -0
- package/dist/session/mirror/ChatView.d.ts.map +1 -0
- package/dist/session/mirror/ChatView.js +127 -0
- package/dist/session/mirror/ChatView.js.map +1 -0
- package/dist/session/mirror/CommandCard.d.ts +20 -0
- package/dist/session/mirror/CommandCard.d.ts.map +1 -0
- package/dist/session/mirror/CommandCard.js +69 -0
- package/dist/session/mirror/CommandCard.js.map +1 -0
- package/dist/session/mirror/Deliverables.d.ts +24 -0
- package/dist/session/mirror/Deliverables.d.ts.map +1 -0
- package/dist/session/mirror/Deliverables.js +134 -0
- package/dist/session/mirror/Deliverables.js.map +1 -0
- package/dist/session/mirror/GenericCommandCard.d.ts +25 -0
- package/dist/session/mirror/GenericCommandCard.d.ts.map +1 -0
- package/dist/session/mirror/GenericCommandCard.js +567 -0
- package/dist/session/mirror/GenericCommandCard.js.map +1 -0
- package/dist/session/mirror/MessageIconActions.d.ts +16 -0
- package/dist/session/mirror/MessageIconActions.d.ts.map +1 -0
- package/dist/session/mirror/MessageIconActions.js +71 -0
- package/dist/session/mirror/MessageIconActions.js.map +1 -0
- package/dist/session/mirror/MessageItem.d.ts +66 -0
- package/dist/session/mirror/MessageItem.d.ts.map +1 -0
- package/dist/session/mirror/MessageItem.js +135 -0
- package/dist/session/mirror/MessageItem.js.map +1 -0
- package/dist/session/mirror/ReasoningRow.d.ts +11 -0
- package/dist/session/mirror/ReasoningRow.d.ts.map +1 -0
- package/dist/session/mirror/ReasoningRow.js +49 -0
- package/dist/session/mirror/ReasoningRow.js.map +1 -0
- package/dist/session/mirror/StatDialog.d.ts +20 -0
- package/dist/session/mirror/StatDialog.d.ts.map +1 -0
- package/dist/session/mirror/StatDialog.js +36 -0
- package/dist/session/mirror/StatDialog.js.map +1 -0
- package/dist/session/mirror/TurnProcessNodeView.d.ts +10 -0
- package/dist/session/mirror/TurnProcessNodeView.d.ts.map +1 -0
- package/dist/session/mirror/TurnProcessNodeView.js +68 -0
- package/dist/session/mirror/TurnProcessNodeView.js.map +1 -0
- package/dist/session/mirror/TurnTailNodeView.d.ts +32 -0
- package/dist/session/mirror/TurnTailNodeView.d.ts.map +1 -0
- package/dist/session/mirror/TurnTailNodeView.js +48 -0
- package/dist/session/mirror/TurnTailNodeView.js.map +1 -0
- package/dist/session/mirror/TurnTriggerNodeView.d.ts +14 -0
- package/dist/session/mirror/TurnTriggerNodeView.d.ts.map +1 -0
- package/dist/session/mirror/TurnTriggerNodeView.js +87 -0
- package/dist/session/mirror/TurnTriggerNodeView.js.map +1 -0
- package/dist/session/mirror/TurnUsagePanel.d.ts +21 -0
- package/dist/session/mirror/TurnUsagePanel.d.ts.map +1 -0
- package/dist/session/mirror/TurnUsagePanel.js +41 -0
- package/dist/session/mirror/TurnUsagePanel.js.map +1 -0
- package/dist/session/mirror/message-chrome.d.ts +33 -0
- package/dist/session/mirror/message-chrome.d.ts.map +1 -0
- package/dist/session/mirror/message-chrome.js +158 -0
- package/dist/session/mirror/message-chrome.js.map +1 -0
- package/dist/session/mirror/process-groups.d.ts +56 -0
- package/dist/session/mirror/process-groups.d.ts.map +1 -0
- package/dist/session/mirror/process-groups.js +202 -0
- package/dist/session/mirror/process-groups.js.map +1 -0
- package/dist/session/official-classes.d.ts +28 -0
- package/dist/session/official-classes.d.ts.map +1 -0
- package/dist/session/official-classes.js +146 -0
- package/dist/session/official-classes.js.map +1 -0
- package/dist/session/open-session-view.d.ts +17 -0
- package/dist/session/open-session-view.d.ts.map +1 -0
- package/dist/session/open-session-view.js +136 -0
- package/dist/session/open-session-view.js.map +1 -0
- package/dist/session/session-css.d.ts +1 -1
- package/dist/session/session-css.d.ts.map +1 -1
- package/dist/session/session-css.generated.d.ts +2 -0
- package/dist/session/session-css.generated.d.ts.map +1 -0
- package/dist/session/session-css.generated.js +4 -0
- package/dist/session/session-css.generated.js.map +1 -0
- package/dist/session/session-css.js +1 -17
- package/dist/session/session-css.js.map +1 -1
- package/dist/ui/AlertModal.d.ts +28 -0
- package/dist/ui/AlertModal.d.ts.map +1 -0
- package/dist/ui/AlertModal.js +29 -0
- package/dist/ui/AlertModal.js.map +1 -0
- package/dist/ui/Button.d.ts.map +1 -1
- package/dist/ui/Button.js +14 -1
- package/dist/ui/Button.js.map +1 -1
- package/dist/ui/Card.d.ts +4 -2
- package/dist/ui/Card.d.ts.map +1 -1
- package/dist/ui/Card.js +12 -6
- package/dist/ui/Card.js.map +1 -1
- package/dist/ui/Chip.d.ts +9 -1
- package/dist/ui/Chip.d.ts.map +1 -1
- package/dist/ui/Chip.js +8 -2
- package/dist/ui/Chip.js.map +1 -1
- package/dist/ui/CodeViewer.d.ts +36 -0
- package/dist/ui/CodeViewer.d.ts.map +1 -0
- package/dist/ui/CodeViewer.js +90 -0
- package/dist/ui/CodeViewer.js.map +1 -0
- package/dist/ui/ConfirmModal.d.ts +30 -0
- package/dist/ui/ConfirmModal.d.ts.map +1 -0
- package/dist/ui/ConfirmModal.js +23 -0
- package/dist/ui/ConfirmModal.js.map +1 -0
- package/dist/ui/DateTimePicker.d.ts +45 -0
- package/dist/ui/DateTimePicker.d.ts.map +1 -0
- package/dist/ui/DateTimePicker.js +447 -0
- package/dist/ui/DateTimePicker.js.map +1 -0
- package/dist/ui/Field.d.ts +11 -2
- package/dist/ui/Field.d.ts.map +1 -1
- package/dist/ui/Field.js +15 -5
- package/dist/ui/Field.js.map +1 -1
- package/dist/ui/MarqueeText.d.ts.map +1 -1
- package/dist/ui/MarqueeText.js +3 -1
- package/dist/ui/MarqueeText.js.map +1 -1
- package/dist/ui/Modal.d.ts +25 -3
- package/dist/ui/Modal.d.ts.map +1 -1
- package/dist/ui/Modal.js +41 -7
- package/dist/ui/Modal.js.map +1 -1
- package/dist/ui/ModelPicker.d.ts +25 -12
- package/dist/ui/ModelPicker.d.ts.map +1 -1
- package/dist/ui/ModelPicker.js +67 -19
- package/dist/ui/ModelPicker.js.map +1 -1
- package/dist/ui/PanelDock.d.ts +127 -0
- package/dist/ui/PanelDock.d.ts.map +1 -0
- package/dist/ui/PanelDock.js +297 -0
- package/dist/ui/PanelDock.js.map +1 -0
- package/dist/ui/Picker.d.ts +8 -2
- package/dist/ui/Picker.d.ts.map +1 -1
- package/dist/ui/Picker.js +86 -18
- package/dist/ui/Picker.js.map +1 -1
- package/dist/ui/SectionHead.d.ts +3 -3
- package/dist/ui/SectionHead.d.ts.map +1 -1
- package/dist/ui/SectionHead.js +4 -4
- package/dist/ui/SectionHead.js.map +1 -1
- package/dist/ui/Segmented.d.ts +4 -0
- package/dist/ui/Segmented.d.ts.map +1 -1
- package/dist/ui/Segmented.js +88 -31
- package/dist/ui/Segmented.js.map +1 -1
- package/dist/ui/Textarea.d.ts +2 -0
- package/dist/ui/Textarea.d.ts.map +1 -1
- package/dist/ui/Textarea.js +6 -1
- package/dist/ui/Textarea.js.map +1 -1
- package/dist/ui/Toast.d.ts +41 -8
- package/dist/ui/Toast.d.ts.map +1 -1
- package/dist/ui/Toast.js +216 -28
- package/dist/ui/Toast.js.map +1 -1
- package/dist/ui/WorkspacePicker.d.ts +15 -28
- package/dist/ui/WorkspacePicker.d.ts.map +1 -1
- package/dist/ui/WorkspacePicker.js +18 -27
- package/dist/ui/WorkspacePicker.js.map +1 -1
- package/dist/ui/card-css.d.ts +1 -1
- package/dist/ui/card-css.d.ts.map +1 -1
- package/dist/ui/card-css.generated.d.ts +2 -0
- package/dist/ui/card-css.generated.d.ts.map +1 -0
- package/dist/ui/card-css.generated.js +4 -0
- package/dist/ui/card-css.generated.js.map +1 -0
- package/dist/ui/card-css.js +1 -35
- package/dist/ui/card-css.js.map +1 -1
- package/dist/ui/chip-css.d.ts +1 -1
- package/dist/ui/chip-css.d.ts.map +1 -1
- package/dist/ui/chip-css.generated.d.ts +2 -0
- package/dist/ui/chip-css.generated.d.ts.map +1 -0
- package/dist/ui/chip-css.generated.js +4 -0
- package/dist/ui/chip-css.generated.js.map +1 -0
- package/dist/ui/chip-css.js +1 -17
- package/dist/ui/chip-css.js.map +1 -1
- package/dist/ui/code-viewer-css.d.ts +2 -0
- package/dist/ui/code-viewer-css.d.ts.map +1 -0
- package/dist/ui/code-viewer-css.generated.d.ts +2 -0
- package/dist/ui/code-viewer-css.generated.d.ts.map +1 -0
- package/dist/ui/code-viewer-css.generated.js +4 -0
- package/dist/ui/code-viewer-css.generated.js.map +1 -0
- package/dist/ui/code-viewer-css.js +3 -0
- package/dist/ui/code-viewer-css.js.map +1 -0
- package/dist/ui/code-viewer-lang.d.ts +15 -0
- package/dist/ui/code-viewer-lang.d.ts.map +1 -0
- package/dist/ui/code-viewer-lang.js +190 -0
- package/dist/ui/code-viewer-lang.js.map +1 -0
- package/dist/ui/code-viewer-theme.d.ts +5 -0
- package/dist/ui/code-viewer-theme.d.ts.map +1 -0
- package/dist/ui/code-viewer-theme.js +138 -0
- package/dist/ui/code-viewer-theme.js.map +1 -0
- package/dist/ui/controls/back-to-top-css.generated.d.ts +2 -0
- package/dist/ui/controls/back-to-top-css.generated.d.ts.map +1 -0
- package/dist/ui/controls/back-to-top-css.generated.js +4 -0
- package/dist/ui/controls/back-to-top-css.generated.js.map +1 -0
- package/dist/ui/controls/button-css.generated.d.ts +2 -0
- package/dist/ui/controls/button-css.generated.d.ts.map +1 -0
- package/dist/ui/controls/button-css.generated.js +4 -0
- package/dist/ui/controls/button-css.generated.js.map +1 -0
- package/dist/ui/controls/datetime-css.generated.d.ts +2 -0
- package/dist/ui/controls/datetime-css.generated.d.ts.map +1 -0
- package/dist/ui/controls/datetime-css.generated.js +4 -0
- package/dist/ui/controls/datetime-css.generated.js.map +1 -0
- package/dist/ui/controls/field-css.generated.d.ts +2 -0
- package/dist/ui/controls/field-css.generated.d.ts.map +1 -0
- package/dist/ui/controls/field-css.generated.js +4 -0
- package/dist/ui/controls/field-css.generated.js.map +1 -0
- package/dist/ui/controls/hint-css.generated.d.ts +2 -0
- package/dist/ui/controls/hint-css.generated.d.ts.map +1 -0
- package/dist/ui/controls/hint-css.generated.js +4 -0
- package/dist/ui/controls/hint-css.generated.js.map +1 -0
- package/dist/ui/controls/loading-css.generated.d.ts +2 -0
- package/dist/ui/controls/loading-css.generated.d.ts.map +1 -0
- package/dist/ui/controls/loading-css.generated.js +4 -0
- package/dist/ui/controls/loading-css.generated.js.map +1 -0
- package/dist/ui/controls/segmented-css.generated.d.ts +2 -0
- package/dist/ui/controls/segmented-css.generated.d.ts.map +1 -0
- package/dist/ui/controls/segmented-css.generated.js +4 -0
- package/dist/ui/controls/segmented-css.generated.js.map +1 -0
- package/dist/ui/controls-css.d.ts +7 -8
- package/dist/ui/controls-css.d.ts.map +1 -1
- package/dist/ui/controls-css.js +13 -11
- package/dist/ui/controls-css.js.map +1 -1
- package/dist/ui/css.d.ts +5 -0
- package/dist/ui/css.d.ts.map +1 -1
- package/dist/ui/css.js +13 -4
- package/dist/ui/css.js.map +1 -1
- package/dist/ui/datetime-logic.d.ts +100 -0
- package/dist/ui/datetime-logic.d.ts.map +1 -0
- package/dist/ui/datetime-logic.js +193 -0
- package/dist/ui/datetime-logic.js.map +1 -0
- package/dist/ui/feedback-css.d.ts +1 -1
- package/dist/ui/feedback-css.d.ts.map +1 -1
- package/dist/ui/feedback-css.generated.d.ts +2 -0
- package/dist/ui/feedback-css.generated.d.ts.map +1 -0
- package/dist/ui/feedback-css.generated.js +4 -0
- package/dist/ui/feedback-css.generated.js.map +1 -0
- package/dist/ui/feedback-css.js +1 -53
- package/dist/ui/feedback-css.js.map +1 -1
- package/dist/ui/host-data.d.ts +103 -0
- package/dist/ui/host-data.d.ts.map +1 -0
- package/dist/ui/host-data.js +106 -0
- package/dist/ui/host-data.js.map +1 -0
- package/dist/ui/host-toast.d.ts +23 -0
- package/dist/ui/host-toast.d.ts.map +1 -0
- package/dist/ui/host-toast.js +34 -0
- package/dist/ui/host-toast.js.map +1 -0
- package/dist/ui/index.d.ts +12 -6
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +10 -4
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/marquee-css.d.ts +2 -0
- package/dist/ui/marquee-css.d.ts.map +1 -0
- package/dist/ui/marquee-css.generated.d.ts +2 -0
- package/dist/ui/marquee-css.generated.d.ts.map +1 -0
- package/dist/ui/marquee-css.generated.js +4 -0
- package/dist/ui/marquee-css.generated.js.map +1 -0
- package/dist/ui/marquee-css.js +4 -0
- package/dist/ui/marquee-css.js.map +1 -0
- package/dist/ui/modal-host.d.ts +30 -0
- package/dist/ui/modal-host.d.ts.map +1 -0
- package/dist/ui/modal-host.js +101 -0
- package/dist/ui/modal-host.js.map +1 -0
- package/dist/ui/official.d.ts.map +1 -1
- package/dist/ui/official.js +45 -1
- package/dist/ui/official.js.map +1 -1
- package/dist/ui/panel-dock-css.d.ts +2 -0
- package/dist/ui/panel-dock-css.d.ts.map +1 -0
- package/dist/ui/panel-dock-css.generated.d.ts +2 -0
- package/dist/ui/panel-dock-css.generated.d.ts.map +1 -0
- package/dist/ui/panel-dock-css.generated.js +4 -0
- package/dist/ui/panel-dock-css.generated.js.map +1 -0
- package/dist/ui/panel-dock-css.js +4 -0
- package/dist/ui/panel-dock-css.js.map +1 -0
- package/dist/ui/panel-dock-logic.d.ts +50 -0
- package/dist/ui/panel-dock-logic.d.ts.map +1 -0
- package/dist/ui/panel-dock-logic.js +64 -0
- package/dist/ui/panel-dock-logic.js.map +1 -0
- package/dist/ui/picker-css.d.ts +1 -1
- package/dist/ui/picker-css.d.ts.map +1 -1
- package/dist/ui/picker-css.generated.d.ts +2 -0
- package/dist/ui/picker-css.generated.d.ts.map +1 -0
- package/dist/ui/picker-css.generated.js +4 -0
- package/dist/ui/picker-css.generated.js.map +1 -0
- package/dist/ui/picker-css.js +1 -48
- package/dist/ui/picker-css.js.map +1 -1
- package/dist/ui/picker-icons.d.ts +12 -0
- package/dist/ui/picker-icons.d.ts.map +1 -0
- package/dist/ui/picker-icons.js +29 -0
- package/dist/ui/picker-icons.js.map +1 -0
- package/dist/ui/picker-logic.d.ts +4 -1
- package/dist/ui/picker-logic.d.ts.map +1 -1
- package/dist/ui/picker-logic.js +1 -2
- package/dist/ui/picker-logic.js.map +1 -1
- package/dist/ui/resizer.d.ts +3 -1
- package/dist/ui/resizer.d.ts.map +1 -1
- package/dist/ui/resizer.js +1 -1
- package/dist/ui/resizer.js.map +1 -1
- package/dist/ui/toast-host.d.ts +24 -0
- package/dist/ui/toast-host.d.ts.map +1 -0
- package/dist/ui/toast-host.js +20 -0
- package/dist/ui/toast-host.js.map +1 -0
- package/dist/utils/date.d.ts +8 -0
- package/dist/utils/date.d.ts.map +1 -1
- package/dist/utils/date.js +16 -0
- package/dist/utils/date.js.map +1 -1
- package/dist/utils/i18n.d.ts +1 -1
- package/dist/utils/i18n.d.ts.map +1 -1
- package/dist/utils/i18n.js +437 -18
- package/dist/utils/i18n.js.map +1 -1
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/path.d.ts.map +1 -1
- package/dist/utils/path.js +1 -0
- package/dist/utils/path.js.map +1 -1
- package/docs/README.md +12 -5
- package/docs/design/architecture.md +38 -8
- package/docs/design/copywriting.md +95 -0
- package/docs/design/doc-format.md +80 -0
- package/docs/design/doc-format.ts +39 -0
- package/docs/design/external/dsh-host.md +150 -1
- package/docs/design/features.md +4 -17
- package/docs/design/methods.md +13 -34
- package/docs/design/structure.md +25 -22
- package/docs/design/style.md +24 -50
- package/docs/help/design.doc.ts +112 -0
- package/docs/help/design.md +88 -0
- package/docs/help/explorer.doc.ts +136 -0
- package/docs/help/explorer.md +68 -0
- package/docs/help/index.doc.ts +79 -0
- package/docs/help/index.md +28 -0
- package/docs/help/integration.doc.ts +114 -0
- package/docs/help/integration.md +127 -0
- package/docs/help/methods.md +58 -0
- package/docs/help/session.doc.ts +154 -0
- package/docs/help/session.md +91 -0
- package/docs/help/style.md +80 -0
- package/docs/help/ui.doc.ts +404 -0
- package/docs/help/ui.md +342 -0
- package/docs/help/utils.doc.ts +133 -0
- package/docs/help/utils.md +96 -0
- package/docs/requirements.md +33 -12
- package/package.json +44 -3
- package/dist/ui/ErrorBoundary.d.ts +0 -22
- package/dist/ui/ErrorBoundary.d.ts.map +0 -1
- package/dist/ui/ErrorBoundary.js +0 -30
- package/dist/ui/ErrorBoundary.js.map +0 -1
- package/docs/design/features/design.md +0 -55
- package/docs/design/features/explorer.md +0 -73
- package/docs/design/features/session.md +0 -70
- package/docs/design/features/ui.md +0 -225
- package/docs/design/features/utils.md +0 -64
- package/docs/examples/integration.md +0 -103
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileBrowser.js","sourceRoot":"","sources":["../../src/explorer/FileBrowser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export
|
|
1
|
+
export { EXPLORER_CSS } from './explorer-css.generated.js';
|
|
2
2
|
//# sourceMappingURL=explorer-css.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"explorer-css.d.ts","sourceRoot":"","sources":["../../src/explorer/explorer-css.ts"],"names":[],"mappings":"AACA,
|
|
1
|
+
{"version":3,"file":"explorer-css.d.ts","sourceRoot":"","sources":["../../src/explorer/explorer-css.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const EXPLORER_CSS = "/* \u5DE5\u4F5C\u533A\u6587\u4EF6\u6D4F\u89C8\u5668\uFF08dshpc-fb-*\uFF09\u3002\n *\n * \u5EA6\u91CF\u771F\u6E90 = \u5144\u5F1F\u9879\u76EE dsh-task-dispatch-table \u7684 src/client/archive-session-css.ts\n * \uFF08.dsh-tdt-sv-* \u5168\u65CF\uFF09\u3002**\u9010\u6761\u7167\u6284\uFF0C\u4E0D\u8BB8\u81EA\u5DF1\u4F30**\uFF1Apadding / gap / \u5706\u89D2 / \u5B57\u53F7 / \u884C\u9AD8 /\n * \u8FB9\u6846\u8272 / \u60AC\u505C\u8272 / \u900F\u660E\u5EA6\u52A8\u753B / \u6EA2\u51FA\u7B56\u7565\uFF0C\u4E00\u4E00\u5BF9\u5E94\uFF0C\u6539\u8FD9\u91CC\u4E4B\u524D\u5148\u53BB\u90A3\u8FB9\u5BF9\u539F\u6587\u3002\n * \u524D\u7F00\u4E0E\u53D8\u91CF\u540D\u6362\u6210\u672C\u4ED3\u53E3\u5F84\uFF08--tdt-* \u2192 --dshpc-*\uFF09\uFF0C\u6570\u503C\u4E0D\u6362\u3002\n *\n * \u63A7\u4EF6\uFF1A\u80FD\u6838\u5FC3\u5C31\u6838\u5FC3\uFF08\u9762\u5305\u5C51 = Button ghost\u3001\u884C\u5C3E = Button outline\u3001\u5C55\u5F00 / \u56FE\u6807 = IconButton\u3001\n * \u5206\u6BB5 = Segmented\u3001\u6587\u5B57 = MarqueeText\uFF09\u3002\u6838\u5FC3\u63A7\u4EF6\u81EA\u5E26\u7684 padding / \u9AD8\u5EA6 / \u76AE\u80A4\u5728\u672C\u6587\u4EF6\u91CC\n * **\u6309\u5144\u5F1F\u6570\u503C\u8986\u76D6**\uFF08\u9009\u62E9\u5668\u5E26 .dshpc-fb \u524D\u7F00\u63D0\u9AD8\u7279\u5F02\u6027\uFF0C\u786E\u4FDD\u76D6\u5F97\u4F4F\u63A7\u4EF6\u9ED8\u8BA4\u503C\uFF09\u3002\n */\n.dshpc-fb{\n position:relative;display:flex;flex-direction:column;height:100%;min-height:0;\n background:var(--dshpc-surface-base);color:var(--dshpc-fg);\n}\n\n/* \u7B2C\u4E00\u6392\uFF1A\u25BE \u9009\u5C42 + \u9762\u5305\u5C51 + \u52A8\u4F5C\uFF08\u5144\u5F1F .dsh-tdt-sv-crumbbar\uFF09\n \u26A0\uFE0F \u4E0D\u80FD overflow:hidden \u2014\u2014 \u4E0B\u62C9\u6D6E\u5C42\u6302\u5728\u5B83\u4E0B\u9762\uFF0C\u88C1\u4E86\u5C31\u770B\u4E0D\u89C1\u3002 */\n.dshpc-fb__bar{\n position:relative;flex:none;display:flex;align-items:center;gap:2px;\n padding:4px 10px;border-bottom:1px solid var(--dshpc-border);white-space:nowrap;\n}\n.dshpc-fb__menu-wrap{position:relative;flex:none;display:inline-flex}\n.dshpc-fb__crumbs{position:relative;flex:1;min-width:0;display:flex;align-items:center;gap:2px;overflow:hidden}\n.dshpc-fb__crumbs-measure{\n position:absolute;top:0;left:0;display:inline-flex;align-items:center;gap:2px;\n visibility:hidden;pointer-events:none;white-space:nowrap;\n}\n\n/* \u9762\u5305\u5C51\uFF1A\u6838\u5FC3 ghost \u94AE\uFF0C\u4F46\u76AE\u80A4\u4E0E\u5C3A\u5BF8\u53D6\u5144\u5F1F .dsh-tdt-sv-crumb\uFF08\u9AD8\u7531\u5185\u5BB9\u51B3\u5B9A\uFF0C\u4E0D\u9501\u63A7\u5236\u9AD8\uFF09\u3002 */\n.dshpc-fb .dshpc-fb__crumb{\n appearance:none;background:0 0;border:none;height:auto;\n padding:2px 4px;border-radius:var(--dshpc-radius-sm);\n font:inherit;font-size:var(--dshpc-font-sm);line-height:var(--dshpc-line-sm);\n color:var(--dshpc-fg-2);cursor:pointer;\n display:inline-flex;align-items:center;min-width:0;overflow:hidden;text-overflow:ellipsis;\n}\n.dshpc-fb .dshpc-fb__crumb:hover{background:var(--dshpc-hover);color:var(--dshpc-fg)}\n.dshpc-fb .dshpc-fb__crumb:disabled{color:var(--dshpc-fg-2);cursor:default}\n.dshpc-fb .dshpc-fb__crumb--current{cursor:default;color:var(--dshpc-fg);font-weight:600;min-width:0}\n.dshpc-fb .dshpc-fb__crumb--current:hover{background:0 0}\n.dshpc-fb__crumb-mq{flex:1 1 auto;min-width:0}\n.dshpc-fb__crumb-sep{flex:none;color:var(--dshpc-fg-3)}\n\n/* \u8D8A\u754C\uFF08outside-workspace\uFF09\u7B2C\u4E00\u6392\uFF1A\u53EA\u8BFB\u5B8C\u6574\u8DEF\u5F84\uFF08\u5144\u5F1F .dsh-tdt-sv-crumbbar-plain-inner\uFF09\u3002 */\n.dshpc-fb__bar-plain{\n font-family:var(--dshpc-font-mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace);\n font-size:var(--dshpc-font-sm);line-height:var(--dshpc-line-sm);color:var(--dshpc-fg-2);\n white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:default;user-select:none;\n}\n.dshpc-fb__actions{flex:none;display:flex;align-items:center;gap:4px}\n\n/* \u25BE \u9009\u5C42\u6D6E\u5C42\uFF08\u5144\u5F1F .dsh-tdt-sv-crumbs-*\uFF09\u3002\n \u5C42\u5E8F\uFF1A\u5144\u5F1F\u662F 30/31\uFF1B\u672C\u4ED3 picker \u9762\u677F\u662F 1100\uFF0C\u906E\u7F69\u5FC5\u987B\u9AD8\u4E8E\u5B83\uFF0C\u5426\u5219\u83DC\u5355\u5F00\u7740\u70B9\u9762\u677F\u4E0D\u7B97\u300C\u70B9\u5916\u90E8\u300D\u3002 */\n.dshpc-fb__crumbs-backdrop{position:fixed;inset:0;z-index:1200;background:transparent}\n.dshpc-fb__crumbs-menu{\n position:absolute;top:calc(100% + 4px);left:0;z-index:1201;min-width:160px;max-height:240px;overflow:auto;\n background:var(--dshpc-surface-menu);border:1px solid var(--dshpc-border);border-radius:var(--dshpc-radius-sm);\n box-shadow:0 4px 16px rgba(0,0,0,.18);padding:4px;display:flex;flex-direction:column;\n}\n.dshpc-fb__menu-item{\n appearance:none;background:0 0;border:none;text-align:left;font:inherit;\n font-size:var(--dshpc-font-sm);line-height:var(--dshpc-line-md);\n padding:4px 8px;border-radius:var(--dshpc-radius-sm);color:var(--dshpc-fg);cursor:pointer;\n max-width:280px;display:flex;align-items:center;gap:2px;\n overflow:hidden;text-overflow:ellipsis;white-space:nowrap;\n}\n.dshpc-fb__menu-item:hover{background:var(--dshpc-hover)}\n.dshpc-fb__menu-empty{\n font-size:var(--dshpc-font-sm);line-height:var(--dshpc-line-md);padding:4px 8px;color:var(--dshpc-fg-3);\n}\n.dshpc-fb__menu-icon{flex:none;display:inline-flex}\n.dshpc-fb__menu-chev{flex:none;color:var(--dshpc-fg-3);margin-right:1px}\n.dshpc-fb__menu-chev-slot{flex:none;width:11px;height:11px;margin-right:1px}\n.dshpc-fb__menu-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n\n/* \u7B2C\u4E8C\u6392\uFF08\u4EC5\u9884\u89C8\u6001\uFF09\uFF1A\u6587\u4EF6\u540D + \u5DE5\u5177\uFF08\u5144\u5F1F .dsh-tdt-sv-titlebar / -preview-title-inner\uFF09\u3002 */\n.dshpc-fb__title{\n flex:none;display:flex;align-items:center;gap:8px;\n padding:8px 14px;border-bottom:1px solid var(--dshpc-border);\n}\n.dshpc-fb__title-inner{\n font-family:var(--dshpc-font-mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace);\n font-size:var(--dshpc-font-sm);line-height:var(--dshpc-line-sm);color:var(--dshpc-fg);\n white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:default;\n}\n\n/* \u4E3B\u4F53\uFF08\u5144\u5F1F .dsh-tdt-sv-preview-body / -hint / -preview-err\uFF09 */\n.dshpc-fb__body{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:12px 14px}\n.dshpc-fb__note{font-size:var(--dshpc-font-sm);color:var(--dshpc-fg-2);text-align:center;padding:12px 0}\n.dshpc-fb__err{\n display:flex;flex-direction:column;align-items:flex-start;gap:10px;\n font-size:var(--dshpc-font-sm);line-height:1.6;color:var(--dshpc-fg-2);padding:8px 0;\n}\n\n/* \u76EE\u5F55\u6811\uFF08\u5144\u5F1F .dsh-tdt-sv-tree*\uFF09 */\n.dshpc-fb__tree{flex:1;min-height:0;overflow:auto;padding:6px 8px}\n.dshpc-fb__row{\n display:flex;align-items:center;gap:8px;padding:6px 8px;\n border-radius:var(--dshpc-radius-sm);cursor:pointer;user-select:none;\n}\n.dshpc-fb__row:hover{background:var(--dshpc-hover)}\n.dshpc-fb__row:focus-visible{outline:2px solid var(--dshpc-focus);outline-offset:-2px}\n.dshpc-fb__row-icon{flex:none;display:inline-flex;color:var(--dshpc-fg-2)}\n.dshpc-fb__row-name{\n flex:1;min-width:0;font-size:var(--dshpc-font-md);line-height:var(--dshpc-line-md);color:var(--dshpc-fg);\n overflow:hidden;text-overflow:ellipsis;white-space:nowrap;\n}\n\n/* \u5C55\u5F00\u5F00\u5173\uFF1A\u6838\u5FC3 IconButton\uFF0C\u547D\u4E2D\u4F4D 20\u00D720 + \u5C55\u5F00\u65F6\u8F6C 90\u00B0\uFF08\u5144\u5F1F .dsh-tdt-sv-tree-toggle{,-open}\uFF09\u3002 */\n.dshpc-fb .dshpc-fb__row-toggle{\n appearance:none;background:0 0;border:none;flex:none;\n width:20px;height:20px;padding:0;margin:0;border-radius:var(--dshpc-radius-sm);\n color:var(--dshpc-fg-2);cursor:pointer;\n display:inline-flex;align-items:center;justify-content:center;\n transition:transform var(--dshpc-dur-fast) var(--dshpc-ease),background var(--dshpc-dur-fast) var(--dshpc-ease);\n}\n.dshpc-fb .dshpc-fb__row-toggle--open{transform:rotate(90deg)}\n\n/* \u884C\u5C3E\u300C\u8FDB\u5165 / \u9009\u62E9\u300D\uFF1A\u6838\u5FC3 outline \u94AE\uFF0C\u76AE\u80A4\u53D6\u5144\u5F1F .dsh-tdt-sv-tree-act\uFF08\u9AD8\u7531\u5185\u5BB9\u51B3\u5B9A\uFF09\u3002\n \u5E73\u65F6\u9690\u8EAB\u4F46\u5360\u4F4D\uFF08opacity \u800C\u975E display\uFF09\u21D2 \u51FA\u73B0\u65F6\u4E0D\u9876\u52A8\u884C\u5185\u5E03\u5C40\u3002 */\n.dshpc-fb .dshpc-fb__row-act{\n flex:none;margin-left:auto;appearance:none;background:0 0;\n border:1px solid var(--dshpc-border);border-radius:var(--dshpc-radius-sm);\n height:auto;padding:2px 8px;font-size:var(--dshpc-font-sm);line-height:1.4;\n color:var(--dshpc-fg-2);cursor:pointer;\n opacity:0;pointer-events:none;\n transition:opacity var(--dshpc-dur-fast) var(--dshpc-ease);\n}\n.dshpc-fb__row:hover .dshpc-fb__row-act,.dshpc-fb .dshpc-fb__row-act:focus-visible{opacity:1;pointer-events:auto}\n.dshpc-fb .dshpc-fb__row-act:hover{background:var(--dshpc-hover);color:var(--dshpc-fg)}\n\n.dshpc-fb__row-children{\n margin-left:9px;padding-left:7px;border-left:1px solid var(--dshpc-border);\n display:flex;flex-direction:column;\n}\n.dshpc-fb__row-note{flex:none;padding:8px 10px;font-size:var(--dshpc-font-sm);color:var(--dshpc-fg-3)}\n.dshpc-fb__row-err{padding:4px 8px 4px 36px;font-size:var(--dshpc-font-sm);color:var(--dshpc-danger)}\n\n/* \u9884\u89C8\u4F53\u5185\u90E8\u5BB9\u5668\uFF08\u4EC5\u672C\u4ED3\u9884\u89C8\u7EC4\u4EF6\u7528\uFF1B\u5144\u5F1F\u5BF9\u5E94 preview-fill / preview-body-code \u4E00\u7C7B\uFF09\u3002\n \u5FC5\u987B border-box\uFF1A\u6E32\u67D3\u6001 inline \u52A0\u4E86 padding:12px 14px\uFF0Ccontent-box \u4E0B width:100%+padding\n \u4F1A\u6EA2\u51FA\u7236\u5C42 28px\uFF08\u7236 .dshpc-fb \u65E0 overflow \u88C1\u5207\uFF09\u2192 \u6052\u591A\u4E00\u6761\u6A2A\u6EDA\u6761\uFF1Bborder-box \u628A padding\n \u7B97\u8FDB 100%\uFF0C\u4ECE\u6839\u6D88\u9664\u8BE5\u6EA2\u51FA\u3002 */\n.dshpc-fb__text{flex:1;min-height:0;overflow:auto;width:100%;box-sizing:border-box}\n.dshpc-fb__banner{padding:6px 10px;background:var(--dshpc-open-bg);color:var(--dshpc-fg-2);font-size:var(--dshpc-font-sm)}\n.dshpc-fb__more{display:flex;justify-content:center;padding:10px}\n.dshpc-fb__image{max-width:100%;border-radius:var(--dshpc-radius-sm);border:1px solid var(--dshpc-border)}\n/* iframe \u7684\u5916\u58F3\uFF08\u5144\u5F1F .dsh-tdt-sv-preview-fill\uFF09\uFF1Aiframe \u5FC5\u987B\u5305\u5728\u8FD9\u4E00\u5C42\u91CC\u624D\u62FF\u5F97\u5230\u9AD8\u5EA6\u2014\u2014\n \u88F8\u6302 iframe \u65F6\u66FF\u6362\u5143\u7D20\u7684\u81EA\u52A8\u6700\u5C0F\u5C3A\u5BF8\u4F1A\u8BA9\u9AD8\u5EA6\u7B97\u4E0D\u51FA\u6765\uFF08\u8868\u73B0\u4E3A\u9884\u89C8\u533A\u6574\u7247\u7A7A\u767D\u3001\u50CF\u6CA1\u53CD\u5E94\uFF09\u3002 */\n.dshpc-fb__fill{flex:1;min-height:0;display:flex;overflow:hidden;padding:0}\n.dshpc-fb__frame{flex:1;min-height:0;width:100%;height:100%;border:none;background:var(--dshpc-surface-1)}\n";
|
|
2
|
+
//# sourceMappingURL=explorer-css.generated.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"explorer-css.generated.d.ts","sourceRoot":"","sources":["../../src/explorer/explorer-css.generated.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,yqVAAq/P,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
// ⚠️ 生成物,勿手改。真源 = src/explorer/explorer.css
|
|
2
|
+
// 由 scripts/gen-css.mjs 生成(`pnpm run gen:css`):改样式请改那个 .css 文件后重新生成。
|
|
3
|
+
export const EXPLORER_CSS = "/* 工作区文件浏览器(dshpc-fb-*)。\n *\n * 度量真源 = 兄弟项目 dsh-task-dispatch-table 的 src/client/archive-session-css.ts\n * (.dsh-tdt-sv-* 全族)。**逐条照抄,不许自己估**:padding / gap / 圆角 / 字号 / 行高 /\n * 边框色 / 悬停色 / 透明度动画 / 溢出策略,一一对应,改这里之前先去那边对原文。\n * 前缀与变量名换成本仓口径(--tdt-* → --dshpc-*),数值不换。\n *\n * 控件:能核心就核心(面包屑 = Button ghost、行尾 = Button outline、展开 / 图标 = IconButton、\n * 分段 = Segmented、文字 = MarqueeText)。核心控件自带的 padding / 高度 / 皮肤在本文件里\n * **按兄弟数值覆盖**(选择器带 .dshpc-fb 前缀提高特异性,确保盖得住控件默认值)。\n */\n.dshpc-fb{\n position:relative;display:flex;flex-direction:column;height:100%;min-height:0;\n background:var(--dshpc-surface-base);color:var(--dshpc-fg);\n}\n\n/* 第一排:▾ 选层 + 面包屑 + 动作(兄弟 .dsh-tdt-sv-crumbbar)\n ⚠️ 不能 overflow:hidden —— 下拉浮层挂在它下面,裁了就看不见。 */\n.dshpc-fb__bar{\n position:relative;flex:none;display:flex;align-items:center;gap:2px;\n padding:4px 10px;border-bottom:1px solid var(--dshpc-border);white-space:nowrap;\n}\n.dshpc-fb__menu-wrap{position:relative;flex:none;display:inline-flex}\n.dshpc-fb__crumbs{position:relative;flex:1;min-width:0;display:flex;align-items:center;gap:2px;overflow:hidden}\n.dshpc-fb__crumbs-measure{\n position:absolute;top:0;left:0;display:inline-flex;align-items:center;gap:2px;\n visibility:hidden;pointer-events:none;white-space:nowrap;\n}\n\n/* 面包屑:核心 ghost 钮,但皮肤与尺寸取兄弟 .dsh-tdt-sv-crumb(高由内容决定,不锁控制高)。 */\n.dshpc-fb .dshpc-fb__crumb{\n appearance:none;background:0 0;border:none;height:auto;\n padding:2px 4px;border-radius:var(--dshpc-radius-sm);\n font:inherit;font-size:var(--dshpc-font-sm);line-height:var(--dshpc-line-sm);\n color:var(--dshpc-fg-2);cursor:pointer;\n display:inline-flex;align-items:center;min-width:0;overflow:hidden;text-overflow:ellipsis;\n}\n.dshpc-fb .dshpc-fb__crumb:hover{background:var(--dshpc-hover);color:var(--dshpc-fg)}\n.dshpc-fb .dshpc-fb__crumb:disabled{color:var(--dshpc-fg-2);cursor:default}\n.dshpc-fb .dshpc-fb__crumb--current{cursor:default;color:var(--dshpc-fg);font-weight:600;min-width:0}\n.dshpc-fb .dshpc-fb__crumb--current:hover{background:0 0}\n.dshpc-fb__crumb-mq{flex:1 1 auto;min-width:0}\n.dshpc-fb__crumb-sep{flex:none;color:var(--dshpc-fg-3)}\n\n/* 越界(outside-workspace)第一排:只读完整路径(兄弟 .dsh-tdt-sv-crumbbar-plain-inner)。 */\n.dshpc-fb__bar-plain{\n font-family:var(--dshpc-font-mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace);\n font-size:var(--dshpc-font-sm);line-height:var(--dshpc-line-sm);color:var(--dshpc-fg-2);\n white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:default;user-select:none;\n}\n.dshpc-fb__actions{flex:none;display:flex;align-items:center;gap:4px}\n\n/* ▾ 选层浮层(兄弟 .dsh-tdt-sv-crumbs-*)。\n 层序:兄弟是 30/31;本仓 picker 面板是 1100,遮罩必须高于它,否则菜单开着点面板不算「点外部」。 */\n.dshpc-fb__crumbs-backdrop{position:fixed;inset:0;z-index:1200;background:transparent}\n.dshpc-fb__crumbs-menu{\n position:absolute;top:calc(100% + 4px);left:0;z-index:1201;min-width:160px;max-height:240px;overflow:auto;\n background:var(--dshpc-surface-menu);border:1px solid var(--dshpc-border);border-radius:var(--dshpc-radius-sm);\n box-shadow:0 4px 16px rgba(0,0,0,.18);padding:4px;display:flex;flex-direction:column;\n}\n.dshpc-fb__menu-item{\n appearance:none;background:0 0;border:none;text-align:left;font:inherit;\n font-size:var(--dshpc-font-sm);line-height:var(--dshpc-line-md);\n padding:4px 8px;border-radius:var(--dshpc-radius-sm);color:var(--dshpc-fg);cursor:pointer;\n max-width:280px;display:flex;align-items:center;gap:2px;\n overflow:hidden;text-overflow:ellipsis;white-space:nowrap;\n}\n.dshpc-fb__menu-item:hover{background:var(--dshpc-hover)}\n.dshpc-fb__menu-empty{\n font-size:var(--dshpc-font-sm);line-height:var(--dshpc-line-md);padding:4px 8px;color:var(--dshpc-fg-3);\n}\n.dshpc-fb__menu-icon{flex:none;display:inline-flex}\n.dshpc-fb__menu-chev{flex:none;color:var(--dshpc-fg-3);margin-right:1px}\n.dshpc-fb__menu-chev-slot{flex:none;width:11px;height:11px;margin-right:1px}\n.dshpc-fb__menu-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n\n/* 第二排(仅预览态):文件名 + 工具(兄弟 .dsh-tdt-sv-titlebar / -preview-title-inner)。 */\n.dshpc-fb__title{\n flex:none;display:flex;align-items:center;gap:8px;\n padding:8px 14px;border-bottom:1px solid var(--dshpc-border);\n}\n.dshpc-fb__title-inner{\n font-family:var(--dshpc-font-mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace);\n font-size:var(--dshpc-font-sm);line-height:var(--dshpc-line-sm);color:var(--dshpc-fg);\n white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:default;\n}\n\n/* 主体(兄弟 .dsh-tdt-sv-preview-body / -hint / -preview-err) */\n.dshpc-fb__body{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:12px 14px}\n.dshpc-fb__note{font-size:var(--dshpc-font-sm);color:var(--dshpc-fg-2);text-align:center;padding:12px 0}\n.dshpc-fb__err{\n display:flex;flex-direction:column;align-items:flex-start;gap:10px;\n font-size:var(--dshpc-font-sm);line-height:1.6;color:var(--dshpc-fg-2);padding:8px 0;\n}\n\n/* 目录树(兄弟 .dsh-tdt-sv-tree*) */\n.dshpc-fb__tree{flex:1;min-height:0;overflow:auto;padding:6px 8px}\n.dshpc-fb__row{\n display:flex;align-items:center;gap:8px;padding:6px 8px;\n border-radius:var(--dshpc-radius-sm);cursor:pointer;user-select:none;\n}\n.dshpc-fb__row:hover{background:var(--dshpc-hover)}\n.dshpc-fb__row:focus-visible{outline:2px solid var(--dshpc-focus);outline-offset:-2px}\n.dshpc-fb__row-icon{flex:none;display:inline-flex;color:var(--dshpc-fg-2)}\n.dshpc-fb__row-name{\n flex:1;min-width:0;font-size:var(--dshpc-font-md);line-height:var(--dshpc-line-md);color:var(--dshpc-fg);\n overflow:hidden;text-overflow:ellipsis;white-space:nowrap;\n}\n\n/* 展开开关:核心 IconButton,命中位 20×20 + 展开时转 90°(兄弟 .dsh-tdt-sv-tree-toggle{,-open})。 */\n.dshpc-fb .dshpc-fb__row-toggle{\n appearance:none;background:0 0;border:none;flex:none;\n width:20px;height:20px;padding:0;margin:0;border-radius:var(--dshpc-radius-sm);\n color:var(--dshpc-fg-2);cursor:pointer;\n display:inline-flex;align-items:center;justify-content:center;\n transition:transform var(--dshpc-dur-fast) var(--dshpc-ease),background var(--dshpc-dur-fast) var(--dshpc-ease);\n}\n.dshpc-fb .dshpc-fb__row-toggle--open{transform:rotate(90deg)}\n\n/* 行尾「进入 / 选择」:核心 outline 钮,皮肤取兄弟 .dsh-tdt-sv-tree-act(高由内容决定)。\n 平时隐身但占位(opacity 而非 display)⇒ 出现时不顶动行内布局。 */\n.dshpc-fb .dshpc-fb__row-act{\n flex:none;margin-left:auto;appearance:none;background:0 0;\n border:1px solid var(--dshpc-border);border-radius:var(--dshpc-radius-sm);\n height:auto;padding:2px 8px;font-size:var(--dshpc-font-sm);line-height:1.4;\n color:var(--dshpc-fg-2);cursor:pointer;\n opacity:0;pointer-events:none;\n transition:opacity var(--dshpc-dur-fast) var(--dshpc-ease);\n}\n.dshpc-fb__row:hover .dshpc-fb__row-act,.dshpc-fb .dshpc-fb__row-act:focus-visible{opacity:1;pointer-events:auto}\n.dshpc-fb .dshpc-fb__row-act:hover{background:var(--dshpc-hover);color:var(--dshpc-fg)}\n\n.dshpc-fb__row-children{\n margin-left:9px;padding-left:7px;border-left:1px solid var(--dshpc-border);\n display:flex;flex-direction:column;\n}\n.dshpc-fb__row-note{flex:none;padding:8px 10px;font-size:var(--dshpc-font-sm);color:var(--dshpc-fg-3)}\n.dshpc-fb__row-err{padding:4px 8px 4px 36px;font-size:var(--dshpc-font-sm);color:var(--dshpc-danger)}\n\n/* 预览体内部容器(仅本仓预览组件用;兄弟对应 preview-fill / preview-body-code 一类)。\n 必须 border-box:渲染态 inline 加了 padding:12px 14px,content-box 下 width:100%+padding\n 会溢出父层 28px(父 .dshpc-fb 无 overflow 裁切)→ 恒多一条横滚条;border-box 把 padding\n 算进 100%,从根消除该溢出。 */\n.dshpc-fb__text{flex:1;min-height:0;overflow:auto;width:100%;box-sizing:border-box}\n.dshpc-fb__banner{padding:6px 10px;background:var(--dshpc-open-bg);color:var(--dshpc-fg-2);font-size:var(--dshpc-font-sm)}\n.dshpc-fb__more{display:flex;justify-content:center;padding:10px}\n.dshpc-fb__image{max-width:100%;border-radius:var(--dshpc-radius-sm);border:1px solid var(--dshpc-border)}\n/* iframe 的外壳(兄弟 .dsh-tdt-sv-preview-fill):iframe 必须包在这一层里才拿得到高度——\n 裸挂 iframe 时替换元素的自动最小尺寸会让高度算不出来(表现为预览区整片空白、像没反应)。 */\n.dshpc-fb__fill{flex:1;min-height:0;display:flex;overflow:hidden;padding:0}\n.dshpc-fb__frame{flex:1;min-height:0;width:100%;height:100%;border:none;background:var(--dshpc-surface-1)}\n";
|
|
4
|
+
//# sourceMappingURL=explorer-css.generated.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"explorer-css.generated.js","sourceRoot":"","sources":["../../src/explorer/explorer-css.generated.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,qEAAqE;AACrE,MAAM,CAAC,MAAM,YAAY,GAAG,k/PAAk/P,CAAA"}
|
|
@@ -1,33 +1,3 @@
|
|
|
1
1
|
// explorer 样式。类名固定 dshpc-exp-*。
|
|
2
|
-
export
|
|
3
|
-
.dshpc-exp{display:flex;flex-direction:column;height:100%;min-height:0;color:var(--dshpc-fg);font-size:13px}
|
|
4
|
-
.dshpc-exp__crumbs{
|
|
5
|
-
display:flex;align-items:center;gap:2px;flex-wrap:wrap;padding:6px 8px;
|
|
6
|
-
border-bottom:1px solid var(--dshpc-border-faint);
|
|
7
|
-
}
|
|
8
|
-
.dshpc-exp__crumb{
|
|
9
|
-
background:none;border:none;padding:2px 4px;border-radius:4px;cursor:pointer;
|
|
10
|
-
color:var(--dshpc-link);font:inherit;
|
|
11
|
-
}
|
|
12
|
-
.dshpc-exp__crumb--current{color:var(--dshpc-fg);font-weight:600;cursor:default}
|
|
13
|
-
.dshpc-exp__sep{color:var(--dshpc-fg-4)}
|
|
14
|
-
.dshpc-exp__tools{display:flex;gap:6px;margin-left:auto}
|
|
15
|
-
.dshpc-exp__body{display:flex;flex:1;min-height:0}
|
|
16
|
-
.dshpc-exp__tree{width:220px;flex:none;overflow:auto;border-right:1px solid var(--dshpc-border-faint)}
|
|
17
|
-
.dshpc-exp__item{
|
|
18
|
-
display:flex;align-items:center;gap:6px;padding:4px 8px;cursor:pointer;white-space:nowrap;
|
|
19
|
-
}
|
|
20
|
-
.dshpc-exp__item:hover{background:var(--dshpc-surface-sunken)}
|
|
21
|
-
.dshpc-exp__item--active{background:var(--dshpc-open-bg)}
|
|
22
|
-
.dshpc-exp__icon{width:14px;flex:none;color:var(--dshpc-fg-3)}
|
|
23
|
-
.dshpc-exp__name{overflow:hidden;text-overflow:ellipsis}
|
|
24
|
-
.dshpc-exp__size{margin-left:auto;color:var(--dshpc-fg-4);font-size:11px}
|
|
25
|
-
.dshpc-exp__preview{flex:1;min-width:0;overflow:auto;padding:8px}
|
|
26
|
-
.dshpc-exp__note{padding:6px 8px;color:var(--dshpc-fg-3);font-size:11px}
|
|
27
|
-
.dshpc-exp__text{
|
|
28
|
-
margin:0;padding:8px;border-radius:6px;background:var(--dshpc-code-surface);
|
|
29
|
-
font:var(--dshpc-code-font);white-space:pre-wrap;word-break:break-all;
|
|
30
|
-
}
|
|
31
|
-
.dshpc-exp__image{max-width:100%;border-radius:6px;border:1px solid var(--dshpc-border-faint)}
|
|
32
|
-
`;
|
|
2
|
+
export { EXPLORER_CSS } from './explorer-css.generated.js';
|
|
33
3
|
//# sourceMappingURL=explorer-css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"explorer-css.js","sourceRoot":"","sources":["../../src/explorer/explorer-css.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,
|
|
1
|
+
{"version":3,"file":"explorer-css.js","sourceRoot":"","sources":["../../src/explorer/explorer-css.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA"}
|
package/dist/explorer/index.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export {
|
|
1
|
+
export { FileBrowser, type FileBrowserProps } from './FileBrowser.js';
|
|
2
|
+
export { openFilePreview, pickWorkspaceFile, type FilePreviewHandle, type OpenFilePreviewOptions, type PickedFile, type PickWorkspaceFileOptions, } from './open.js';
|
|
3
|
+
export { FilePreview, type FilePreviewProps } from './preview/index.js';
|
|
4
|
+
export { absolutizeDir, bareCode, createRootCache, errView, findAnyFileAbs, isFailed, joinPath, learnRoot, listPathOf, listingOf, matchesFilter, pickWorkspaceAnchor, previewInfoOf, previewKindOf, relativizeToRoot, sortEntries, workspaceAnchorForPath, anchorSessionForTitle, type DirEntry, type ErrView, type Listing, type OfficeToPdfFace, type PickFilter, type PreviewInfo, type PreviewKind, type RootCache, type WorkspaceAnchor, type WorkspaceAnchorItem, type WorkspaceFilesFace, } from './types.js';
|
|
3
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/explorer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/explorer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACrE,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,UAAU,EACf,KAAK,wBAAwB,GAC9B,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACvE,OAAO,EACL,aAAa,EACb,QAAQ,EACR,eAAe,EACf,OAAO,EACP,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,UAAU,EACV,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,sBAAsB,EACtB,qBAAqB,EACrB,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,GACxB,MAAM,YAAY,CAAA"}
|
package/dist/explorer/index.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export {
|
|
1
|
+
export { FileBrowser } from './FileBrowser.js';
|
|
2
|
+
export { openFilePreview, pickWorkspaceFile, } from './open.js';
|
|
3
|
+
export { FilePreview } from './preview/index.js';
|
|
4
|
+
export { absolutizeDir, bareCode, createRootCache, errView, findAnyFileAbs, isFailed, joinPath, learnRoot, listPathOf, listingOf, matchesFilter, pickWorkspaceAnchor, previewInfoOf, previewKindOf, relativizeToRoot, sortEntries, workspaceAnchorForPath, anchorSessionForTitle, } from './types.js';
|
|
3
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/explorer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/explorer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAyB,MAAM,kBAAkB,CAAA;AACrE,OAAO,EACL,eAAe,EACf,iBAAiB,GAKlB,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,WAAW,EAAyB,MAAM,oBAAoB,CAAA;AACvE,OAAO,EACL,aAAa,EACb,QAAQ,EACR,eAAe,EACf,OAAO,EACP,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,UAAU,EACV,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,sBAAsB,EACtB,qBAAqB,GAYtB,MAAM,YAAY,CAAA"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import { type Translate } from '../utils/i18n.js';
|
|
3
|
+
import type { OfficeToPdfFace, PickFilter, RootCache, WorkspaceAnchorItem, WorkspaceFilesFace } from './types.js';
|
|
4
|
+
export interface FilePreviewHandle {
|
|
5
|
+
/** 关闭预览(幂等)。 */
|
|
6
|
+
close(): void;
|
|
7
|
+
/** 当前预览的路径(调用方传入值)。 */
|
|
8
|
+
readonly path: string;
|
|
9
|
+
}
|
|
10
|
+
export interface OpenFilePreviewOptions {
|
|
11
|
+
/**
|
|
12
|
+
* 工作区文件服务(文件预览要用)。传了 `content` 时(自定义审阅内容,例如变更 diff),
|
|
13
|
+
* 这一组文件定位参数都可省略——核心只负责把 `content` 渲染进同一个右侧 dock,不解析路径。
|
|
14
|
+
*/
|
|
15
|
+
workspaceFiles?: WorkspaceFilesFace;
|
|
16
|
+
sessionId?: string;
|
|
17
|
+
/** 文件或文件夹路径。与 `content` 二选一:传 `content` 时本字段可省略。 */
|
|
18
|
+
path?: string;
|
|
19
|
+
/**
|
|
20
|
+
* 自定义审阅内容:传入则核心渲染它进右侧 dock,**替代**内置 FileBrowser(解耦用途——
|
|
21
|
+
* 例如把「某次改动的 diff」当内容塞进来,核心本身不认识 changes)。与 `path` 二选一。
|
|
22
|
+
*/
|
|
23
|
+
content?: () => ReactNode;
|
|
24
|
+
officeToPdf?: OfficeToPdfFace | null;
|
|
25
|
+
/** 工作区根显示名(面包屑首段)。 */
|
|
26
|
+
rootName?: string;
|
|
27
|
+
/** ▾ 下拉顶部的工作区清单(当前工作区展开 + 其余罗列;不传 = 下拉只有路径层)。 */
|
|
28
|
+
workspaces?: readonly string[];
|
|
29
|
+
/**
|
|
30
|
+
* 宿主工作区清单(带绝对 path):**可选覆盖**。path 为绝对路径时核心按最长前缀匹配所属
|
|
31
|
+
* 工作区、list 换该工作区的会话 id;▾ 下拉「切工作区」也由它驱动。
|
|
32
|
+
* **不传 = 自动用宿主 workspaces 快照**(connectHost 注入的 workspaceList)——
|
|
33
|
+
* 调用方零传参也能匹配、能切。仅在「覆盖快照 / 宿主未接线」时才需要显式传。
|
|
34
|
+
*/
|
|
35
|
+
workspaceAnchors?: readonly WorkspaceAnchorItem[];
|
|
36
|
+
/** 从 ▾ 下拉选择其他工作区(点当前工作区 = 回其根目录,不走这里)。 */
|
|
37
|
+
onSelectWorkspace?: (name: string) => void;
|
|
38
|
+
/** 关闭后回调(✕ / Esc / handle.close 都触发)。 */
|
|
39
|
+
onClose?: () => void;
|
|
40
|
+
/** 初始宽度(px,默认 460)。 */
|
|
41
|
+
width?: number;
|
|
42
|
+
/** 宽度下限(默认 320)。 */
|
|
43
|
+
minWidth?: number;
|
|
44
|
+
/** 宽度上限;不传 = 只受视口与主区保底约束。 */
|
|
45
|
+
maxWidth?: number;
|
|
46
|
+
/** 拖宽时给主区留的最小宽度(px,默认 480)。 */
|
|
47
|
+
mainMinWidth?: number;
|
|
48
|
+
/** 面板无障碍名(没有头部,只用于 aria-label)。 */
|
|
49
|
+
title?: string;
|
|
50
|
+
/** 工作区根缓存(与调用方共享时传)。 */
|
|
51
|
+
rootCache?: RootCache;
|
|
52
|
+
translate?: Translate;
|
|
53
|
+
/**
|
|
54
|
+
* **必填**:挂进哪个布局容器(`PanelDock` 是布局成员 —— 占宽度、把左边挤窄)。
|
|
55
|
+
*
|
|
56
|
+
* 传入的应当是**你自己的 flex 行**(页面主区 + 侧栏那一层):核心 dock 会成为它的
|
|
57
|
+
* 最后一个 flex 子项,于是主区被真正挤窄。**不要**传 `document.body` 再自己套 fixed
|
|
58
|
+
* —— 那是浮层,不是分栏(用户 2026-10-21 明确否决)。
|
|
59
|
+
*/
|
|
60
|
+
mount: HTMLElement;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* 打开工作区文件/文件夹的**停靠**预览(分栏:挤窄 `mount` 左边的兄弟,不是盖上去)。
|
|
64
|
+
* 重复打开会关掉上一个(同侧边栏位)。
|
|
65
|
+
*/
|
|
66
|
+
export declare function openFilePreview(options: OpenFilePreviewOptions): FilePreviewHandle | null;
|
|
67
|
+
export interface PickedFile {
|
|
68
|
+
/** 工作区相对路径。 */
|
|
69
|
+
path: string;
|
|
70
|
+
/** true = 选的是整个文件夹。 */
|
|
71
|
+
isDir: boolean;
|
|
72
|
+
}
|
|
73
|
+
export interface PickWorkspaceFileOptions {
|
|
74
|
+
workspaceFiles: WorkspaceFilesFace;
|
|
75
|
+
sessionId: string;
|
|
76
|
+
/** 锚点元素:弹窗左缘与之对齐、优先落在它**下方**(下方不够才翻到上方);不传 = 屏幕居中。 */
|
|
77
|
+
anchor?: HTMLElement | null;
|
|
78
|
+
/** 过滤:exts = 只要这些扩展名(小写无点);dirs = 只要文件夹;不传 = 不限。 */
|
|
79
|
+
filter?: PickFilter;
|
|
80
|
+
officeToPdf?: OfficeToPdfFace | null;
|
|
81
|
+
/** 工作区根显示名。 */
|
|
82
|
+
rootName?: string;
|
|
83
|
+
/** ▾ 下拉的工作区清单(切换工作区浏览)。 */
|
|
84
|
+
workspaces?: readonly string[];
|
|
85
|
+
onSelectWorkspace?: (name: string) => void;
|
|
86
|
+
/** 取消回调(Esc / 点外部 / ✕)。 */
|
|
87
|
+
onCancel?: () => void;
|
|
88
|
+
rootCache?: RootCache;
|
|
89
|
+
/**
|
|
90
|
+
* 文案注入:调用时把自己的 `t` 传进来,面板里所有文字(含「选择」「进入」、空态、错误文案)
|
|
91
|
+
* 就走你的字典;不传则用核心内置中英字典。**与 openFilePreview 同一个 prop、同一套文案**。
|
|
92
|
+
*/
|
|
93
|
+
translate?: Translate;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* 弹出「选择工作区文件」模态弹窗,Promise 返回选中结果;取消(Esc / 点外部 / ✕)resolve `null`。
|
|
97
|
+
*
|
|
98
|
+
* **面板内容与 `openFilePreview` 完完全全是同一个 `FileBrowser`**(不是复制一套):
|
|
99
|
+
* 差别只有 ① 承载(这里挂在锚点旁的弹窗面板里,那边挂在核心 PanelDock 分栏里)、
|
|
100
|
+
* ② `picker` 形态参数(点文件即回传、行尾按钮变「选择」)。文案 / 根名 / 过滤都按调用时传的走。
|
|
101
|
+
*/
|
|
102
|
+
export declare function pickWorkspaceFile(options: PickWorkspaceFileOptions): Promise<PickedFile | null>;
|
|
103
|
+
//# sourceMappingURL=open.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open.d.ts","sourceRoot":"","sources":["../../src/explorer/open.ts"],"names":[],"mappings":"AAWA,OAAO,EAAsD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAK1F,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAGjD,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAIjH,MAAM,WAAW,iBAAiB;IAChC,gBAAgB;IAChB,KAAK,IAAI,IAAI,CAAA;IACb,uBAAuB;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,cAAc,CAAC,EAAE,kBAAkB,CAAA;IACnC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,oDAAoD;IACpD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,SAAS,CAAA;IACzB,WAAW,CAAC,EAAE,eAAe,GAAG,IAAI,CAAA;IACpC,sBAAsB;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,iDAAiD;IACjD,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC9B;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAA;IACjD,0CAA0C;IAC1C,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC1C,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,uBAAuB;IACvB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,oBAAoB;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,+BAA+B;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wBAAwB;IACxB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB;;;;;;OAMG;IACH,KAAK,EAAE,WAAW,CAAA;CACnB;AA8DD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,iBAAiB,GAAG,IAAI,CA2GzF;AAID,MAAM,WAAW,UAAU;IACzB,eAAe;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,uBAAuB;IACvB,KAAK,EAAE,OAAO,CAAA;CACf;AAED,MAAM,WAAW,wBAAwB;IACvC,cAAc,EAAE,kBAAkB,CAAA;IAClC,SAAS,EAAE,MAAM,CAAA;IACjB,sDAAsD;IACtD,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IAC3B,oDAAoD;IACpD,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,WAAW,CAAC,EAAE,eAAe,GAAG,IAAI,CAAA;IACpC,eAAe;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,2BAA2B;IAC3B,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC9B,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC1C,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB;AAWD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CA4F/F"}
|
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
// 两个命令式能力(用户 2026-10-20 定义)—— explorer 的对外入口:
|
|
2
|
+
//
|
|
3
|
+
// · 方法 A `openFilePreview`:传文件/文件夹路径,打开右侧停靠预览(可拖宽、Esc 关);
|
|
4
|
+
// · 方法 B `pickWorkspaceFile`:Promise 返回选中的工作区相对路径(弹窗在锚点按钮旁弹出,
|
|
5
|
+
// Esc / 点外部 / ✕ 关,选中即 resolve)。
|
|
6
|
+
//
|
|
7
|
+
// 两者共用同一套 FileBrowser 面板(用户拍板:同一套内容,两种展现形式)。
|
|
8
|
+
//
|
|
9
|
+
// ⚠️ 方法 A 的**侧边栏本体是核心 PanelDock**(用户 2026-10-21 拍板:不许自绘制外壳 + 拖拽条)。
|
|
10
|
+
// PanelDock 是布局成员(占宽度、挤窄主区),同 ui/modal-host.ts 的做法:自建 container 挂 + createRoot,
|
|
11
|
+
// 关闭即卸载回收,不残留空根;拖宽与关闭交给 PanelDock 自己的 resizer / header 关钮。
|
|
12
|
+
import { createElement as h, useState, useSyncExternalStore } from 'react';
|
|
13
|
+
import { createRoot } from 'react-dom/client';
|
|
14
|
+
import { ensureControls, getStyleKit } from '../ui/css.js';
|
|
15
|
+
import { workspaceList } from '../ui/host-data.js';
|
|
16
|
+
import { DockPanel, PanelDock, createPanelDock } from '../ui/PanelDock.js';
|
|
17
|
+
import { FileBrowser } from './FileBrowser.js';
|
|
18
|
+
import { anchorSessionForTitle, workspaceAnchorForPath } from './types.js';
|
|
19
|
+
/**
|
|
20
|
+
* 预览体:`openFilePreview` 的 FileBrowser 包裹层。职责只有一个——**切工作区**:
|
|
21
|
+
* ▾ 下拉点工作区 ⇒ 换该工作区的锚点会话、key 重挂载、path 回根。
|
|
22
|
+
* 机制同兄弟项目 `dsh-task-dispatch-table/src/client/task-editor.tsx:2496-2508`:
|
|
23
|
+
* list 的根来自 sessionId ⇒ 必须换会话 + 重挂载,只换 rootName 等于没切。
|
|
24
|
+
* 没会话的工作区不进 ▾ 列表、点了也不切(宿主列不出文件,不给假入口)。
|
|
25
|
+
*
|
|
26
|
+
* 工作区清单:调用方显式传的 `workspaceAnchors` 优先;否则用宿主 workspaces 快照
|
|
27
|
+
* (connectHost 注入的 workspaceList)——**调用方什么都不传也照常能切**。
|
|
28
|
+
*
|
|
29
|
+
* 「当前工作区」必须与面包屑根名同源(`workspaceAnchorForPath` 匹配优先,其次 rootName):
|
|
30
|
+
* 曾经这里直接拿 `rootName` 当初始状态,而 ▾ 菜单把 anchorMatch.title 当当前区;两者不一致时
|
|
31
|
+
* 点 rootName 那个工作区 = setState 成同一个值 ⇒ React bail out ⇒ **点了完全没反应**(2026-10-23 真机)。
|
|
32
|
+
* 同理「切没切」不能用「名字变没变」判断:点回入口工作区会把 path 又还原成入口文件,
|
|
33
|
+
* 看起来就是「跳回第一个工作区」。现在改成「点过 = 进浏览态」,任何工作区(含入口那个)都回根。
|
|
34
|
+
*/
|
|
35
|
+
function PreviewBody(props) {
|
|
36
|
+
const options = props.options;
|
|
37
|
+
const hostWorkspaces = useSyncExternalStore(workspaceList.subscribe, workspaceList.getSnapshot);
|
|
38
|
+
// HostWorkspaceItem 结构兼容 WorkspaceAnchorItem(多一个 workspaceId 无害)⇒ 统一注解收敛联合类型。
|
|
39
|
+
const anchors = options.workspaceAnchors ?? hostWorkspaces;
|
|
40
|
+
// 入口工作区:与 FileBrowser 的面包屑根名同源(两边口径必须一致,见上方注释)。
|
|
41
|
+
const entryTitle = workspaceAnchorForPath(options.path ?? '', anchors)?.title ?? options.rootName ?? '';
|
|
42
|
+
// null = 还在入口态(path 用调用方给的那个文件);非 null = 用户点过工作区,从它的根开始列。
|
|
43
|
+
const [picked, setPicked] = useState(null);
|
|
44
|
+
const wsTitle = picked ?? entryTitle;
|
|
45
|
+
const sessionId = anchorSessionForTitle(anchors, wsTitle) ?? options.sessionId;
|
|
46
|
+
const switchable = anchors.filter((a) => (a.sessionIds?.length ?? 0) > 0).map((a) => a.title);
|
|
47
|
+
return h(FileBrowser, {
|
|
48
|
+
// key 带工作区+会话 ⇒ 切换即重挂载(FileBrowser 的 dir/listing/学根全属于旧工作区)。
|
|
49
|
+
key: `${wsTitle}:${sessionId}`,
|
|
50
|
+
workspaceFiles: options.workspaceFiles,
|
|
51
|
+
officeToPdf: options.officeToPdf ?? null,
|
|
52
|
+
sessionId,
|
|
53
|
+
// 点过工作区就从它的根列(原 path 属于旧工作区,带着只会 404 / 跳回入口文件)。
|
|
54
|
+
path: picked === null ? options.path : '',
|
|
55
|
+
rootName: wsTitle === '' ? options.rootName : wsTitle,
|
|
56
|
+
workspaces: switchable.length > 0 ? switchable : options.workspaces,
|
|
57
|
+
onSelectWorkspace: (name) => {
|
|
58
|
+
// 没会话的工作区列不出文件 ⇒ 不切(宿主能力边界,不给假入口)。
|
|
59
|
+
if (anchorSessionForTitle(anchors, name) === null)
|
|
60
|
+
return;
|
|
61
|
+
setPicked(name);
|
|
62
|
+
},
|
|
63
|
+
// 空数组别传:会把 FileBrowser 内部「回落快照」的兜底挡住(空 ≠ 未传)。
|
|
64
|
+
workspaceAnchors: anchors.length > 0 ? anchors : undefined,
|
|
65
|
+
rootCache: options.rootCache,
|
|
66
|
+
translate: options.translate,
|
|
67
|
+
// 传 onClose ⇒ FileBrowser 在面包屑行尾渲染自己的 ✕(垂直居中,与 pick 一致)。
|
|
68
|
+
onClose: props.onClose,
|
|
69
|
+
style: { height: '100%', minHeight: 0 },
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
/** 预览侧边栏的挂载容器 id(全站唯一,重复打开先关旧的)。 */
|
|
73
|
+
const PREVIEW_HOST_ID = 'dshpc-file-preview-host';
|
|
74
|
+
/** dock 里的面板 id(本 container 里只有一个)。 */
|
|
75
|
+
const PREVIEW_PANEL_ID = 'file-preview';
|
|
76
|
+
/** 当前打开着的预览的 close(重复打开时走它,保证 React 根被真正卸载)。 */
|
|
77
|
+
let activePreviewClose = null;
|
|
78
|
+
/**
|
|
79
|
+
* 打开工作区文件/文件夹的**停靠**预览(分栏:挤窄 `mount` 左边的兄弟,不是盖上去)。
|
|
80
|
+
* 重复打开会关掉上一个(同侧边栏位)。
|
|
81
|
+
*/
|
|
82
|
+
export function openFilePreview(options) {
|
|
83
|
+
if (typeof document === 'undefined')
|
|
84
|
+
return null;
|
|
85
|
+
// 布局契约自检:PanelDock 是布局成员,mount 必须是 flex 行,否则 dock 不停右侧、高度也塌。
|
|
86
|
+
// 只 dev 期警告、不改行为——消费方传错时至少留痕,别静默破相。
|
|
87
|
+
if (typeof getComputedStyle === 'function') {
|
|
88
|
+
const cs = getComputedStyle(options.mount);
|
|
89
|
+
if (cs.display !== 'flex' && cs.display !== 'inline-flex') {
|
|
90
|
+
console.warn('[dsh-plugin-core/explorer] openFilePreview: mount 不是 flex 行 —— PanelDock 是布局成员'
|
|
91
|
+
+ '(停靠右侧 + 挤窄主区)。请传你页面「主区 + 侧栏」那一层 flex 容器,'
|
|
92
|
+
+ '不要传 document.body 或无定高的窄容器。');
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
// 同位置只允许一个预览:先**关**旧的(不是 remove 掉挂载体)。
|
|
96
|
+
// 直接 remove 会把 React 根的卸载清理一起跳过 ⇒ PanelDock 永远不回收它发布的宽度,
|
|
97
|
+
// 遮罩从此卡在让位状态(2026-10-22 真机:点第二个文件链接后再关,遮罩不回弹)。
|
|
98
|
+
activePreviewClose?.();
|
|
99
|
+
const container = document.createElement('div');
|
|
100
|
+
container.id = PREVIEW_HOST_ID;
|
|
101
|
+
container.setAttribute('data-dshpc-file-preview', '');
|
|
102
|
+
// display:contents ⇒ 容器自身不产生盒子,核心 .dshpc-dock 直接成为 mount 的 flex 子项
|
|
103
|
+
// (这样才「挤」得动左边的兄弟;套一层真盒子会把 dock 变成 mount 的整行块)。
|
|
104
|
+
container.style.cssText = 'display:contents';
|
|
105
|
+
options.mount.appendChild(container);
|
|
106
|
+
const dock = createPanelDock({
|
|
107
|
+
maxPanels: 1,
|
|
108
|
+
defaultWidth: options.width ?? 460,
|
|
109
|
+
minWidth: options.minWidth ?? 320,
|
|
110
|
+
// 每次打开都从默认宽度起步(预览是临时面板,不继承上次的落位)。
|
|
111
|
+
storageKey: false,
|
|
112
|
+
// 关钮被点 ⇒ 整个挂载体回收(close 内部幂等,不受 onClose 回调顺序影响)。
|
|
113
|
+
onClose: () => {
|
|
114
|
+
close();
|
|
115
|
+
},
|
|
116
|
+
});
|
|
117
|
+
dock.open(PREVIEW_PANEL_ID);
|
|
118
|
+
let closed = false;
|
|
119
|
+
const root = createRoot(container);
|
|
120
|
+
const close = () => {
|
|
121
|
+
if (closed)
|
|
122
|
+
return;
|
|
123
|
+
closed = true;
|
|
124
|
+
if (activePreviewClose === close)
|
|
125
|
+
activePreviewClose = null;
|
|
126
|
+
window.removeEventListener('keydown', onKeyDown);
|
|
127
|
+
root.unmount();
|
|
128
|
+
container.remove();
|
|
129
|
+
options.onClose?.();
|
|
130
|
+
};
|
|
131
|
+
const onKeyDown = (event) => {
|
|
132
|
+
if (event.key === 'Escape')
|
|
133
|
+
close();
|
|
134
|
+
};
|
|
135
|
+
window.addEventListener('keydown', onKeyDown);
|
|
136
|
+
ensureControls(getStyleKit());
|
|
137
|
+
// 总是走 PreviewBody:调用方没自接 onSelectWorkspace 时,▾ 下拉「切工作区」由核心接管
|
|
138
|
+
// (anchors 为空 ⇒ 回调空转,行为与旧版一致)。自接了 ⇒ 原样透传给 FileBrowser。
|
|
139
|
+
const internalSwitch = options.onSelectWorkspace === undefined;
|
|
140
|
+
root.render(h('div',
|
|
141
|
+
// 高度吃调用方给的 --dshpc-dock-h(demo 的页面行给 100%);退化成视口高是整页场景。
|
|
142
|
+
{ style: { display: 'contents', ['--dshpc-dock-h']: '100%' } }, h(PanelDock, { dock, mainMinWidth: options.mainMinWidth ?? 480, translate: options.translate }, h(DockPanel, {
|
|
143
|
+
id: PREVIEW_PANEL_ID,
|
|
144
|
+
// 不要头部(用户 2026-10-21:核心的『无 header』那版)——上面不再多一条线。
|
|
145
|
+
header: null,
|
|
146
|
+
// 关闭钮不用核心浮动的(那是 absolute 固定偏移、不垂直居中);关掉它的,
|
|
147
|
+
// 改用 FileBrowser 自己的 ✕(和 pick 弹窗同一个 crumb-bar 钮,垂直居中)。
|
|
148
|
+
closeButton: 'none',
|
|
149
|
+
ariaLabel: options.title,
|
|
150
|
+
width: options.width ?? 460,
|
|
151
|
+
minWidth: options.minWidth ?? 320,
|
|
152
|
+
maxWidth: options.maxWidth,
|
|
153
|
+
}, options.content !== undefined
|
|
154
|
+
? options.content()
|
|
155
|
+
: internalSwitch
|
|
156
|
+
? h(PreviewBody, { options, onClose: close })
|
|
157
|
+
: h(FileBrowser, {
|
|
158
|
+
workspaceFiles: options.workspaceFiles,
|
|
159
|
+
officeToPdf: options.officeToPdf ?? null,
|
|
160
|
+
sessionId: options.sessionId,
|
|
161
|
+
path: options.path,
|
|
162
|
+
rootName: options.rootName,
|
|
163
|
+
workspaces: options.workspaces,
|
|
164
|
+
workspaceAnchors: options.workspaceAnchors,
|
|
165
|
+
onSelectWorkspace: options.onSelectWorkspace,
|
|
166
|
+
rootCache: options.rootCache,
|
|
167
|
+
translate: options.translate,
|
|
168
|
+
// 传 onClose ⇒ FileBrowser 在面包屑行尾渲染自己的 ✕(垂直居中,与 pick 一致)。
|
|
169
|
+
onClose: close,
|
|
170
|
+
style: { height: '100%', minHeight: 0 },
|
|
171
|
+
})))));
|
|
172
|
+
activePreviewClose = close;
|
|
173
|
+
return { close, path: options.path ?? '' };
|
|
174
|
+
}
|
|
175
|
+
/** 弹窗宽度(源实现 480,用户 2026-09-29 微调定值)。 */
|
|
176
|
+
const PICKER_WIDTH = 480;
|
|
177
|
+
/** 弹窗高度上限 / 保底。 */
|
|
178
|
+
const PICKER_MAX_H = 660;
|
|
179
|
+
/** 判定「下方放得下」的最小高度:低于它就翻到上方。 */
|
|
180
|
+
const PICKER_MIN_H = 240;
|
|
181
|
+
/** 硬地板:锚点上下都极窄时也要给出一个能滚动的高度(此时以夹紧进视口优先)。 */
|
|
182
|
+
const PICKER_MIN_FLOOR = 160;
|
|
183
|
+
/**
|
|
184
|
+
* 弹出「选择工作区文件」模态弹窗,Promise 返回选中结果;取消(Esc / 点外部 / ✕)resolve `null`。
|
|
185
|
+
*
|
|
186
|
+
* **面板内容与 `openFilePreview` 完完全全是同一个 `FileBrowser`**(不是复制一套):
|
|
187
|
+
* 差别只有 ① 承载(这里挂在锚点旁的弹窗面板里,那边挂在核心 PanelDock 分栏里)、
|
|
188
|
+
* ② `picker` 形态参数(点文件即回传、行尾按钮变「选择」)。文案 / 根名 / 过滤都按调用时传的走。
|
|
189
|
+
*/
|
|
190
|
+
export function pickWorkspaceFile(options) {
|
|
191
|
+
return new Promise((resolve) => {
|
|
192
|
+
if (typeof document === 'undefined') {
|
|
193
|
+
resolve(null);
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
196
|
+
let settled = false;
|
|
197
|
+
const backdrop = document.createElement('div');
|
|
198
|
+
backdrop.setAttribute('data-dshpc-picker-backdrop', '');
|
|
199
|
+
// 右边界读 PanelDock 发布的 --dshpc-page-inset-right,与 .dshpc-modal-mask 同款:
|
|
200
|
+
// 不把右侧分栏(openFilePreview 的 dock)连同它的分隔线一起压暗(2026-10-23 真机)。
|
|
201
|
+
backdrop.style.cssText = 'position:fixed;inset:0 var(--dshpc-page-inset-right,0px) 0 0;z-index:1099;background:rgba(0,0,0,0.28)';
|
|
202
|
+
const panel = document.createElement('div');
|
|
203
|
+
panel.setAttribute('data-dshpc-picker-panel', '');
|
|
204
|
+
panel.setAttribute('role', 'dialog');
|
|
205
|
+
panel.setAttribute('aria-modal', 'true');
|
|
206
|
+
const anchor = options.anchor ?? null;
|
|
207
|
+
if (anchor !== null) {
|
|
208
|
+
const rect = anchor.getBoundingClientRect();
|
|
209
|
+
const GAP = 12;
|
|
210
|
+
const vw = window.innerWidth;
|
|
211
|
+
const vh = window.innerHeight;
|
|
212
|
+
const width = Math.min(PICKER_WIDTH, vw - 2 * GAP);
|
|
213
|
+
// 垂直:先量锚点上下各自还剩多少,再决定往哪边展——高度必须跟着所选那侧的空间走
|
|
214
|
+
// (旧实现先按「上方空间」定高,锚点靠顶时算出个矮条,还硬往上方塞)。
|
|
215
|
+
const availBelow = vh - GAP - rect.bottom - GAP;
|
|
216
|
+
const availAbove = rect.top - GAP - GAP;
|
|
217
|
+
const below = availBelow >= PICKER_MIN_H || availBelow >= availAbove;
|
|
218
|
+
const height = Math.max(Math.min(PICKER_MAX_H, below ? availBelow : availAbove), PICKER_MIN_FLOOR);
|
|
219
|
+
// 水平:与锚点左缘对齐(下拉式),右侧放不下就整体左移,最后夹紧进视口——绝不溢出屏幕
|
|
220
|
+
// (旧实现先往左展、再往右翻,弹窗会横着跑到离按钮很远的地方;改成左缘对齐后
|
|
221
|
+
// 永远贴在所点按钮的正下方,第三方锚点靠左靠右都不会被推出屏外)。
|
|
222
|
+
const left = Math.max(GAP, Math.min(rect.left, vw - GAP - width));
|
|
223
|
+
// 垂直:**优先落在锚点下方**(下缘 + 间距),下方不够才翻到上方(上缘 - 间距 - 高);
|
|
224
|
+
// 最后再夹紧进视口——绝不溢出,也绝不因为锚点靠顶就默认往上弹。
|
|
225
|
+
const top = below
|
|
226
|
+
? Math.min(rect.bottom + GAP, Math.max(GAP, vh - GAP - height))
|
|
227
|
+
: Math.max(GAP, rect.top - GAP - height);
|
|
228
|
+
panel.style.cssText =
|
|
229
|
+
'position:fixed;z-index:1100;display:flex;flex-direction:column;overflow:hidden;' +
|
|
230
|
+
`left:${Math.round(left)}px;top:${Math.round(top)}px;` +
|
|
231
|
+
`width:${Math.round(width)}px;height:${Math.round(height)}px;` +
|
|
232
|
+
'background:var(--dshpc-surface-2,#fff);border:1px solid var(--dshpc-border,#d0d7de);' +
|
|
233
|
+
'border-radius:8px;box-shadow:var(--dshpc-shadow-2,none)';
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
panel.style.cssText =
|
|
237
|
+
'position:fixed;z-index:1100;display:flex;flex-direction:column;overflow:hidden;' +
|
|
238
|
+
`width:min(${PICKER_WIDTH}px,calc(100vw - 24px));height:${PICKER_MAX_H}px;` +
|
|
239
|
+
'background:var(--dshpc-surface-2,#fff);border:1px solid var(--dshpc-border,#d0d7de);' +
|
|
240
|
+
'border-radius:8px;box-shadow:var(--dshpc-shadow-2,none)';
|
|
241
|
+
}
|
|
242
|
+
const finish = (result) => {
|
|
243
|
+
if (settled)
|
|
244
|
+
return;
|
|
245
|
+
settled = true;
|
|
246
|
+
window.removeEventListener('keydown', onKeyDown);
|
|
247
|
+
backdrop.remove();
|
|
248
|
+
root.unmount();
|
|
249
|
+
panel.remove();
|
|
250
|
+
if (result === null)
|
|
251
|
+
options.onCancel?.();
|
|
252
|
+
resolve(result);
|
|
253
|
+
};
|
|
254
|
+
const onKeyDown = (event) => {
|
|
255
|
+
if (event.key === 'Escape')
|
|
256
|
+
finish(null);
|
|
257
|
+
};
|
|
258
|
+
backdrop.addEventListener('click', () => finish(null));
|
|
259
|
+
window.addEventListener('keydown', onKeyDown);
|
|
260
|
+
document.body.appendChild(backdrop);
|
|
261
|
+
document.body.appendChild(panel);
|
|
262
|
+
ensureControls(getStyleKit());
|
|
263
|
+
const root = createRoot(panel);
|
|
264
|
+
root.render(h(FileBrowser, {
|
|
265
|
+
workspaceFiles: options.workspaceFiles,
|
|
266
|
+
officeToPdf: options.officeToPdf ?? null,
|
|
267
|
+
sessionId: options.sessionId,
|
|
268
|
+
path: '',
|
|
269
|
+
rootName: options.rootName,
|
|
270
|
+
rootCache: options.rootCache,
|
|
271
|
+
workspaces: options.workspaces,
|
|
272
|
+
onSelectWorkspace: options.onSelectWorkspace,
|
|
273
|
+
picker: true,
|
|
274
|
+
filter: options.filter,
|
|
275
|
+
translate: options.translate,
|
|
276
|
+
onPick: (path, isDir) => finish({ path, isDir }),
|
|
277
|
+
onClose: () => finish(null),
|
|
278
|
+
style: { flex: '1 1 auto', width: '100%', minWidth: 0, minHeight: 0 },
|
|
279
|
+
}));
|
|
280
|
+
});
|
|
281
|
+
}
|
|
282
|
+
//# sourceMappingURL=open.js.map
|